GETSERVENT

Section: 리눅스 프로그래머 매뉴얼 (3)
Updated: 1996년 4월 22일
Index
Return to Main Contents
 

이름

getservent, getservbyname, getservbyport, setservent, endservent - 서비스 엔트리를 가져온다.  

사용법

#include <netdb.h>

struct servent *getservent(void);

struct servent *getservbyname(const char *name, const char *proto);

struct servent *getservbyport(int port, const char *proto);

void setservent(int stayopen);

void endservent(void);
 

설명

getservent() 함수는 파일 /etc/services에서 다음 라인을 읽고 그 라인에서 뽑아낸 필드들을 포함하는 구조체 servent를 반한한다. /etc/services 파일은 필요하다면 열려진다.

getservbyname() 함수는 /etc/services에서 프로토콜 proto을 사용하며 서비스 name 과 일치하는 라인에 해당하는 servent 구조체를 반환한다.

getservbyport() 함수는 프로토콜 proto을 사용하며 네트웍 바이트 순서로 주어진 포트 port과 일치하는 servent 구조체를 반환한다.

setservent() 함수는 /etc/services 파일을 열고 다시 원래대로 돌려놓는다. 만일 stayopen 가 참(1)이라면, 파일은 getservbyname()getservbyport() 호출시 닫혀지지 않는다.

endservent() 함수는 /etc/services를 닫는다.

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


struct servent {
        char    *s_name;        /* 공식적인 서비스 이름 */
        char    **s_aliases;    /* 별칭 리스트 */
        int     s_port;         /* 포트 번호 */
        char    *s_proto;       /* 사용하는 프로토콜 */
}

servent 구조체의 멤버는:

s_name
서비스의 공식적인 이름.
s_aliases
서비스를 위해 선택할수 있는 널로 종료된 리스트
s_port
네트웍 바이트 순서로 주어진 서비스의 포트 번호
s_proto
이 서비스에서 사용하는 프로토콜 이름
 

반환값

getservent(), getservbyname() 그리고 getservbyport() 함수는 servent 구조체를 반환하거나, 만일 에러가 일어나거나 파일의 끝에 도착한다면 NULL 포인터를 반환한다.  

파일

/etc/services
서비스 데이터 파일
 

호환

BSD 4.3  

관련 항목

getprotoent(3), getnetent(3), services(5)  

역자

정강훈 <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