GETHOSTBYNAME
Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (3)
Updated: 2000³â 8¿ù 12ÀÏ
Index
Return to Main Contents
À̸§
gethostbyname, gethostbyaddr, sethostent, endhostent, herror, hstrerror -
³×Æ®¿÷ È£½ºÆ® ¿£Æ®¸®¸¦ °¡Á®¿Â´Ù.
»ç¿ë¹ý
#include <netdb.h>
extern int h_errno;
struct hostent *gethostbyname(const char *name);
#include <sys/socket.h> /* for AF_INET */
struct hostent *gethostbyaddr(const char *addr,
int len, int type);
void sethostent(int stayopen);
void endhostent(void);
void herror(const char *s);
const char * hstrerror(int err);
¼³¸í
gethostbyname() ÇÔ¼ö´Â ÁÖ¾îÁø È£½ºÆ® name ¿¡ »óÀÀÇÏ´Â
hostent ŸÀÔÀÇ ±¸Á¶Ã¼¸¦ ¹ÝȯÇÑ´Ù. ¿©±â¼
nameÀº È£½ºÆ® À̸§À̰ųª Ç¥ÁØ Á¡ Ç¥±â¹ýÀÇ IPv4 ÁÖ¼ÒÀ̰ųª,
ÄÝ·Ð(±×¸®°í Á¡ Ç¥±â¹ýµµ °¡´É)Ç¥±â¹ýÀÇ IPv6ÀÌ´Ù. (IPv6¿¡ ´ëÇÑ ±â¼úÀ» À§ÇØ RFC1884¸¦ ÂüÁ¶Çضó.)
¸¸ÀÏ
name
ÀÌ IPv4³ª IPv6 ÁÖ¼Ò¶ó¸é, ¾î¶² ·è¾÷µµ ÇàÇØÁöÁö ¾Ê°í
gethostbyname()´Â
´Ü¼øÈ÷
name
À»
h_name
Çʵ忡 º¹»çÇÏ°í ÇØ´ç
struct in_addr
¸¦ ¹ÝȯÇÏ´Â
hostent
±¸Á¶Ã¼ÀÇ
h_addr_list[0]
Çʵ忡 º¹»çÇÑ´Ù.
¸¸ÀÏ name°¡ Á¡À¸·Î ³¡³ªÁö ¾Ê°í ȯ°æ º¯¼ö
HOSTALIASES°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é, HOSTALIASES°¡ °¡¸®Å°´Â ¾ó¶óÀÌ½Ì ÆÄÀÏÀÌ nameÀ» À§ÇØ ¿ì¼± Ž»öµÈ´Ù.
(ÆÄÀÏ Çü½ÄÀ» À§ÇØ
hostname(7)À»
ÂüÁ¶Çضó.)
ÇöÀç µµ¸ÞÀΰú »óÀ§ µµ¸ÞÀÎÀº nameÀÌ Á¡À¸·Î ³¡³ªÁö ¾Ê´Â´Ù¸é Ž»öµÈ´Ù.
gethostbyaddr() ÇÔ¼ö´Â ±æÀÌ len ±×¸®°í ÁÖ¼Ò Å¸ÀÔ
typeÀΠȣ½ºÆ® ÁÖ¼Ò addr¿¡ ÇØ´çÇÏ´Â hostent ±¸Á¶Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
À¯ÀÏÇÏ°Ô À¯È¿ÇÑ ÁÖ¼Ò Å¸ÀÔÀº ÇöÀç
AF_INETÀÌ´Ù.
¸¸ÀÏ stayopen°¡ Âü(1)À̶ó¸é,
sethostent() ÇÔ¼ö´Â ¿¬°áµÈ TCP ¼ÒÄÏÀÌ ³×ÀÓ ¼¹ö ÁúÀǸ¦ À§ÇØ »ç¿ëµÇ¾î¾ß ÇѴٴ°ÍÀ» °¡¸®Å²´Ù. ±×¸®°í ¿¬°áÀº ¿¬¼ÓÀûÀº ÁúÀǸ¦ µ¿¾È °è¼Ó ¿·Á ÀÖ¾î¾ß ÇÑ´Ù.
±×·¸Áö ¾ÊÀ¸¸é, ³×ÀÓ ¼¹ö ÁúÀǸ¦ UDP µ¥ÀÌÅͱ׷¥À» »ç¿ëÇÒ °ÍÀÌ´Ù.
endhostent() ÇÔ¼ö´Â ³×ÀÓ ¼¹ö ÁúÀǸ¦ À§ÇÑ TCP ¿¬°áÀÇ »ç¿ëÀ» ³¡³½´Ù.
(±¸½Ä) herror() ÇÔ¼ö´Â stderr¿¡ ÇöÀç °ªÀÇ h_errno ¿¡ »óÀÀÇÏ´Â
¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ´Ù.
(±¸½Ä) hstrerror() ÇÔ¼ö´Â ¿¡·¯(ÀüÇüÀûÀ¸·Î h_errno)
³Ñ¹ö¸¦ °¡Áö¸ç »óÀÀÇÏ´Â ¸Þ¼¼Áö¸¦ ¹ÝȯÇÑ´Ù.
µµ¸ÞÀÎ ³×ÀÓ ÁúÀÇ´Â
gethostbyname() ¿¡ ÀÇÇØ ¼öÇàµÇ¸ç
gethostbyaddr()´Â
/etc/host.conf¿¡ ÀÖ´Â order¶óÀÎÀÇ ³»¿ë¿¡ ÀÇÁ¸ÇÏ¿©
/etc/hosts¿¡¼ ¶óÀÎÀ» »Ì¾Æ³» ³×ÀÓ ¼¹ö named(8)ÀÇ ÀϺγª
¸ðµÎÀÇ Á¶ÇÕ°ú ³×Æ®¿÷ Á¤º¸ ¼ºñ½º (NIS ¶Ç´Â YP)¸¦ »ç¿ëÇÑ´Ù.
(
resolv+(8)¸¦
ÂüÁ¶Çضó.)
±âº» ÇൿÀº /etc/hosts ´ÙÀ½¿¡ named(8)¿¡ ÁúÀÇÇÏ´Â °ÍÀÌ´Ù.
hostent ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°ÀÌ <netdb.h>¿¡ Á¤ÀǵǾî ÀÖ´Ù:
-
struct hostent {
char *h_name; /* È£½ºÆ®ÀÇ °ø½Ä À̸§ */
char **h_aliases; /* º°Äª ¸®½ºÆ® */
int h_addrtype; /* È£½ºÆ® ÁÖ¼Ò Å¸ÀÔ */
int h_length; /* ÁÖ¼ÒÀÇ ±æÀÌ */
char **h_addr_list; /* ÁÖ¼Ò ¸®½ºÆ® */
}
#define h_addr h_addr_list[0] /* ±¸ ¹öÀü°úÀÇ È£È¯À» À§ÇØ */
hostent ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â:
- h_name
-
È£½ºÆ®ÀÇ °ø½ÄÀûÀÎ À̸§
- h_aliases
-
È£½ºÆ®¸¦ À§ÇØ ³Î·Î ³¡³ª´Â ¼±ÅÃÀûÀÎ À̸§ÀÇ ¹è¿
- h_addrtype
-
ÁÖ¼Ò Å¸ÀÔ; ÇöÀç´Â Ç×»ó
AF_INET
ÀÌ´Ù.
- h_length
-
¹ÙÀÌÆ®·Î ÁÖ¼ÒÀÇ ±æÀÌ.
- h_addr_list
-
³×Æ®¿÷ ¹ÙÀÌÆ® ¼ø¼·Î È£½ºÆ®¸¦ À§ÇÑ ³Î·Î Á¾·áµÈ ³×Æ®¿÷ ÁÖ¼Ò ¹è¿
- h_addr
-
¿¹Àü°úÀÇ È£È¯À» À§ÇØ h_addr_listÀÇ Ã³À½ ÁÖ¼Ò
¹Ýȯ°ª
gethostbyname() ±×¸®°í gethostbyaddr() ÇÔ¼ö´Â
hostent ±¸Á¶Ã¼¸¦ ¹ÝȯÇϰųª ¸¸ÀÏ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù¸é NULL Æ÷ÀÎÅ͸¦
¹ÝȯÇÑ´Ù.
¿¡·¯½Ã, h_errno º¯¼ö´Â ¿¡·¯ ³Ñ¹ö¸¦ °¡Áø´Ù.
¿¡·¯
º¯¼ö h_errno´Â ´ÙÀ½ °ªµéÀ» °¡Áø´Ù:
- HOST_NOT_FOUND
-
ÁöÁ¤µÈ È£½ºÆ®°¡ ¾Ë·ÁÁöÁö ¾Ê¾Ò´Ù.
- NO_ADDRESS ³ª NO_DATA
-
¿ä±¸ÇÑ À̸§ÀÌ À¯È¿ÇÏÁö¸¸ IP ÁÖ¼Ò¸¦ °¡ÁöÁö ¾Ê´Â´Ù.
- NO_RECOVERY
-
º¹±¸ µÉ¼ö ¾ø´Â ³×ÀÓ ¼¹ö ¿¡·¯°¡ ¹ß»ýÇß´Ù.
- TRY_AGAIN
-
ÀÓ½ÃÀû ¿¡·¯·Î ³×ÀÓ¼¹ö ÀÎÁõ½Ã ¹ß»ýÇß´Ù. ´Ù½Ã ½ÃµµÇضó.
ÆÄÀÏ
- /etc/host.conf
-
Çؼ® ¼³Á¤ ÆÄÀÏ.
- /etc/hosts
-
È£½ºÆ® µ¥ÀÌÅÍ º£À̽º ÆÄÀÏ
ȣȯ
BSD 4.3.
ÁÖÀÇ
SUS-v2 Ç¥ÁØÀº ¹ö±×À̸ç,
len
ÀÎÀÚ¸¦
size_t
ŸÀÔÀ¸·Î ¼±¾ðÇÏ¿´´Ù.(ÀÌ°ÍÀº À߸øµÈ °ÍÀÌ´Ù. ¿Ö³ÄÇÏ¸é ±×°ÍÀº
int
ÀÌÁö
size_t
°¡ ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. Austin ÃʾÈÀº
socklen_tÀ¸·Î
ÇßÀ¸¸ç ÀÌ°ÍÀº °¡´ÉÇÏ´Ù.)
Glibc2´Â ¶ÇÇÑ
gethostbyname()ó·³
ÀÛµ¿ÇÏ´Â
struct hostent *gethostbyname2(const char *name, int af);
¸¦ °¡Áö°í ÀÖ´Ù. ±×·¯³ª ±×°ÍÀº ÁÖ¼Ò°¡ ¼ÓÇØ ÀÖ´Â ÁÖ¼Ò °¡Á·À» ÁöÁ¤Çϵµ·Ï ÇÑ´Ù.
Austin ÃʾÈÀº
gethostbyaddr()
°ú
gethostbyname()
¸¦ »ó¼ÓÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾úÀ¸¸ç ´ÙÀ½°ú °°ÀÌ ¼Ò°³ÇÏ¿´´Ù.
struct hostent *getipnodebyaddr (const void *restrict addr,
socklen_t len, int type, int *restrict error_num);
struct hostent *getipnodebyname (const char *name,
int type, int flags, int *error_num);
°ü·Ã Ç׸ñ
resolver(3),
hosts(5),
hostname(7),
resolv+(8),
named(8)
¿ªÀÚ
Á¤°ÈÆ <skyeyes@soback.kornet.net>, 2001³â 4¿ù 30ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ÆÄÀÏ
-
- ȣȯ
-
- ÁÖÀÇ
-
- °ü·Ã Ç׸ñ
-
- ¿ªÀÚ
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:01 GMT, March 25, 2004