이 름
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 [AT] soback.net>, 2001년 4월 30일