Fichier poll.h

Objectif

Définit les structures et les indicateurs utilisés par la sous-routine poll .

Descriptif

Le fichier /usr/include/sys/poll.h définit plusieurs structures utilisées par la sous-routine poll . Un tableau de structures pollfd ou pollmsg ou une structure pollist indique les descripteurs de fichier ou les pointeurs et les files d'attente de messages pour lesquels la sous-routine poll vérifie le statut d'E-S. Ce fichier définit également les indicateurs d'événements renvoyés, les indicateurs d'événements renvoyés par erreur, les indicateurs de type de périphérique et les indicateurs d'entrée utilisés dans les opérations d'interrogation.

Lors d'une opération d'interrogation sur les descripteurs de fichier et les files d'attente de messages, le paramètre ListPointer pointe vers une structure pollist , qui peut spécifier des descripteurs de fichier ou des pointeurs et des files d'attente de messages. Le programme doit définir la structure pollist sous la forme suivante:

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

La structure pollfd et la structure pollmsg de la structure pollist exécutent les fonctions suivantes:

Article Descriptif
pollfd [f ] Cette structure définit un tableau de descripteurs de fichier ou de pointeurs de fichier. La variable f indique le nombre d'éléments du tableau.
pollmsg [m ] Cette structure définit un tableau d'identificateurs de file d'attente de messages. La variable m indique le nombre d'éléments dans le tableau.

Une macro POLLIST est également définie dans le fichier poll.h pour définir la structure pollist . Le format de la macro est le suivant:

POLLIST(f, m) Declarator . . . ;

Le paramètre Declarator est le nom de la variable déclarée comme ayant ce type.

Les structures pollfd et pollmsg définies dans le fichier poll.h contiennent les zones suivantes:

Article Descriptif
fd Indique un descripteur de fichier ou un pointeur de fichier valide pour la sous-routine poll . Si la valeur de cette zone est négative, cet élément est ignoré.
msgid Indique un ID de file d'attente de messages valide pour la sous-routine poll . Si la valeur de cette zone est négative, cet élément est ignoré.
events Les événements faisant l'objet d'un suivi. Il s'agit de n'importe quelle combinaison des indicateurs suivants:
POLLIN
L'entrée est présente dans le fichier ou la file d'attente de messages.
POLLOUT
Le fichier ou la file d'attente de messages peut accepter la sortie.
POLLPRI
Une condition exceptionnelle est présente dans le fichier ou la file d'attente de messages.
revents Evénements renvoyés. Cette zone indique les événements qui se sont produits. Il peut s'agir de n'importe quelle combinaison des événements demandés par la zone d'événements. Cette zone peut également contenir l'un des indicateurs suivants:
POLLNVAL
La valeur spécifiée par lefdou la zonemsgidn'est ni un descripteur ou un pointeur de fichier valide, ni l'identificateur d'une file d'attente de messages accessible.
POLLERR
Une condition d'erreur s'est produite dans le fichier ou la file d'attente de messages indiqué.