Libnids--函数调用顺序之nids_init()
看了好几天,做个笔记理一下思路
先贴一张nids_init()的图:
- nids_exit():释放之前被占用的资源;
- open_live():打开网络接口
static int open_live()
{char *device;int promisc = 0;//初始化网络接口if (nids_params.device == NULL)nids_params.device = pcap_lookupdev(nids_errbuf);if (nids_params.device == NULL)return 0;device = nids_params.device;if (!strcmp(device, "all"))device = "any";elsepromisc = (nids_params.promisc != 0);//打开网络接口,返回desc,promisc表示网卡的混杂模式if ((desc = pcap_open_live(device, 16384, promisc,nids_params.pcap_timeout, nids_errbuf)) == NULL)return 0;//下面的代码不看了...
}
- nids_syslog():nids_syslog()函数完成日志的写入
- init_procs():这个函数比较重要,该函数需要展开讨论
static void init_procs()
{//ip_frag_procs是处理ip_fragment的回调函数队列ip_frag_procs = mknew(struct proc_node);ip_frag_procs->item = gen_ip_frag_proc;ip_frag_procs->next = 0;//ip_frag_procs是处理ip的回调函数队列ip_procs = mknew(struct proc_node);ip_procs->item = gen_ip_proc;ip_procs->next = 0;tcp_procs = 0;udp_procs = 0;
}
- 剩余的三个暂时不讨论,之后再完善
Libnids--函数调用顺序之nids_init()相关推荐
- C++ 基类,子对象,派生类构造函数调用顺序
#include <iostream> using namespace std;class A {public:A( ) {cout << "A Constructo ...
- 继承构造函数调用顺序_C ++中带有继承的构造函数调用的顺序
继承构造函数调用顺序 Base class constructors are always called in the derived class constructors. Whenever you ...
- Java构造函数调用顺序问题
今天对Java的构造函数调用顺序进行研究,使用的是与C++类似的方法,即不对源码进行研究,而是直接通过打印代码对构造函数的调用顺序进行研究. 代码如下,使用的是Java核心技术中的代码,对其进行了改造 ...
- js 函数调用顺序研究
花了半个小时自己测验了一下,关于JS同名函数调用的总结同大家分享一下: html中如果出现函数同名时: 如果有多个外部引入的js文件,例如a.js和b.js(引入顺序假定是a.js,然后是b.js), ...
- C++继承中构造函数、析构函数调用顺序及虚析构函数
首先说说构造函数,大家都知道构造函数里就可以调用成员变量,而继承中子类是把基类的成员变成自己的成员,那么也就是说子类在构造函数里就可以调用基类的成员了,这就说明创建子类的时候必须先调用基类的构造函数, ...
- java构造函数调用其他程序的顺序_java初始化构造函数调用顺序
看我大师归来: 1. Base b = new Sub(); 2. Base b = 直接忽略,从 new Sub();开始 3. 类加载器加载 Base,Sub 类到jvm; 4. 为Base,Su ...
- C++虚继承(九) --- 构造函数调用顺序的实用之处
虚拟继承是C++语言中一个非常重要但是又比较生僻的存在,它的定义非常简单,但是对于理解C++的继承机制却是非常有用的.笔者最近学习过程中发现对C++的虚拟继承不是很明朗,故在这里对虚继承做个小结. 首 ...
- C++虚继承(七) --- 虚继承对基类构造函数调用顺序的影响
继承作为面向对象编程的一种基本特征,其使用频率非常高.而继承包含了虚拟继承和普通继承,在可见性上分为public.protected.private.可见性继承比较简单,而虚拟继承对学习c++的难度较 ...
- iOS APP启动函数调用顺序~详解
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄 一.OC调用 C++ 会为静态创建的对象生成初始化器,与静态语言不同,OC基于Runtime机制可以用类的名字来实例化一个类的对象. ...
- 构造和析构函数调用顺序
一. 理论 1. 构造函数和析构函数 ①构造函数 构造函数不能有返回值 缺省构造函数时,系统将自动调用该缺省构造函数初始化对象,缺省构造函数会将所有数据成员都初始化为零或空 创建一个对象时,系统自动 ...
最新文章
- golang 命令汇总
- 反编译exe软件_【娱乐向】exe逆向工程(破译《游戏开发课》老师的成绩程序)...
- Linux下的FTP命令害死人
- ElasticSearch Java Api(二) -检索索引库
- [原]变参函数原理详解
- vscode php断点,VSCode中设置断点调试PHP(示例代码)
- 机器视觉与Tesseract介绍
- html css波浪线,css实现波浪线及立方体
- 机器人带陀螺仪走钢丝_一言不合就走钢丝,机器人化身“七变美男子”,萌翻你!...
- 苹果谷歌双双被曝,你的手机正在窃听你的生活
- OpenCV-利用其它widthStep方法把interest——img的所有像素值增加200
- 区分iphone和ipad 函数sysctlbyname 来获取设备名称
- 计算机制作ppt考试题,计算机二级PPT真题:制作计算机发展简史PPT
- 数据结构习题及解析二
- 当笑神姜涛遇上尼古拉斯赵四,低俗加上恶俗的结果是否就是封杀?
- 数据还原(recover)
- 相机拍摄时最重要的三个参数——光圈、快门、ISO
- 企业级大数据项目【1】需求分析及概要设计篇
- vue为什么需要nodejs 的环境
- 健翔语录——意大利对澳大利亚