Man page - clnt_pcreateerror(3)

Packages contains this manual

Available languages:

en fr es ja ru

Manual

RPC

名 前
書 式 と 説 明
属 性
関 連 項 目
こ の 文 書 に つ い て

名 前

rpc - 遠 隔 手 続 き 呼 び 出 し (RPC)の た め の ラ イ ブ ラ リ ル ー テ ィ ン

書 式 と 説 明

こ れ ら の ル ー テ ィ ン は C プ ロ グ ラ ム で ネ ッ ト ワ ー ク を 通 し て 他 の マ シ ン に ア ク セ ス す る プ ロ シ ー ジ ャ ー を 作 成 す る こ と を 可 能 に す る 。 最 初 に ク ラ イ ア ン ト は デ ー タ パ ケ ッ ト を サ ー バ に 送 る た め に プ ロ シ ー ジ ャ ー を 呼 び 出 す 。 サ ー バ は パ ケ ッ ト を 受 け 取 る と 、 配 分 ル ー チ ン を 呼 び 出 し て 要 求 さ れ た サ ー ビ ス に 実 行 し 、 返 答 を 送 り 返 す 。 最 後 に プ ロ シ ー ジ ャ ー コ ー ル は ク ラ イ ア ン ト へ と 戻 る 。

こ れ ら の ル ー テ ィ ン を 使 用 す る に は 、 ヘ ッ ダ ー フ ァ イ ル <rpc/rpc.h> を イ ン ク ル ー ド す る こ と 。

下 記 の プ ロ ト タ イ プ で は 次 の 型 を 使 用 し て い る 。

typedef int bool_t ;

typedef bool_t (* xdrproc_t ) (XDR *, void *, ...);

typedef bool_t (* resultproc_t ) (caddr_t resp ,
struct sockaddr_in *
raddr );

AUTH , CLIENT , SVCXPRT , XDR の 宣 言 に つ い て は ヘ ッ ダ ー フ ァ イ ル を 参 照 。

void auth_destroy(AUTH * auth );

こ の マ ク ロ は auth に 関 連 付 け ら れ た 認 証 情 報 を 破 壊 す る 。 破 壊 は 通 常 は 私 的 な デ ー タ 構 造 の 破 棄 を 含 ん で い る 。 auth_destroy () を 呼 び 出 し た 後 に auth を 使 用 す る こ と は 未 定 義 で あ る 。

AUTH *authnone_create(void);

各 リ モ ー ト プ ロ シ ー ジ ャ ー コ ー ル で 使 用 で き な い 仮 の 認 証 情 報 と し て 渡 さ れ る RPC 認 証 ハ ン ド ル を 作 成 し て 返 す 。 こ れ は RPC で 使 用 さ れ る デ フ ォ ル ト の 認 証 で あ る 。

AUTH *authunix_create(char * host , int uid , int gid ,
int
len , int * aup_gids );

認 証 情 報 を 含 ん だ RPC 認 証 ハ ン ド ル を 作 成 し て 返 す 。 host パ ラ メ ー タ ー は 情 報 が 作 成 さ れ た マ シ ン の 名 前 で あ る 。 uid は そ の ユ ー ザ ー の ユ ー ザ ー ID gid は そ の ユ ー ザ ー の 現 在 の グ ル ー プ ID で あ る 。 len aup_gids は そ の ユ ー ザ ー が 所 属 す る グ ル ー プ の 配 列 を 参 照 し て い る 。 他 の ユ ー ザ ー に な り す ま す こ と は 簡 単 で あ る 。

AUTH *authunix_create_default(void);

適 切 な パ ラ メ ー タ ー で authunix_create () を 呼 び 出 す 。

int callrpc(char * host , unsigned long prognum ,
unsigned long
versnum , unsigned long procnum ,
xdrproc_t
inproc , char * in ,
xdrproc_t
outproc , char * out );

マ シ ン host 上 で prognum , versnum , procnum に 関 連 付 け ら れ た リ モ ー ト プ ロ シ ー ジ ャ ー を 呼 び 出 す 。 パ ラ メ ー タ ー in は プ ロ シ ー ジ ャ ー の 引 数 の ア ド レ ス で あ り out は 結 果 を 格 納 す る ア ド レ ス で あ る 。 inproc は プ ロ シ ー ジ ャ ー の パ ラ メ ー タ ー を エ ン コ ー ド す る の に 使 用 さ れ 、 outproc は 結 果 を デ コ ー ド す る の に 使 用 さ れ る 。 こ の ル ー テ ィ ン は 成 功 し た 場 合 に は ゼ ロ を 返 す 。 失 敗 し た 場 合 に は enum clnt_stat を 整 数 に キ ャ ス ト し た 値 を 返 す 。 clnt_perrno () ル ー テ ィ ン が 失 敗 の 状 態 を メ ッ セ ー ジ に 変 換 す る の に 使 用 で き る 。

警 告 : こ の ル ー テ ィ ン で リ モ ー ト プ ロ シ ー ジ ャ ー を 呼 び 出 す と 通 信 に は UDP/IP が 使 用 さ れ る 。 こ の 際 の 制 限 に つ い て は clntudp_create () を 参 照 す る こ と 。 こ の ル ー テ ィ ン を 使 用 し て 認 証 や 時 間 切 れ の 制 御 を す る こ と は で き な い 。

enum clnt_stat clnt_broadcast(unsigned long prognum ,
unsigned long
versnum , unsigned long procnum ,
xdrproc_t
inproc , char * in ,
xdrproc_t
outproc , char * out ,
resultproc_t
eachresult );

callrpc () と 同 様 で あ る が 、 メ ッ セ ー ジ が ロ ー カ ル の ブ ロ ー ド キ ャ ス ト ネ ッ ト ワ ー ク 全 体 へ と ブ ロ ー ド キ ャ ス ト さ れ る 点 が 異 っ て い る 。 回 答 を 受 け 取 る 度 に こ の ル ー テ ィ ン は 以 下 の 形 式 の eachresult () を 呼 び 出 す 。

eachresult(char * out , struct sockaddr_in * addr );

こ こ で out clnt_broadcast () に 渡 さ れ る out と 同 じ で あ る が 、 リ モ ー ト プ ロ シ ー ジ ャ ー か ら の 出 力 が デ コ ー ド さ れ て い る 点 の み が 異 っ て い る 。 addr は 結 果 を 送 っ て 来 た マ シ ン の ア ド レ ス を 指 し て い る 。 eachresult () が ゼ ロ を 返 し た 場 合 、 clnt_broadcast () は さ ら な る 回 答 を 待 つ 。 そ う で な け れ ば 適 切 な 状 態 で 終 了 す る 。

警 告 : ブ ロ ー ド キ ャ ス ト ソ ケ ッ ト は デ ー タ リ ン ク 層 の 最 大 転 送 単 位 に 制 限 さ れ て い る 。 イ ー サ ネ ッ ト の 場 合 、 最 大 値 は 1500 バ イ ト で あ る 。

enum clnt_stat clnt_call(CLIENT * clnt , unsigned long procnum ,
xdrproc_t
inproc , char * in ,
xdrproc_t
outproc , char * out ,
struct timeval
tout );

こ の マ ク ロ は ク ラ イ ア ン ト ハ ン ド ル clnt に 関 連 付 け ら れ た procnum リ モ ー ト プ ロ シ ー ジ ャ ー を 呼 び 出 す 。 ク ラ イ ア ン ト ハ ン ド ル は clnt_create () の よ う な RPC ク ラ イ ア ン ト 作 成 ル ー テ ィ ン に よ っ て 得 ら れ る 。 パ タ メ ー タ in は プ ロ シ ー ジ ャ ー の 引 数 の ア ド レ ス で あ る 。 out は プ ロ シ ー ジ ャ ー の 返 り 値 を 格 納 す る ア ド レ ス で あ る 。 inproc は プ ロ シ ー ジ ャ ー の パ ラ メ ー タ ー を エ ン コ ー ド す る の に 使 用 さ れ る 。 outproc は プ ロ シ ー ジ ャ ー の 返 り 値 を デ コ ー ド す る の に 使 用 さ れ る 。 tout は 結 果 が 返 さ れ る の を 待 つ 時 間 で あ る 。

clnt_destroy(CLIENT * clnt );

こ の マ ク ロ は ク ラ イ ア ン ト の RPC ハ ン ド ル を 破 壊 す る 。 破 壊 に は 通 常 は clnt 自 身 も 含 め て 私 的 な デ ー タ 構 造 体 の 破 棄 が 含 ま れ て い る 。 clnt_destroy () の 呼 び 出 し の 後 に clnt を 使 用 す る こ と は 未 定 義 で あ る 。 RPC ラ イ ブ ラ リ が 関 連 す る ソ ケ ッ ト を オ ー プ ン し た 場 合 に は 、 そ れ も 閉 じ ら れ る 。 そ れ 以 外 の 場 合 に は ソ ケ ッ ト は オ ー プ ン さ れ た ま ま で あ る 。

CLIENT *clnt_create(char * host , unsigned long prog ,
unsigned long
vers , char * proto );

一 般 的 な ク ラ イ ア ン ト の 作 成 ル ー テ ィ ン で あ る 。 host は サ ー バ の あ る リ モ ー ト ホ ス ト の 名 前 を 指 定 す る 。 proto ど の よ う な 通 信 プ ロ ト コ ル を 使 用 す る か を 指 定 す る 。 現 在 こ こ に 使 用 で き る 値 は “udp” と “tcp” で あ る 。 デ フ ォ ル ト の 時 間 切 れ が 設 定 さ れ る が 、 clnt_control () を 使 用 し て 変 更 可 能 で あ る 。

警 告 : UDP を 使 用 し た 場 合 に は 欠 点 が あ る 。 UDP に 基 づ い た RPC メ ッ セ ー ジ は 最 大 で も 8 KByte の エ ン コ ー ド デ ー タ し か 保 持 す る こ と が で き な い た め 、 大 き な 引 数 や 巨 大 な 結 果 を 取 る プ ロ シ ー ジ ャ ー に は 使 用 す る こ と が で き な い 。

bool_t clnt_control(CLIENT * cl , int req , char * info );

こ の マ ク ロ は 各 種 ク ラ イ ア ン ト に つ い て 情 報 を 変 更 し た り 、 取 得 し た り す る の に 使 用 す る 。 req は 操 作 の 種 類 を 指 定 す る 。 info は 情 報 へ の ポ イ ン タ ー で あ る 。 UDP と TCP ど ち ら の 場 合 も 使 用 可 能 な req の 値 と 、 そ の 引 数 の 型 、 お よ び そ の 内 容 は 以 下 の 通 り で あ る :

CLSET_TIMEOUT struct timeval // 時 間 切 れ を 設 定 す る
CLGET_TIMEOUT
struct timeval // 時 間 切 れ を 取 得 す る

注 意 : clnt_control () を 使 用 し て 時 間 切 れ を 設 定 し た 場 合 に は そ れ 以 後 は clnt_call () に 渡 さ れ る 時 間 切 れ パ ラ メ ー タ ー は 全 て 無 視 さ れ る 。

CLGET_SERVER_ADDR struct sockaddr_in // サ ー バ ア ド レ ス を 取 得 す る

以 下 の 操 作 は UDP の 場 合 に の み 有 効 で あ る :

CLSET_RETRY_TIMEOUT struct timeval // 再 送 間 隔 を 設 定 す る
CLGET_RETRY_TIMEOUT
struct timeval // 再 送 間 隔 を 取 得 す る

再 送 間 隔 は 次 に 要 求 を 再 送 す る 前 に "UDP RPC" が サ ー バ の 回 答 を 待 つ 時 間 で あ る 。

clnt_freeres(CLIENT * clnt , xdrproc_t outproc , char * out );

こ の マ ク ロ は RPC 呼 び 出 し の 結 果 の デ コ ー ド の 際 に RPC/XDR シ ス テ ム に よ っ て 割 当 て ら れ た デ ー タ を 解 放 す る 。 パ ラ メ ー タ ー out は 結 果 の ア ド レ ス で あ る 。 outproc は 結 果 を 記 述 し て い る XDR ル ー テ ィ ン で あ る 。 こ の ル ー テ ィ ン は 結 果 の 解 放 に 成 功 し た 場 合 に は 1 を 返 す 。 失 敗 し た 場 合 に は ゼ ロ を 返 す 。

void clnt_geterr(CLIENT * clnt , struct rpc_err * errp );

こ の マ ク ロ は ク ラ イ ア ン ト ハ ン ド ル の エ ラ ー 構 造 体 を errp ア ド レ ス で 指 定 さ れ た 構 造 体 へ コ ピ ー す る 。

void clnt_pcreateerror(char * s );

標 準 エ ラ ー 出 力 に 、 な ぜ ク ラ イ ア ン ト RPC ハ ン ド ル の 作 成 が で き な か っ た か に つ い て の メ ッ セ ー ジ を 表 示 す る 。 メ ッ セ ー ジ の 前 に 文 字 列 s と コ ロ ン (:)が 表 示 さ れ る 。 clnt_create (), clntraw_create (), clnttcp_create (), clntudp_create () の 呼 び 出 し が 失 敗 し た 時 に 使 用 す る こ と 。

void clnt_perrno(enum clnt_stat stat );

標 準 エ ラ ー 出 力 に stat に よ っ て 指 示 さ れ る エ ラ ー 状 態 に 対 応 す る メ ッ セ ー ジ を 表 示 す る 。 callrpc () の 後 に 使 用 す る こ と 。

clnt_perror(CLIENT * clnt , char * s );

標 準 エ ラ ー 出 力 に 、 な ぜ RPC 呼 び 出 し が 失 敗 し た か に つ い て の メ ッ セ ー ジ を 表 示 す る 。 clnt は コ ー ル に 使 用 し た ハ ン ド ル で あ る 。 メ ッ セ ー ジ の 前 に 文 字 列 s と コ ロ ン (:)が 表 示 さ れ る 。 clnt_call () が 失 敗 し た 後 に 使 用 す る こ と 。

char *clnt_spcreateerror(char * s );

clnt_pcreateerror () と 同 様 で あ る が 、 標 準 エ ラ ー 出 力 へ 表 示 す る か わ り に 文 字 列 を 返 す 点 が 異 っ て い る 。

バ グ : 静 的 な 領 域 へ の ポ イ ン タ ー を 返 す た め 、 呼 び 出 し ご と に 上 書 き さ れ る 。

char *clnt_sperrno(enum clnt_stat stat );

clnt_perrno () と 同 じ 引 数 を 取 る が 、 な ぜ RPC 呼 び 出 し が 失 敗 し た か に つ い て の メ ッ セ ー ジ を 標 準 エ ラ ー 出 力 に 表 示 す る か わ り に 、 メ ッ セ ー ジ を 格 納 し て い る 文 字 列 へ の ポ イ ン タ ー を 返 す 。 文 字 列 は NEWLINE(改 行 ) で 終 っ て い る 。

clnt_sperrno () は プ ロ グ ラ ム が 標 準 エ ラ ー 出 力 を 持 っ て い な い 場 合 (プ ロ グ ラ ム が サ ー バ と し て 走 っ て い る 場 合 に は よ く あ り え る )や 、 プ ロ グ ラ マ ー が メ ッ セ ー ジ を printf (3) で 出 力 す る こ と を 望 ま な い 場 合 や 、 メ ッ セ ー ジ の 形 式 が clnt_perrno () が サ ポ ー ト す る も の と は 異 っ て い る 場 合 な ど に clnt_perrno () の か わ り に 使 用 さ れ る 。 注 意 : clnt_sperror () や clnt_spcreateerror () と は 違 っ て clnt_sperrno () は 静 的 デ ー タ へ の ポ イ ン タ ー を 返 す 。 し か し 呼 び 出 し ご と に 上 書 き さ れ る こ と は な い 。

char *clnt_sperror(CLIENT * rpch , char * s );

clnt_perror () と 同 様 で あ る が 、 標 準 エ ラ ー 出 力 に 表 示 す る 代 り に ( clnt_sperrno () の よ う に ) 文 字 列 へ の ポ イ ン タ ー を 返 す 点 が 異 っ て い る 。

バ グ : 静 的 な 領 域 へ の ポ イ ン タ ー を 返 す た め 、 呼 び 出 し ご と に 上 書 き さ れ る 。

CLIENT *clntraw_create(unsigned long prognum , unsigned long versnum );

こ の ル ー テ ィ ン は リ モ ー ト プ ロ グ ラ ム prognum 、 バ ー ジ ョ ン versnum の た め の 擬 似 RPC ク ラ イ ア ン ト を 作 成 す る 。 メ ッ セ ー ジ を サ ー ビ ス に 渡 す た め に 使 用 す る 通 信 は 実 際 に は そ の プ ロ セ ス の ア ド レ ス 空 間 に あ る バ ッ フ ァ ー で あ る 。 そ れ で 、 対 応 す る RPC サ ー バ が 同 じ ア ド レ ス 空 間 の 中 に い な け れ ば な ら な い 。 svcraw_create () を 参 照 す る こ と 。 こ れ に よ り RPC の シ ミ ュ レ ー シ ョ ン や 、 カ ー ネ ル イ ン タ ー フ ェ ー ス に 影 響 さ れ ず に 応 答 時 間 な ど の RPC オ ー バ ヘ ッ ド の 獲 得 が で き る 。 失 敗 し た 場 合 に は こ の ル ー テ ィ ン は NULL を 返 す 。

CLIENT *clnttcp_create(struct sockaddr_in * addr ,
unsigned long
prognum , unsigned long versnum ,
int *
sockp , unsigned int sendsz , unsigned int recvsz );

こ の ル ー テ ィ ン は リ モ ー ト プ ロ グ ラ ム prognum 、 バ ー ジ ョ ン versnum の た め の RPC ク ラ イ ア ン ト を 作 成 す る 。 ク ラ イ ア ン ト は 通 信 に TCP/IP を 使 用 す る 。 リ モ ー ト プ ロ グ ラ ム は イ ン タ ー ネ ッ ト ア ド レ ス の *addr に あ る 。 addr->sin_port が ゼ ロ な ら ば 、 実 際 に リ モ ー ト プ ロ グ ラ ム が listen し て い る ポ ー ト が 設 定 さ れ る 。 (こ の 情 報 の た め に リ モ ー ト の portmap サ ー ビ ス が 利 用 さ れ る 。 ) パ ラ メ ー タ ー sockp は ソ ケ ッ ト で あ る 。 も し こ れ が RPC_ANYSOCK に 設 定 さ れ て い る 場 合 は 、 こ の ル ー テ ィ ン が 新 し い ソ ケ ッ ト を オ ー プ ン し て sockp に 設 定 す る 。 TCP に 基 づ い た RPC は バ ッ フ ァ ー さ れ た I/O を 使 用 す る た め 、 ユ ー ザ ー は パ ラ メ ー タ ー sendsz recvsz を 使 用 し て 送 信 バ ッ フ ァ ー と 受 信 バ ッ フ ァ ー の サ イ ズ を 指 定 す る こ と が で き る 。 ゼ ロ を 指 定 し た 場 合 に は 適 切 な デ フ ォ ル ト が 選 択 さ れ る 。 こ の ル ー テ ィ ン は 失 敗 し た 場 合 は NULL を 返 す 。

CLIENT *clntudp_create(struct sockaddr_in * addr ,
unsigned long
prognum , unsigned long versnum ,
struct timeval
wait , int * sockp );

こ の ル ー テ ィ ン は リ モ ー ト プ ロ グ ラ ム prognum 、 バ ー ジ ョ ン versnum の た め の RPC ク ラ イ ア ン ト を 作 成 す る 。 ク ラ イ ア ン ト は 通 信 に UDP/IP を 使 用 す る 。 リ モ ー ト プ ロ グ ラ ム は イ ン タ ー ネ ッ ト ア ド レ ス の *addr に あ る 。 addr->sin_port が ゼ ロ な ら ば 、 実 際 に リ モ ー ト プ ロ グ ラ ム が listen し て い る ポ ー ト が 設 定 さ れ る 。 (こ の 情 報 の た め に リ モ ー ト の portmap サ ー ビ ス が 利 用 さ れ る 。 ) パ ラ メ ー タ ー sockp は ソ ケ ッ ト で あ る 。 も し こ れ が RPC_ANYSOCK に 設 定 さ れ て い る 場 合 は 、 こ の ル ー テ ィ ン が 新 し い ソ ケ ッ ト を オ ー プ ン し て sockp に 設 定 す る 。 UDP 通 信 は 回 答 が あ る か 、 時 間 切 れ が 起 こ る ま で wait 間 隔 で 呼 び 出 し メ ッ セ ー ジ を 再 送 す る 。 時 間 切 れ が 起 こ る ま で の 合 計 時 間 は clnt_call () で 指 定 す る 。

警 告 : UDP に 基 づ い た RPC メ ッ セ ー ジ は 最 大 で も 8 Kbyte ま で の エ ン コ ー ド さ れ た デ ー タ し か 保 持 で き な い た め 、 こ の 通 信 は 大 き な 引 数 や 巨 大 な 結 果 を 取 る プ ロ シ ー ジ ャ ー に は 使 用 で き な い 。

CLIENT *clntudp_bufcreate(struct sockaddr_in * addr ,
unsigned long
prognum , unsigned long versnum ,
struct timeval
wait , int * sockp ,
unsigned int
sendsize , unsigned int recosize );

こ の ル ー テ ィ ン は リ モ ー ト プ ロ グ ラ ム prognum 、 バ ー ジ ョ ン versnum の た め の RPC ク ラ イ ア ン ト を 作 成 す る 。 ク ラ イ ア ン ト は 通 信 に UDP/IP を 使 用 す る 。 リ モ ー ト プ ロ グ ラ ム は イ ン タ ー ネ ッ ト ア ド レ ス の *addr に あ る 。 addr->sin_port が ゼ ロ な ら ば 、 実 際 に リ モ ー ト プ ロ グ ラ ム が listen し て い る ポ ー ト が 設 定 さ れ る 。 (こ の 情 報 の た め に リ モ ー ト の portmap サ ー ビ ス が 利 用 さ れ る 。 ) パ ラ メ ー タ ー sockp は ソ ケ ッ ト で あ る 。 も し こ れ が RPC_ANYSOCK に 設 定 さ れ て い る 場 合 は 、 こ の ル ー テ ィ ン が 新 し い ソ ケ ッ ト を オ ー プ ン し て sockp に 設 定 す る 。 UDP 通 信 は 回 答 が あ る か 、 時 間 切 れ が 起 こ る ま で wait 間 隔 で 呼 び 出 し メ ッ セ ー ジ を 再 送 す る 。 時 間 切 れ が 起 こ る ま で の 合 計 時 間 は clnt_call () で 指 定 す る 。

こ れ を 使 用 す る と UDP に 基 づ い た RPC メ ッ セ ー ジ に お い て 送 信 パ ケ ッ ト や 受 信 パ ケ ッ ト の 最 大 サ イ ズ を 指 定 す る こ と が 可 能 に な る 。

void get_myaddress(struct sockaddr_in * addr );

こ の マ シ ン の IP ア ド レ ス を *addr に 格 納 す る 。 /etc/hosts を 扱 う ラ イ ブ ラ リ ル ー テ ィ ン は 使 用 し な い 。 ポ ー ト 番 号 は 常 に htons(PMAPPORT) に 設 定 さ れ る 。

struct pmaplist *pmap_getmaps(struct sockaddr_in * addr );

portmap サ ー ビ ス の た め の ユ ー ザ ー イ ン タ ー フ ェ ー ス で あ り 、 IP ア ド レ ス *addr に あ る ホ ス ト の 現 在 の RPC プ ロ グ ラ ム か ら ポ ー ト 番 号 へ の マ ッ ピ ン グ の 一 覧 を 返 す 。 こ の ル ー テ ィ ン が NULL を 返 す 場 合 も あ る 。 ‘ rpcinfo -p ’ コ マ ン ド は こ の ル ー テ ィ ン を 使 用 し て い る 。

unsigned short pmap_getport(struct sockaddr_in * addr ,
unsigned long
prognum , unsigned long versnum ,
unsigned int
protocol );

portmap サ ー ビ ス の た め の ユ ー ザ ー イ ン タ ー フ ェ ー ス で 、 プ ロ グ ラ ム 番 号 prognum 、 バ ー ジ ョ ン versnum 、 関 連 付 け ら れ た 通 信 プ ロ ト コ ル protocol を サ ポ ー ト す る サ ー ビ ス が 待 っ て い る ポ ー ト 番 号 を 返 す 。 protocol の 値 は ほ と ん ど の 場 合 IPPROTO_UDP か IPPROTO_TCP で あ る 。 返 り 値 ゼ ロ は マ ッ ピ ン グ が 存 在 し な い か 、 RPC シ ス テ ム が リ モ ー ト の portmap サ ー ビ ス の 参 照 に 失 敗 し た こ と を 意 味 す る 。 後 者 の 場 合 は 大 域 変 数 rpc_createerr が RPC 状 態 を 保 持 し て い る 。

enum clnt_stat pmap_rmtcall(struct sockaddr_in * addr ,
unsigned long
prognum , unsigned long versnum ,
unsigned long
procnum ,
xdrproc_t
inproc , char * in ,
xdrproc_t
outproc , char * out ,
struct timeval
tout , unsigned long * portp );

portmap サ ー ビ ス の た め の ユ ー ザ ー イ ン タ ー フ ェ ー ス で 、 IP ア ド レ ス *addr の ホ ス ト の portmap を 参 照 し て 、 RPC 呼 び 出 し を 生 成 し 、 そ の ホ ス ト 上 の プ ロ シ ー ジ ャ ー を 呼 び 出 す 。 パ ラ メ ー タ ー *portp は プ ロ シ ー ジ ャ ー が 成 功 し た 場 合 に は プ ロ グ ラ ム の ポ ー ト 番 号 に 修 正 さ れ る 。 他 の パ ラ メ ー タ ー の 定 義 に つ い て は callrpc () や clnt_call () で 説 明 し て あ る 。 こ の プ ロ シ ー ジ ャ ー は “ping” の み に 使 用 す べ き で あ る 。 clnt_broadcast () も 参 照 す る こ と 。

bool_t pmap_set(unsigned long prognum , unsigned long versnum ,
unsigned int
protocol , unsigned short port );

portmap サ ー ビ ス の た め の ユ ー ザ ー イ ン タ ー フ ェ ー ス で 、 [ prognum , versnum , protocol ] の 組 み 合 わ せ と port と の 間 の マ ッ ピ ン グ を 、 そ の マ シ ン 上 の portmap サ ー ビ ス に 登 録 す る 。 protocol は ほ と ん ど の 場 合 IPPROTO_UDP IPPROTO_TCP の ど ち ら か で あ る 。 こ の ル ー テ ィ ン は 成 功 し た 場 合 に は 1 を 返 す 。 失 敗 し た 場 合 に は ゼ ロ を 返 す 。 svc_register () に よ っ て 自 動 的 に 実 行 さ れ る 。

bool_t pmap_unset(unsigned long prognum , unsigned long versnum );

portmap サ ー ビ ス の た め の ユ ー ザ ー イ ン タ ー フ ェ ー ス で 、 [ prognum , versnum , * ] の 組 み 合 わ せ と ports の 間 の マ ッ ピ ン グ を そ の マ シ ン 上 の portmap サ ー ビ ス か ら 削 除 す る 。 こ の ル ー テ ィ ン は 成 功 し た 場 合 は 1 を 返 す 。 失 敗 し た 場 合 に は 0 を 返 す 。

int registerrpc(unsigned long prognum , unsigned long versnum ,
unsigned long
procnum , char *(* procname )(char *),
xdrproc_t
inproc , xdrproc_t outproc );

RPC サ ー ビ ス パ ッ ケ ー ジ を 使 用 し て procname プ ロ シ ー ジ ャ ー を 登 録 す る 。 プ ロ グ ラ ム prognum 、 バ ー ジ ョ ン versnum 、 プ ロ シ ー ジ ャ ー procnum へ の 要 求 が 届 い た 場 合 、 procname が パ ラ メ ー タ ー へ の ポ イ ン タ ー を 持 っ て 呼 び 出 さ れ る 。 procname は 静 的 な 結 果 へ の ポ イ ン タ ー を 返 す 必 要 が あ る 。 inproc は パ ラ メ ー タ ー を デ コ ー ド す る た め に 使 用 さ れ る 。 outproc は 結 果 を エ ン コ ー ド す る た め に 使 用 さ れ る 。 こ の ル ー テ ィ ン は 登 録 に 成 功 し た 場 合 に は ゼ ロ を 返 す 。 失 敗 し た 場 合 に は -1 を 返 す 。

警 告 : こ の 形 式 で 登 録 さ れ た リ モ ー ト プ ロ シ ー ジ ャ ー は UDP/IP 通 信 を 使 用 す る 。 制 限 に 関 し て は svcudp_create () を 参 照 す る こ と 。

struct rpc_createerr rpc_createerr ;

成 功 し な か っ た RPC ク ラ イ ア ン ト 生 成 ル ー テ ィ ン に よ っ て 設 定 さ れ る 大 域 変 数 。 clnt_pcreateerror () ル ー テ ィ ン が 理 由 を 表 示 す る た め に 使 用 す る 。

void svc_destroy(SVCXPRT * xprt );

こ の マ ク ロ は 通 信 ハ ン ド ル xprt の RPC サ ー ビ ス を 破 壊 す る 。 破 壊 に は 通 常 、 xprt を 含 め て 、 私 的 な デ ー タ 構 造 体 の 破 棄 が 含 ま れ て い る 。 こ の ル ー テ ィ ン を 呼 び 出 し た 後 に xprt を 使 用 す る こ と は 未 定 義 で あ る 。

fd_set svc_fdset ;

RPC サ ー ビ ス 側 の フ ァ イ ル デ ィ ス ク リ プ タ ー の ビ ッ ト マ ス ク を 反 映 し た 大 域 変 数 。 select (2) シ ス テ ム コ ー ル の パ ラ メ ー タ ー の た め に 利 用 で き る 。 こ れ は 、 サ ー ビ ス の 実 装 者 が svc_run () を 呼 び 出 さ ず に 、 独 自 の 非 同 期 イ ベ ン ト 処 理 を 用 い る 場 合 に の み 意 味 が あ る 。 こ の 変 数 は 読 み 込 み 専 用 で (そ の ま ま select (2) へ 渡 し て は な ら な い !)、 svc_getreqset () 呼 び 出 し や 生 成 ル ー テ ィ ン の 後 に 変 更 さ れ て い る か も し れ な い 。

int svc_fds ;

svc_fdset に 似 て い る が 、 32 フ ァ イ ル デ ィ ス ク リ プ タ ー に 制 限 さ れ て い る 。 こ の イ ン タ ー フ ェ ー ス は svc_fdset に よ っ て 置 き 換 え ら れ た 。

svc_freeargs(SVCXPRT * xprt , xdrproc_t inproc , char * in );

こ の マ ク ロ は サ ー ビ ス プ ロ シ ー ジ ャ ー が svc_getargs () を 使 用 し て 引 数 を デ コ ー ド し た 時 に RPC/XDR シ ス テ ム に よ っ て 割 り 当 て ら れ た デ ー タ を 解 放 す る 。 こ の ル ー テ ィ ン は 解 放 に 成 功 し た 場 合 に は 1 を 返 す 。 失 敗 し た 場 合 に は ゼ ロ を 返 す 。

svc_getargs(SVCXPRT * xprt , xdrproc_t inproc , char * in );

こ の マ ク ロ は RPC サ ー ビ ス 通 信 ハ ン ド ル xprt に 関 連 付 け ら れ た RPC 要 求 の 引 数 を デ コ ー ド す る 。 パ ラ メ ー タ ー in は 引 数 の 格 納 さ れ た ア ド レ ス で あ る 。 inproc は 引 数 を デ コ ー ド す る た め の XDR ル ー テ ィ ン で あ る 。 こ の ル ー テ ィ ン は デ コ ー ド に 成 功 し た 場 合 は 1 を 返 す 。 失 敗 し た 場 合 は ゼ ロ を 返 す 。

struct sockaddr_in *svc_getcaller(SVCXPRT * xprt );

RPC サ ー ビ ス 通 信 ハ ン ド ル xprt に 関 連 付 け ら れ た プ ロ シ ー ジ ャ ー の 呼 び 出 し 元 の ネ ッ ト ワ ー ク ア ド レ ス を 取 得 す る た め の 標 準 的 な 手 段 。

void svc_getreqset(fd_set * rdfds );

こ の ル ー テ ィ ン は サ ー ビ ス の 実 装 者 が svc_run () を 呼 び 出 さ ず 、 独 自 の 非 同 期 イ ベ ン ト 処 理 を 実 装 す る 場 合 に の み 意 味 が あ る 。 こ れ は select (2) シ ス テ ム コ ー ル が RPC ソ ケ ッ ト に RPC 要 求 が 到 着 し た と 返 し た 場 合 に の み 呼 び 出 さ れ る 。 rdfds は 結 果 の 読 み 込 み フ ァ イ ル デ ィ ス ク リ プ タ ー の ビ ッ ト マ ス ク で あ る 。 こ の ル ー テ ィ ン は rdfds の 値 に 関 連 付 け ら れ た 全 て の ソ ケ ッ ト の サ ー ビ ス が 行 な わ れ た 時 に 返 っ て く る 。

void svc_getreq(int rdfds );

svc_getreqset () に 似 て い る が 、 フ ァ イ ル デ ィ ス ク リ プ タ ー の 数 が 32 に 制 限 さ れ て い る 。 こ の イ ン タ ー フ ェ ー ス は svc_getreqset () に よ っ て 置 き 換 え ら れ た 。

bool_t svc_register(SVCXPRT * xprt , unsigned long prognum ,
unsigned long
versnum ,
void (*
dispatch )(svc_req *, SVCXPRT *),
unsigned long
protocol );

prognum versnum を サ ー ビ ス 配 分 プ ロ シ ー ジ ャ ー dispatch で 関 連 付 け る 。 protocol が ゼ ロ の 場 合 、 サ ー ビ ス は portmap サ ー ビ ス に は 登 録 さ れ な い 。 protocol が ゼ ロ 以 外 の 場 合 、 [ prognum , versnum , protocol ] の 組 み 合 わ せ と xprt->xp_port と の マ ッ ピ ン グ が ロ ー カ ル の portmap サ ー ビ ス に 登 録 さ れ る 。 (一 般 的 に protocol は ゼ ロ 、 IPPROTO_UDP IPPROTO_TCP の ど れ か で あ る 。 ) プ ロ シ ー ジ ャ ー dispatch は 以 下 の 形 式 で あ る :

dispatch(struct svc_req *request, SVCXPRT *xprt);

svc_register () ル ー テ ィ ン は 成 功 し た 場 合 は 1 を 返 す 。 失 敗 し た 場 合 は ゼ ロ を 返 す 。

void svc_run(void);

こ の ル ー テ ィ ン は 戻 っ て こ な い 。 こ れ は RPC 要 求 の 到 着 を 待 ち 、 ど れ か が 届 い た 場 合 に svc_getreq () を 使 用 し て 適 切 な サ ー ビ ス プ ロ シ ー ジ ャ ー を 呼 び 出 す 。 こ の プ ロ シ ー ジ ャ ー は 通 常 は select (2) シ ス テ ム コ ー ル か ら 返 る の を 待 っ て い る 。

bool_t svc_sendreply(SVCXPRT * xprt , xdrproc_t outproc , char * out );

RPC サ ー ビ ス 配 分 ル ー テ ィ ン に よ っ て リ モ ー ト プ ロ シ ー ジ ャ ー コ ー ル の 結 果 を 返 す た め に 呼 び 出 さ れ る 。 パ ラ メ ー タ ー xprt は そ の 要 求 に 関 連 付 け ら れ た 通 信 ハ ン ド ル で あ る 。 outproc は 結 果 を エ ン コ ー ド す る た め に 使 用 す る XDR ル ー テ ィ ン で あ る 。 out は 結 果 の ア ド レ ス で あ る 。 こ の ル ー テ ィ ン は 成 功 し た 場 合 は 1 を 返 す 。 失 敗 し た 場 合 は ゼ ロ を 返 す 。

void svc_unregister(unsigned long prognum , unsigned long versnum );

配 分 ル ー テ ィ ン か ら [ prognum , versnum ] お よ び [ prognum , versnum , * ] の 組 み 合 わ せ か ら ポ ー ト 番 号 へ の マ ッ ピ ン グ を 全 て 削 除 す る 。

void svcerr_auth(SVCXPRT * xprt , enum auth_stat why );

認 証 エ ラ ー に よ り リ モ ー ト プ ロ シ ー ジ ャ ー コ ー ル の 実 行 を 拒 否 さ れ た 場 合 に サ ー ビ ス 配 分 ル ー テ ィ ン に よ っ て 呼 び 出 さ れ る 。

void svcerr_decode(SVCXPRT * xprt );

パ ラ メ ー タ ー の デ コ ー ド に 失 敗 し た 場 合 に サ ー ビ ス 配 分 ル ー テ ィ ン に よ っ て 呼 び 出 さ れ る 。 svc_getargs () も 参 照 す る こ と 。

void svcerr_noproc(SVCXPRT * xprt );

要 求 の あ っ た プ ロ シ ー ジ ャ ー 番 号 が 実 装 さ れ て い な い 場 合 に サ ー ビ ス 配 分 ル ー テ ィ ン よ り 呼 び 出 さ れ る 。

void svcerr_noprog(SVCXPRT * xprt );

RPC パ ッ ケ ー ジ に 要 求 さ れ た プ ロ グ ラ ム が 登 録 さ れ て い な い 場 合 に 呼 び 出 さ れ る 。 サ ー ビ ス の 実 装 に は 通 常 、 こ の ル ー テ ィ ン は 必 要 な い 。

void svcerr_progvers(SVCXPRT * xprt );

RPC パ ッ ケ ー ジ に 要 求 さ れ た バ ー ジ ョ ン の プ ロ グ ラ ム が 登 録 さ れ て い な い 場 合 に 呼 び 出 さ れ る 。 サ ー ビ ス の 実 装 に は 通 常 、 こ の ル ー テ ィ ン は 必 要 な い 。

void svcerr_systemerr(SVCXPRT * xprt );

特 定 の プ ロ ト コ ル に よ っ て カ バ ー さ れ て い な シ ス テ ム エ ラ ー が 検 出 さ れ た 場 合 に サ ー ビ ス 配 分 ル ー テ ィ ン に よ っ て 呼 び 出 さ れ る 。 例 え ば 、 サ ー ビ ス が そ れ 以 上 、 記 憶 装 置 を 割 り 当 て る こ と が で き な い 場 合 に は こ の ル ー テ ィ ン が 呼 び 出 さ れ る か も し れ な い 。

void svcerr_weakauth(SVCXPRT * xprt );

認 証 パ ラ メ ー タ ー が 足 り な い た め に リ モ ー ト プ ロ シ ー ジ ャ ー コ ー ル の 実 行 を 拒 否 さ れ た 場 合 に サ ー ビ ス 配 分 ル ー テ ィ ン に よ っ て 呼 び 出 さ れ る 。 こ の ル ー テ ィ ン は svcerr_auth(xprt, AUTH_TOOWEAK) を 呼 び 出 す 。

SVCXPRT *svcfd_create(int fd , unsigned int sendsize ,
unsigned int
recvsize );

任 意 の オ ー プ ン さ れ た フ ァ イ ル デ ィ ス ク リ プ タ ー 上 に サ ー ビ ス を 作 成 す る 。 典 型 的 に 、 フ ァ イ ル デ ィ ス ク リ プ タ ー は TCP の よ う な ス ト リ ー ム プ ロ ト コ ル で 接 続 さ れ た ソ ケ ッ ト で あ る 。 sendsize recvsize に は 送 信 バ ッ フ ァ ー と 受 信 バ ッ フ ァ ー の 大 き さ を 指 定 す る 。 も し ゼ ロ が 指 定 さ れ た 場 合 は 適 切 な デ フ ォ ル ト が 選 択 さ れ る 。

SVCXPRT *svcraw_create(void);

こ の ル ー テ ィ ン は 擬 似 RPC サ ー ビ ス 通 信 を 生 成 し て 、 そ の ポ イ ン タ ー を 返 す 。 通 信 は 実 際 に は そ の プ ロ セ ス の ア ド レ ス 空 間 に あ る バ ッ フ ァ ー な の で 対 応 す る RPC ク ラ イ ア ン ト は 同 じ ア ド レ ス 空 間 に い る 必 要 が あ る 。 clntraw_create () を 参 照 す る こ と 。 こ の ル ー テ ィ ン で RPC の シ ミ ュ レ ー シ ョ ン や 、 カ ー ネ ル イ ン タ ー フ ェ ー ス に 影 響 さ れ ず に 応 答 時 間 な ど の RPC オ ー バ ヘ ッ ド を 取 得 が で き る 。 こ の ル ー テ ィ ン は 失 敗 し た 場 合 は NULL を 返 す 。

SVCXPRT *svctcp_create(int sock , unsigned int send_buf_size ,
unsigned int
recv_buf_size );

こ の ル ー テ ィ ン は TCP/IP に 基 づ く RPC サ ー ビ ス 通 信 を 作 成 し 、 そ れ へ の ポ イ ン タ ー を 返 す 。 通 信 は ソ ケ ッ ト sock に 結 び つ け ら れ る 。 sock RPC_ANYSOCK で も 良 い 。 こ の 場 合 は 新 し い ソ ケ ッ ト が 作 成 さ れ る 。 も し ソ ケ ッ ト が ロ ー カ ル な TCP ポ ー ト に bind さ れ て い な い 場 合 は 、 こ の ル ー テ ィ ン が 適 当 な ポ ー ト に bind す る 。 補 完 さ れ た 場 合 、 xprt->xp_sock に は 通 信 の ソ ケ ッ ト デ ィ ス ク リ プ タ ー が 、 xprt->xp_port に は 通 信 の ポ ー ト 番 号 が 設 定 さ れ る 。 こ の ル ー テ ィ ン は 失 敗 し た 場 合 は NULL を 返 す 。 TCP に 基 づ い た RPC は バ ッ フ ァ ー さ れ た I/O を 使 用 す る た め 、 ユ ー ザ ー は バ ッ フ ァ ー の 大 き さ を 指 定 で き る 。 ゼ ロ を 指 定 し た 場 合 は 適 切 な デ フ ォ ル ト が 選 択 さ れ る 。

SVCXPRT *svcudp_bufcreate(int sock , unsigned int sendsize ,
unsigned int
recosize );

こ の ル ー テ ィ ン は UDP/IP に 基 づ い た RPC サ ー ビ ス 通 信 を 作 成 し 、 そ の ポ イ ン タ ー を 返 す 。 通 信 は ソ ケ ッ ト sock に 関 連 付 け ら れ る 。 sock RPC_ANYSOCK で も 良 い 。 こ の 場 合 は 新 し い ソ ケ ッ ト が 作 成 さ れ る 。 ソ ケ ッ ト が ロ ー カ ル の UDP ポ ー ト に bind さ れ て い な い 場 合 に は こ の ル ー テ ィ ン は 適 当 な ポ ー ト に bind す る 。 補 完 さ れ た 場 合 、 xprt->xp_sock に 通 信 の ソ ケ ッ ト の デ ィ ス ク リ プ タ ー が 、 xprt->xp_port に 通 信 の ポ ー ト 番 号 が 設 定 さ れ る 。 こ の ル ー テ ィ ン は 失 敗 し た 場 合 に は NULL を 返 す 。

こ れ を 使 用 す る と UDP に 基 づ い た RPC メ ッ セ ー ジ に お い て 送 信 パ ケ ッ ト や 受 信 パ ケ ッ ト の 最 大 サ イ ズ を 指 定 す る こ と が 可 能 に な る 。

SVCXPRT *svcudp_create(int sock );

送 信 パ ケ ッ ト と 受 信 パ ケ ッ ト の サ イ ズ を 同 じ デ フ ォ ル ト の 値 SZ に 指 定 し た svcudp_bufcreate(sock,SZ,SZ) と 等 価 で あ る 。

bool_t xdr_accepted_reply(XDR * xdrs , struct accepted_reply * ar );

RPC 応 答 メ ッ セ ー ジ を エ ン コ ー ド す る の に 使 用 す る 。 こ の ル ー テ ィ ン は RPC パ ッ ケ ー ジ を 用 い ず に RPC-形 式 の メ ッ セ ー ジ を 作 成 し よ う と す る 場 合 に 便 利 で あ る 。

bool_t xdr_authunix_parms(XDR * xdrs , struct authunix_parms * aupp );

UNIX 形 式 の 証 明 書 を 記 述 す る た め に 使 用 す る 。 こ の ル ー テ ィ ン は RPC 認 証 パ ッ ケ ー ジ を 使 用 せ ず に こ れ ら の 証 明 書 を 作 成 し よ う と す る 場 合 に 便 利 で あ る 。

void xdr_callhdr(XDR * xdrs , struct rpc_msg * chdr );

RPC 呼 び 出 し の ヘ ッ ダ ー メ ッ セ ー ジ を 記 述 す る た め に 使 用 す る 。 こ の ル ー テ ィ ン は RPC パ ッ ケ ー ジ を 使 用 せ ず に RPC-形 式 の メ ッ セ ー ジ を 作 成 し よ う と す る 場 合 に 便 利 で あ る 。

bool_t xdr_callmsg(XDR * xdrs , struct rpc_msg * cmsg );

RPC 呼 び 出 し メ ッ セ ー ジ を 記 述 す る の に 使 用 す る 。 こ の ル ー テ ィ ン は RPC パ ッ ケ ー ジ を 使 用 せ ず に RPC-形 式 の メ ッ セ ー ジ を 作 成 し よ う と す る 場 合 に 便 利 で あ る 。

bool_t xdr_opaque_auth(XDR * xdrs , struct opaque_auth * ap );

PRC 認 証 情 報 メ ッ セ ー ジ を 記 述 す る た め に 使 用 す る 。 こ の ル ー テ ィ ン は RPC パ ッ ケ ー ジ を 使 用 せ ず に RPC-形 式 の メ ッ セ ー ジ を 作 成 し よ う と す る 場 合 に 便 利 で あ る 。

bool_t xdr_pmap(XDR * xdrs , struct pmap * regs );

各 種 の portmap プ ロ シ ー ジ ャ ー へ の パ ラ メ ー タ ー を 外 部 的 に 記 述 す る た め に 使 用 す る 。 こ の ル ー テ ィ ン は pmap イ ン タ ー フ ェ ー ス を 使 用 せ ず に 、 こ れ ら の パ ラ メ ー タ ー を 作 成 し た い 場 合 に 便 利 で あ る 。

bool_t xdr_pmaplist(XDR * xdrs , struct pmaplist ** rp );

ポ ー ト の マ ッ ピ ン グ の リ ス ト を 外 部 的 に 記 述 す る た め に 使 用 す る 。 こ の ル ー テ ィ ン は pmap イ ン タ ー フ ェ ー ス を 使 用 せ ず に 、 こ れ ら の パ ラ メ ー タ ー を 作 成 し た い 場 合 に 便 利 で あ る 。

bool_t xdr_rejected_reply(XDR * xdrs , struct rejected_reply * rr );

RPC 応 答 メ ッ セ ー ジ を 記 述 す る た め に 使 用 す る 。 こ の ル ー テ ィ ン は RPC パ ッ ケ ー ジ を 使 用 せ ず に 、 RPC-形 式 の メ ッ セ ー ジ を 作 成 し た い 場 合 に 便 利 で あ る 。

bool_t xdr_replymsg(XDR * xdrs , struct rpc_msg * rmsg );

RPC 応 答 メ ッ セ ー ジ を 記 述 す る た め に 使 用 す る 。 こ の ル ー テ ィ ン は RPC パ ッ ケ ー ジ を 使 用 せ ず に 、 RPC 形 式 の メ ッ セ ー ジ を 作 成 し た い 場 合 に 便 利 で あ る 。

void xprt_register(SVCXPRT * xprt );

RPC サ ー ビ ス 通 信 ハ ン ド ル を 生 成 し た 後 に 、 そ れ ら 自 身 を RPC サ ー ビ ス パ ッ ケ ー ジ に 登 録 す る 必 要 が あ る 。 こ の ル ー テ ィ ン は 大 域 変 数 svc_fds を 修 正 す る 。 サ ー ビ ス の 実 装 者 は 通 常 、 こ の ル ー テ ィ ン は 必 要 な い 。

void xprt_unregister(SVCXPRT * xprt );

RPC サ ー ビ ス 通 信 ハ ン ド ル を 破 壊 す る 前 に 、 そ れ を RPC 通 信 パ ッ ケ ー ジ か ら 登 録 解 除 す る 必 要 が あ る 。 こ の ル ー テ ィ ン は 大 域 変 数 svc_fds を 修 正 す る 。 サ ー ビ ス の 実 装 者 は 通 常 、 こ の ル ー テ ィ ン は 必 要 な い 。

属 性

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

Image grohtml-31331-1.png

関 連 項 目

xdr (3)

以 下 の マ ニ ュ ア ル :

Remote Procedure Calls: Protocol Specification
Remote Procedure Call Programming Guide
rpcgen Programming Guide

RPC: Remote Procedure Call Protocol Specification , RFC 1050, Sun Microsystems, Inc., USC-ISI.

こ の 文 書 に つ い て

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