インターネットファミリサービスは、特定の既知のポートに常駐し、特定のプロトコルを使用します。サービス名からポート番号へのマッピングは、servent 構造体で表現されます。
struct servent { char *s_name; /* サービスの正式名称 */ char **s_aliases; /* 別名リスト */ int s_port; /* ポート番号、ネットワークバイトオーダー */ char *s_proto; /* 使用するプロトコル */ };getservbyname(3SOCKET) は、サービス名と修飾プロトコルを servent 構造体に割り当てます (修飾プロトコルは省略可能)。次の呼び出しは、任意のプロトコルを使用する Telnet サーバーのサービス仕様を返します。
sp = getservbyname("telnet", (char *) 0);次の呼び出しは、TCP プロトコルを使用する Telnet サーバーを返します。
sp = getservbyname("telnet", "tcp");
getservbyport(3SOCKET) と getservent(3SOCKET) も提供されます。getservbyport(3SOCKET) には、getservbyname(3SOCKET) のインタフェースに似たインタフェースがあります (ルックアップを修飾するためオプションのプロトコル名を指定可能)。