EPOLL_CTL
Section: Maniel du programmeur Linux (2) Updated: 25 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION
NOM
epoll_ctl - Interface de contrôle pour un descripteur epoll.
SYNOPSIS
#include <sys/epoll.h>
int epoll_ctl(int epfd , int op , int fd , struct epoll_event *event )
DESCRIPTION
Controle
le descripteur
epoll
epfd,
en demandant que l'opération
op
soit réalisée sur le descripteur cible
fd.
La structure
event
décrit l'objet lié au descripteur de fichier
fd.
La
struct epoll_event
est définie ainsi :
typedef union epoll_data {
void *ptr;
int fd;
__uint32_t u32;
__uint64_t u64;
} epoll_data_t;
struct epoll_event {
__uint32_t events; /* Evénement epoll */
epoll_data_t data; /* Variable utilisateur */
};
Le membre
events
est un masque de bits composés à partir des événéments disponibles
suivants :
- EPOLLIN
-
Le descripteur associé est disponible pour un
appel
read(2).
- EPOLLOUT
-
Le descripteur associé est disponible pour un
appel
write(2).
- EPOLLPRI
-
Il y a des données urgentes disponibles pour un
appel
read(2).
- EPOLLERR
-
Une erreur s'est produite sur le descripteur associé.
- EPOLLHUP
-
Une deconnexion s'est produite sur le descripteur associé.
- EPOLLET
-
Fixe le comportement en détection de changement d'état sur le
descripteur. Par défaut
epoll
fonctionne en détection de niveau. Voir
epoll(4)
pour plus de détails sur les comportements en détection de niveau
et de changements d'état.
L'interface
epoll
supporte tous les descripteurs de fichiers supportés par
poll(2).
Les valeurs valides pour le paramètre
op
sont :
- EPOLL_CTL_ADD
-
Ajouter le descripteur de fichier
fd
dans le
descripteur
epoll
epfd
et associe l'événement
event
avec le fichier représenté par
fd.
- EPOLL_CTL_MOD
-
Change l'événement
event
associé au descripteur de fichier
fd.
- EPOLL_CTL_DEL
-
Supprime le descripteur de fichier
fd
dans le
descripteur
epoll
epfd.
VALEUR RENVOYÉE
Lorsqu'il réussit, l'appel
epoll_ctl(2)
renvoie zéro. Si une erreur se produit,
epoll_ctl(2)
renvoie -1 et
errno
contient le code approprié.
ERREURS
- EBADF
-
Le descripteur de fichiers
epfd
n'est pas un descripteur valide.
- EPERM
-
Le fichier cible
fd
n'est pas supporté par
epoll.
- EINVAL
-
Le descripteur de fichier
epfd,
n'est pas un descripteur
epoll,
ou l'opération demandée
op
n'est pas supportée par cette interface.
- ENOMEM
-
Pas assez de mémoire dans le noyau pour traiter
l'opération
op.
CONFORMITÉ
epoll_ctl(2)
est une nouvelle API introduite dans Linux 2.5.44.
Son interface est stabilisée depuis le 2.5.66.
VOIR AUSSI
TRADUCTION
Christophe Blaess, 2003.
|
|