poll.h 文件
用途
定义 poll 子例程使用的结构和标志。
描述
/usr/include/sys/poll.h 文件定义了 poll 子例程使用的多个结构。 pollfd 或 pollmsg 结构或 pollist 结构的数组指定 poll 子例程检查其 I/O 状态的文件描述符或指针和消息队列。 此文件还定义在轮询操作中使用的返回事件标志,错误返回事件标志,设备类型标志和输入标志。
在对文件描述符和消息队列执行轮询操作期间, ListPointer 参数指向 pollist 结构,该结构可以指定文件描述符或指针和消息队列。 程序必须定义以下格式的 pollist 结构:
struct pollist {
struct pollfd fdlist[f];
struct pollmsg msglist[m];
};pollfd 结构和 polllist 结构中的 pollmsg 结构执行以下功能:
| 项 | 描述 |
|---|---|
| pollfd [ f ] | 此结构定义文件描述符或文件指针的数组。 f 变量指定数组中的元素数。 |
| 投票消息 [ m ] | 此结构定义消息队列标识的数组。 m 变量指定数组中的元素数。 |
POLLIST 宏也在 poll.h 文件中定义,以定义 pollist 结构。 宏的格式为:
POLLIST(f, m) Declarator . . . ;Declarator 参数是声明为具有此类型的变量的名称。
poll.h 文件中定义的 pollfd 和 pollmsg 结构包含以下字段:
| 项 | 描述 |
|---|---|
| fd | 指定 poll 子例程的有效文件描述符或文件指针。 如果此字段的值为负数,那么将跳过此元素。 |
| msgid | 指定 poll 子例程的有效消息队列标识。 如果此字段的值为负数,那么将跳过此元素。 |
| events | 正在跟踪的事件。 这是下列标志的任意组合:
|
| revents | 返回的事件。 此字段指定已发生的事件。 这可以是事件字段所请求的事件的任意组合。 此字段还可以包含下列其中一个标志:
|