#include <sys/socket.h>
int getpeername(int s, struct sockaddr *name, socklen_t *namelen);
描述
getpeername() 返回連線到通訊端s的同伴的名字。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 yiibais 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. |
ENOTCONN |
|
The socket is not connected. |
ENOTSOCK |
|
The argument s is a file, not a socket. |
遵循於
SVr4, 4.4BSD (the getpeername() function call first appeared in 4.2BSD), POSIX.1-2001.
注意
The third argument of getpeername() 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).
另請參閱