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];
};

pollist 구조의 pollfd 구조 및 pollmsg 구조는 다음 기능을 수행합니다.

항목 설명
pollfd [ f ] 이 구조는 파일 설명자 또는 파일 포인터의 배열을 정의합니다. f 변수는 배열의 요소 수를 지정합니다.
설문 메시지 [ m ] 이 구조는 메시지 큐 ID의 배열을 정의합니다. m 변수는 배열의 요소 수를 지정합니다.

POLLIST 매크로도 poll.h 파일에 정의되어 pollist 구조를 정의합니다. 매크로의 형식은 다음과 같습니다.

POLLIST(f, m) Declarator . . . ;

Declarator 매개변수는 이 유형을 갖는 것으로 선언되는 변수의 이름입니다.

poll.h 파일에 정의된 pollfdpollmsg 구조에는 다음 필드가 포함되어 있습니다.

항목 설명
fd poll 서브루틴에 대한 유효한 파일 설명자 또는 파일 포인터를 지정합니다. 이 필드의 값이 음수이면 이 요소를 건너뜁니다.
msgid poll 서브루틴에 유효한 메세지 대기행렬 ID를 지정합니다. 이 필드의 값이 음수이면 이 요소를 건너뜁니다.
events 추적 중인 이벤트입니다. 이는 다음 플래그의 조합입니다.
폴린
입력이 파일 또는 메시지 큐에 있습니다.
폴아웃
파일 또는 메시지 큐가 출력을 승인할 수 있습니다.
OLLPRI
파일 또는 메시지 큐에 예외 조건이 있습니다.
revents 리턴된 이벤트. 이 필드는 발생한 이벤트를 지정합니다. 이는 이벤트 필드에서 요청한 이벤트의 조합일 수 있습니다. 이 필드에는 다음 플래그 중 하나가 포함될 수도 있습니다.
POLLNVAL (POLLNVAL)
지정된 값은fd필드 또는msgid필드가 올바른 파일 디스크립터 또는 포인터 또는 액세스 가능한 메시지 큐의 ID가 아닙니다.
폴오류
지정된 파일 또는 메시지 큐에서 오류 조건이 발생했습니다.