rtime

Autres langues

Langue: ja

Autres versions - même langue

Version: 2003-04-04 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

rtime - ¥ê¥â¡¼¥È¥Þ¥·¥ó¤«¤é»þ¹ï¤ò¼èÆÀ¤¹¤ë

½ñ¼°


#include <rpc/des_crypt.h>



int rtime(struct sockaddr_in *addrp, struct rpc_timeval *timep,

          struct rpc_timeval *timeout);

ÀâÌÀ

¤³¤Î´Ø¿ô¤Ï RFC 868 ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥à¥µ¡¼¥Ð¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¡¢ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤«¤é»þ¹ï¤ò¼èÆÀ¤¹¤ë¡£

¥¿¥¤¥à¥µ¡¼¥Ð¥×¥í¥È¥³¥ë¤Ï 1900-01-01 ¤Î¸áÁ° 0 »þ¤«¤éÉÿô¤òÄ󶡤¹¤ë¤Î¤Ç¡¢ ¤³¤Î´Ø¿ô¤ÏŬÀÚ¤ÊÄê¿ôÃͤò°ú¤¯¤³¤È¤Ë¤è¤ê¡¢ Ä󶡤µ¤ì¤¿Ãͤò 1970-01-01 ¤Î¸áÁ° 0 »þ (Unix ¤Îµª¸µ) ¤«¤éÉÿô¤ËÊÑ´¹¤¹¤ë¡£

timeout ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢udp/time ¥½¥±¥Ã¥È (¥Ý¡¼¥È 37) ¤¬»ÈÍѤµ¤ì¤ë¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢tcp/time ¥½¥±¥Ã¥È (¥Ý¡¼¥È 37) ¤¬»ÈÍѤµ¤ì¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ï¡¢0 ¤¬ÊÖ¤µ¤ì¤Æ¡¢ÆÀ¤é¤ì¤¿ 32 ¥Ó¥Ã¥È¤Î»þ¹ïÃÍ¤Ï timep->tv_sec ¤Ë³ÊǼ¤µ¤ì¤ë¡£ ¥¨¥é¡¼¤Î¾ì¹ç¤Ï¡¢-1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

ÆâÉô¤Ç»ÈÍѤ·¤Æ¤¤¤ë´Ø¿ô (sendto(2), poll(2), recvfrom(2), connect(2), read(2)) ¤ÎÁ´¤Æ¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë²ÄǽÀ­¤¬¤¢¤ë¡£ ¹¹¤Ë¼¡¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë²ÄǽÀ­¤¬¤¢¤ë:
EIO
ÊÖ¤µ¤ì¤¿¥Ð¥¤¥È¿ô¤¬ 4 ¥Ð¥¤¥È¤Ç¤Ê¤¤¡£
ETIMEDOUT
timeout ¤ÇÄêµÁ¤µ¤ì¤¿ÂÔ¤Á»þ´Ö¤Î´ü¸Â¤¬Àڤ줿¡£

Ãí°Õ

IPv4 ¤Î¤ß¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£

in.timed ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï TCP ¤·¤«¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤â¤Î¤â¤¢¤ë¡£ use_tcp ¤ò 1 ¤ËÀßÄꤷ¤Æ¡¢Îã¤Ë¤¢¤ë¥×¥í¥°¥é¥à¤ò»î¤¹¤³¤È¡£

libc5 ¤Ï¥×¥í¥È¥¿¥¤¥×
int rtime(struct sockaddr_in *, struct timeval *, struct timeval *);
¤ò»È¤¤¡¢ <rpc/auth_des.h> ¤ÎÂå¤ï¤ê¤Ë <sys/time.h> ¤òɬÍפȤ¹¤ë¡£

¥Ð¥°

glibc 2.2.5 °ÊÁ°¤Î rtime() ¤Ï¡¢64 ¥Ó¥Ã¥È¥Þ¥·¥ó¤ÇÀµ³Î¤ËÆ°ºî¤·¤Ê¤¤¡£

Îã

¤³¤ÎÎã¤Ç¤Ï¥Ý¡¼¥È 37 ¤¬¥¢¥Ã¥×¤µ¤ì¤Æ¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£ /etc/inetd.conf ¤Î time ¥¨¥ó¥È¥ê¤¬¥³¥á¥ó¥È¥¢¥¦¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤Û¤·¤¤¡£
¤³¤Î¥×¥í¥°¥é¥à¤Ï 'linux' ¤È¤¤¤¦¥³¥ó¥Ô¥å¡¼¥¿¤ËÀܳ¤¹¤ë¡£ 'localhost' ¤ò»È¤Ã¤¿¾ì¹ç¤ÏÆ°ºî¤·¤Ê¤¤¡£ ·ë²Ì¤Ï¥³¥ó¥Ô¥å¡¼¥¿ 'linux' ¤Î¥í¡¼¥«¥ë»þ¹ï¤Ç¤¢¤ë¡£

#include <stdio.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);

}

´ØÏ¢¹àÌÜ

netdate(1), ntpdate(1), rdate(1), inetd(8)