⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ip_queue.h

📁 linux得一些常用命令,以及linux环境下的c编程
💻 H
字号:
/* * This is a module which is used for queueing IPv4 packets and * communicating with userspace via netlink. * * (C) 2000 James Morris, this code is GPL. */#ifndef _IP_QUEUE_H#define _IP_QUEUE_H#ifdef __KERNEL__#ifdef DEBUG_IPQ#define QDEBUG(x...) printk(KERN_DEBUG ## x)#else#define QDEBUG(x...)#endif  /* DEBUG_IPQ */#else#include <net/if.h>#endif	/* ! __KERNEL__ *//* Messages sent from kernel */typedef struct ipq_packet_msg {	unsigned long packet_id;	/* ID of queued packet */	unsigned long mark;		/* Netfilter mark value */	long timestamp_sec;		/* Packet arrival time (seconds) */	long timestamp_usec;		/* Packet arrvial time (+useconds) */	unsigned int hook;		/* Netfilter hook we rode in on */	char indev_name[IFNAMSIZ];	/* Name of incoming interface */	char outdev_name[IFNAMSIZ];	/* Name of outgoing interface */	unsigned short hw_protocol;	/* Hardware protocol (network order) */	unsigned short hw_type;		/* Hardware type */	unsigned char hw_addrlen;	/* Hardware address length */	unsigned char hw_addr[8];	/* Hardware address */	size_t data_len;		/* Length of packet data */	unsigned char payload[0];	/* Optional packet data */} ipq_packet_msg_t;/* Messages sent from userspace */typedef struct ipq_mode_msg {	unsigned char value;		/* Requested mode */	size_t range;			/* Optional range of packet requested */} ipq_mode_msg_t;typedef struct ipq_verdict_msg {	unsigned int value;		/* Verdict to hand to netfilter */	unsigned long id;		/* Packet ID for this verdict */	size_t data_len;		/* Length of replacement data */	unsigned char payload[0];	/* Optional replacement packet */} ipq_verdict_msg_t;typedef struct ipq_peer_msg {	union {		ipq_verdict_msg_t verdict;		ipq_mode_msg_t mode;	} msg;} ipq_peer_msg_t;/* Packet delivery modes */enum {	IPQ_COPY_NONE,		/* Initial mode, packets are dropped */	IPQ_COPY_META,		/* Copy metadata */	IPQ_COPY_PACKET		/* Copy metadata + packet (range) */};#define IPQ_COPY_MAX IPQ_COPY_PACKET/* Types of messages */#define IPQM_BASE	0x10	/* standard netlink messages below this */#define IPQM_MODE	(IPQM_BASE + 1)		/* Mode request from peer */#define IPQM_VERDICT	(IPQM_BASE + 2)		/* Verdict from peer */ #define IPQM_PACKET	(IPQM_BASE + 3)		/* Packet from kernel */#define IPQM_MAX	(IPQM_BASE + 4)#endif /*_IP_QUEUE_H*/

⌨️ 快捷键说明

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