net-snmp代码分析之fd_event_manager.c
来源:互联网 发布:java开发经验 编辑:程序博客网 时间:2024/06/07 13:36
net-snmp代码分析之fd_event_manager.c
fd_event_manager.c模块主要作用管理读、写、异常文件描述符。
目录/net-snmp-5.4.2.1/snmplib/fd_event_manager.c
用于存储三种不同类型的描述符
int external_readfd[NUM_EXTERNAL_FDS], external_readfdlen = 0;
int external_writefd[NUM_EXTERNAL_FDS], external_writefdlen = 0;
int external_exceptfd[NUM_EXTERNAL_FDS], external_exceptfdlen = 0;
用于存储三种描述符对应的处理函数
void (*external_readfdfunc[NUM_EXTERNAL_FDS]) (int, void *);
void (*external_writefdfunc[NUM_EXTERNAL_FDS]) (int, void *);
void (*external_exceptfdfunc[NUM_EXTERNAL_FDS]) (int, void *);
存储需处理数据
void *external_readfd_data[NUM_EXTERNAL_FDS];
void *external_writefd_data[NUM_EXTERNAL_FDS];
void *external_exceptfd_data[NUM_EXTERNAL_FDS];
static int external_fd_unregistered;
相当于三个初始化函数,将函数中的参数分别赋给上述数据结构。
int
register_readfd(int fd, void (*func) (int, void *), void *data)
int
register_writefd(int fd, void (*func) (int, void *), void *data)
int
register_exceptfd(int fd, void (*func) (int, void *), void *data)
将指定的文件描述符从数据结构中删除
int
unregister_readfd(int fd)
int
unregister_writefd(int fd)
int
unregister_exceptfd(int fd)
将注册在数据结构的文件描述符添加到对应的文件描述符集中
void netsnmp_external_event_info(int *numfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
测试在数据结构的文件描述符添加到对应的文件描述符集中是否有在三种描述符集中并调用对应的函数进行处理。
void netsnmp_dispatch_external_events(int *count, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
- net-snmp代码分析之fd_event_manager.c
- net-snmp代码分析之fd_event_manager.c
- snmp trap编程之分析notification.c
- net-snmp example分析
- net-snmp库snmp API解读分析
- 修改net-snmp -snmptrap.c
- Net-snmp总结(六)-net-snmp源码分析
- 学习NET-SNMP之二-----------VisualStudio编译Net-SNMP
- net-snmp的片段源码分析
- 简单网络协议SNMP之net-snmp开发snmpget
- 简单网络协议SNMP之net-snmp开发snmpget
- 基于visual c++之windows核心编程代码分析(31)SNMP协议编程
- Net-snmp 使用c 扩展 sub-agent
- snmp学习笔记之二trap——分析notification.c文件
- snmp学习笔记之二trap——分析notification.c文件
- net-snmp
- Memcached 之 .NET(C#)实例分析
- Memcached 之 .NET(C#)实例分析
- 推荐40款强大的 jQuery 导航插件和教程【上篇】
- 为什么析构函数可以为虚函数,什么情况下需要将析构函数定义为虚函数?
- JAVA与JavaScript的同异处总结
- 经典数据结构-块状链表详解
- 变量前缀加加或减减与后缀到底有何不同
- net-snmp代码分析之fd_event_manager.c
- C++中extern “C”含义深层探索
- C#中加强ListView控件的功能
- ios中验证IP地址有效的两种方法
- 脱机工作的对话框 和 拨号连接的对话框 关闭
- 异步请求和同步请求
- 1.1 jQuery--总体框架
- 后台管理系统模板收藏!
- IOS研究院之滚动视图UIScrollView的简单应用