adjtimex
regola l'orologio del kernel
1. adjtimex.2.man
Manpage of ADJTIMEX
ADJTIMEX
Section: Manuale del Programmatore Linux (2)Updated: 27 Maggio 2004
Index Return to Main Contents
NAME
adjtimex - regola l'orologio del kernelSINTASSI
#include <sys/timex.h>int adjtimex(struct timex *buf);
DESCRIZIONE
Linux usa l'algoritmo di correzione dell'orario di David L. Mill (vedere RFC 1305). La chiamata di sistema adjtimex() legge e imposta opzionalmente i parametri di correzione per questo algoritmo. Accetta un puntatore a una struttura timex , aggiorna i parametri del kernel in base ai valori dei campi, e restituisce la medesima struttura con i valori correnti del kernel. La struttura è dichiarata nel seguento modo:
-
struct timex { int modes; /* selettore modalità */ long offset; /* spostamento orario (usec) */ long freq; /* spostamento frequenza (scaled ppm) */ long maxerror; /* errore massimo (usec) */ long esterror; /* errore stimato (usec) */ int status; /* stato/comando orologio */ long constant; /* costante di tempo pll */ long precision; /* precisione orologio (usec) (sola lettura) */ long tolerance; /* tolleranza frequenza orologio (ppm) (sola lettura) */ struct timeval time; /* orario attuale (sola lettura) */ long tick; /* usec tra i battiti dell'orologio */ };
Il campo modes determina quale eventuale parametro impostare. Può contenere una combinazione bitwise-or (OR bit-a-bit) di zero o più dei seguenti bit:
-
#define ADJ_OFFSET 0x0001 /* spostamento orario */ #define ADJ_FREQUENCY 0x0002 /* spostamento frequenza */ #define ADJ_MAXERROR 0x0004 /* errore tempo massimo */ #define ADJ_ESTERROR 0x0008 /* errore tempo stimato */ #define ADJ_STATUS 0x0010 /* stato orologio */ #define ADJ_TIMECONST 0x0020 /* costante di tempo pll */ #define ADJ_TICK 0x4000 /* valore battito */ #define ADJ_OFFSET_SINGLESHOT 0x8001 /* vecchio adjtime() */
Gli utenti ordinari sono limitati al valore zero per
mode.
Solo il superutente può impostare qualunque parametro.
VALORE RESTITUITO
In caso di successo, adjtimex() restituisce lo stato dell'orologio:
-
#define TIME_OK 0 /* orologio sincronizzato */ #define TIME_INS 1 /* inserire secondo intercalare */ #define TIME_DEL 2 /* cancellare secondo intercalare */ #define TIME_OOP 3 /* secondo intercalare in corso */ #define TIME_WAIT 4 /* secondo intercalare avvenuto */ #define TIME_BAD 5 /* orologio non sincronizzato */
Se fallisce, adjtimex() restituisce -1 e imposta errno.
ERRORI
- EFAULT
- buf non punta ad una zona di memoria scrivibile.
- EINVAL
- Si è tentato di impostare buf.offset ad un valore fuori dall'intervallo -131071 e +131071, o di impostare buf.status ad un valore diverso da quelli elencati in precedenza, o di impostare buf.tick ad un valore non incluso nell'intervallo 900000/HZ e 1100000/HZ, dove HZ E' la frequenza dell'interrupt del timer di sistema.
- EPERM
- buf.mode non è zero e il chiamante non ha privilegi sufficienti. In Linux è richiesta l'abilitazione a CAP_SYS_TIME .
CONFORME A
adjtimex() è specifico di Linux e non dovrebbe essere usato in programmi pensati per la portabilità . Vedere adjtime(3) per un maggiormente portabile, ma meno flessibile metodo di correzione dell'orologio di sistema.VEDERE ANCHE
settimeofday(2), adjtime(3), capabilities(7)
Index
This document was created by man2html using the manual pages.
Time: 00:23:43 GMT, November 20, 2008


