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