The getservbyport function retrieves service information corresponding to a port and protocol.
servent* getservbyport(
int port,
const char *proto
)
port
Type: int
[in] Port for a service, in network byte order.
*proto
Type: char
[in, optional] Optional pointer to a protocol name. If this is null, getservbyport returns the first service entry for which the port matches the s_port of the servent structure. Otherwise, getservbyport matches both the port and the proto parameters.
Type: servent *
If no error occurs, getservbyport returns a pointer to the servent structure. Otherwise, it returns a null pointer and a specific error number can be retrieved by calling WSAGetLastError.
| Return code | Description |
|---|---|
| WSANOTINITIALISED | A successful WSAStartup call must occur before using this function. |
| WSAENETDOWN | The network subsystem has failed. |
| WSAHOST_NOT_FOUND | Authoritative Answer Service not found. |
| WSATRY_AGAIN | A nonauthoritative Service not found, or server failure. |
| WSANO_RECOVERY | Nonrecoverable errors, the services database is not accessible. |
| WSANO_DATA | Valid name, no data record of requested type. |
| WSAEINPROGRESS | A blocking Windows Sockets 1.1 call is in progress, or the service provider is still processing a callback function. |
| WSAEFAULT | The proto parameter is not a valid part of the user address space. |
| WSAEINTR | A blocking Windows Socket 1.1 call was canceled through WSACancelBlockingCall. |
The getservbyport function returns a pointer to a servent structure as it does in the getservbyname function.
The servent structure is allocated by Windows Sockets. The application must never attempt to modify this structure or to free any of its components. Furthermore, only one copy of this structure is allocated per thread, so the application should copy any information it needs before issuing any other Windows Sockets function calls.
Windows Phone 8: This API is supported.
Header: Declared in winsock2.h.
Library: Use ws2_32.lib.