timer_settime(2) System Calls Manual timer_settime(2) NUME timer_settime, timer_gettime - armeaza/dezarmeaza i extrag starea temporizatorului POSIX per-proces BIBLIOTECA Biblioteca de timp real (librt, -lrt) SINOPSIS #include 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); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): timer_settime(), timer_gettime(): _POSIX_C_SOURCE >= 199309L DESCRIERE timer_settime() armeaza sau dezarmeaza temporizatorul identificat de timerid. Argumentul new_value este un indicator catre o structura itimerspec care specifica noua valoare iniiala i noul interval pentru temporizator. Structura itimerspec este descrisa in itimerspec(3type). Fiecare dintre substructurile structurii itimerspec este o structura timespec(3) care permite specificarea unei valori de timp in secunde i nanosecunde. Aceste valori de timp sunt masurate in funcie de ceasul care a fost specificat atunci cand temporizatorul a fost creat de timer_create(2). Daca new_value->it_value specifica o valoare diferita de zero (adica oricare dintre subcampuri este diferit de zero), atunci timer_settime() armeaza (pornete) cronometrul, stabilind ca acesta sa expire iniial la ora data; (daca temporizatorul a fost deja armat, atunci configurarile anterioare sunt suprascrise). Daca new_value->it_value specifica o valoare zero (adica, ambele subcampuri sunt zero), atunci temporizatorul este dezarmat. Campul new_value->it_interval specifica perioada de temporizare, in secunde i nanosecunde. Daca acest camp este diferit de zero, atunci de fiecare data cand expira un temporizator armat, temporizatorul este reincarcat de la valoarea specificata in new_value->it_interval. Daca new_value->it_interval specifica o valoare zero, atunci temporizatorul expira doar o singura data, la momentul specificat de it_value. In mod implicit, ora iniiala de expirare specificata in new_value->it_value este interpretata in raport cu ora curenta a ceasului temporizatorului in momentul apelului. Acest lucru poate fi modificat prin specificarea TIMER_ABSTIME in flags, caz in care new_value->it_value este interpretat ca o valoare absoluta masurata pe ceasul temporizatorului; adica, temporizatorul va expira atunci cand valoarea ceasului atinge valoarea specificata de new_value->it_value. Daca timpul absolut specificat a trecut deja, atunci temporizatorul expira imediat, iar numarul de depaire (a se vedea timer_getoverrun(2)) va fi fixat corect. Daca valoarea ceasului CLOCK_REALTIME este ajustata in timp ce un temporizator absolut bazat pe acel ceas este armat, atunci expirarea temporizatorului va fi ajustata in mod corespunzator. Ajustarile ceasului CLOCK_REALTIME nu au niciun efect asupra temporizatoarelor relative bazate pe acel ceas. Daca old_value nu este NULL, atunci acesta indica o memorie tampon care este utilizata pentru a returna intervalul anterior al temporizatorului (in old_value->it_interval) i perioada de timp pana la urmatoarea expirare a temporizatorului (in old_value->it_value). timer_gettime() returneaza timpul pana la urmatoarea expirare i intervalul pentru temporizatorul specificat de timerid, in memoria tampon indicata de curr_value. Timpul ramas pana la urmatoarea expirare a temporizatorului este returnat in curr_value->it_value; aceasta este intotdeauna o valoare relativa, indiferent daca la armarea temporizatorului a fost utilizat sau nu fanionul TIMER_ABSTIME. Daca valoarea returnata in curr_value->it_value este zero, atunci temporizatorul este in prezent dezarmat. Intervalul temporizatorului este returnat in curr_value->it_interval. Daca valoarea returnata in curr_value->it_interval este zero, atunci acesta este un temporizator ,,one-shot" (folosit doar odata). VALOAREA RETURNATA In caz de succes, timer_settime() i timer_gettime() returneaza 0. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE Aceste funcii pot eua cu urmatoarele erori: EFAULT new_value, old_value sau curr_value nu este un indicator valid. EINVAL timerid nu este valid. timer_settime() poate eua cu urmatoarele erori: EINVAL new_value.it_value este negativa; sau new_value.it_value.tv_nsec este negativa 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). CONSULTAI I timer_create(2), timer_getoverrun(2), timespec(3), time(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.8 2 mai 2024 timer_settime(2)