Provided by: manpages-fr_1.67.0-1_all bug

NOM

       clock_getres,  clock_gettime, clock_settime - fonctions d’horloge et de
       temps

SYNOPSIS

       #include <time.h>

       int clock_getres(clockid_t clk_id, struct timespec *res);
       int clock_gettime(clockid_t clk_id, struct timespec *tp);
       int clock_settime(clockid_t clk_id, const struct timespec *tp);

DESCRIPTION

       La  fonction  clock_getres()  cherche  la  résolution  (précision)   de
       l’horloge  clk_id  spécifiée  et si res est non NULL, elle l’enregistre
       dans la structure timespec pointée par res.  La résolution des horloges
       dépend  de  l’implémentation  et  ne  peut  pas  être configurée par un
       processus particulier.  Si la valeur du temps pointé par l’argument  tp
       de  clock_settime()  n’est  pas  un  multiple  de res, cette valeur est
       tronquée à un multiple de res.

       Les  fonctions  clock_gettime()  et   clock_settime()   récupèrent   et
       configurent le temps de l’horloge clk_id spécifiée.

       Les  arguments  res  et  tp  sont des structures timespec définies dans
       <time.h> :

       struct timespec {
               time_t   tv_sec;        /* secondes */
               long     tv_nsec;       /* nanosecondes */
       };

       L’argument clk_id est  l’identifiant  d’une  horloge  particulière  sur
       laquelle  agir.   Une  horloge  peut  être  globale  au système, et par
       conséquent visible de tous les processus, ou propre à un processus,  si
       elle mesure le temps uniquement pour celui-ci.

       Toutes  les  implémentations  supportent  l’horloge temps réel globale,
       laquelle est identifiée par CLOCK_REALTIME.  Son  temps  représente  le
       nombre  de  secondes  et nanosecondes écoulées depuis le début de l’Ére
       Unix (01-01-1970  GMT  00:00).  Lorsque  son  temps  est  modifié,  les
       horloges  mesurant  un  intervalle de temps ne sont pas affectées alors
       que celles indiquant une date (heure) absolue le sont.

       Plusieurs horloges  peuvent  être  implémentées.  L’interprétation  des
       valeurs  de  temps correspondantes et l’effet sur les temporisateurs ne
       sont pas spécifiés.

       Les versions suffisamment récentes de la GNU libc  et  du  noyau  Linux
       gèrent les horloges suivantes :

       CLOCK_REALTIME
              Horloge temps réel globale au système.  Configurer cette horloge
              nécessite d’avoir les privilèges appropriés.

       CLOCK_MONOTONIC
              Horloge non configurable qui représente un temps monotone depuis
              une date de début arbitraire.

       CLOCK_PROCESS_CPUTIME_ID
              Horloge CPU haute résolution pour processus.

       CLOCK_THREAD_CPUTIME_ID
              Horloge CPU spécifique aux fils (Ndt : thread).  Thread-specific
              CPU-time clock.

VALEUR RETOURNÉE

       clock_gettime(), clock_settime() et clock_getres() renvoient 0 si elles
       réussissent  ou -1 si elles échouent, auquel cas errno contient le code
       d’erreur.

ERREURS

       EPERM  clock_settime() n’a pas l’autorisation de  configurer  l’horloge
              spécifiée.

       EINVAL L’horloge clk_id spécifiée n’est pas supportée sur ce système.

       EFAULT tp pointe en dehors de l’espace d’adressage accessible.

NOTE

       La plupart des systèmes nécessitent d’être liés à la bibliothèque librt
       afin de pouvoir utiliser ces fonctions.

DISPONIBILITÉ

       Sur les systèmes conformes à la spécification POSIX  sur  lesquels  ces
       fonctions  sont  disponibles, la constante symbolique _POSIX_TIMERS est
       définie dans <unistd.h> comme étant une valeur  supérieure  à  0.   Les
       constantes    symboliques    _POSIX_MONOTONIC_CLOCK,    _POSIX_CPUTIME,
       _POSIX_THREAD_CPUTIME       indiquent       que        CLOCK_MONOTONIC,
       CLOCK_PROCESS_CPUTIME_ID,   CLOCK_THREAD_CPUTIME_ID  sont  disponibles.
       (Voir aussi sysconf(3).)

CONFORMITÉ

       SUSv2, POSIX 1003.1-2001.

VOIR AUSSI

       date(1),  adjtimex(2),   gettimeofday(2),   settimeofday(2),   time(2),
       ctime(3), ftime(3), sysconf(3)

TRADUCTION

       Ce  document  est  une traduction réalisée par Alain Portal <aportal AT
       univ-montp2 DOT fr> le 9 juin 2005.

       L’équipe de traduction a fait le maximum pour réaliser  une  adaptation
       française de qualité. La version anglaise la plus à jour de ce document
       est      toujours       consultable       via       la       commande :
       « LANG=en man 3 clock_getres ».  N’hésitez pas à signaler à l’auteur ou
       au traducteur, selon le cas, toute erreur dans cette page de manuel.

                                 24 août 2003                  CLOCK_GETRES(3)