NOM

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

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

SYNOPSIS

#include <sys/time.h>
int adjtime(const struct timeval *delta, struct timeval *olddelta);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
adjtime() :
    Depuis la glibc 2.19 :
        _DEFAULT_SOURCE
    glibc 2.19 et antérieures :
        _BSD_SOURCE

DESCRIPTION

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.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
adjtime() Sécurité des threads MT-Safe
 

STANDARDS

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)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]> et Jean-Pierre Giraud <[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à [email protected]

Recommended readings

Pages related to adjtime you should read also: