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

NUME

       rtime - obține ora de la o mașină de la distanță

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <rpc/auth_des.h>

       int rtime(struct sockaddr_in *addrp, struct rpc_timeval *timep,
                 struct rpc_timeval *timeout);

DESCRIERE

       Această  funcție utilizează protocolul Time Server Protocol (protocolul serverului de timp), așa cum este
       descris în RFC 868, pentru a obține ora de la o mașină la distanță.

       Protocolul serverului de timp oferă timpul în secunde de la 00:00:00 UTC, 1 ianuarie  1900,  iar  această
       funcție  scade  constanta corespunzătoare pentru a converti rezultatul în secunde de la Epocă, 1970-01-01
       00:00:00:00 +0000 (UTC).

       Atunci când timeout este diferit de NULL, se utilizează soclul udp/time (portul 37). În caz  contrar,  se
       utilizează soclul tcp/time (portul 37).

VALOAREA RETURNATĂ

       În  caz  de  succes,  se  returnează  0,  iar  valoarea  de  timp  pe 32 de biți obținută este stocată în
       timep->tv_sec. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

       Pot apărea toate erorile pentru funcțiile de bază (sendto(2), poll(2), recvfrom(2), connect(2), read(2)).
       În plus:

       EIO    Numărul de octeți returnat nu este 4.

       ETIMEDOUT
              Timpul de așteptare definit în „timeout” a expirat.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ rtime()                                                                 │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

NOTE

       Doar protocolul IPv4 este acceptat.

       Unele versiuni in.timed acceptă numai TCP. Încercați programul de exemplu cu use_tcp fixată la 1.

ERORI

       rtime() în glibc 2.2.5 și versiunile anterioare nu funcționează corect pe mașinile pe 64 de biți.

EXEMPLE

       Acest exemplu necesită ca portul 37 să fie activat și deschis.  Puteți verifica dacă intrarea de timp din
       /etc/inetd.conf nu este comentată.

       Programul se  conectează  la  un  calculator  numit  „linux”.  Utilizarea  „localhost”  nu  funcționează.
       Rezultatul este ora locală a calculatorului „linux”.

       #include <errno.h>
       #include <netdb.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>
       #include <time.h>

       #include <rpc/auth_des.h>

       static int use_tcp = 0;
       static const char servername[] = "linux";

       int
       main(void)
       {
           int                 ret;
           time_t              t;
           struct hostent      *hent;
           struct rpc_timeval  time1 = {0, 0};
           struct rpc_timeval  timeout = {1, 0};
           struct sockaddr_in  name;

           memset(&name, 0, sizeof(name));
           sethostent(1);
           hent = gethostbyname(servername);
           memcpy(&name.sin_addr, hent->h_addr, hent->h_length);

           ret = rtime(&name, &time1, use_tcp ? NULL : &timeout);
           if (ret < 0)
               perror("eroare rtime");
           else {
               t = time1.tv_sec;
               printf("%s\n", ctime(&t));
           }

           exit(EXIT_SUCCESS);
       }

CONSULTAȚI ȘI

       ntpdate(1), inetd(8)

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.8                      2 mai 2024                                           rtime(3)