bool_t xdr_symlink( XDR * xdrs, char * params_ptr) { symlinkargs * symlinkargs_ptr; nfsstat * nfsstat_ptr; switch (xdrs->x_op) { case XDR_ENCODE: /* LINTED pointer cast */ symlinkargs_ptr = (symlinkargs *) params_ptr; return(xdr_diropargs(xdrs, &symlinkargs_ptr->from) && xdr_path(xdrs, &symlinkargs_ptr->to) && xdr_sattr(xdrs, &symlinkargs_ptr->attributes)); case XDR_DECODE: /* LINTED pointer cast */ nfsstat_ptr = (nfsstat *) params_ptr; return(xdr_nfsstat(xdrs, nfsstat_ptr)); default: return(FALSE); } /* switch on operation */ }
bool_t xdr_lookup( XDR * xdrs, char * params_ptr) { diropargs * diropargs_ptr; diropres * diropres_ptr; switch(xdrs->x_op) { case XDR_ENCODE: /* LINTED pointer cast */ diropargs_ptr = (diropargs *) params_ptr; return(xdr_f_handle(xdrs, &diropargs_ptr->dir) && xdr_path(xdrs, &diropargs_ptr->name)); case XDR_DECODE: /* LINTED pointer cast */ diropres_ptr = (diropres *) params_ptr; return(xdr_diropres(xdrs, diropres_ptr)); default: return(FALSE); } /* switch on operation */ }
static bool_t xdr_diropargs( XDR * xdrs, diropargs * dir_args_ptr) { return(xdr_f_handle(xdrs, &dir_args_ptr->dir) && xdr_path(xdrs, &dir_args_ptr->name)); }
int call(char *path, struct simple *sim){ bool_t xdr_rls(); bool_t xdr_path(); callrpc(HOST, PROG, VERS, PROC_NUM, (xdrproc_t)xdr_path, (char *)path, (xdrproc_t)xdr_rls, (char *)sim); return 0; }
bool_t xdr_symlinkargs (XDR *xdrs, symlinkargs *objp) { register long *buf; if (!xdr_diropargs (xdrs, &objp->from)) return FALSE; if (!xdr_path (xdrs, &objp->to)) return FALSE; if (!xdr_sattr (xdrs, &objp->attributes)) return FALSE; return TRUE; }
bool_t xdr_readlinkres (XDR *xdrs, readlinkres *objp) { register long *buf; if (!xdr_nfsstat (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS_OK: if (!xdr_path (xdrs, &objp->readlinkres_u.data)) return FALSE; break; default: break; } return TRUE; }