Manpages

이 름

getpeername − 접 속 된 호 스 트 의 이 름 을 알 아 낸 다 .

사 용 법

#include <sys/socket.h>

int getpeername(int s, struct sockaddr *name, socklen_t *namelen);

설 명

getpeername는 소 켓 s에 접 속 된 호 스 트 의 이 름 을 리 턴 한 다 . namelen 인 자 는 name이 가 리 키 고 있 는 영 역 의 크 기 로 초 기 화 되 어 야 한 다 . 리 턴 시 , 이 것 은 리 턴 되 는 name의 실 제 크 기 (바 이 트 단 위 로 )를 갖 는 다 . 제 공 된 버 퍼 가 너 무 작 으 면 name은 잘 린 다 .

반 환 값

성 공 시 , 0이 리 턴 된 다 . 에 러 시 , −1이 리 턴 되 며 , errno는 적 당 한 값 으 로 설 정 된 다 .

에 러

EBADF

s 인 자 가 유 효 한 기 술 자 가 아 니 다 .

ENOTSOCK

s이 소 켓 이 아 니 라 파 일 이 다 .

ENOTCONN

소 켓 이 연 결 되 지 않 았 다 .

ENOBUFS

시 스 템 에 연 산 을 위 해 서 이 용 할 수 있 는 자 원 이 충 분 치 않 다 .

EFAULT

name이 가 리 키 고 있 는 메 모 리 가 유 효 한 프 로 세 스 주 소 영 역 이 아 니 다 .

호 환

SVr4, 4.4BSD (getpeername는 4.2BSD에 서 처 음 으 로 나 타 났 다 ).

주 의

getpeername의 세 번 제 인 자 는 실 제 로 는 ’int *’ 이 다 . (그 리 고 이 것 은 BSD 4.* , libc4 ,libc5의 경 우 이 다 ). POSIX 혼 란 때 문 에 현 재 의 socklen_t이 제 시 되 었 다 . 표 준 초 안 에 서 는 아 직 채 택 되 지 않 았 지 만 , glibc2는 이 미 이 를 채 택 하 여 socklen_t도 지 원 한 다 . accept(2)를 참 조 하 라 .

관 련 항 목

accept(2), bind(2), getsockname(2)

역 자

정 강 훈 <skyeyes [AT] soback.net>, 2000년 5월 2일