Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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)