getsockname(3N) — NETWORK FUNCTIONS
NAME
getsockname − get socket name
SYNOPSIS
int getsockname(int s, caddr_t name, int ∗namelen);
DESCRIPTION
getsockname returns the current name for 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).
RETURN VALUE
0 is returned if the call succeeds; -1 if it fails.
ERRORS
The call succeeds unless:
EBADF The argument s is not a valid descriptor.
ENOTSOCK The argument s is a file, not a socket.
ENOMEM There was insufficient user memory for the operation to complete.
ENOSR There were insufficient STREAMS resources available for the operation to complete.
SEE ALSO
bind(3N), getpeername(3N), socket(3N)
NOTES
The type of address structure passed to accept depends on the address family. UNIX domain sockets (address family AF_UNIX) require a socketaddr_un structure as defined in sys/un.h; Internet domain sockets (address family AF_INET) require a sockaddr_in structure as defined in netinet/in.h. Other address families may require other structures. Use the structure appropriate to the address family; cast the structure address to a generic caddr_t in the call to getsockname and pass the size of the structure in the namelen argument.
The functionality of getsockname is provided by t_getname in TLI. t_getname will be replaced in the next release of System V.
The syntax for t_getname is as follows:
t_getname(int fd, struct netbuf ∗name, register int type);
If type is equal to LOCALNAME, then the address of the local side of the connection is returned; otherwise, the address of the remote side is returned.