- 博客(5)
- 收藏
- 关注
原创 kernel模块里的IS_ENABLED
IS_ENABLED用来检测一些CONFIG是否配置成y或者m#define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))--->#define IS_BUILTIN(option) __is_defined(option)--->#define __is_defined(x) ___is_de...
2019-02-15 09:49:43
806
原创 内核网络【1.套接口缓存描述结构及相关操作函数】
在上一篇中提出了sk_buff结构体,这一章就详细介绍sk_buff结构体里每个成员的意义。结构sk_buff在include/linux/skbuff.h中定义的SKB在不同网络协议层之间传递,可被用于不同的网络协议,如二层的链路层,三层的网络层,四层的传输层,某些成员变量在传递时会发生改变,四层向三层传递前会添加一个四层首部,同样三层向二层传递前也会添加三层首部,添加比复制数据效率高,...
2019-02-15 08:57:23
241
原创 内核网络【0.套接口缓存】
网络子系统中用来存储数据的缓存区叫做套接口缓存简称SKB,该缓存要能够处理可变长数据,能够很容易地在数据区头尾部添加和移除数据,且尽量避免数据的复制。用struct sk_buff结构描述。struct sk_buff { union { struct { /* These two members must be first. */ ...
2019-02-14 14:45:56
182
原创 c语言里的const和static
const目前用到的作用有两个1.修饰变量,只读变量2.修饰函数的参数及返回值,告诉编译器用const修饰的参数变量不能在函数内部被修改,返回的函数值也不能被修改。 static目前用的作用1.修饰变量不论修饰的是局部变量还是全局变量,都是放在内存静态区,如果修饰的是局部变量,则该变量只能在本函数内部使用,且该函数生命周期结束了,该变量值没有被销毁,待下次调用,任然可以用,...
2019-02-14 13:47:51
437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人