GETPROTOENT(3)

이름
getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - 프로토콜 엔트리를 가져온다.

사용법
#include <netdb.h>

struct protoent *getprotoent(void);

struct protoent *getprotobyname(const char *name);

struct protoent *getprotobynumber(int proto);

void setprotoent(int stayopen);

void endprotoent(void);

설명
getprotoent() 함수는 파일 /etc/protocols 에서 다음 라인을 읽고 라인에서 뽑아낸 필드들을 포함하는 protoent 구조체를 반환한다. /etc/protocols 파일은 필요하다면 열려진다.

getprotobyname() 함수는 /etc/protocols 에서 프로토콜 이름 name과 일치하는 라인에 해당하는 protoent 구조체를 반환한다.

getprotobynumber() 함수는 프로토콜 번호 number과 일치하는 라인에 해당하는 protoent 구조체를 반환한다.

setprotoent() 함수는 /etc/protocols 파일을 읽고 되 감는다. 만일 stayopen 가 참(1)이라면, 파일은 getprotobyname() 나 getprotobynumber() 호출시 닫혀지지 않는다.

endprotoent() 함수는 /etc/protocols를 닫는다.

protoent 구조체는 다음처럼 <netdb.h> 에 정의되어 있다:

    struct protoent {
    	char	*p_name;		/* 공식적인 프로토콜 이름 */
    	char	**p_aliases;		/* 별칭 리스트 */
    	int	p_proto;		/* 프로토콜 번호 */
    }

protoent 구조체의 멤버는:

p_name
    프로토콜의 공식적인 이름

p_aliases
    프로토콜을 위한 선택할수 있는 이름의 널로 종료된 리스트

p_proto
    프로토콜 번호

반환값
getprotoent(), getprotobyname() 그리고 getprotobynumber() 함수는 protoent 구조체를 반환하거나, 만일 에러가 발생하거나 파일의 끝에 도착한다면 NULL 포인터를 반환한다.

파일
/etc/protocols
    프로토콜 데이터베이스 파일

호환
BSD 4.3

관련 항목
getservent(3), getnetent(3), protocols(5)

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