Provided by: manpages-it-dev_4.27.0-1_all bug

NOME

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

LIBRERIA

       Libreria C standard (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 │
       └─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

CONFORME A

       Nessuno.

STORIA

       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>, Marco
       Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       Questa  traduzione è documentazione libera; leggere la GNU General Public License Versione 3 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.

Linux man-pages 6.9.1                             2 maggio 2024                                       adjtime(3)