Loading

NOM

       timer_settime,  timer_gettime  -  Armer,  désarmer  et récupérer l’état
       d’une minuterie POSIX d’un processus

SYNOPSIS

       #include <time.h>

       int timer_settime(timer_t timerid, int flags,
                         const struct itimerspec *new_value,
                         struct itimerspec * old_value);
       int timer_gettime(timer_t timerid, struct itimerspec *curr_value);

       Effectuez l’édition des liens avec l’option -lrt.

   Exigences de  macros  de  test  de  fonctionnalités  pour  la  glibc  (voir
   feature_test_macros(7)) :

       timer_settime(), timer_gettime() : _POSIX_C_SOURCE >= 199309

       timer_settime()  arme  et désarme la minuterie indiquée par timerid. Le
       paramètre  new_value  est  une  structure  itimerspec  qui  indique  la
       nouvelle  valeur initiale et le nouvel intervalle pour la minuterie. La
       structure itimerspec est définie comme ceci :

           struct timespec {
               time_t tv_sec;                /* Secondes */
               long   tv_nsec;               /* Nanosecondes */
           };

           struct itimerspec {
               struct timespec it_interval;  /* Intervalle pour les
                                                minuteries périodiques */
               struct timespec it_value;     /* Expiration initiale */
           };

       Chacune  des  sous-structures  de  la  structure  itimerspec  est   une
       structure  timespec  qui permet d’indiquer une valeur en secondes et en
       nanosecondes. Ces valeurs sont mesurée en fonction de l’horloge  qui  a
       été indiquée lorsque la minuterie a été créée avec timer_create().

       Si new_value->it_value indique une valeur non nulle (c’est-à-dire qu’un
       de ses champs n’est pas nul), alors timer_settime() arme  (démarre)  la
       minuterie,  en  la configurant pour qu’elle expire au moment donnée (si
       la  minuterie  était  déjà  armée,  sa  configuration  précédente   est
       remplacée).  Si new_value->it_value a une valeur nulle (c’est-à-dire si
       ses deux champs sont nuls), alors la minuterie est désarmée.

       Le champ new_value->it_interval indique la période de la minuterie,  en
       secondes et nanosecondes. Si ce champ n’est pas nul alors à chaque fois
       qu’une minuterie armée expire,  la  minuterie  est  rechargée  avec  la
       valeur  indiquée dans new_value->it_interval. Si new_value->it_interval
       est nul, alors la minuterie n’expire qu’une fois, une fois que le temps
       défini par it_value est écoulé.

       Par    défaut,    le    temps    d’expiration   initial   indiqué   par
       new_value->it_value est interprété par rapport à l’instant  actuel  sur
       l’horloge  de la minuterie au moment de l’appel. Ceci peut être modifié
       en indiquant TIMER_ABSTIME dans flags, new_value->it_value étant  alors
       interprété  comme  une  valeur  absolue  mesurée  sur  l’horloge  de la
       minuterie ; c’est-à-dire que la minuterie expirera quand la  valeur  de
       l’horloge  atteint  la  valeur  indiquée par new_value->it_value. Si le
       temps  absolu  indiqué  est  déjà  passé,  alors  la  minuterie  expire
       immédiatement  et le compteur de dépassement (voir timer_getoverrun(2))
       est positionné en conséquence.

       Si  la  valeur  de  l’horloge  CLOCK_REALTIME  est  ajustée  et  qu’une
       minuterie absolue basée sur cette horloge est armée, alors l’expiration
       de cette minuterie sera ajustée  en  conséquence.  Les  ajustements  de
       l’horloge CLOCK_REALTIME n’ont aucun effet sur les minuteries relatives
       basées sur cette horloge.

       Si old_value n’est pas NULL, alors elle renvoie l’intervalle  précédent
       de la minuterie (dans old_value->it_interval) et la durée qu’il restait
       avant l’expiration suivante de la minuterie (dans old_value->it_value).

       timer_gettime()  renvoie  dans le tampon pointé par curr_value le temps
       restant avant l’expiration suivante et  l’intervalle  de  la  minuterie
       indiquée  par timerid. Le temps restant avant l’expiration suivante est
       renvoyé dans curr_value->it_value ; il  s’agit  toujours  d’une  valeur
       relative,  que  le drapeau TIMER_ABSTIME soit utilisé ou non lorsque la
       minuterie est armée. Si la valeur  renvoyée  dans  curr_value->it_value
       est  nulle,  alors  la  minuterie  était désarmée au moment de l’appel.
       L’intervalle de la minuterie est renvoyée dans curr_value->it_interval.
       Si  la valeur renvoyée dans curr_value->it_interval est nulle, alors il
       s’agit d’une minuterie à un coup.

VALEUR RENVOYÉE

       En cas de réussite, timer_settime() et timer_gettime() renvoient  zéro.
       En cas d’erreur, -1 est renvoyé et errno indique le code d’erreur.

ERREURS

       Ces fonctions peuvent échouer avec les erreurs suivantes :

       EFAULT new_value,   old_value  ou  curr_value  n’est  pas  un  pointeur
              valable.

       EINVAL timerid n’est pas valable

       timer_settime() peut échouer avec les erreurs suivantes :

       EINVAL new_value.it_value est négatif ;  ou  new_value.it_value.tv_nsec
              est négatif ou supérieur à 999,999,999.

VERSIONS

       Ces appels systèmes sont disponibles depuis Linux 2.6.

CONFORMITÉ

       POSIX.1-2001

EXEMPLE

       Consultez timer_create(2).

VOIR AUSSI

       timer_create(2), timer_settime(2), timer_getoverrun(2), time(7)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a  été  traduite  et  est  maintenue  par  Nicolas
       François  <nicolas.francois@centraliens.net> et l’équipe francophone de
       traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».