.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified by Michael Haardt (michael@moria.de) .\" Modified 1993-07-23 by Rik Faith (faith@cs.unc.edu) .\" Modified 1994-08-21 by Michael Chastain (mec@shell.portal.com): .\" Fixed necessary '#include' lines. .\" Modified 1995-04-15 by Michael Chastain (mec@shell.portal.com): .\" Added reference to adjtimex. .\" Removed some nonsense lines pointed out by Urs Thuermann, .\" (urs@isnogud.escape.de), aeb, 950722. .\" Modified 1997-01-14 by Austin Donnelly (and1000@debian.org): .\" Added return values section, and bit on EFAULT .\" Added clarification on timezone, aeb, 971210. .\" Removed "#include ", aeb, 010316. .\" Modified, 2004-05-27 by Michael Kerrisk .\" Added notes on capability requirement. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH gettimeofday 2 "23 iulie 2024" "Pagini de manual de Linux 6.12" .SH NUME gettimeofday, settimeofday \- obține / reglează ora .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint gettimeofday(struct timeval *restrict \fP\fItv\fP\fB,\fP \fB struct timezone *_Nullable restrict \fP\fItz\fP\fB);\fP \fBint settimeofday(const struct timeval *\fP\fItv\fP\fB,\fP \fB const struct timezone *_Nullable \fP\fItz\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBsettimeofday\fP(): .nf Începând cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 și versiunile anterioare: _BSD_SOURCE .fi .SH DESCRIERE Funcțiile \fBgettimeofday\fP() și \fBsettimeofday\fP() pot obține și regla ora, precum și un fus orar. .P Argumentul \fItv\fP este o structură \fIstruct timeval\fP (după cum se specifică în \fI\fP): .P .in +4n .EX struct timeval { time_t tv_sec; /* secunde */ suseconds_t tv_usec; /* microsecunde */ }; .EE .in .P și oferă numărul de secunde și microsecunde de la Epocă (a se vedea \fBtime\fP(2)). .P Argumentul \fItz\fP este o structură \fIstruct timezone\fP: .P .in +4n .EX struct timezone { int tz_minuteswest; /* minute la vest de Greenwich */ int tz_dsttime; /* tipul de corecție a orei de vară */ }; .EE .in .P .\" FIXME . The compilation warning looks to be going away in glibc 2.17 .\" see glibc commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8 .\" The following is covered under EPERM below: .\" .P .\" Only the superuser may use .\" .BR settimeofday (). Dacă \fItv\fP sau \fItz\fP este NULL, structura corespunzătoare nu este definită sau returnată; (cu toate acestea, vor apărea avertismente de compilare dacă \fItv\fP este NULL). .P Utilizarea structurii \fItimezone\fP este învechită; argumentul \fItz\fP ar trebui în mod normal să fie specificat ca NULL. A se vedea secțiunea VERSIUNI. .P În Linux, există o semantică ciudată de „ceas de deformare” asociată cu apelul de sistem \fBsettimeofday\fP() dacă la primul apel (după pornire) care are un argument \fItz\fP non\-NULL, argumentul \fItv\fP este NULL și câmpul \fItz_minuteswest\fP este diferit de zero; (câmpul \fItz_dsttime\fP ar trebui să fie zero pentru acest caz). Într\-un astfel de caz, se presupune că ceasul CMOS este la ora locală și că trebuie să fie incrementat cu această valoare pentru a obține ora sistemului UTC. Fără îndoială, este o idee proastă să folosiți această caracteristică. .SH "VALOAREA RETURNATĂ" \fBgettimeofday\fP() și \fBsettimeofday\fP() returnează 0 pentru succes. În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEFAULT\fP Unul dintre argumente \fItv\fP sau \fItz\fP a indicat în afara spațiului de adrese accesibil. .TP \fBEINVAL\fP (\fBsettimeofday\fP()): \fItimezone\fP nu este valid. .TP \fBEINVAL\fP (\fBsettimeofday\fP()): \fItv.tv_sec\fP este negativ sau \fItv.tv_usec\fP este în afara intervalului [0, 999,999]. .TP \fBEINVAL\fP (începând cu Linux 4.3) .\" commit e1d7ba8735551ed79c7a0463a042353574b96da3 (\fBsettimeofday\fP()): S\-a încercat reglarea orei la o valoare mai mică decât valoarea curentă a ceasului \fBCLOCK_MONOTONIC\fP (consultați \fBclock_gettime\fP(2)). .TP \fBEPERM\fP Procesul apelant nu are privilegii suficiente pentru a apela \fBsettimeofday\fP(); sub Linux este necesară capacitatea \fBCAP_SYS_TIME\fP. .SH VERSIUNI .SS "Diferențe între biblioteca C și nucleu" Pe unele arhitecturi, o implementare a \fBgettimeofday\fP() este furnizată în \fBvdso\fP(7). .P Nucleul acceptă NULL atât pentru \fItv\fP, cât și pentru \fItz\fP. Argumentul fusului orar este ignorat de glibc și musl și nu este transmis către/de la nucleu. Android bionic transmite argumentul fusului orar către/de la nucleu, dar Android nu actualizează fusul orar al nucleului pe baza fusului orar al dispozitivului din Configurări, astfel încât fusul orar al nucleului este de obicei UTC. .SH STANDARDE .TP \fBgettimeofday\fP() POSIX.1\-2008 (obsolet). .TP \fBsettimeofday\fP() Niciunul. .SH ISTORIC SVr4, 4.3BSD. POSIX.1\-2001 descrie \fBgettimeofday\fP(), dar nu și \fBsettimeofday\fP(). POSIX.1\-2008 marchează \fBgettimeofday\fP() ca fiind depășit, recomandând utilizarea în schimb a \fBclock_gettime\fP(2). .P .\" În mod tradițional, câmpurile din \fIstruct timeval\fP erau de tip \fIlong\fP. .SS "Câmpul tz_dsttime" .\" it has not .\" been and will not be supported by libc or glibc. .\" Each and every occurrence of this field in the kernel source .\" (other than the declaration) is a bug. Pe un nucleu non\-Linux, cu glibc, câmpul \fItz_dsttime\fP din \fIstruct timezone\fP va fi stabilit la o valoare diferită de zero de către \fBgettimeofday\fP() dacă fusului orar curent i s\-a aplicat sau i se va aplica vreodată o regulă de schimbare a orei de vară. În acest sens, aceasta reflectă exact semnificația lui \fBdaylight\fP(3) pentru fusul curent. Pe Linux, cu glibc, stabilirea câmpului \fItz_dsttime\fP din \fIstruct timezone\fP nu a fost niciodată utilizată de \fBsettimeofday\fP() sau \fBgettimeofday\fP(). Prin urmare, cele ce urmează sunt pur de interes istoric. .P Pe sistemele vechi, câmpul \fItz_dsttime\fP conține o constantă simbolică (valorile sunt date mai jos) care indică în ce parte a anului este în vigoare ora de vară. Notă: această valoare este constantă pe tot parcursul anului: ea nu indică faptul că DST (ora de vară) este în vigoare, ci doar selectează un algoritm. Algoritmii pentru ora de vară definiți sunt următorii: .P .in +4n .EX \fBDST_NONE\fP /* nu la ora de vară */ \fBDST_USA\fP /* ora de vară în stil SUA */ \fBDST_AUST\fP /* ora de vară în stil australian */ \fBDST_WET\fP /* ora de vară în stil Europa de vest */ \fBDST_MET\fP /* ora de vară în stil Europa de vest */ \fBDST_EET\fP /* ora de vară în stil Europa centrală */ \fBDST_CAN\fP /* Canada */ \fBDST_GB\fP /* Marea Britaie și Irlanda */ \fBDST_RUM\fP /* România */ \fBDST_TUR\fP /* Turcia */ \fBDST_AUSTALT\fP /* Stil australian cu schimbare în 1986 */ .EE .in .P Desigur, s\-a dovedit că perioada în care este în vigoare ora de vară nu poate fi dată de un algoritm simplu, unul pentru fiecare țară; într\-adevăr, această perioadă este determinată de decizii politice imprevizibile. Prin urmare, această metodă de reprezentare a fusurilor orare a fost abandonată. .SH NOTE Ora returnată de \fBgettimeofday\fP() \fIeste\fP afectată de salturi discontinue în ora sistemului (de exemplu, dacă administratorul sistemului modifică manual ora sistemului). Dacă aveți nevoie de un ceas care crește monoton, consultați \fBclock_gettime\fP(2). .P Macrocomenzile pentru operarea structurilor \fItimeval\fP sunt descrise în \fBtimeradd\fP(3). .SH "CONSULTAȚI ȘI" \fBdate\fP(1), \fBadjtimex\fP(2), \fBclock_gettime\fP(2), \fBtime\fP(2), \fBctime\fP(3), \fBftime\fP(3), \fBtimeradd\fP(3), \fBcapabilities\fP(7), \fBtime\fP(7), \fBvdso\fP(7), \fBhwclock\fP(8) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .