// -*-c++-*-
/* This file was automatically generated by rpcc. */

#include "block_proto.h"

#ifdef MAINTAINER

const strbuf &
rpc_print (const strbuf &sb, const put_args &obj, int recdepth,
           const char *name, const char *prefix)
{
  if (name) {
    if (prefix)
      sb << prefix;
    sb << "put_args " << name << " = ";
  };
  const char *sep;
  str npref;
  if (prefix) {
    npref = strbuf ("%s  ", prefix);
    sep = "";
    sb << "{\n";
  }
  else {
    sep = ", ";
    sb << "{ ";
  }
  rpc_print (sb, obj.key, recdepth, "key", npref);
  sb << sep;
  rpc_print (sb, obj.value, recdepth, "value", npref);
  if (prefix)
    sb << prefix << "};\n";
  else
    sb << " }";
  return sb;
}
void
print_put_args (const void *_objp, const strbuf *_sbp, int _recdepth,
                const char *_name, const char *_prefix)
{
  rpc_print (_sbp ? *_sbp : warnx, *static_cast<const put_args *> (_objp),
             _recdepth, _name, _prefix);
}
void
dump_put_args (const put_args *objp)
{
  rpc_print (warnx, *objp);
}

const strbuf &
rpc_print (const strbuf &sb, const get_args &obj, int recdepth,
           const char *name, const char *prefix)
{
  if (name) {
    if (prefix)
      sb << prefix;
    sb << "get_args " << name << " = ";
  };
  const char *sep;
  str npref;
  if (prefix) {
    npref = strbuf ("%s  ", prefix);
    sep = "";
    sb << "{\n";
  }
  else {
    sep = ", ";
    sb << "{ ";
  }
  rpc_print (sb, obj.key, recdepth, "key", npref);
  if (prefix)
    sb << prefix << "};\n";
  else
    sb << " }";
  return sb;
}
void
print_get_args (const void *_objp, const strbuf *_sbp, int _recdepth,
                const char *_name, const char *_prefix)
{
  rpc_print (_sbp ? *_sbp : warnx, *static_cast<const get_args *> (_objp),
             _recdepth, _name, _prefix);
}
void
dump_get_args (const get_args *objp)
{
  rpc_print (warnx, *objp);
}

const strbuf &
rpc_print (const strbuf &sb, const get_result &obj, int recdepth,
           const char *name, const char *prefix)
{
  if (name) {
    if (prefix)
      sb << prefix;
    sb << "get_result " << name << " = ";
  };
  const char *sep;
  str npref;
  if (prefix) {
    npref = strbuf ("%s  ", prefix);
    sep = "";
    sb << "{\n";
  }
  else {
    sep = ", ";
    sb << "{ ";
  }
  rpc_print (sb, obj.ok, recdepth, "ok", npref);
  sb << sep;
  rpc_print (sb, obj.value, recdepth, "value", npref);
  if (prefix)
    sb << prefix << "};\n";
  else
    sb << " }";
  return sb;
}
void
print_get_result (const void *_objp, const strbuf *_sbp, int _recdepth,
                  const char *_name, const char *_prefix)
{
  rpc_print (_sbp ? *_sbp : warnx, *static_cast<const get_result *> (_objp),
             _recdepth, _name, _prefix);
}
void
dump_get_result (const get_result *objp)
{
  rpc_print (warnx, *objp);
}

const strbuf &
rpc_print (const strbuf &sb, const remove_args &obj, int recdepth,
           const char *name, const char *prefix)
{
  if (name) {
    if (prefix)
      sb << prefix;
    sb << "remove_args " << name << " = ";
  };
  const char *sep;
  str npref;
  if (prefix) {
    npref = strbuf ("%s  ", prefix);
    sep = "";
    sb << "{\n";
  }
  else {
    sep = ", ";
    sb << "{ ";
  }
  rpc_print (sb, obj.key, recdepth, "key", npref);
  if (prefix)
    sb << prefix << "};\n";
  else
    sb << " }";
  return sb;
}
void
print_remove_args (const void *_objp, const strbuf *_sbp, int _recdepth,
                   const char *_name, const char *_prefix)
{
  rpc_print (_sbp ? *_sbp : warnx, *static_cast<const remove_args *> (_objp),
             _recdepth, _name, _prefix);
}
void
dump_remove_args (const remove_args *objp)
{
  rpc_print (warnx, *objp);
}

#endif /* MAINTAINER*/
void *
put_args_alloc ()
{
  return New put_args;
}
bool_t
xdr_put_args (XDR *xdrs, void *objp)
{
  switch (xdrs->x_op) {
  case XDR_ENCODE:
  case XDR_DECODE:
    return rpc_traverse (xdrs, *static_cast<put_args *> (objp));
  case XDR_FREE:
    rpc_destruct (static_cast<put_args *> (objp));
    return true;
  default:
    panic ("invalid xdr operation %d\n", xdrs->x_op);
  }
}

void *
get_args_alloc ()
{
  return New get_args;
}
bool_t
xdr_get_args (XDR *xdrs, void *objp)
{
  switch (xdrs->x_op) {
  case XDR_ENCODE:
  case XDR_DECODE:
    return rpc_traverse (xdrs, *static_cast<get_args *> (objp));
  case XDR_FREE:
    rpc_destruct (static_cast<get_args *> (objp));
    return true;
  default:
    panic ("invalid xdr operation %d\n", xdrs->x_op);
  }
}

void *
get_result_alloc ()
{
  return New get_result;
}
bool_t
xdr_get_result (XDR *xdrs, void *objp)
{
  switch (xdrs->x_op) {
  case XDR_ENCODE:
  case XDR_DECODE:
    return rpc_traverse (xdrs, *static_cast<get_result *> (objp));
  case XDR_FREE:
    rpc_destruct (static_cast<get_result *> (objp));
    return true;
  default:
    panic ("invalid xdr operation %d\n", xdrs->x_op);
  }
}

void *
remove_args_alloc ()
{
  return New remove_args;
}
bool_t
xdr_remove_args (XDR *xdrs, void *objp)
{
  switch (xdrs->x_op) {
  case XDR_ENCODE:
  case XDR_DECODE:
    return rpc_traverse (xdrs, *static_cast<remove_args *> (objp));
  case XDR_FREE:
    rpc_destruct (static_cast<remove_args *> (objp));
    return true;
  default:
    panic ("invalid xdr operation %d\n", xdrs->x_op);
  }
}

static const rpcgen_table block_prog_1_tbl[] = {
  BLOCK_PROG_1_APPLY (XDRTBL_DECL)
};
const rpc_program block_prog_1 = {
  BLOCK_PROG, BLOCK_VERS, block_prog_1_tbl,
  sizeof (block_prog_1_tbl) / sizeof (block_prog_1_tbl[0]),
  "block_prog_1"
};


