Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       adjtimex - Kernel-Uhr einstellen

ÜBERSICHT

       #include <sys/timex.h>

       int adjtimex(struct timex *buf);

BESCHREIBUNG

       Linux  verwendet den Algorithmus von David L. Mills für die Einstellung
       von Uhren (siehe RFC 1305). Der Systemaufruf adjtimex() liest und setzt
       optional  Einstellparameter für diesen Algorithmus. Ihm wird ein Zeiger
       auf  eine  Struktur  timex   übergeben,   aus   deren   Feldwerten   er
       Kernel-Parameter   aktualisiert.  Abschließend  werden  die  geänderten
       Parameter in der gleichen Struktur zurückgegeben. Die Struktur ist  wie
       folgt deklariert:

           struct timex
           {
               int mode;            /* Auswahl des Modus */
               long offset;         /* Zeit-Offset (µsek) */
               long frequency;      /* Frequenz-Offset (skalierte ppm) */
               long maxerror;       /* maximaler Fehler (µsek) */
               long esterror;       /* geschätzter Fehler (µsek) */
               int status;          /* Uhrbefehl/-status */
               long time_constant;  /* PLL-Zeitkonstante */
               long precision;      /* Uhrpräzision (µsek,
                                       nur lesbar) */
               long tolerance;      /* Toleranz der Uhrfrequenz (ppm,
                                       nur lesbar) */
               struct timeval time; /* aktuelle Zeit (nur lesbar) */
               long tick;           /* µsek zwischen Uhrticks */
           };

       Das  Feld  modes bestimmt, welche Parameter, falls vorhanden, zu setzen
       sind. Es darf eine bitweise Oder-Verknüpfung von  Null  oder  mehr  der
       folgenden Bits enthalten:

           #define ADJ_OFFSET            0x0001 /* Zeit-Offset */
           #define ADJ_FREQUENCY         0x0002 /* Frequenz-Offset */
           #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() */

       Normale  Benutzer  sind  eingeschränkt auf einen Nullwert für mode. Nur
       der Superuser darf Parameter setzen.

RÜCKGABEWERT

       Bei Erfolg gibt adjtimex() den Status der Uhr zurück:

           #define TIME_OK   0 /* Uhr synchronisiert */
           #define TIME_INS  1 /* fügt Schaltsekunde ein */
           #define TIME_DEL  2 /* löscht Schaltsekunde */
           #define TIME_OOP  3 /* Schaltsekunde in Betrieb */
           #define TIME_WAIT 4 /* Schaltsekunde ist aufgetreten */
           #define TIME_BAD  5 /* Uhr nicht synchronisiert */

       Im Fehlerfall gibt adjtimex -1 zurück und setzt errno.

FEHLER

       EFAULT buf zeigt nicht auf beschreibbaren Speicher.

       EINVAL Es wurde versucht,  buf.offset  auf  einen  Wert  außerhalb  des
              Bereichs von -131071 bis +131071 zu setzen, buf.status auf einen
              nicht oben aufgeführten Wert zu setzen oder buf.tick  auf  einen
              Wert  außerhalb  des  Bereichs  von  900000/HZ bis 1100000/HZ zu
              setzen, wobei HZ  die  Interruptfrequenz  des  System-Zeitgebers
              ist.

       EPERM  buf.mode  ist  ungleich  Null und der aufrufende Prozess verfügt
              nicht  über  ausreichende  Privilegien.  Unter  Linux  ist   die
              CAP_SYS_TIME-Fähigkeit erforderlich.

KONFORM ZU

       adjtimex() ist Linux-spezifisch und sollte nicht für portable Programme
       verwendet werden.  adjtime(3)  bietet  eine  besser  portierbare,  aber
       weniger flexible Methode für die Einstellung der Systemuhr.

SIEHE AUCH

       settimeofday(2), adjtime(3), capabilities(7), time(7)

KOLOPHON

       Diese   Seite   ist   Teil   der  Veröffentlichung  3.32  des  Projekts
       Linux-man-pages. Eine Beschreibung des Projekts und Informationen,  wie
       Fehler     gemeldet     werden     können,     finden     sich    unter
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick  Rother
       <krd@gulu.net>  und  Martin  Eberhard Schauer <Martin.E.Schauer@gmx.de>
       erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie  die  GNU  General
       Public   License   Version   3  oder  neuer  bezüglich  der  Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der  Übersetzung  dieser  Handbuchseite  finden,
       schicken     Sie     bitte     eine     E-Mail     an     <debian-l10n-
       german@lists.debian.org>.