摘要:接着昨天的继续分析,我们接着从上一节最后部分继续开始今天的内容 :我是无名小卒,转载的朋友请注明出处,请不要抄袭做为它用,谢谢! 在内核中CONFIG_NET_NS配置选项是为了让用户自定义自己的网络空间结构,即上面的net结构,可以看出2.6.26内核的灵活性,但是我们一般在内核中不会配置该项,所以这里应该是取得init_net,这个结构是在前一节分析的那样在do_one_initcall()机制中调用了从pure_initcall(net_ns_init)注册的net_ns_init()初始化的,#define pure_initcall(fn)__define_initcall(&quo
阅读全文
随笔分类 - Linux网络编程
摘要:头文件:sys/socket.h相关结构体:struct sockaddr{ unsigned short sa_family; //地址族 char sa_data[14]; //14字节协议地址};struct sockaddr_in{ short int sin_family; //地址族 unsigned short int sin_port; //端口号 struct in_addr sin_addr; //IP地址 unsigned char sin_zero[8]; //填充0以保持与struct sockaddr同样大小};struct in_addr{ unsigned lo
阅读全文
摘要:功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include <sys/types.h>#include <sys/socket.h>int getsockopt(int sock, int level, int optname, void *optval, soc
阅读全文