Loading

NOM

       adjtime - Ajuster le temps pour synchroniser l’horloge système

SYNOPSIS

       int adjtime(const struct timeval *delta, struct timeval *olddelta);

   Exigences  de  macros  de  test  de  fonctionnalités  pour  la  glibc (voir
   feature_test_macros(7)) :

       adjtime() : _BSD_SOURCE

       La fonction adjtime() ajuste  graduellement  l’horloge  système  (comme
       renvoyée  par  gettimeofday(2)).  La  quantité  de  temps avec laquelle
       l’horloge système doit être ajustée  est  spécifiée  par  la  structure
       pointée par delta. Cette structure a la forme suivante :

           struct timeval {
               time_t      tv_sec;     /* secondes */
               suseconds_t tv_usec;    /* microsecondes */
           };

       Si  l’ajustement  dans  delta  est positif, alors l’horloge système est
       accélérée d’un faible pourcentage (par exemple, en ajoutant une  petite
       quantité  de  temps  à  chaque  seconde  de  l’horloge)  jusqu’à ce que
       l’ajustement soit réalisé. Si  l’ajustement  dans  delta  est  négatif,
       l’horloge est ralentie selon le même procédé.

       Si un ajustement d’horloge d’un précédent appel à adjtime() est déjà en
       cours au moment du dernier appel à adjtime() et si delta n’est pas NULL
       lors  de  ce  dernier  appel, alors le précédent ajustement est arrêté,
       mais aucune partie déjà complète de cet ajustement n’est défait.

       Si olddelta n’est pas NULL, alors le tampon  pointé  est  utilisé  pour
       renvoyer la quantité de temps restant depuis l’ajustement précédent qui
       n’a pas été complété.

VALEUR RENVOYÉE

       En cas de réussite, adjtime()  renvoie  0.  En  cas  d’erreur,  -1  est
       renvoyé et errno est définie.

ERREURS

       EINVAL L’ajustement delta est hors de l’intervalle autorisé.

       EPERM  L’appelant  n’a  pas  les  privilèges suffisants pour ajuster le
              temps. Sous Linux, la capacité CAP_SYS_TIME est nécessaire.

CONFORMITÉ

       BSD 4.3, System V.

NOTES

       L’ajustement réalisé par adjtime() sur l’horloge est exécuté  afin  que
       l’horloge   soit  toujours  incrémentée  de  façon  monotone.  Utiliser
       adjtime() pour ajuster le temps prévient les problèmes qui  peuvent  se
       poser  avec certaines applications (par exemple, make(1)) lors de sauts
       temporels abrupts positifs ou négatifs de l’horloge système.

       adjtime() est prévue  pour  faire  de  petit  ajustement  de  l’horloge
       système.  La  plupart des systèmes impose une limite à l’ajustement qui
       peut être spécifié dans delta. Dans l’implémentation de la glibc, delta
       doit  être  inférieur ou égal à (INT_MAX / 1000000 - 2) et supérieur ou
       égal (INT_MIN / 1000000 + 2) (respectivement, 2145  et  -2145  secondes
       sur i386).

BOGUES

       Un  bogue  de  longue  date  faisait  que  si delta valait NULL, aucune
       information valide sur  l’ajustement  en  cours  de  l’horloge  n’était
       renvoyé  dans  olddelta.  (Dans  cette  circonstance, adjtime() devrait
       renvoyer l’ajustement en cours de  l’horloge,  sans  la  modifier.)  Ce
       bogue  a  été  corrigé  sur  les  systèmes disposant de la glibc 2.8 ou
       suivantes et le noyau Linux 2.6.26 ou suivants.

VOIR AUSSI

       adjtimex(2), gettimeofday(2), time(7)

COLOPHON

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

       Cette  page  de  manuel  a  été traduite et est maintenue par Florentin
       Duneau <fduneau AT gmail DOT com> et l’équipe francophone de traduction
       de Debian.

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