Loading

NOM

       adjtimex - Régler l’horloge du noyau (kernel clock)

SYNOPSIS

       #include <sys/timex.h>

       int adjtimex(struct timex *buf);

       Linux  utilise  l’algorithme  d’ajustement  d’horloge de David L. Mills
       (RFC 1305). L’appel système adjtimex() lit, et écrit éventuellement les
       paramètres d’ajustement pour cet algorithme. Il utilise un pointeur sur
       une structure timex pour mettre à jour les paramètres du noyau avec les
       valeurs  de  ses champs, et renvoyer la même structure avec les valeurs
       actuelles du noyau. La structure est déclarée comme suit :

           struct timex {
               int modes;           /* choix du mode */
               long offset;         /* décalage temporel (usec) */
               long freq;           /* différence de fréquence (scaled ppm) */
               long maxerror;       /* erreur maximale (usec) */
               long esterror;       /* erreur estimée (usec) */
               int status;          /* commande/état de l’horloge */
               long constant;       /* constante de temps pll */
               long precision;      /* précision de l’horloge (usec)
                                       (lecture seule) */
               long tolerance;      /* tolérance sur la fréquence de
                                       l’horloge (ppm) (lecture seule)
               struct timeval time; /* heure actuelle (lecture seule) */
               long tick;           /* microsecondes entre les tops
                                       de l’horloge */
           };

       Le champ modes détermine les paramètres éventuels à écrire. Il contient
       un OU binaire « | » entre les valeurs suivantes :

           #define ADJ_OFFSET            0x0001 /* décalage d’heure */
           #define ADJ_FREQUENCY         0x0002 /* décalage de fréquence */
           #define ADJ_MAXERROR          0x0004 /* erreur temporelle maximale */
           #define ADJ_ESTERROR          0x0008 /* erreur temporelle estimée */
           #define ADJ_STATUS            0x0010 /* état de l’horloge */
           #define ADJ_TIMECONST         0x0020 /* constante de temps pll */
           #define ADJ_TICK              0x4000 /* valeur du top */
           #define ADJ_OFFSET_SINGLESHOT 0x8001 /* ancien adjtime() */

       Les  utilisateurs normaux sont limités à une valeur de mode nulle, seul
       le superutilisateur peut écrire les paramètres.

VALEUR RENVOYÉE

       S’il réussit, adjtimex() renvoie l’état de l’horloge :

           #define TIME_OK   0 /* horloge synchronisée */
           #define TIME_INS  1 /* ajout d’une seconde */
           #define TIME_DEL  2 /* suppression d’une seconde */
           #define TIME_OOP  3 /* seconde d’ajustement en cours */
           #define TIME_WAIT 4 /* seconde d’ajustement terminée */
           #define TIME_BAD  5 /* horloge non synchronisée */

       En cas d’échec adjtimex() renvoie -1 et remplit errno.

ERREURS

       EFAULT buf pointe en  dehors  de  l’espace  d’adressage  accessible  en
              écriture.

       EINVAL Une  tentative  est  faite  de  remplir  buf.offset en dehors de
              l’intervalle -131071 à +131071, ou de mettre  buf.status  a  une
              valeur autre que celles listées ci‐dessus, ou buf.tick en dehors
              de l’intervalle 900000/HZ à 1100000/HZ, où HZ est  la  fréquence
              d’interruption de l’horloge système.

       EPERM  buf.mode  est  non  nul,  et  l’appelant n’a pas suffisamment de
              privilèges. Sous Linux, la capacité CAP_SYS_TIME est nécessaire.

CONFORMITÉ

       adjtimex() est spécifique à Linux, et ne doit pas être employé dans des
       programmes  destinés  à  être  portés  sur  d’autres   systèmes.   Voir
       adjtime(3)  pour  une  méthode  plus  portable, mais moins flexible, de
       configurer l’horloge système.

VOIR AUSSI

       settimeofday(2), adjtime(3), capabilities(7), 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 mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> 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> ».