getpeername(2) getpeername(2) NAME getpeername - get address of connected peer SYNOPSIS #include <sys/socket.h> AF_CCITT only: #include <x25/x25addrstr.h> int getpeername(int s, void *addr, int *addrlen); _XOPEN_SOURCE_EXTENDED only int getpeername(int s, struct sockaddr *addr, size_t *addrlen); DESCRIPTION getpeername() returns the address of the peer socket connected to the socket indicated by s, where s is a socket descriptor. addr points to a socket address structure in which this address is returned. addrlen points to an object of type int, which should be initialized to indicate the size of the address structure. On return, it contains the actual size of the address returned (in bytes). If addr does not point to enough space to contain the whole address of the peer, only the first addrlen bytes of the address are returned. AF_CCITT only: The addr struct contains the X.25 addressing information of the remote peer socket connected to socket s. However, the x25ifname[] field of the addr struct contains the name of the local X.25 interface through which the call arrived. RETURN VALUE Upon successful completion, getpeername() returns 0; otherwise it returns -1 and sets errno to indicate the error. ERRORS getpeername() fails if any of the following conditions are encountered: [EBADF] s is not a valid file descriptor. [ENOTSOCK] s is a valid file descriptor, but it is not a socket. [ENOTCONN] The socket is not connected. [ENOBUFS] No buffer space is available to perform the operation. [EFAULT] addr or addrlen are not valid pointers. [EINVAL] The socket has been shut down. [EOPNOTSUPP] Operation not supported for AF_UNIX sockets. AUTHOR getpeername() was developed by the University of California, Berkeley. FUTURE DIRECTION The default behavior in this release is still the classic HP-UX BSD Sockets, however it will be changed to X/Open Sockets in some future release. At that time, any HP-UX BSD Sockets behavior which is incompatible with X/Open Sockets may be obsoleted. HP customers are advised to migrate their applications to conform to X/Open specification( see xopen_networking(7) ). SEE ALSO bind(2), socket(2), getsockname(2), inet(7F), af_ccitt(7F), xopen_networking(7). Hewlett-Packard Company - 2 - HP-UX Release 10.20: July 1996