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:
|
| 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:
|