Provided by: manpages-it_2.80-5_all bug

NOME

       adjtime - corregge l'orario per sincronizzare l'orologio di sistema

SINTASSI

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

   Test delle funzioni e requisiti delle macro per glibc (vedere feature_test_macros(7)):

       adjtime(): _BSD_SOURCE

DESCRIZIONE

       La  funzione  adjtime()  regola  in  modo  graduale  l'orario  di  sistema  (restituito da
       gettimeofday(2)).  L'ammontare di tempo con cui regolare l'orologio  è  specificato  nella
       struttura a cui punta delta.  Questa struttura ha la forma seguente:

         struct timeval {
             time_t      tv_sec;     /* secondi */
             suseconds_t tv_usec;    /* microsecondi */
         };

       Se  la regolazione in delta è positiva, l'orologio di sistema viene accellerato di qualche
       punto percentuale (per esempio aggiungendo  una  piccola  quantità   di  tempo  al  valore
       dell'orario  per  ogni  secondo)  finché  la  regolazione  non  è stata completata.  Se la
       regolazione in delta è negativa, l'orologio viene rallentato in maniera simile.

       Se avviene una chiamata ad  adjtime()  mentre  è  in  corso  una  regolazione  dell'orario
       relativa  ad  una  chiamata  precedente  di  adjtime()  ,  e delta non è NULL per l'ultima
       chiamata, la chiamata precedente viene terminata, senza però scartare  nessuna  correzione
       parziale già completata.

       Se  olddelta  non  è  NULL,  allora  il  buffer  a  cui  punta  viene usato per restituire
       l'ammontare di tempo rimanente dalle precedenti correzioni non ancora completate.

VALORE RESTITUITO

       Se termina con successo, adjtime() restituisce 0. Se  fallisce,  viene  restituito  -1,  e
       errno viene valorizzato per indicare l'errore.

ERRORI

       EINVAL La correzione in delta è fuori dall'intervallo permesso.

       EPERM  Il  chiamante  non  ha  privilegi  sufficienti per correggere l'orario.  In Linux è
              richiesta l'abilitazione a CAP_SYS_TIME .

CONFORME A

       4.3BSD, System V.

NOTE

       La correzione che adjtime() effettua sull'orologio viene eseguita in modo che quest'ultimo
       venga  sempre  incrementato  uniformemente.   Usando  adjtime() per correggere l'orario si
       evitano problemi di funzionamento per certe applicazioni (per esempio, make(1))  dovuti  a
       improvvise variazioni positive o negative dell'orario di sistema.

       adjtime()  è  stato  progettato  per  effettuare piccole correzioni all'orario di sistema.
       Molti sistemi impongono un limite alla correzione, che può essere  specificato  in  delta.
       Nell'implementazione  di glibc, delta dev'essere minore o uguale a (INT_MAX / 1000000 - 2)
       e maggiore o uguale a (INT_MIN / 1000000 + 2) (rispettivamente 2145  e  -2145  secondi  su
       i386).

BUG

       Attualmente,  se  delta  viene  valorizzato a NULL, a olddelta non viene restituita alcuna
       informazione valida riguardo la correzione in sospeso  dell'orologio.   (In  questo  caso,
       adjtime()  dovrebbe  restituire  la  correzione  dell'orario in sospeso, senza cambiarla.)
       Questo è il risultato di una limitazione del kernel.

VEDERE ANCHE

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

COLOPHON

       Questa pagina fa parte del rilascio 2.75 del progetto man-pages di Linux.  Si può  trovare
       una   descrizione   del   progetto,   e  informazioni  su  come  riportare  bachi,  presso
       http://www.kernel.org/doc/man-pages/.   Per  la  traduzione  in  italiano  si   può   fare
       riferimento a http://www.pluto.it/ildp/collaborare/