get name of connected peer
() returns the address information
of the peer connected to socket s
. One common
use occurs when a process inherits an open socket, such as TCP servers forked
. In this scenario,
() is used to determine the
connecting client's IP address.
() takes three parameters:
contains the file descriptor of the socket
whose peer should be looked up.
points to a
structure that will hold the address
information for the connected peer. Normal use requires one to use a structure
specific to the protocol family in use, such as
(IPv6), cast to a (struct sockaddr *).
For greater portability, especially with the newer protocol families, the new
should be used.
is large enough to hold any of the
other sockaddr_* variants. On return, it can be cast to the correct sockaddr
type, based on the protocol family contained in its ss_family field.
indicates the amount of space pointed
to by name
, in bytes.
If address information for the local end of the socket is required, the
should be used instead.
does not point to enough space to hold
the entire socket address, the result will be truncated to
If the call succeeds, a 0 is returned and
is set to the actual size of the
socket address returned in name
is set and a value of -1 is returned.
On failure, errno
is set to one of the
- The argument s is not a valid
- The argument s is a file, not a
- The socket is not connected.
- Insufficient resources were available in the system to perform the
- The name or
namelen parameter points to memory not in
a valid part of the process address space.
() function conforms to
IEEE Std 1003.1-2008
() function call appeared in