adjtime(3)

NUME
adjtime - corectează ora pentru a sincroniza ceasul sistemului

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <sys/time.h>

int adjtime(const struct timeval *delta, struct timeval *olddelta);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

adjtime():
    Începând cu glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 și versiunile anterioare:
        _BSD_SOURCE

DESCRIERE
Funcția adjtime() ajustează treptat ceasul sistemului (așa cum este returnat de gettimeofday(2)). Cantitatea de timp cu care trebuie ajustat ceasul este specificată în structura indicată de delta. Această structură are următoarea formă:

    struct timeval {
        time_t      tv_sec;     /* secunde */
        suseconds_t tv_usec;    /* microsecunde */
    };

Dacă ajustarea în delta este pozitivă, atunci ceasul sistemului este accelerat cu un mic procent (adică prin adăugarea unei mici cantități de timp la valoarea ceasului în fiecare secundă) până când ajustarea este finalizată. Dacă ajustarea în delta este negativă, atunci ceasul este încetinit într-un mod similar.

Dacă o ajustare a ceasului de la un apel anterior adjtime() este deja în curs de desfășurare în momentul unui apel ulterior adjtime(), iar delta nu este NULL pentru apelul ulterior, atunci ajustarea anterioară este oprită, dar orice parte deja finalizată a acestei ajustări nu este anulată.

Dacă olddelta nu este NULL, atunci memoria tampon către care indică este utilizată pentru a returna cantitatea de timp rămasă de la orice ajustare anterioară care nu a fost încă finalizată.

VALOAREA RETURNATĂ
În caz de succes, adjtime() returnează 0. În caz de eșec, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI

EINVAL
    Ajustarea în delta este în afara intervalului permis.

EPERM
    Apelantul nu are suficiente privilegii pentru a ajusta ora. În Linux, este necesară capacitatea CAP_SYS_TIME.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
adjtime() | Siguranța firelor | MT-Safe

STANDARDE
Niciunul.

ISTORIC
4.3BSD, System V.

NOTE
Ajustarea pe care adjtime() o face asupra ceasului este efectuată astfel încât ceasul să crească întotdeauna în mod monoton. Utilizarea adjtime() pentru a ajusta ora previne problemele care pot fi cauzate pentru anumite aplicații (de exemplu, make(1)) de salturi abrupte pozitive sau negative în timpul sistemului.

adjtime() este destinat să fie utilizat pentru a face mici ajustări ale orei sistemului. Majoritatea sistemelor impun o limită a ajustării care poate fi specificată în delta. În implementarea glibc, delta trebuie să fie mai mică sau egală cu (INT_MAX / 1000000 - 2) și mai mare sau egală cu (INT_MIN / 1000000 + 2) (respectiv 2145 și -2145 secunde pe i386).

ERORI
O eroare de lungă durată făcea ca, în cazul în care delta era specificat ca fiind NULL, să nu se returneze nicio informație validă despre ajustarea ceasului în curs în olddelta. (În aceste condiții, adjtime() ar trebui să returneze ajustarea ceasului în curs, fără a o modifica). Această eroare este corectată pe sistemele cu glibc 2.8 sau o versiune ulterioară și nucleul Linux 2.6.26 sau o versiune ulterioară.

CONSULTAȚI ȘI
adjtimex(2), gettimeofday(2), time(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.