|
|
ADJTIMEX
Section: Systemaufrufe (2) Updated: 6. Oktober 1996 Index
Return to Main Contents
NAME
adjtimex - Einstellen der Kerneluhr
ÜBERSICHT
#include <sys/timex.h>
int adjtimex(struct timex *buf);
BESCHREIBUNG
Linux verwendet David Mills Algorithmus zur Justierung der Systemuhr.
adjtimex
liest und setzt auf Wunsch Einstellungsparameter für diesen Algorithmus.
adjtimex
nimmt einen Zeiger auf eine Struktur
timex,
aktualisiert Kernelparameter aus den Feldwerten, und gibt die gleiche Struktur
mit aktuellen Werten zurück.
Diese Struktur ist wie folgt deklariert:
-
struct timex
{
int mode; /* mode selector */
long offset; /* Zeitoffset (usek) */
long frequency; /* Frequenzoffset (skalierte ppm) */
long maxerror; /* maximaler Fehler (usek) */
long esterror; /* geschätzter Fehler (usek) */
int status; /* Uhrkommando/-status */
long time_constant; /* pll Zeitkonstante */
long precision; /* Uhrpräzision (usec) (nur lesbar) */
long tolerance; /* Uhrfrequenztoleranz (ppm) (nur lesbar) */
struct timeval time; /* (nur lesbar) */
long tick; /* usek zwischen Uhrticks */
};
Das Feld
mode
bestimmt, welche Parameter, falls vorhanden, zu setzen sind.
Es darf eine bitweise
Oderverknüpfung
von Null oder mehr der folgenden Bits enthalten:
-
#define ADJ_OFFSET 0x0001 /* Zeitoffset */
#define ADJ_FREQUENCY 0x0002 /* Frequenzoffset */
#define ADJ_MAXERROR 0x0004 /* maximaler Zeitfehler */
#define ADJ_ESTERROR 0x0008 /* geschätzter Zeitfehler */
#define ADJ_STATUS 0x0010 /* Uhrstatus */
#define ADJ_TIMECONST 0x0020 /* pll Zeitkonstante */
#define ADJ_TICK 0x4000 /* Tickwert */
#define ADJ_OFFSET_SINGLESHOT 0x8001 /* altmodisches adjtime */
Gewöhnliche Benutzer sind eingeschränkt auf einen Nullwert für
mode.
Nur der Superuser darf Parameter setzen.
RÜCKGABEWERT
Bei Erfolg gibt
adjtimex
den Wert von
buf.status
zurück:
-
#define TIME_OK 0 /* Uhr synchronisiert */
#define TIME_INS 1 /* füge Schaltsekunde ein */
#define TIME_DEL 2 /* lösche Schaltsekunde */
#define TIME_OOP 3 /* Schaltsekunde in Betrieb */
#define TIME_BAD 4 /* Uhr nicht synchronisiert */
Im Fehlerfall gibt
adjtimex
-1 zurück und setzt
errno.
FEHLER
- EFAULT
-
buf
zeigt nicht auf beschreibbaren Speicher.
- EPERM
-
buf.mode
ist nicht Null und der Benutzer ist nicht der Superuser.
- EINVAL
-
Ein Versuch wurde unternommen
buf.offset
zu setzen auf einen Wert außerhalb des Bereichs von -131071 bis +131071,
oder
buf.status
auf einen Wert zu setzen, der nicht oben aufgeführt ist,
oder
buf.tick
auf einen Wert außerhalb des Bereichs von
900000/HZ
bis
1100000/HZ
zu setzen, wobei
HZ
die Systemtimerinterupfrequenz ist.
SIEHE AUCH
settimeofday(2).
Index
- NAME
-
- ÜBERSICHT
-
- BESCHREIBUNG
-
- RÜCKGABEWERT
-
- FEHLER
-
- SIEHE AUCH
-
|