Provided by: manpages-de-dev_1.4-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), adjtimex(8)

KOLOPHON

       This  page  is  part  of release 3.54 of the Linux man-pages project. A description of the
       project,    and    information    about    reporting    bugs,    can    be    found     at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite wurde von Patrick Rother <krd@gulu.net>,
       Martin    Eberhard    Schauer    <Martin.E.Schauer@gmx.de>    und    Mario     Blättermann
       <mario.blaettermann@gmail.com> 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>.