getservbyname() - 名前によるサーバー・エントリーの取得

標準

標準/拡張機能 C/C++ 依存項目

XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

X/Open:
#define _XOPEN_SOURCE_EXTENDED 1
#include <netdb.h>

struct servent *getservbyname(const char *name, const char *proto);
バークレー・ソケット:
#define _OE_SOCKETS
#include <netdb.h>

struct servent *getservbyname(char *name, char *proto);

機能説明

getservbyname() 呼び出しは、指定されたサービス名およびプロ トコル名に一致する最初のエントリーを、/etc/services または tcpip.ETC.SERVICES データ・セットで検索します。proto が NULL の場合は、サービス名のみが一致しなければなりません。
パラメーター
説明
name
サービス名。
proto
プロトコル名。

getservbyname() 呼び出しは、呼び出しで指定されたネットワーク ・サービスの servent 構造体へのポインターを戻します。getservbyname()、getservbyport()、および getservent() は、いずれも同じ 静的領域を使用して、servent 構造体を戻します。この静的領域は、これらの次の関数が同じスレッドで呼び出されるまで有効です。

servent 構造体は、netdb.h 組み込みファイルで定義され、以下のようなエレメントを持っています。
エレメント
説明
s_aliases
サービスの代替名の、NULL ポインターで終了する配列。
s_name
サービスの公式名。
s_port
サービスのポート番号。
s_proto
サービスに接続するのに必要なプロトコル。

C++ の特殊な動作: C++ でこの関数を使用するには、_XOPEN_SOURCE_EXTENDED 1 フィーチャー・テスト・マクロを 使用する必要があります。

戻り値

戻り値は、同じデータ構造体を戻す、以降の呼び出しで上書きされるデータを 指します。

正常に実行された場合、getservbyname() は servent 構造体へのポインターを戻します。

正常に終了しなかったまたはファイル終わり (EOF) の場合、getservbyname() は NULL ポインターを戻します。

関連情報