INET(3)

이름
inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - 인터넷 주소 조작 루틴들

사용법
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int inet_aton(const char *cp, struct in_addr *inp);

unsigned long int inet_addr(const char *cp);

unsigned long int inet_network(const char *cp);

char *inet_ntoa(struct in_addr in);

struct in_addr inet_makeaddr(int net, int host);

unsigned long int inet_lnaof(struct in_addr in);

unsigned long int inet_netof(struct in_addr in);

설명
inet_aton() 함수는 표준 수-점 표기인 인터넷 호스트 주소 cp를 이진 데이터로 바꾼다. 그리고 inp 이 가리키는 구조체에 저장한다. 만일 주소가 유효하다면 0 이 아닌 값이 반환되며 무효하다면 0 이 반환된다.

inet_addr() 함수는 수-점 표기인 인터넷 호스트 주소 cp를 네트웍 바이트 순서인 이진 데이터로 바꾼다. 만일 입력이 유효하지 않다면, INADDR_NONE (보통 -1)이 반환된다. 이 함수는 위에서 언급한 inet_aton에 대한 구식 인터페이스이다.; 이 함수는 쓸모없다. 왜냐하면 -1은 유효한 주소(255.255.255.255)이고, inet_aton는 에러가 리턴되었음을 가리키는 확실한 방법을 제공하기 때문이다.

inet_network() 함수는 수-점 표기인 주소 cp에서 호스트 바이트 순서인 네트웍 수를 알아낸다. 입력이 유효하지 않다면, -1이 리턴된다.

inet_ntoa() 함수는 네트웍 바이트 순서로 주어진 인터넷 호스트 주소 in을 표준 점-수 표기의 문자열로 바꾼다. 문자열은 정적으로 할당된 버퍼로 반환되며 이 함수의 연속적인 호출은 이 공간을 덮어 쓴다.

inet_makeaddr() 함수는 둘다 로컬 호스트 바이트 순서인 네트웍 수 net와 네트웍 net내 로컬 주소 host를 결합하여 네트웍 바이트 순서인 인터넷 호스트 주소를 만든다.

inet_lnaof() 함수는 인터넷 주소 in의 로컬 호스트 주소 부분을 반환한다. 로컬 호스트 주소는 지역 호스트 바이트 순서로 반환된다.

inet_netof() 함수는 인터넷 주소 in 의 네트웍 수 부분은 반환한다. 네트웍 수는 지역 호스트 바이트 순서로 반환된다.

inet_makeaddr(), inet_lnoaf() 그리고 inet_netof() 에서 사용되는 구조체 in_addr는 netinet/in.h에 정의되어 있다:

    struct in_addr {
    	unsigned long int s_addr;
    }

i80x86에서 호스트 바이트 순서는 Least Significant Byte가 처음이고, 반면에 인터넷에서 사용되는 것처럼 네트웍 바이트 순서는 Most Significant Byte가 처음이다.

호환
BSD 4.3

관련 항목
gethostbyname(3), getnetent(3), hosts(5), networks(5)

역자
정강훈 <skyeyes@soback.kornet.net>, 2001년 3월 12일