struct nf_hook_ops { struct list_head list; nf_hookfn hook; /* 函数指针 */ int pf; /* 结构对应的协议栈号 */ int hooknum; /* 结构对应的检查点号*/ int priority; /* 结构的优先值 */ };
struct ipt_entry { struct ipt_ip ip; unsigned int nfcache; u_int16_t target_offset; /* target在规则中的偏移 */ u_int16_t next_offset; /* 下一条规则的偏移 */ unsigned int comefrom; struct ipt_counters counters; /* 匹配规则的数据包的统计计数 */ unsigned char elems[0]; };
struct ipt_table { struct list_head list; char name[IPT_TABLE_MAXNAMELEN]; struct ipt_replace table; /* 用户空间传递的规则表 */ unsigned int valid_hooks; /* 有效的检查点置位*/ rwlock_t lock; struct ipt_table_info private; /* 规则表在内核中的存储结构 */ struct module *me; };
发表于 @ 2005年07月17日 17:00:00|评论(loading...)|编辑