GETRPCENT_R

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

getrpcent_r, getrpcbyname_r, getrpcbynumber_r - RPC エントリーを 取得する (リエントラント版)  

書式

#include <netdb.h>

int getrpcent_r(struct rpcent *result_buf, char *buf,
                size_t buflen, struct rpcent **result);

int getrpcbyname_r(const char *name,
                struct rpcent *result_buf, char *buf,
                size_t buflen, struct rpcent **result);

int getrpcbynumber_r(int number,
                struct rpcent *result_buf, char *buf,
                size_t buflen, struct rpcent **result);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

getrpcent_r(), getrpcbyname_r(), getrpcbynumber_r():
    glibc 2.19 以降:
        _DEFAULT_SOURCE
    glibc 2.19 以前:
        _BSD_SOURCE || _SVID_SOURCE  

説明

関数 getrpcent_r(), getrpcbyname_r(), getrpcbynumber_r() は、 それぞれ getrpcent(3), getrpcbyname(3), getrpcbynumber(3) の リエントラント版である。 rpcent 構造体の返し方と、関数呼び出し時の引数と返り値が異なる。 このマニュアルページでは、リエントラントでない関数との違いだけを 説明する。

これらの関数は、関数の結果として静的に割り当てられた rpcent 構造体 へのポインターを返すのではなく、 rpcent 構造体を result_buf が 指す場所にコピーする。

配列 buf は、返される rpcent 構造体が指す文字列フィールドを 格納するのに使用される (リエントラントでない関数の場合は、 これらの文字列は静的な領域に格納される)。 この配列の大きさは buflen で指定される。 buf が小さすぎる場合、関数呼び出しはエラー ERANGE で失敗し、 呼び出し側ではもっと大きなバッファーで再度呼び出す必要がある (ほとんどの アプリケーションでは、長さ 1024 バイトのバッファーで十分なはずである)。

関数呼び出しで RPC レコードの取得に成功すると、 *result は result_buf を指すように設定される。 それ以外の場合は *result に NULL が設定される。  

返り値

成功すると、これらの関数は 0 を返す。エラーの場合、「エラー」の節の リストにある正のエラー番号のいずれかを返す。

エラーの場合、レコードが見つからなかった場合 (getrpcbyname_r(), getrpcbyaddr_r()) やこれ以上レコードがない場合 (getrpcent_r())、 result には NULL が設定される。  

エラー

ENOENT
(getrpcent_r()) データベースにこれ以上レコードがない。
ERANGE
buf が小さすぎる。もっと大きなバッファーにして (または buflen を増やして) 再度呼び出すこと。
 

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
getrpcent_r(), getrpcbyname_r(), getrpcbynumber_r() Thread safety MT-Safe locale
 

準拠

これらの関数は GNU による拡張である。 他のシステムにも同様の名前の関数が存在する場合があるが、 通常は関数の引数が異なる。  

関連項目

getrpcent(3), rpc(5)  

この文書について

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

関連キーワード

struct   rpcent   構造体   レコード   size   バッファー   getrpcent   getrpcbyname   getrpcbynumber   格納   再度   成功   以上   エントリー   netdb   検査   マクロ   要件   macros   返り値   マニュアル   ポインター   場所   コピー   領域

Linux マニュアル 一覧

関連するコマンド・関数

getrpcbyname_r.3   getrpcbynumber_r.3   endrpcent.3   getrpcbyname.3   getrpcbynumber.3   getrpcent.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:16 GMT, October 11, 2026