亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ip_conntrack.h

?? linux下iptable的源代碼。對于想學習linux下編程
?? H
字號:
#ifndef _IP_CONNTRACK_H#define _IP_CONNTRACK_H/* Connection state tracking for netfilter.  This is separated from,   but required by, the NAT layer; it can also be used by an iptables   extension. */#include <linux/config.h>#include <linux/netfilter_ipv4/ip_conntrack_tuple.h>#include <linux/bitops.h>#include <asm/atomic.h>enum ip_conntrack_info{	/* Part of an established connection (either direction). */	IP_CT_ESTABLISHED,	/* Like NEW, but related to an existing connection, or ICMP error	   (in either direction). */	IP_CT_RELATED,	/* Started a new connection to track (only           IP_CT_DIR_ORIGINAL); may be a retransmission. */	IP_CT_NEW,	/* >= this indicates reply direction */	IP_CT_IS_REPLY,	/* Number of distinct IP_CT types (no NEW in reply dirn). */	IP_CT_NUMBER = IP_CT_IS_REPLY * 2 - 1};/* Bitset representing status of connection. */enum ip_conntrack_status {	/* It's an expected connection: bit 0 set.  This bit never changed */	IPS_EXPECTED_BIT = 0,	IPS_EXPECTED = (1 << IPS_EXPECTED_BIT),	/* We've seen packets both ways: bit 1 set.  Can be set, not unset. */	IPS_SEEN_REPLY_BIT = 1,	IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT),	/* Conntrack should never be early-expired. */	IPS_ASSURED_BIT = 2,	IPS_ASSURED = (1 << IPS_ASSURED_BIT),	/* Connection is confirmed: originating packet has left box */	IPS_CONFIRMED_BIT = 3,	IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT),};#include <linux/netfilter_ipv4/ip_conntrack_tcp.h>#include <linux/netfilter_ipv4/ip_conntrack_icmp.h>/* per conntrack: protocol private data */union ip_conntrack_proto {	/* insert conntrack proto private data here */	struct ip_ct_tcp tcp;	struct ip_ct_icmp icmp;};union ip_conntrack_expect_proto {	/* insert expect proto private data here */};/* Add protocol helper include file here */#include <linux/netfilter_ipv4/ip_conntrack_amanda.h>#include <linux/netfilter_ipv4/ip_conntrack_ftp.h>#include <linux/netfilter_ipv4/ip_conntrack_irc.h>/* per expectation: application helper private data */union ip_conntrack_expect_help {	/* insert conntrack helper private data (expect) here */	struct ip_ct_amanda_expect exp_amanda_info;	struct ip_ct_ftp_expect exp_ftp_info;	struct ip_ct_irc_expect exp_irc_info;#ifdef CONFIG_IP_NF_NAT_NEEDED	union {		/* insert nat helper private data (expect) here */	} nat;#endif};/* per conntrack: application helper private data */union ip_conntrack_help {	/* insert conntrack helper private data (master) here */	struct ip_ct_ftp_master ct_ftp_info;	struct ip_ct_irc_master ct_irc_info;};#ifdef CONFIG_IP_NF_NAT_NEEDED#include <linux/netfilter_ipv4/ip_nat.h>/* per conntrack: nat application helper private data */union ip_conntrack_nat_help {	/* insert nat helper private data here */};#endif#ifdef __KERNEL__#include <linux/types.h>#include <linux/skbuff.h>#ifdef CONFIG_NF_DEBUG#define IP_NF_ASSERT(x)							\do {									\	if (!(x))							\		/* Wooah!  I'm tripping my conntrack in a frenzy of	\		   netplay... */					\		printk("NF_IP_ASSERT: %s:%i(%s)\n",			\		       __FILE__, __LINE__, __FUNCTION__);		\} while(0)#else#define IP_NF_ASSERT(x)#endifstruct ip_conntrack_expect{	/* Internal linked list (global expectation list) */	struct list_head list;	/* reference count */	atomic_t use;	/* expectation list for this master */	struct list_head expected_list;	/* The conntrack of the master connection */	struct ip_conntrack *expectant;	/* The conntrack of the sibling connection, set after	 * expectation arrived */	struct ip_conntrack *sibling;	/* Tuple saved for conntrack */	struct ip_conntrack_tuple ct_tuple;	/* Timer function; deletes the expectation. */	struct timer_list timeout;	/* Data filled out by the conntrack helpers follow: */	/* We expect this tuple, with the following mask */	struct ip_conntrack_tuple tuple, mask;	/* Function to call after setup and insertion */	int (*expectfn)(struct ip_conntrack *new);	/* At which sequence number did this expectation occur */	u_int32_t seq;  	union ip_conntrack_expect_proto proto;	union ip_conntrack_expect_help help;};#include <linux/netfilter_ipv4/ip_conntrack_helper.h>struct ip_conntrack{	/* Usage count in here is 1 for hash table/destruct timer, 1 per skb,           plus 1 for any connection(s) we are `master' for */	struct nf_conntrack ct_general;	/* These are my tuples; original and reply */	struct ip_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX];	/* Have we seen traffic both ways yet? (bitset) */	unsigned long status;	/* Timer function; drops refcnt when it goes off. */	struct timer_list timeout;	/* If we're expecting another related connection, this will be           in expected linked list */	struct list_head sibling_list;		/* Current number of expected connections */	unsigned int expecting;	/* If we were expected by an expectation, this will be it */	struct ip_conntrack_expect *master;	/* Helper, if any. */	struct ip_conntrack_helper *helper;	/* Our various nf_ct_info structs specify *what* relation this           packet has to the conntrack */	struct nf_ct_info infos[IP_CT_NUMBER];	/* Storage reserved for other modules: */	union ip_conntrack_proto proto;	union ip_conntrack_help help;#ifdef CONFIG_IP_NF_NAT_NEEDED	struct {		struct ip_nat_info info;		union ip_conntrack_nat_help help;#if defined(CONFIG_IP_NF_TARGET_MASQUERADE) || \	defined(CONFIG_IP_NF_TARGET_MASQUERADE_MODULE)		int masq_index;#endif	} nat;#endif /* CONFIG_IP_NF_NAT_NEEDED */};/* get master conntrack via master expectation */#define master_ct(conntr) (conntr->master ? conntr->master->expectant : NULL)/* Alter reply tuple (maybe alter helper).  If it's already taken,   return 0 and don't do alteration. */extern intip_conntrack_alter_reply(struct ip_conntrack *conntrack,			 const struct ip_conntrack_tuple *newreply);/* Is this tuple taken? (ignoring any belonging to the given   conntrack). */extern intip_conntrack_tuple_taken(const struct ip_conntrack_tuple *tuple,			 const struct ip_conntrack *ignored_conntrack);/* Return conntrack_info and tuple hash for given skb. */extern struct ip_conntrack *ip_conntrack_get(struct sk_buff *skb, enum ip_conntrack_info *ctinfo);/* decrement reference count on a conntrack */extern inline void ip_conntrack_put(struct ip_conntrack *ct);/* find unconfirmed expectation based on tuple */struct ip_conntrack_expect *ip_conntrack_expect_find_get(const struct ip_conntrack_tuple *tuple);/* decrement reference count on an expectation */void ip_conntrack_expect_put(struct ip_conntrack_expect *exp);extern struct module *ip_conntrack_module;extern int invert_tuplepr(struct ip_conntrack_tuple *inverse,			  const struct ip_conntrack_tuple *orig);/* Refresh conntrack for this many jiffies */extern void ip_ct_refresh(struct ip_conntrack *ct,			  unsigned long extra_jiffies);/* These are for NAT.  Icky. *//* Call me when a conntrack is destroyed. */extern void (*ip_conntrack_destroyed)(struct ip_conntrack *conntrack);/* Returns new sk_buff, or NULL */struct sk_buff *ip_ct_gather_frags(struct sk_buff *skb);/* Delete all conntracks which match. */extern voidip_ct_selective_cleanup(int (*kill)(const struct ip_conntrack *i, void *data),			void *data);/* It's confirmed if it is, or has been in the hash table. */static inline int is_confirmed(struct ip_conntrack *ct){	return test_bit(IPS_CONFIRMED_BIT, &ct->status);}extern unsigned int ip_conntrack_htable_size;#endif /* __KERNEL__ */#endif /* _IP_CONNTRACK_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区欧美激情| 大陆成人av片| 91在线播放网址| 日韩欧美色综合| 一区二区三区四区av| 国产一区二区不卡| 欧美三级蜜桃2在线观看| 亚洲国产精品二十页| 蜜臀av一区二区在线免费观看| 99久久99久久精品免费看蜜桃| 精品日韩一区二区三区| 石原莉奈在线亚洲三区| 91香蕉视频在线| 国产视频一区二区在线观看| 日本成人在线网站| 欧美视频中文字幕| 18成人在线观看| 国产一区二区三区不卡在线观看 | 免费在线欧美视频| 在线区一区二视频| 中文字幕一区二区视频| 国产麻豆成人传媒免费观看| 日韩美女天天操| 三级久久三级久久| 欧美综合天天夜夜久久| 亚洲人妖av一区二区| 成人激情av网| 国产精品私人自拍| 丁香婷婷综合五月| 久久久久久久久久看片| 精品亚洲国产成人av制服丝袜| 欧美精品色综合| 亚洲va在线va天堂| 欧美日韩一级视频| 亚洲va欧美va人人爽| 欧洲中文字幕精品| 一个色妞综合视频在线观看| 欧美亚洲一区三区| 亚洲国产欧美日韩另类综合| 色婷婷久久综合| 最近中文字幕一区二区三区| a4yy欧美一区二区三区| 日韩一区在线播放| 99国产精品久久| 亚洲欧美另类久久久精品| 91视视频在线观看入口直接观看www| 国产精品久久午夜| 99久久久无码国产精品| 综合久久综合久久| 欧美午夜寂寞影院| 午夜成人在线视频| 欧美一区二区三区在线视频| 久久精品二区亚洲w码| 精品日韩一区二区三区| 国产黄色成人av| 国产精品系列在线| 91丨porny丨蝌蚪视频| 亚洲免费看黄网站| 欧美色图免费看| 日韩av电影一区| www国产精品av| 成人毛片老司机大片| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产婷婷一区二区| 99久久夜色精品国产网站| 亚洲一区二区综合| 91精品国产高清一区二区三区蜜臀| 奇米精品一区二区三区在线观看| 欧美变态tickle挠乳网站| 国产精品 欧美精品| 综合久久国产九一剧情麻豆| 欧美日韩一区二区在线视频| 麻豆成人综合网| 国产三级三级三级精品8ⅰ区| 成人va在线观看| 亚洲一线二线三线久久久| 日韩三级中文字幕| 国产不卡在线一区| 一区二区三区**美女毛片| 91精品国产免费| 国产精品69久久久久水密桃| 亚洲狠狠丁香婷婷综合久久久| 欧美精品丝袜中出| 丁香婷婷综合五月| 亚洲444eee在线观看| 久久精品亚洲精品国产欧美| 色噜噜狠狠色综合欧洲selulu| 日韩极品在线观看| 欧美激情一区不卡| 在线不卡一区二区| 国产福利电影一区二区三区| 一区二区三区免费网站| 欧美zozo另类异族| 色综合久久66| 寂寞少妇一区二区三区| 亚洲品质自拍视频网站| 日韩欧美国产成人一区二区| 91丨九色丨黑人外教| 六月丁香婷婷色狠狠久久| 亚洲日本va午夜在线影院| 精品国产一二三| 欧美在线观看你懂的| 国产精品自在欧美一区| 亚洲一区二区免费视频| 欧美国产一区二区在线观看| 欧美日韩国产在线观看| 成人免费观看视频| 六月丁香综合在线视频| 亚洲一区二区三区四区五区中文 | 欧美丝袜丝交足nylons图片| 久久99热狠狠色一区二区| 亚洲一区在线观看免费观看电影高清| 精品国产不卡一区二区三区| 欧美性三三影院| av一二三不卡影片| 经典一区二区三区| 亚洲福利视频导航| 中文字幕第一区二区| 日韩女优电影在线观看| 欧美日韩午夜影院| 91视频一区二区三区| 国产999精品久久久久久| 免费成人在线观看视频| 亚洲激情在线播放| 欧美国产乱子伦| 久久久久99精品国产片| 日韩女同互慰一区二区| 欧美日本不卡视频| 色婷婷综合久久久久中文一区二区 | 国产精品不卡在线| 久久亚洲欧美国产精品乐播| 欧美一区二区视频在线观看2022| 在线免费观看日本一区| eeuss鲁一区二区三区| 韩国毛片一区二区三区| 日韩高清国产一区在线| 亚洲一区二区av在线| 亚洲欧美日韩国产一区二区三区| 亚洲国产成人午夜在线一区 | 日本韩国一区二区三区| 成人黄色电影在线| 国产成人精品影院| 国产毛片精品视频| 久久草av在线| 麻豆免费看一区二区三区| 午夜精品aaa| 午夜精品一区二区三区免费视频 | 国产视频一区二区在线观看| 欧美成人a视频| 日韩欧美一级二级| 日韩美女天天操| 精品久久久久久最新网址| 91精品国产品国语在线不卡| 欧美高清性hdvideosex| 欧美美女视频在线观看| 欧美日韩高清不卡| 欧美日韩在线播放三区四区| 欧美在线观看一区二区| 欧美亚州韩日在线看免费版国语版| 色综合色综合色综合色综合色综合 | 国产精品88av| 国产精品一二三四区| 国产69精品一区二区亚洲孕妇| 国产麻豆91精品| 国产精品资源在线| 顶级嫩模精品视频在线看| 国产剧情在线观看一区二区| 久久99国产乱子伦精品免费| 国产在线精品一区二区夜色| 国产福利精品导航| 成人久久18免费网站麻豆| 99久久夜色精品国产网站| 色狠狠综合天天综合综合| 欧美亚洲综合在线| 制服丝袜亚洲色图| 精品国产免费久久| 欧美激情中文不卡| 亚洲人成小说网站色在线| 午夜影视日本亚洲欧洲精品| 日韩av一区二| 国产在线精品不卡| 99精品视频在线观看| 欧美三级中文字| 日韩三级.com| 国产欧美精品在线观看| 亚洲另类春色国产| 亚洲成人av一区| 韩国av一区二区三区四区| 国产99久久久精品| 在线观看免费成人| 精品久久久网站| 综合色天天鬼久久鬼色| 日韩成人免费电影| 国产剧情av麻豆香蕉精品| 色综合欧美在线视频区| 91精品国产综合久久精品app| 久久久噜噜噜久噜久久综合| 亚洲精品免费在线| 亚洲男人电影天堂| 亚洲图片欧美视频|