GETSOCKNAME(2)

명칭
getsockname - 소켓의 이름을 얻는다

프로그램 라이브러리
libc

서식
<sys/types.h> <sys/socket.h> int getsockname(int s, struct sockaddr *name, socklen_t *namelen)

해설
getsockname() (은)는 지정의 소켓에 대해 현재의 name (을)를 돌려줍니다. namelen 파라미터는, name 하지만 가리키는 공간의 양을 나타내도록(듯이) 초기화해 둘 필요가 있습니다. 돌아올 때에는 돌려주어진 이름의 실제의 사이즈 (바이트 단위)가 들어갑니다.

반환값

에러
호출은, 다음의 경우를 제외해 정상적으로 완료합니다.

[EBADF]
    인수 s 하지만 유효한 기술자가 아닙니다.

[ECONNRESET]
    접속이 통신 상대에 의해 리셋트 되었습니다.

[ENOTSOCK]
    인수 s (은)는 소켓은 아니고 파일입니다.

[ENOBUFS]
    조작을 실행하기 위해서 시스템내에서 이용할 수 있는 리소스가 부족합니다.

[EFAULT]
    name 파라미터가, 프로세스 address 공간의 유효한 부분내가 아닌 메모리를 가리키고 있습니다.

관련 항목
bind(2), getpeername(2), socket(2)

버그
UNIX 도메인내의 소켓에 바인드 된 이름에는 액세스 할 수 없습니다. 이 경우 getsockname (은)는, 길이가 0 의 이름을 돌려줍니다.

역사
getsockname() 함수는 4.2BSD 그리고 처음 등장했습니다.