Provided by: manpages-it-dev_4.19.0-7_all bug

NOME

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

LIBRARY

       Standard C library (libc, -lc)

SINTASSI

       #include <sys/time.h>

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

   Macro per test di funzionalità per glibc (vedere feature_test_macros(7)):

       adjtime():
           A partire da glibc 2.19:
               _DEFAULT_SOURCE
           glibc 2.19 e precedenti:
               _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 di delta è positiva, l'orologio di sistema viene accelerato 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 di delta è negativa, l'orologio viene rallentato in maniera simile.

       Se si verifica 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  alcuna  correzione
       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. Sotto Linux è
              richiesta l'abilitazione a CAP_SYS_TIME.

ATTRIBUTI

       Per la spiegazione dei termini usati in questa sezione, vedere attributes(7).

       ┌───────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │InterfacciaAttributoValore  │
       ├───────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │adjtime()                                                      │ Thread safety │ MT-Safe │
       └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘

STANDARDS

       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

       Un  bug di vecchia data faceva in modo che, se delta veniva valorizzato a NULL, a olddelta
       non veniva 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 bug è stato risolto su sistemi con glibc versione 2.8  o
       successiva, e con kernel Linux versione 2.6.26 o successivo.

VEDERE ANCHE

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

TRADUZIONE

       La  traduzione  italiana  di  questa  pagina di manuale è stata creata da Elisabetta Galli
       <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

       Questa traduzione è documentazione libera; leggere la GNU General Public License  Versione
       3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o successiva per le condizioni di copyright.
       Non ci assumiamo alcuna responsabilità.

       Per segnalare errori nella traduzione di questa pagina di manuale inviare un  messaggio  a
       ⟨pluto-ildp@lists.pluto.it⟩.