xdr_init_encode — Initialize a struct xdr_stream for sending data.


void xdr_init_encode (struct xdr_stream * xdr,
 struct xdr_buf * buf,
 __be32 * p);


struct xdr_stream * xdr

pointer to xdr_stream struct

struct xdr_buf * buf

pointer to XDR buffer in which to encode data

__be32 * p

current pointer inside XDR buffer


at the moment the RPC client only passes the length of our scratch buffer in the xdr_buf's header kvec. Previously this meant we needed to call xdr_adjust_iovec after encoding the data. With the new scheme, the xdr_stream manages the details of the buffer length, and takes care of adjusting the kvec length for us.