プログラミングインタフェース

サービス名 – servent

インターネットファミリサービスは、特定の既知のポートに常駐し、特定のプロトコルを使用します。サービス名からポート番号へのマッピングは、getprotoent(3SOCKET) で定義されている servent 構造体で表現されます。

struct servent {
   char     *s_name;         /* サービスの正式名称 */
   char     **s_aliases;     /* 別名リスト */
   int      s_port;          /* パート番号、ネットワークバイトオーダー */
   char     *s_proto;        /* 使用するプロトコル */
};

getservbyname(3SOCKET) はサービス名と修飾プロトコル (省略可能) を servent 構造体にマッピングします。次の呼び出しは、

sp = getservbyname("telnet", (char *) 0);
任意のプロトコルを使用する Telnet サーバーのサービス仕様を返します。次の呼び出しは、

sp = getservbyname("telnet", "tcp");

TCP プロトコルを使用するTelnet サーバーを返します。getservbyport(3SOCKET) と getservent(3SOCKET) も提供されます。getservbyport(3SOCKET) に は、getservbyname(3SOCKET) で使用されるインタフェースに似たインタフェースがあります。つまり、オプションのプロトコル名を指定して、ルックアップを修飾できます。