Man page - getservent(3)

Packages contains this manual

Available languages:

en fr es pl cs ja ru ro de

Manual

GETSERVENT

名 前
書 式
説 明
返 り 値
フ ァ イ ル
属 性
準 拠
関 連 項 目
こ の 文 書 に つ い て

名 前

getservent, getservbyname, getservbyport, setservent, endservent - サ ー ビ ス の エ ン ト リ ー を 取 得 す る

書 式

#include <netdb.h>

struct servent *getservent(void);

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

struct servent *getservbyport(int port , const char * proto );

void setservent(int stayopen );

void endservent(void);

説 明

getservent () 関 数 は サ ー ビ ス の デ ー タ ベ ー ス ( services (5) 参 照 ) か ら 次 の エ ン ト リ ー を 読 み 込 み 、 そ の エ ン ト リ ー を servent 構 造 体 の 要 素 別 の フ ィ ー ル ド に 格 納 し 、 そ の 構 造 体 を 返 す 。 必 要 で あ れ ば 、 デ ー タ ベ ー ス へ の 接 続 が オ ー プ ン さ れ る 。

getservbyname () 関 数 は 、 プ ロ ト コ ル proto を 用 い る サ ー ビ ス の 名 前 name に マ ッ チ す る エ ン ト リ ー を デ ー タ ベ ー ス か ら 探 し 、 そ の エ ン ト リ ー を 収 め た servent 構 造 体 を 返 す 。 proto が NULL の 場 合 は 、 任 意 の プ ロ ト コ ル に マ ッ チ す る 。 必 要 で あ れ ば 、 デ ー タ ベ ー ス へ の 接 続 が オ ー プ ン さ れ る 。

getservbyport () 関 数 は 、 プ ロ ト コ ル proto を 用 い る サ ー ビ ス の ポ ー ト 番 号 port に マ ッ チ す る エ ン ト リ ー を デ ー タ ベ ー ス か ら 探 し 、 そ の エ ン ト リ ー の 内 容 を 収 め た servent 構 造 体 を 返 す (ポ ー ト 番 号 port は ネ ッ ト ワ ー ク バ イ ト オ ー ダ で 指 定 す る )。 proto が NULL の 場 合 は 任 意 の プ ロ ト コ ル に マ ッ チ す る 。 必 要 で あ れ ば 、 デ ー タ ベ ー ス へ の 接 続 が オ ー プ ン さ れ る 。

setservent () 関 数 は デ ー タ ベ ー ス へ の 接 続 を オ ー プ ン し 、 次 の 読 み 込 み エ ン ト リ ー を 先 頭 の エ ン ト リ ー に 設 定 す る 。 stayopen が 0 で な い 場 合 、 一 つ 一 つ の getserv* () 関 数 の 呼 び 出 し 間 で デ ー タ ベ ー ス へ の 接 続 を ク ロ ー ズ し な い 。

endservent () 関 数 は デ ー タ ベ ー ス へ の 接 続 を ク ロ ー ズ す る 。

servent 構 造 体 は <netdb.h> で 以 下 の よ う に 定 義 さ れ て い る 。

struct servent {
char *s_name; /* official service name */
char **s_aliases; /* alias list */
int s_port; /* port number */
char *s_proto; /* protocol to use */
}

servent 構 造 体 の メ ン バ ー は 以 下 の 通 り 。

s_name

サ ー ビ ス の 正 式 名 (official name)。

s_aliases

サ ー ビ ス の 別 名 の リ ス ト 。 リ ス ト は ヌ ル で 終 端 さ れ る 。

s_port

サ ー ビ ス の ポ ー ト 番 号 。 ネ ッ ト ワ ー ク バ イ ト オ ー ダ で 指 定 さ れ る 。

s_proto

こ の サ ー ビ ス と 共 に 用 い る プ ロ ト コ ル の 名 前 。

返 り 値

getservent (), getservbyname (), getservbyport () 関 数 は 、 静 的 に 割 り 当 て ら れ た servent 構 造 体 へ の ポ イ ン タ ー を 返 す 。 エ ラ ー が 起 こ っ た り 、 フ ァ イ ル の 末 尾 に 達 し た 場 合 は NULL を 返 す 。

フ ァ イ ル

/etc/services

サ ー ビ ス の デ ー タ ベ ー ス フ ァ イ ル

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 は attributes (7) を 参 照 の こ と 。

Image grohtml-28085-1.png

In the above table, servent in race:servent signifies that if any of the functions setservent (), getservent (), or endservent () are used in parallel in different threads of a program, then data races could occur.

準 拠

POSIX.1-2001, POSIX.1-2008, 4.3BSD.

関 連 項 目

getnetent (3), getprotoent (3), getservent_r (3), services (5)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。