Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       timer_settime, timer_gettime - armează/dezarmează și extrag starea temporizatorului POSIX per-proces

BIBLIOTECA

       Biblioteca de timp real (librt, -lrt)

SINOPSIS

       #include <time.h>

       int timer_gettime(timer_t timerid, struct itimerspec *curr_value);
       int timer_settime(timer_t timerid, int flags,
                         const struct itimerspec *restrict new_value,
                         struct itimerspec *_Nullable restrict old_value);

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

       timer_settime(), timer_gettime():
           _POSIX_C_SOURCE >= 199309L

DESCRIERE

       timer_settime()  armează  sau dezarmează temporizatorul identificat de timerid. Argumentul new_value este
       un indicator către o structură itimerspec care specifică noua valoare inițială și  noul  interval  pentru
       temporizator. Structura itimerspec este descrisă în itimerspec(3type).

       Fiecare   dintre   substructurile  structurii  itimerspec  este  o  structură  timespec(3)  care  permite
       specificarea unei valori de timp în secunde și nanosecunde.  Aceste  valori  de  timp  sunt  măsurate  în
       funcție de ceasul care a fost specificat atunci când temporizatorul a fost creat de timer_create(2).

       Dacă  new_value->it_value  specifică  o  valoare  diferită  de zero (adică oricare dintre subcâmpuri este
       diferit de zero), atunci timer_settime() armează (pornește) cronometrul, stabilind ca  acesta  să  expire
       inițial  la  ora  dată;  (dacă  temporizatorul  a  fost  deja armat, atunci configurările anterioare sunt
       suprascrise). Dacă new_value->it_value specifică o valoare zero (adică,  ambele  subcâmpuri  sunt  zero),
       atunci temporizatorul este dezarmat.

       Câmpul  new_value->it_interval  specifică  perioada de temporizare, în secunde și nanosecunde. Dacă acest
       câmp este diferit de zero, atunci de fiecare dată când expiră un temporizator armat, temporizatorul  este
       reîncărcat  de la valoarea specificată în new_value->it_interval. Dacă new_value->it_interval specifică o
       valoare zero, atunci temporizatorul expiră doar o singură dată, la momentul specificat de it_value.

       În mod implicit, ora inițială de expirare specificată în new_value->it_value este interpretată în  raport
       cu  ora  curentă  a  ceasului  temporizatorului în momentul apelului. Acest lucru poate fi modificat prin
       specificarea TIMER_ABSTIME în flags, caz în  care  new_value->it_value  este  interpretat  ca  o  valoare
       absolută  măsurată  pe  ceasul  temporizatorului;  adică,  temporizatorul  va expira atunci când valoarea
       ceasului atinge valoarea specificată de new_value->it_value. Dacă  timpul  absolut  specificat  a  trecut
       deja,  atunci  temporizatorul expiră imediat, iar numărul de depășire (a se vedea timer_getoverrun(2)) va
       fi fixat corect.

       Dacă valoarea ceasului CLOCK_REALTIME este ajustată în timp ce un temporizator absolut bazat pe acel ceas
       este armat, atunci expirarea temporizatorului va fi ajustată în mod  corespunzător.  Ajustările  ceasului
       CLOCK_REALTIME nu au niciun efect asupra temporizatoarelor relative bazate pe acel ceas.

       Dacă  old_value  nu este NULL, atunci acesta indică o memorie tampon care este utilizată pentru a returna
       intervalul anterior  al  temporizatorului  (în  old_value->it_interval)  și  perioada  de  timp  până  la
       următoarea expirare a temporizatorului (în old_value->it_value).

       timer_gettime()  returnează  timpul  până  la  următoarea  expirare  și  intervalul pentru temporizatorul
       specificat de timerid, în memoria tampon indicată de curr_value. Timpul rămas până la următoarea expirare
       a temporizatorului este returnat în curr_value->it_value; aceasta este întotdeauna  o  valoare  relativă,
       indiferent  dacă la armarea temporizatorului a fost utilizat sau nu fanionul TIMER_ABSTIME. Dacă valoarea
       returnată în curr_value->it_value este zero, atunci temporizatorul este în prezent  dezarmat.  Intervalul
       temporizatorului    este    returnat    în    curr_value->it_interval.   Dacă   valoarea   returnată   în
       curr_value->it_interval este zero, atunci acesta este un temporizator „one-shot” (folosit doar odată).

VALOAREA RETURNATĂ

       În caz de succes, timer_settime() și timer_gettime() returnează 0.  În caz de eroare, se  returnează  -1,
       iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

       Aceste funcții pot eșua cu următoarele erori:

       EFAULT new_value, old_value sau curr_value nu este un indicator valid.

       EINVAL timerid nu este valid.

       timer_settime() poate eșua cu următoarele erori:

       EINVAL new_value.it_value  este  negativă;  sau  new_value.it_value.tv_nsec este negativă sau mai mare de
              999,999,999.

STANDARDE

       POSIX.1-2008.

ISTORIC

       Linux 2.6.  POSIX.1-2001.

EXEMPLE

       A se vedea timer_create(2).

CONSULTAȚI ȘI

       timer_create(2), timer_getoverrun(2), timespec(3), time(7)

TRADUCERE

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

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 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.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                   timer_settime(2)