Name
getpeername - get name of connected
peer socket
Synopsis
#include <sys/socket.h>
int getpeername(int s, struct
sockaddr *name, socklen_t *namelen);
Description
Getpeername returns the
name of the peer connected to socket
s. The
namelen parameter should be
initialized to indicate the amount of space pointed to by
name. On return
it contains the actual size of the name returned (in bytes). The name is
truncated if the buffer provided is too small.
Return Value
On success, zero
is returned. On error, -1 is returned, and
errno is set appropriately.
Errors
- EBADF
- The argument s is not a valid descriptor.
- ENOTSOCK
- The argument s is a file,
not a socket.
- ENOTCONN
- The socket is not connected.
- ENOBUFS
- Insufficient
resources were available in the system to perform the operation.
- EFAULT
- The name parameter points to memory not in a valid part of the process
address space.
Conforming to
SVr4, 4.4BSD (the
getpeername function call first
appeared in 4.2BSD).
Note
The third argument of
getpeername is in reality
an `int *' (and this is what BSD 4.* and libc4 and libc5 have). Some POSIX
confusion resulted in the present socklen_t. The draft standard has not
been adopted yet, but glibc2 already follows it and also has socklen_t.
See also
accept(2)
.
See Also
accept(2)
,
bind(2)
,
getsockname(2)
Add a comment | Add a link