pollset.h 文件
用途
定义 pollset 子例程所使用的结构和标志。
描述
/usr/include/sys/pollset.h 文件定义了 pollset 子例程所使用的多个结构。 pollset_poll 子例程或 pollset_poll_ext 子例程检查由 poll_ctl 或 poll_ctl_ext 结构数组指定的文件描述符的 I/O 状态。 下表列出了 /usr/include/sys/pollset.h 文件中定义的命令。 这些命令可以与 pollset_poll 子例程或 pollset_poll_ext 子例程配合使用。
| 命令 | 描述 |
|---|---|
| PS_ADD | 将有效的打开文件描述符添加到 pollset 文件描述符集。 |
| PS_MOD | 如果文件描述符已存在于 pollset 文件描述符中,那么会将 poll_ctl 结构或 pollfd 结构中定义的 events 字段中的位添加到内核监视的事件中,并使用新值更新用户指定的数据。 如果 pollset 文件描述符中不存在该文件描述符,那么会将该文件描述符添加到 pollset 文件描述符中。 |
| 删除 (PS_DELETE) | 从 pollset 文件描述符集合中除去文件描述符。 |
| PS_REPLACE | 如果文件描述符已存在于 pollset 文件描述符集中,请将 events 字段中的值以及 pollset 文件描述符集中的用户指定数据替换为 poll_ctl 结构中指定的新值。 |
poll_ctl 结构或 poll_ctl_ext 结构用于对 pollset 结构执行操作, pollset 结构作为输入传递到 pollset_ctl 子例程或 pollset_ctl_ext 子例程。 poll_ctl 结构或 poll_ctl_ext 结构的两个版本与 pollset_ctl 子例程或 pollset_ctl_ext 子例程兼容。
下表列出了 pollset.h 文件中定义的
poll_ctl 结构或 poll_ctl_ext 结构的字段:| 项 | 描述 |
|---|---|
version |
version 字段具有以下值:
|
command |
指定用于从结构读取数据并确定如何修改 pollset 文件描述符的 pollset 命令。 |
events |
指示正在由内核跟踪的事件。 "事件" 字段还可以包含下列其中一个标志:
|
以下宏可用于填充
poll_ctl 结构或 poll_ctl_ext 结构,或者可以直接填充这些结构。| 项 | 描述 |
|---|---|
POLL_CTL_INIT(struct poll_ctl *, command, events, fd) |
初始化 poll_ctl 结构。 |
POLL_CTL_EXT_INIT_V1(struct poll_ctl_ext *, command, events, fd,
data) |
使用支持用户指定数据的扩展格式来初始化 poll_ctl_ext 结构。 |