timer_settime

TIMER_SETTIME(2)          Manuel du programmeur Linux         TIMER_SETTIME(2)



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.70 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 Ã
       <perkamon-fr@traduc.org>.

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



Linux                           15 octobre 2012               TIMER_SETTIME(2)