ndr_stream
struct ndr_stream;
struct ndr_stream *stream; /* root of NDR */
char *(*ndo_malloc)(struct ndr_stream *, unsigned, ndr_ref_t *);
int (*ndo_free)(struct ndr_stream *, char *, ndr_ref_t *);
int (*ndo_grow_pdu)(struct ndr_stream *, unsigned long, ndr_ref_t *);
int (*ndo_pad_pdu)(struct ndr_stream *, unsigned long,
int (*ndo_get_pdu)(struct ndr_stream *, unsigned long,
int (*ndo_put_pdu)(struct ndr_stream *, unsigned long,
void (*ndo_tattle)(struct ndr_stream *, char *, ndr_ref_t *);
void (*ndo_tattle_error)(struct ndr_stream *, ndr_ref_t *);
int (*ndo_reset)(struct ndr_stream *);
void (*ndo_destruct)(struct ndr_stream *);
int ndo_process(struct ndr_stream *, ndr_typeinfo_t *, char *);
int ndo_operation(struct ndr_stream *, ndr_typeinfo_t *, int opnum, char *);
void ndo_printf(struct ndr_stream *, ndr_ref_t *, const char *, ...);
void ndo_fmt(struct ndr_stream *, ndr_ref_t *, char *);
int ndr_run_outer_queue(struct ndr_stream *);
size_t ndr_mbstowcs(struct ndr_stream *, ndr_wchar_t *, const char *, size_t);