ADJTIME

Section: Linux Programmer's Manual (3)
Updated: 26 luglio 2006
Index Return to Main Contents
 

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/
 

Index

NOME
SINTASSI
DESCRIZIONE
VALORE RESTITUITO
ERRORI
CONFORME A
NOTE
BUG
VEDERE ANCHE
COLOPHON

This document was created by man2html, using the manual pages.
Time: 23:03:52 GMT, June 17, 2008