Provided by: manpages-fr-dev_3.57d1p1-1_all bug

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    (consultez
   feature_test_macros(7)) :

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

DESCRIPTION

       timer_settime()  arme et désarme la minuterie indiquée par timerid. Le paramètre new_value
       est un pointeur vers 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(2).

       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 (consultez 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 il pointe vers un tampon qui est utilisé pour  renvoyer
       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_getoverrun(2), time(7)

COLOPHON

       Cette  page  fait partie de la publication 3.57 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

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

       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> ».