Platform SDK: Windows Sockets

WSPGetPeerName

The WSPGetPeerName function gets the address of the peer to which a socket is connected.

int WSPGetPeerName (
  SOCKET                s,                     
  struct sockaddr FAR   *name,   
  LPINT                 namelen,                
  LPINT                 lpErrno                 
);

Parameters

s
[in] Descriptor identifying a connected socket.
name
[out] Pointer to the structure to receive the name of the peer.
namelen
[in/out] Pointer to an integer that, on input, indicates the size of the structure pointed to by name, and on output indicates the size of the returned name.
lpErrno
[out] Pointer to the error code.

Return Values

If no error occurs, WSPGetPeerName returns zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code is available in lpErrno.

Remarks

WSPGetPeerName supplies the name of the peer connected to the socket s and stores it in the structure SOCKADDR referenced by name. It can be used only on a connected socket. For datagram sockets, only the name of a peer specified in a previous WSPConnect call will be returned—any name specified by a previous WSPSendTo call will not be returned by WSPGetPeerName.

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

Error Codes

Error code Meaning
WSAENETDOWN Network subsystem has failed.
WSAEFAULT Name or the namelen argument is not a valid part of the user address space, or the namelen argument is too small.
WSAEINPROGRESS Function is invoked when a callback is in progress.
WSAENOTCONN Socket is not connected.
WSAENOTSOCK Descriptor is not a socket.

Requirements

  Version: Requires Windows Sockets 2.0.
  Header: Declared in Ws2spi.h.

See Also

WSPBind, WSPSocket, WSPGetSockName