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_FD PS_ADD_MSGQID |
将有效的打开文件描述符或 System V 消息队列添加到 pollset 文件描述符和消息队列集。 |
PS_MOD_FD PS_MOD_MSGQID |
如果文件描述符或消息队列已存在于 pollset中,那么会将 poll_ctl 结构或 pollfd 结构中定义的 events 字段中的位添加到内核监视的事件中,并使用新值更新用户指定的数据。 如果 pollset中不存在文件描述符或消息队列,那么会将文件描述符或消息队列添加到 pollset。 |
PS_DELETE_FD PS_DELETE_MSGQID |
从 pollset中除去文件描述符或消息队列。 |
PS_REPLACE_FD PS_REPLACE_MSGQID |
如果 pollset中已存在文件描述符或消息队列,请将 pollset 文件描述符或消息队列集的 events 字段和用户指定数据中的值替换为 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 结构。 |