Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       rtime - Lire l'heure sur un serveur distant

SYNOPSIS

       #include <rpc/des_crypt.h>

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

DESCRIPTION

       Cette fonction utilise le protocole Time Serveur decrit dans la RFC 868
       pour lire l'heure sur une machine distante.

       Le protocole Time Serveur donne l'heure en secondes ecoulees depuis  le
       1er janvier  1900  a  00:00:00  UTC,  et  cette  fonction  soustrait la
       constante necessaire pour convertir le resultat  en  secondes  ecoulees
       depuis l'epoque, 1er janvier 1970 a 00:00:00 (UTC).

       Si  timeout  est  non NULL, le port UDP/time (37) est utilise, sinon le
       port TCP/time (37) est utilise.

VALEUR RENVOY'EE

       Si elle reussit, cette fonction  renvoie  zero  et  la  valeur  32 bits
       obtenue est stockee dans timep->tv_sec. En cas d'echec, elle renvoie -1
       et errno contient le code d'erreur.

ERREURS

       Toutes  les  erreurs  pour  les  fonctions  sous-jacentes   (sendto(2),
       poll(2), recvfrom(2), connect(2), read(2)) peuvent se produire, avec en
       outre :

       EIO    Le nombre d'octets recus n'est pas 4.

       ETIMEDOUT
              Le delai indique en second argument a expire.

NOTES

       Seul IPv4 est supporte.

       Certaines versions de in.timed supportent uniquement  TCP.  Essayez  le
       programme d'exemple avec use_tcp fixe a 1.

       La libc5 utilise le prototype
       int rtime(struct sockaddr_in *, struct timeval *, struct timeval *);
       et requiert <sys/time.h> a la place de <rpc/auth_des.h>.

BOGUES

       rtime()  dans  la  glibc  2.2.5  et  les  precedentes ne fonctionne pas
       correctement sur les machines 64 bits.

EXEMPLE

       Cet exemple demande que le port 37 soit ouvert et actif.  Verifiez  que
       l'entree time dans /etc/inetd.conf ne soit pas commentee.
       Le  programme  se  connecte  sur  un  hote  nomme << linux >>. Utiliser
       << localhost >> ne fonctionne pas. Le resultat est  l'heure  locale  de
       l'ordinateur << linux >>.

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

       int use_tcp = 0;
       char *servername = "linux";

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

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

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

           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       ntpdate(1), inetd(8)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Nicolas
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

GNU                             25 fevrier 2010                       RTIME(3)