ADJTIMEX(2)        Manuel du programmeur Linux        ADJTIMEX(2)


NOM
       adjtimex - Régler l'horloge du noyau (kernel clock).

SYNOPSIS
       #include <sys/timex.h>

       int adjtimex(struct timex *buf);

DESCRIPTION
       Linux utilise l'algorithme d'ajustement d'horloge de David
       L. Mills.   adjtimex  lit,  et  écrit  éventuellement  les
       paramètres d'ajustement pour cet algorithme.

       adjtimex  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;           /* mode selector */
                  long offset;         /* time offset (usec) */
                  long freq;           /* frequency offset (scaled ppm) */
                  long maxerror;       /* maximum error (usec) */
                  long esterror;       /* estimated error (usec) */
                  int status;          /* clock command/status */
                  long constant;       /* pll time constant */
                  long precision;      /* clock precision (usec) (read only) */
                  long tolerance;      /* clock frequency tolerance (ppm)
                                          (read only) */
                  struct timeval time; /* current time (read only) */
                  long tick;           /* usecs between clock ticks */
              };

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

              #define ADJ_OFFSET            0x0001 /* time offset */
              #define ADJ_FREQUENCY         0x0002 /* frequency offset */
              #define ADJ_MAXERROR          0x0004 /* maximum time error */
              #define ADJ_ESTERROR          0x0008 /* estimated time error */
              #define ADJ_STATUS            0x0010 /* clock status */
              #define ADJ_TIMECONST         0x0020 /* pll time constant */
              #define ADJ_TICK              0x4000 /* tick value */
              #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */

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








Linux 2.0                9 Décembre 1997                        1





ADJTIMEX(2)        Manuel du programmeur Linux        ADJTIMEX(2)


VALEUR RENVOYÉE
       adjtimex renvoie l'état de l'horloge s'il réussit :

              #define TIME_OK   0 /* clock synchronized */
              #define TIME_INS  1 /* insert leap second */
              #define TIME_DEL  2 /* delete leap second */
              #define TIME_OOP  3 /* leap second in progress */
              #define TIME_WAIT 4 /* leap second has occurred */
              #define TIME_BAD  5 /* clock not synchronized */

       En  cas  d'échec  adjtimex renvoie -1 et errno contient le
       code d'erreur.

ERREURS
       EFAULT buf pointe en dehors de l'espace d'adressage acces­
              sible.

       EPERM  buf.mode  est  non  nul, et l'utilisateur n'est pas
              Super-User.

       EINVAL buf.offset est en dehors de l'intervalle -131071  à
              +131071, ou buf.status a une valeur autre que celle
              listée ci-dessus, ou  buf.tick  est  en  dehors  de
              l'intervalle  900000/HZ  à  1100000/HZ, HZ étant la
              fréquence d'interruption de l'horloge système.

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. Un appel adjtime moins  général  existe
       sous SVr4.

VOIR AUSSI
       settimeofday(2).


TRADUCTION
       Christophe Blaess, 1997.



















Linux 2.0                9 Décembre 1997                        2