2.4. cec poll()¶
2.4.1. 名称¶
cec-poll - 等待文件描述符上的某些事件
2.4.2. 概要¶
#include <sys/poll.h>
-
int poll(struct pollfd *ufds, unsigned int nfds, int timeout)¶
2.4.3. 参数¶
ufds
要监视的 FD 事件列表
nfds
*ufds 数组中的 FD 事件数
timeout
等待事件的超时时间
2.4.4. 描述¶
使用 poll()
函数,应用程序可以等待 CEC 事件。
成功时,poll()
返回已选择的文件描述符的数量(即,struct pollfd
的相应 revents
字段为非零的文件描述符)。如果接收队列中有消息,CEC 设备会在 revents
字段中设置 POLLIN
和 POLLRDNORM
标志。如果传输队列有空间容纳新消息,则设置 POLLOUT
和 POLLWRNORM
标志。如果事件队列中有事件,则设置 POLLPRI
标志。当函数超时时,它返回值零,失败时返回 -1,并适当地设置 errno
变量。
有关更多详细信息,请参见 poll()
手册页。
2.4.5. 返回值¶
成功时,poll()
返回具有非零 revents
字段的结构数量,如果调用超时,则返回零。出错时,返回 -1,并适当地设置 errno
变量
EBADF
一个或多个
ufds
成员指定了无效的文件描述符。EFAULT
ufds
引用不可访问的内存区域。EINTR
调用被信号中断。
EINVAL
nfds
值超过了RLIMIT_NOFILE
值。 使用getrlimit()
来获取此值。