xdrrec_setpos (xdrs, pos) XDR *xdrs; u_int pos;
xdrrec_setpos (XDR *xdrs, u_int pos)
xdrrec_setpos (xdrs, pos)     XDR *xdrs;     u_int pos;{  RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;  u_int currpos = xdrrec_getpos (xdrs);  int delta = currpos - pos;  caddr_t newpos;  if ((int) currpos != -1)    switch (xdrs->x_op)      {      case XDR_ENCODE:	newpos = rstrm->out_finger - delta;	if (newpos > (caddr_t) rstrm->frag_header &&	    newpos < rstrm->out_boundry)	  {	    rstrm->out_finger = newpos;	    return TRUE;	  }	break;      case XDR_DECODE:	newpos = rstrm->in_finger - delta;	if ((delta < (int) (rstrm->fbtbc)) &&	    (newpos <= rstrm->in_boundry) &&	    (newpos >= rstrm->in_base))	  {	    rstrm->in_finger = newpos;	    rstrm->fbtbc -= delta;	    return TRUE;	  }	break;      default:	break;      }  return FALSE;}