Arquivo poll.h

Propósito

Define as estruturas e as bandeiras usadas pela subroutine poll .

Descrição

O arquivo /usr/include/sys/poll.h define várias estruturas usadas pela subroutine poll . Uma matriz de estruturas pollfd ou pollmsg ou uma estrutura pollist especificam os descritores de arquivos ou ponteiros e filas de mensagens para os quais a subroutine poll verifica o status de E/S. Este arquivo também define os sinalizadores de eventos retornados, erro devolveu sinalizadores de eventos, sinalizadores de tipo de dispositivo e sinalizadores de entrada usados em operações de pesquisa.

Durante uma operação de pesquisa em ambos os descritores de arquivo e filas de mensagens, o parâmetro ListPointer aponta para uma estrutura pollist , que pode especificar descritores de arquivo ou ponteiros e filas de mensagem O programa deve definir a estrutura pollist na seguinte forma:

struct pollist {
   struct pollfd fdlist[f];
   struct pollmsg msglist[m];
};

A estrutura pollfd e a estrutura pollmsg na estrutura pollist executam as seguintes funções:

Item Descrição
pollfd [f ] Esta estrutura define uma matriz de descritores de arquivos ou ponteiros de arquivo. A variável f especifica o número de elementos na matriz.
pollmsg [m ] Esta estrutura define uma matriz de identificadores de fila de mensagens. A variável m especifica o número de elementos na matriz.

Uma macro POLLIST também é definida no arquivo poll.h para definir a estrutura pollist O formato da macro é:

POLLIST(f, m) Declarator . . . ;

O parâmetro Declarator é o nome da variável que é declarado como tendo este tipo.

As estruturas pollfd e pollmsg definidas no arquivo poll.h contêm os campos a seguir:

Item Descrição
fd Especifica um descritor de arquivo válido ou ponteiro de arquivo para a subroutine poll . Se o valor deste campo for negativo, este elemento é ignorado.
msgid Especifica um ID de fila de mensagens válido para a subroutine poll . Se o valor deste campo for negativo, este elemento é ignorado.
events Os eventos sendo rastreados. Esta é qualquer combinação das seguintes bandeiras:
POLLIN
Entrada está presente no arquivo ou fila de mensagens.
POLLOUT
A fila de arquivo ou mensagem é capaz de aceitar saída.
POLLPRI
Uma condição excepcional está presente no arquivo ou fila de mensagens.
revents Eventos retornados. Este campo especifica os eventos que ocorreram. Esta pode ser qualquer combinação dos eventos solicitados pelo campo de eventos. Este campo também pode conter uma das bandeiras a seguir:
POLLNVAL
O valor especificado pelofdcampo ou omsgidcampo não é nem um descritor de arquivo válido ou ponteiro nem o identificador de uma fila de mensagens acessível.
POLLERR
Uma condição de erro surgiu no arquivo especificado ou na fila de mensagens.