Linux netfilter源码分析(7)
转贴自:http://alexanderlaw.blog.hexun.com/8968960_d.html
七、 target 匹配
7.1 ipt_target和ipt_entry_target结构 ip_tables.h
ipt_target和ipt_match结构类似:
struct ipt_target
{
struct list_head list;
const char name[IPT_FUNCTION_MAXNAMELEN];
/* 在使用本Match的规则注入表中之前调用,进行有效性检查,如果返回0,规则就不会加入iptables中 */
int (*checkentry)(const char *tablename,
const struct ipt_entry *e,
void *targinfo,
unsigned int targinfosize,
unsigned int hook_mask);
/* 在包含本Target的规则从表中删除时调用,与checkentry配合可用于动态内存分配和释放 */
void (*destroy)(void *targinfo, unsigned int targinfosize);
/* target的模块函数,如果需要继续处理则返回IPT_CONTINUE(-1),否则返回NF_ACCEPT、NF_DROP等值,它的调用者根据它的返回值来判断如何处理它处理过的报文*/
unsigned int (*target)(struct sk_buff **pskb,
const struct net_device *in,
const struct net_device *out,
unsigned int hooknum,
&n
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
转贴自:http://alexanderlaw.blog.hexun.com/8968782_d.html
三、ipt_table表的注册
init()函数初始化时调用了ipt_register_table函数进行表的注册
3.1 ip_tables.c 表的注册 ipt_register_table
int ipt_register_table(struct ipt_table *table)
{
......
关于此文
本文档用于升级
ExtMail
,
ExtMan
版本,升级自
ExtMail 0.24(
含以下版本)到
1.0.5
稳定版
,
本文档只能适用于数据库是
mysql
的版本
,
假设安装邮局的域名
为
extmail
.org
,读者请根据自身实际情况予以修改。
升级步骤
1.
停止服务:
postifx,http,mysql,pop3
service httpd stop
......
Linux环境进程间通信(三)
消息队列
文档选项
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width=" ......
1关机命令 shutdown 1)shutdown --help
2)shutdown -h now 现在立即关机 == halt 指令
3)shutdown -r now 现在立即重启
4)shutdown -r +3 三分钟后重启
5)shutdown -h +3 "The System will shutdown after 3 minutes" 提示使用者将在三分钟后关机
6)shutdown -r 20:23 在20:23时将重启计算机
7)shutdown ......