XDR でのポインターの使用例の表示
このセクションでは、XDR の例でのポインターの使用について説明します。
構造体に人の名前と gnumbers 構造体へのポインターが含まれていて、gnumbers 構造体がその人の総資産と総負債を指定している場合、その構造体は次のように記述できます。
struct pgn {
char *name;
struct gnumbers *gnp;
};
この構造に対応する eXternal データ表現 (XDR) ルーチンは、以下のとおりです。
bool_t
xdr_pgn(xdrs, pp)
XDR *xdrs;
struct pgn *pp;
{
if (xdr_string(xdrs, &pp->name, NLEN) &&
xdr_reference(xdrs, &pp->gnp,
sizeof(struct gnumbers), xdr_gnumbers))
return(TRUE);
return(FALSE);
}