Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]
ADJTIMEX
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- CONFORMITÉ
- VOIR AUSSI
- TRADUCTION
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 (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 frequence */
#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)
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.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|