|
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
Related Links
Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET
More Online Helps
Win32 Programmer's Reference (win32.hlp)
Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages
|