getsockname

The Windows Sockets getsockname function gets the local name for a socket.

int getsockname (

SOCKET s,

struct sockaddr FAR* name,

int FAR* namelen

);

Parameters

s

[in] A descriptor identifying a bound socket.

name

[out] Receives the address (name) of the socket.

namelen

[out] The size of the name buffer.

Remarks

getsockname
retrieves the current name for the specified socket descriptor in name. It is used on a bound and/or connected socket specified by the s parameter. The local association is returned. This call is especially useful when a connect call has been made without doing a bind first; this call provides the only means by which you can determine the local association which has been set by the system.

On return, the namelen argument contains the actual size of the name returned in bytes.

If a socket was bound to an unspecified address (for example, ADDR_ANY), indicating that any of the host's addresses within the specified address family should be used for the socket, getsockname will not necessarily return information about the host address, unless the socket has been connected with connect or accept. A Windows Sockets application must not assume that the address will be specified unless the socket is connected. This is because for a multihomed host the address that will be used for the socket is unknown unless the socket is connected.

Return Values

If no error occurs, getsockname returns zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError.

Error Codes

WSANOTINITIALISED
A successful WSAStartup must occur before using this function.
WSAENETDOWN
The network subsystem has failed.
WSAEFAULT
The name or the namelen argument is not a valid part of the user address space, or the namelen argument is too small.
WSAEINPROGRESS
A blocking Windows Sockets 1.1 call is in progress, or the service provider is still processing a callback function.
WSAENOTSOCK
The descriptor is not a socket.
WSAEINVAL
The socket has not been bound to an address with bind, or ADDR_ANY is specified in bind but connection has not yet occurs.

See Also

bind
, getpeername, socket

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database