Provided by: manpages-fr-dev_4.13-4_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);

       Éditer les liens avec -lrt.

   Exigences de macros de test de fonctionnalités pour la glibc (consulter 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, POSIX.1-2008.

EXEMPLES

       Consultez timer_create(2).

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions pour signaler des anomalies et la dernière version de cette page  peuvent  être  trouvées  à
       l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org>,   Cédric   Boutillier    <cedric.boutillier@gmail.com>    et    Frédéric    Hantrais
       <fhantrais@gmail.com>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

Linux                                              9 juin 2020                                  TIMER_SETTIME(2)