getservbyname function (winsock.h)

The getservbyname function retrieves service information corresponding to a service name and protocol.


servent * getservbyname(
  const char *name,
  const char *proto



A pointer to a null-terminated service name.


A pointer to a null-terminated protocol name. If this pointer is NULL, the getservbyname function returns the first service entry where name matches the s_name member of the servent structure or the s_aliases member of the servent structure. Otherwise, getservbyname matches both the name and the proto.

Return value

If no error occurs, getservbyname returns a pointer to the servent structure. Otherwise, it returns a null pointer and a specific error number can be retrieved by calling WSAGetLastError.

Error code Meaning
A successful WSAStartup call must occur before using this function.
The network subsystem has failed.
Authoritative Answer Service not found.
A nonauthoritative Service not found, or server failure.
Nonrecoverable errors, the services database is not accessible.
Valid name, no data record of requested type.
A blocking Windows Sockets 1.1 call is in progress, or the service provider is still processing a callback function.
A blocking Windows Socket 1.1 call was canceled through WSACancelBlockingCall.


The getservbyname function returns a pointer to the servent structure containing the name(s) and service number that match the string in the name parameter. All strings are null-terminated.

The pointer that is returned points to the servent structure allocated by the Windows Sockets library. 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 function is supported for Windows Phone Store apps on Windows Phone 8 and later.

Windows 8.1 and Windows Server 2012 R2: This function is supported for Windows Store apps on Windows 8.1, Windows Server 2012 R2, and later.


Minimum supported client Windows 8.1, Windows Vista [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header winsock.h (include Winsock2.h)
Library Ws2_32.lib
DLL Ws2_32.dll

See also


Winsock Functions

Winsock Reference