Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
epoll_ctl - Interface de controle pour un descripteur epoll
SYNOPSIS
#include <sys/epoll.h>
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
DESCRIPTION
Cet appel systeme effectue des operations de controle sur l'instance
epoll referencee par le descripteur de fichier epfd. Il necessite que
l'operation op soit effectuee sur le descripteur de fichier cible fd.
Les valeurs autorisees pour le parametre op sont :
EPOLL_CTL_ADD
Enregistre le descripteur de fichier cible fd pour l'instance
epoll indiquee par le descripteur de fichier epfd et associe
l'evenement event avec le fichier represente par fd.
EPOLL_CTL_MOD
Change l'evenement event associe au descripteur de fichier fd.
EPOLL_CTL_DEL
Supprime (desenregistre) le descripteur de fichier fd de
l'instance epoll indiquee par epfd. Le parametre event est
ignore et peut etre NULL (mais consultez la section BOGUES ci-
dessous).
Le parametre event decrit l'objet lie au descripteur de fichier fd. La
structure epoll_event est definie ainsi :
typedef union epoll_data {
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
struct epoll_event {
uint32_t events; /* Evenements epoll */
epoll_data_t data; /* Variable utilisateur */
};
Le membre events est un masque de bits compose a partir des evenements
disponibles suivants :
EPOLLIN
Le descripteur associe est disponible pour un appel read(2).
EPOLLOUT
Le descripteur associe est disponible pour un appel write(2).
EPOLLRDHUP (depuis Linux 2.6.17)
Le correspondant sur une socket en mode flux a ferme la
connexion, ou bien a termine la partie ecriture de la connexion.
(Cet attribut est particulierement utile pour ecrire du code
simple permettant de detecter la fermeture de la connexion par
le correspondant en detection de changement d'etat.)
EPOLLPRI
Il y a des donnees urgentes disponibles pour un appel read(2).
EPOLLERR
Une erreur s'est produite sur le descripteur de fichier associe.
epoll_wait(2) attend toujours cet evenement, il n'est pas
necessaire de l'indiquer dans events.
EPOLLHUP
Une deconnexion s'est produite sur le descripteur associe.
epoll_wait(2) attend toujours cet evenement, il n'est pas
necessaire de l'indiquer dans events.
EPOLLET
Fixer le comportement en detection de changement d'etat sur le
descripteur. Par defaut epoll fonctionne en detection de niveau.
Consultez epoll(7) pour plus de details sur les comportements en
detection de niveau et de changements d'etat.
EPOLLONESHOT (depuis Linux 2.6.2)
Fixer le comportement << coup unique >> (Ndt : one-shot) pour le
descripteur de fichier associe. Cela signifie qu'apres qu'un
evenement a ete retire avec epoll_wait(2), le descripteur de
fichier est desactive de maniere interne et aucun autre
evenement ne sera rapporte par l'interface epoll. L'utilisateur
doit appeler epoll_ctl() avec EPOLL_CTL_MOD pour rearmer le
descripteur de fichier avec le nouveau masque d'evenement.
VALEUR RENVOY'EE
Lorsqu'il reussit, l'appel epoll_ctl() renvoie zero. Si une erreur se
produit, epoll_ctl() renvoie -1 et errno contient le code approprie.
ERREURS
EBADF epfd ou fd n'est pas un descripteur de fichier valable.
EEXIST op est EPOLL_CTL_ADD, mais le descripteur de fichier fd est deja
enregistree dans cette instance epoll.
EINVAL Le descripteur de fichier epfd, n'est pas un descripteur epoll,
ou fd et epfd sont identiques, ou l'operation demandee op n'est
pas supportee par cette interface.
ENOENT op est EPOLL_CTL_MOD ou EPOLL_CTL_DEL, et fd n'est pas
enregistre dans cette instance epoll.
ENOMEM Pas assez de memoire dans le noyau pour traiter l'operation op
demandee.
ENOSPC La limite imposee par /proc/sys/fs/epoll/max_user_watches a ete
rencontree en essayant d'enregistrer (EPOLL_CTL_ADD) un nouveau
descripteur de fichier sur une instance epoll. Consultez
epoll(7) pour plus de details.
EPERM Le fichier cible fd n'est pas supporte par epoll.
CONFORMIT'E
epoll_ctl() est specifique a Linux, et a ete introduit dans le noyau
2.5.44.
NOTES
L'interface epoll supporte tous les descripteurs de fichier supportes
par poll(2).
BOGUES
Dans les versions du noyau anterieures a 2.6.9, l'operation
EPOLL_CTL_DEL necessitait un pointeur non NULL dans event, alors que ce
parametre est ignore. Depuis Linux 2.6.9, event peut etre NULL lors
d'une operation EPOLL_CTL_DEL. Les applications qui doivent etre
portables pour les noyaux anterieurs a 2.6.9 devraient utiliser un
pointeur different de NULL dans event.
VOIR AUSSI
epoll_create(2), epoll_wait(2), poll(2), epoll(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
Linux 29 aout 2010 EPOLL_CTL(2)