adjtime(3) Library Functions Manual adjtime(3) BEZEICHNUNG adjtime - Die Zeit zur Synchronisierung der Systemuhr korrigieren BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include 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 alter: _BSD_SOURCE BESCHREIBUNG Die Funktion adjtime() passt die Systemuhr (wie mittels gettimeofday(2) zuruckgeliefert) 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 Hinzufugen einer kleinen Zeiteinheit zum Uhrenwert) beschleunigt, bis die Anpassung abgeschlossen ist. Falls die Anpassung in Delta negativ ist, wird die Uhr auf eine ahnliche Art verlangsamt. Falls eine Uhranpassung von einem fruherern Aufruf von adjtime() breits zum Zeitpunkt eines spateren Aufrufs von adjtime() in Arbeit ist und Delta beim spateren Aufruf nicht NULL ist, dann wird die fruhere Anpassung gestoppt, aber der bereits durchgefuhrte Anteil der Anpassung wird nicht zuruckgenommen. Falls Altesdelta nicht NULL ist, dann wird der Puffer, auf den es zeigt, zur Ruckgabe der Zeitmenge verwandt, die von vorhergehenden, noch nicht abgeschlossenen Anpassungen verbleibt. RUCKGABEWERT Bei Erfolg gibt die Funktion adjtime() 0 zuruck. Bei einem Fehler wird -1 zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER EINVAL Die Anpassung in Delta ist ausserhalb des erlaubten Bereichs. EPERM Der Aufrufende hat keine ausreichenden Privilegien zur Zeitanpassung. Unter Linux wird die Capability CAP_SYS_TIME benotigt. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |adjtime() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ STANDARDS Keine. GESCHICHTE 4.3BSD, System V. ANMERKUNGEN Die von adjtime() vorgenommenen Anpassungen der Uhr werden so ausgefuhrt, dass die Uhr immer monoton fortschreitet. Mit der Zeitanpassung durch adjtime() werden fur bestimmte Anwendungen (z.B. make(1)) Probleme vermieden, die durch plotzliche positive oder negative Sprunge der Systemzeit hervorgerufen werden konnten. adjtime() ist zur Durchfuhrung kleiner Anpassungen der Systemzeit gedacht. Die meisten Systeme beschranken die in Delta mogliche Anpassung. In der Glibc-Implementierung muss Delta kleiner oder gleich (INT_MAX / 1000000 - 2) und grosser 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 fuhrte, dass keine gultigen Informationen uber die ausstehenden Uhranpassungen in Altesdelta zuruckgeliefert wurden. (In diesem Fall soll adjtime() die ausstehende Uhranpassung ohne sie zu andern zuruckliefern.) Dieser Fehler wurde in Systemen mit Glibc 2.8 oder neuer und Linux-Kernel 2.6.26 oder neuer behoben. SIEHE AUCH adjtimex(2), gettimeofday(2), time(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 28. Januar 2024 adjtime(3)