getsockname()函式 Unix/Linux


getsockname - 獲得通訊端名稱

內容簡介

#include <sys/socket.h> 

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

描述

getsockname() 返回當前名稱指定的通訊端。namelen 引數應被初始化,以指示的空間指向量的名字。返回時,包含名稱的實際大小(以位元組為單位).

返回值

On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

錯誤

標籤 描述
EBADF The argument s is not a valid descriptor.
EFAULT The name parameter points to memory not in a valid part of the process address space.
EINVAL namelen is invalid (e.g., is negative).
ENOBUFS
  Insufficient resources were available in the system to perform the operation.
ENOTSOCK
  The argument s is a file, not a socket.

遵循於

SVr4, 4.4BSD (the getsockname() function call appeared in 4.2BSD), POSIX.1-2001.

注意

The third argument of getsockname() is in reality an ‘int *’ (and this is what 4.x BSD and libc4 and libc5 have). Some POSIX confusion resulted in the present socklen_t, also used by glibc. See also accept(2).

另請參閱