Hauptindex | Abschnitt 2 | Optionen |
int adjtimex(struct timex *buf);
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.
#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.
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. |
6. Oktober 1996 | ADJTIMEX (2) | Linux 1.2.4 |
Hauptindex | Abschnitt 2 | Optionen |
Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.