epoll.h

来自「socket的事件分发模型」· C头文件 代码 · 共 35 行

H
35
字号
#ifndef EPOLL_H_
#define EPOLL_H_

typedef union epoll_data {
     void *ptr;
     int fd;
     unsigned int u32;
     unsigned __int64 u64;
} epoll_data_t;

struct epoll_event {
     unsigned int events;       /* Epoll events */
     epoll_data_t data;       /* User data variable */
};

#define EPOLL_CTL_ADD		1
#define EPOLL_CTL_MOD		2
#define EPOLL_CTL_DEL		3

#define EPOLLOUT	0x01			//:表示对应的文件描述符可以写;
#define EPOLLPRI	0x02			//:表示对应的文件描述符有紧急的数据可读(我不太明白是什么意思,可能是类似client关闭   socket连接这样的事件);
#define EPOLLERR	0x04			//:表示对应的文件描述符发生错误;
#define EPOLLHUP	0x08			//:表示对应的文件描述符被挂断;

#define EPOLLIN		0x10
#define EPOLLET		0xff			

int epoll_create(int size);
int epoll_wait(int epfd, struct epoll_event* events, int maxevents, int timeout);
int epoll_ctl(int epfd, int op, int fd, struct epoll_event* event);
int epoll_close(int epfd);


#endif //EPOLL_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?