Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

       adjtime - Die Zeit zur Synchronisierung der Systemuhr korrigieren

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <sys/time.h>

       int adjtime(const struct timeval *Delta, struct timeval *Altesdelta);

   Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

       adjtime():
           Seit Glibc 2.19:
               _DEFAULT_SOURCE
           Glibc 2.19 und älter:
               _BSD_SOURCE

BESCHREIBUNG

       Die Funktion adjtime() passt die Systemuhr (wie mittels gettimeofday(2) zurückgeliefert) graduell an. Der
       Zeitumfang,  mit dem die Uhr angepasst werden soll, wird in der Struktur festgelegt, auf die Delta zeigt.
       Diese Struktur hat die folgende Form:

           struct timeval {
               time_t      tv_sec;     /* Sekunden */
               suseconds_t tv_usec;    /* Mikrosekunden */
           };

       Falls die Anpassung in Delta positiv ist, dann wird die Systemuhr nur um einen kleinen Prozentsatz  (d.h.
       jede  Sekunde  durch  Hinzufügen einer kleinen Zeiteinheit zum Uhrenwert) beschleunigt, bis die Anpassung
       abgeschlossen ist. Falls die Anpassung in  Delta  negativ  ist,  wird  die  Uhr  auf  eine  ähnliche  Art
       verlangsamt.

       Falls  eine  Uhranpassung  von  einem  früherern Aufruf von adjtime() breits zum Zeitpunkt eines späteren
       Aufrufs von adjtime() in Arbeit ist und Delta beim späteren Aufruf nicht NULL ist, dann wird die  frühere
       Anpassung gestoppt, aber der bereits durchgeführte Anteil der Anpassung wird nicht zurückgenommen.

       Falls  Altesdelta  nicht  NULL  ist,  dann  wird der Puffer, auf den es zeigt, zur Rückgabe der Zeitmenge
       verwandt, die von vorhergehenden, noch nicht abgeschlossenen Anpassungen verbleibt.

RÜCKGABEWERT

       Bei Erfolg gibt die Funktion adjtime() 0 zurück.  Bei  einem  Fehler  wird  -1  zurückgegeben  und  errno
       gesetzt, um den Fehler anzuzeigen.

FEHLER

       EINVAL Die Anpassung in Delta ist außerhalb des erlaubten Bereichs.

       EPERM  Der  Aufrufende  hat  keine  ausreichenden  Privilegien  zur  Zeitanpassung.  Unter Linux wird die
              Capability CAP_SYS_TIME benötigt.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌─────────────────────────────────────────────────────────────────────┬───────────────────────┬─────────┐
       │ SchnittstelleAttributWert    │
       ├─────────────────────────────────────────────────────────────────────┼───────────────────────┼─────────┤
       │ adjtime()                                                           │ Multithread-Fähigkeit │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────┴───────────────────────┴─────────┘

STANDARDS

       4.3BSD, System V.

ANMERKUNGEN

       Die von adjtime() vorgenommenen Anpassungen der Uhr werden so ausgeführt,  dass  die  Uhr  immer  monoton
       fortschreitet. Mit der Zeitanpassung durch adjtime() werden für bestimmte Anwendungen (z.B. make(1)) Pro‐
       bleme vermieden, die durch plötzliche positive oder negative Sprünge der Systemzeit hervorgerufen werden.

       adjtime()  ist zur Durchführung kleiner Anpassungen der Systemzeit gedacht. Die meisten Systeme beschrän‐
       ken die in Delta mögliche Anpassung. In der Glibc-Implementierung muss Delta kleiner oder gleich (INT_MAX
       / 1000000 - 2) und größer oder gleich (INT_MIN / 1000000 + 2) (2145 bzw. -2145 Sekunden auf I386) sein.

FEHLER

       Lange existierte ein Fehler, der bei der Angabe von Delta als NULL dazu führte, dass keine  gültigen  In‐
       formationen  über  die  ausstehenden Uhranpassungen in Altesdelta zurückgeliefert wurden. (In diesem Fall
       soll adjtime() die ausstehende Uhranpassung ohne sie zu ändern zurückliefern.) Dieser Fehler wurde in Sy‐
       stemen mit Glibc 2.8 oder neuer und Linux-Kernel 2.6.26 oder neuer behoben.

SIEHE AUCH

       adjtimex(2), gettimeofday(2), time(7)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.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 die
       Mailingliste der Übersetzer.

Linux man-pages 6.03                             5. Februar 2023                                      adjtime(3)