Linux netfilter源码分析(6)
转贴自:http://alexanderlaw.blog.hexun.com/8968944_d.html
六、 扩展的match
6.1 do_match函数 ip_tables.c
do_match通过IPT_MATCH_ITERATE宏来调用,
IPT_MATCH_ITERATE是在ipt_do_table函数中调用的宏
IPT_MATCH_ITERATE(e, do_match,
*pskb, in, out,
offset, &hotdrop)
定义如下:
#define IPT_MATCH_ITERATE(e, fn, args...) \
({ \
unsigned int __i; \
int __ret = 0; \
struct ipt_entry_match *__match; \
\
for (__i = sizeof(struct ipt_entry); \
__i < (e)->target_offset; \
__i += __match->u.match_size) { \
__match = (void *)(e) + __i; \
&
相关文档:
例一:发送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 ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
转贴自: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)
{
......
内容提要
本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。
阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux的启动过程,所以其中也简单涉 ......
1.磁盘命令
mount 挂上文件系统
umount 卸下已挂上的文件系统
df   ......