Archivo poll.h

Finalidad

Define las estructuras y distintivos utilizados por la subrutina poll .

Descripción

El archivo /usr/include/sys/poll.h define varias estructuras utilizadas por la subrutina poll . Una matriz de estructuras pollfd o pollmsg o una estructura pollist especifican los descriptores de archivo o punteros y colas de mensajes para los que la subrutina poll comprueba el estado de E/S. Este archivo también define los distintivos de sucesos devueltos, los distintivos de sucesos devueltos por error, los distintivos de tipo de dispositivo y los distintivos de entrada utilizados en las operaciones de sondeo.

Durante una operación de sondeo en descriptores de archivo y colas de mensajes, el parámetro ListPointer apunta a una estructura pollist , que puede especificar descriptores de archivo o punteros y colas de mensajes. El programa debe definir la estructura pollist con el formato siguiente:

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

La estructura pollfd y la estructura pollmsg de la estructura pollist realizan las funciones siguientes:

Elemento Descripción
pollfd [ f ] Esta estructura define una matriz de descriptores de archivo o punteros de archivo. La variable f especifica el número de elementos de la matriz.
msjpoll[m] Esta estructura define una matriz de identificadores de cola de mensajes. La variable m especifica el número de elementos de la matriz.

Una macro POLLIST también se define en el archivo poll.h para definir la estructura pollist . El formato de la macro es:

POLLIST(f, m) Declarator . . . ;

El parámetro Declarador es el nombre de la variable que se declara que tiene este tipo.

Las estructuras pollfd y pollmsg definidas en el archivo poll.h contienen los campos siguientes:

Elemento Descripción
fd Especifica un descriptor de archivo o puntero de archivo válido para la subrutina poll . Si el valor de este campo es negativo, este elemento se omite.
msgid Especifica un ID de cola de mensajes válido para la subrutina poll . Si el valor de este campo es negativo, este elemento se omite.
events Los sucesos que se están rastreando. Esta es cualquier combinación de los distintivos siguientes:
POLONIA
La entrada está presente en el archivo o cola de mensajes.
POLONIA
El archivo o cola de mensajes es capaz de aceptar la salida.
POLLPRI
Hay una condición excepcional en el archivo o en la cola de mensajes.
revents Sucesos devueltos. Este campo especifica los sucesos que se han producido. Puede ser cualquier combinación de los sucesos solicitados por el campo de sucesos. Este campo también puede contener uno de los distintivos siguientes:
POLLNVAL
El valor especificado por elfdo el campomsgidno es un descriptor o puntero de archivo válido ni el identificador de una cola de mensajes accesible.
POLLERR
Se ha producido una condición de error en el archivo o cola de mensajes especificados.