Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque de temps réel (librt, -lrt)

SYNOPSIS

       #include <time.h>

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

   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 dans
       itimerspec(3type).

       Chacune des sous-structures de la structure itimerspec est une structure  timespec(3)  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.

STANDARDS

       POSIX.1-2001, POSIX.1-2008.

EXEMPLES

       Consultez timer_create(2).

VOIR AUSSI

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

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>,  Frédéric  Hantrais  <fhantrais@gmail.com>  et  Jean-Pierre
       Giraud <jean-pierregiraud@neuf.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.