
enum xdr_op
{
  XDR_ENCODE, XDR_DECODE, XDR_FREE
}
 ;
typedef struct XDR
{
  enum xdr_op x_op;
  struct xdr_ops *x_ops;
  caddr_t x_public;
  caddr_t x_private;
  caddr_t x_base;
  int x_handy;
}
XDR;

struct xdr_ops
{
  bool_t (*x_getlong) (XDR * __xdrs, long *__lp);
  bool_t (*x_putlong) (XDR * __xdrs, long *__lp);
  bool_t (*x_getbytes) (XDR * __xdrs, caddr_t __addr, u_int __len);
  bool_t (*x_putbytes) (XDR * __xdrs, char *__addr, u_int __len);
  u_int (*x_getpostn) (XDR * __xdrs);
  bool_t (*x_setpostn) (XDR * __xdrs, u_int __pos);
  int32_t *(*x_inline) (XDR * __xdrs, int __len);
  void (*x_destroy) (XDR * __xdrs);
    bool_t (*x_getint32) (XDR * __xdrs, int32_t * __ip);
    bool_t (*x_putint32) (XDR * __xdrs, int32_t * __ip);
}
 ;

typedef bool_t (*xdrproc_t) (XDR *, void *, ...);

struct xdr_discrim
{
  int value;
  xdrproc_t proc;
}
 ;
