ip_conntrack_talk.h

来自「for mips adm5120 uclibc-0.9.19 toolchain」· C头文件 代码 · 共 153 行

H
153
字号
#ifndef _IP_CONNTRACK_TALK_H#define _IP_CONNTRACK_TALK_H/* TALK tracking. */#ifdef __KERNEL__#include <linux/in.h>#include <linux/netfilter_ipv4/lockhelp.h>/* Protects talk part of conntracks */DECLARE_LOCK_EXTERN(ip_talk_lock);#endif#define TALK_PORT	517#define NTALK_PORT	518/* talk structures and constants from <protocols/talkd.h> *//* * 4.3BSD struct sockaddr */struct talk_addr {	u_int16_t ta_family;	u_int16_t ta_port;	u_int32_t ta_addr;	u_int32_t ta_junk1;	u_int32_t ta_junk2;};#define	TALK_OLD_NSIZE	9#define	TALK_NSIZE	12#define	TALK_TTY_NSIZE	16/* * Client->server request message formats. */struct talk_msg {	u_char	type;		/* request type, see below */	char	l_name[TALK_OLD_NSIZE];/* caller's name */	char	r_name[TALK_OLD_NSIZE];/* callee's name */	u_char	pad;	u_int32_t id_num;	/* message id */	int32_t	pid;		/* caller's process id */	char	r_tty[TALK_TTY_NSIZE];/* callee's tty name */	struct	talk_addr addr;		/* old (4.3) style */	struct	talk_addr ctl_addr;	/* old (4.3) style */};struct ntalk_msg {	u_char	vers;		/* protocol version */	u_char	type;		/* request type, see below */	u_char	answer;		/* not used */	u_char	pad;	u_int32_t id_num;	/* message id */	struct	talk_addr addr;		/* old (4.3) style */	struct	talk_addr ctl_addr;	/* old (4.3) style */	int32_t	pid;		/* caller's process id */	char	l_name[TALK_NSIZE];/* caller's name */	char	r_name[TALK_NSIZE];/* callee's name */	char	r_tty[TALK_TTY_NSIZE];/* callee's tty name */};struct ntalk2_msg {	u_char	vers;		/* talk protocol version    */	u_char	type;		/* request type             */	u_char	answer;		/*  */	u_char	extended;	/* !0 if additional parts   */	u_int32_t id_num;	/* message id number (dels) */	struct	talk_addr addr;		/* target address   */	struct	talk_addr ctl_addr;	/* reply to address */	int32_t	pid;		/* caller's process id */	char	l_name[TALK_NSIZE];  /* caller's name */	char	r_name[TALK_NSIZE];  /* callee's name */	char	r_tty[TALK_TTY_NSIZE];    /* callee's tty */};/* * Server->client response message formats. */struct talk_response {	u_char	type;		/* type of request message, see below */	u_char	answer;		/* response to request message, see below */	u_char	pad[2];	u_int32_t id_num;	/* message id */	struct	talk_addr addr;	/* address for establishing conversation */};struct ntalk_response {	u_char	vers;		/* protocol version */	u_char	type;		/* type of request message, see below */	u_char	answer;		/* response to request message, see below */	u_char	pad;	u_int32_t id_num;	/* message id */	struct	talk_addr addr;	/* address for establishing conversation */};struct ntalk2_response {	u_char	vers;		/* protocol version         */	u_char	type;		/* type of request message  */	u_char	answer;		/* response to request      */	u_char	rvers;		/* Version of answering vers*/	u_int32_t id_num;	/* message id number        */	struct	talk_addr addr;	/* address for connection   */	/* This is at the end to compatiblize this with NTALK version.   */	char	r_name[TALK_NSIZE]; /* callee's name            */};#define TALK_STR(data, talk_str, member) ((struct talk_str *)data)->member)#define TALK_RESP(data, ver, member) (ver ? ((struct ntalk_response *)data)->member : ((struct talk_response *)data)->member)#define TALK_MSG(data, ver, member) (ver ? ((struct ntalk_msg *)data)->member : ((struct talk_msg *)data)->member)#define	TALK_VERSION	0		/* protocol versions */#define	NTALK_VERSION	1#define	NTALK2_VERSION	2/* message type values */#define LEAVE_INVITE	0	/* leave invitation with server */#define LOOK_UP		1	/* check for invitation by callee */#define DELETE		2	/* delete invitation by caller */#define ANNOUNCE	3	/* announce invitation by caller *//* NTALK2 */#define REPLY_QUERY	4	/* request reply data from local daemon *//* answer values */#define SUCCESS		0	/* operation completed properly */#define NOT_HERE	1	/* callee not logged in */#define FAILED		2	/* operation failed for unexplained reason */#define MACHINE_UNKNOWN	3	/* caller's machine name unknown */#define PERMISSION_DENIED 4	/* callee's tty doesn't permit announce */#define UNKNOWN_REQUEST	5	/* request has invalid type value */#define	BADVERSION	6	/* request has invalid protocol version */#define	BADADDR		7	/* request has invalid addr value */#define	BADCTLADDR	8	/* request has invalid ctl_addr value *//* NTALK2 */#define NO_CALLER	9	/* no-one calling answer from REPLY   */#define TRY_HERE	10	/* Not on this machine, try this      */#define SELECTIVE_REFUSAL 11	/* User Filter refusal.               */#define MAX_RESPONSE_TYPE 11	/* Make sure this is updated          *//* We don't really need much for talk */struct ip_ct_talk_expect{	/* Port that was to be used */	u_int16_t port;};/* This structure exists only once per master */struct ip_ct_talk_master{};#endif /* _IP_CONNTRACK_TALK_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?