ONC+ Developer's Guide

Pointer Example

Suppose you have a structure containing a person's name and a pointer to a gnumbers structure containing the person's gross assets and liabilities. The construct is:

struct pgn {
   char *name;
   struct gnumbers *gnp;

The corresponding XDR routine for this structure is:

xdr_pgn(xdrs, pp)
   XDR *xdrs;
   struct pgn *pp;
   return(xdr_string(xdrs, &pp->name, NLEN) &&
      xdr_reference(xdrs, &pp->gnp, sizeof(struct gnumbers),