Provided by: manpages-ro-dev_4.27.0-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.9.1                   15 iunie 2024                                         rtime(3)