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成員指定了無效的檔案描述符。EFAULTufds引用不可訪問的記憶體區域。EINTR呼叫被訊號中斷。
EINVALnfds值超過了RLIMIT_NOFILE值。 使用getrlimit()來獲取此值。