getsockname - Get the socket name
#include <sys/socket.h>
int getsockname(
int socket,
struct sockaddr *address,
socklen_t *address_len );
[XNS4.0] The definition of the getsockname() function in
XNS4.0 uses a size_t data type instead of a socklen_t data
type as specified in XNS5.0 (the previous definition).
[Tru64 UNIX] The following definition of the getsockname()
function does not conform to current standards and
is supported only for backward compatibility (see standards(5)): #include <sys/socket.h>
int getsockname(
int socket,
struct sockaddr *address,
int *address_len );
Interfaces documented on this reference page conform to
industry standards as follows:
getsockname(): XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Specifies the socket file descriptor for which the local
address is needed. Points to a sockaddr structure, the
format of which is determined by the domain and by the
behavior requested for the socket. The sockaddr structure
is an overlay for a sockaddr_in, sockaddr_un, sockaddr_in6,
or sockaddr_storage structure, depending on
which of the supported address families is active.
[Tru64 UNIX] If the compile-time option _SOCKADDR_LEN
is defined before the sys/socket.h header
file is included, the sockaddr structure takes
4.4BSD behavior, with a field for specifying the
length of the socket address. Otherwise, the
default 4.3BSD sockaddr structure is used, with the
length of the socket address assumed to be 14 bytes
or less.
If _SOCKADDR_LEN is defined, the 4.3BSD sockaddr
structure is defined with the name osockaddr.
Specifies the length of the sockaddr structure
pointed to by the address parameter.
The getsockname() function retrieves the locally bound
address of the specified socket.
If the actual length of the address is greater than the
length of the sockaddr structure, the address is truncated.
If the socket is not bound to a local name, the value
pointed to by address is unspecified.
A process created by another process can inherit open
sockets. To use the inherited sockets, the created process
may need to identify its address. The getsockname() function
allows a process to retrieve the local address bound
to the specified socket.
A process can use the getpeername() function to determine
the address of a destination socket in a socket connection.
[Tru64 UNIX] When compiled in the X/Open UNIX environment
or the POSIX.1g socket environment, calls to the getsockname()
function are internally renamed by prepending _E to
the function name. When you are debugging a module that
includes the getsockname() function and for which
_XOPEN_SOURCE_EXTENDED or _POSIX_PII_SOCKET has been
defined, use _Egetsockname to refer to the getsockname()
call. See standards(5) for further information.
Upon successful completion, a value of 0 (zero) is
returned, and the address_len parameter points to the size
of the socket address. Otherwise, a value of -1 is
returned and errno is set to indicate the error.
If the getsockname() function fails, errno may be set to
one of the following values: The socket parameter is not
valid. The address or address_len parameter is not in a
readable or writable part of the user address space. The
socket is shut down. Insufficient resources are available
in the system to complete the call. The available STREAMS
resources were insufficient for the operation to complete.
The socket parameter refers to a file, not a socket. The
operation is not supported for this socket's protocol.
Functions: accept(2), bind(2), getpeername(2), socket(2).
Standards: standards(5).
Network Programmer's Guide
getsockname(2)
[ Back ] |