Lines Matching refs:xdr
52 extern void xdr_destroy_common(XDR *xdr);
64 XDR *xdr; member
127 if (trav->xdr->fd == n) { in svc_context()
129 trav->xdr->xops->read(trav->xdr); in svc_context()
228 svc->xdr = NULL; in svc_register()
233 svc->xdr = xdr_init_common("/dev/oncrpc/00000000:0", in svc_register()
235 if (svc->xdr == NULL) { in svc_register()
246 if (r_control(svc->xdr->fd, in svc_register()
251 xdr_destroy_common(svc->xdr); in svc_register()
257 FD_SET(svc->xdr->fd, &xprt->fdset); in svc_register()
258 if (svc->xdr->fd > xprt->max_fd) xprt->max_fd = svc->xdr->fd; in svc_register()
259 svc->x_prog = svc->xdr->x_prog = prog; in svc_register()
260 svc->x_vers = svc->xdr->x_vers = vers; in svc_register()
298 if (found->xdr) { in svc_unregister()
307 if (r_control(found->xdr->fd, in svc_unregister()
314 FD_CLR(found->xdr->fd, &xprt->fdset); in svc_unregister()
318 xdr_destroy_common(found->xdr); in svc_unregister()
363 svc->xdr->fd, svc->x_prog, svc->x_vers); in svc_dispatch()
365 uint32 prog = ntohl(((uint32 *)(svc->xdr->in_msg))[RPC_OFFSET+3]); in svc_dispatch()
366 uint32 vers = ntohl(((uint32 *)(svc->xdr->in_msg))[RPC_OFFSET+4]); in svc_dispatch()
367 uint32 proc = ntohl(((uint32 *)(svc->xdr->in_msg))[RPC_OFFSET+5]); in svc_dispatch()
369 if (ntohl(((uint32 *)svc->xdr->in_msg)[RPC_OFFSET+1]) != RPC_MSG_CALL) { in svc_dispatch()
380 if (vers != svc->xdr->x_vers) { in svc_dispatch()
382 vers, svc->xdr->x_vers); in svc_dispatch()
398 svc->xdr->in_next = (RPC_OFFSET + 6 + 4)*sizeof(uint32); in svc_dispatch()
401 svc->xdr->x_op = XDR_DECODE; in svc_dispatch()
458 bool_t result = (bool_t) (*xdr_args)(serv->xdr, args_ptr); in svc_getargs()
459 XDR_MSG_DONE (serv->xdr); in svc_getargs()
469 serv->xdr->x_op = XDR_FREE; in svc_freeargs()
470 return (*xdr_args)((XDR *)serv->xdr, args_ptr); in svc_freeargs()
486 serv->xdr->x_op = XDR_ENCODE; in svc_sendreply()
488 if (!xdr_reply_msg_start(serv->xdr, &verf) || in svc_sendreply()
489 !xdr_results(serv->xdr, xdr_location)) in svc_sendreply()
492 ((uint32 *)(serv->xdr->out_msg))[RPC_OFFSET] = in svc_sendreply()
493 ((uint32 *)(serv->xdr->in_msg))[RPC_OFFSET]; //RPC xid in svc_sendreply()
495 serv->xdr->x_prog, in svc_sendreply()
496 serv->xdr->x_vers, in svc_sendreply()
497 ntohl(((uint32 *)(serv->xdr->out_msg))[RPC_OFFSET])); in svc_sendreply()
498 XDR_MSG_SEND(serv->xdr); in svc_sendreply()
506 #define SVCERR_XDR_SEND(xdr, reply) \ argument
507 ( XDR_MSG_START(xdr, RPC_MSG_REPLY) && \
508 xdr_send_reply_header(xdr, &reply) && \
509 XDR_MSG_SEND(xdr) )
517 reply.u.ar.verf = serv->xdr->verf; in svcerr_decode()
520 if (!SVCERR_XDR_SEND(serv->xdr, reply)) in svcerr_decode()
522 XDR_MSG_ABORT(serv->xdr); in svcerr_decode()
532 reply.u.ar.verf = serv->xdr->verf; in svcerr_systemerr()
535 if (!SVCERR_XDR_SEND(serv->xdr, reply)) in svcerr_systemerr()
537 XDR_MSG_ABORT(serv->xdr); in svcerr_systemerr()
547 reply.u.ar.verf = serv->xdr->verf; in svcerr_noproc()
550 if (!SVCERR_XDR_SEND(serv->xdr, reply)) in svcerr_noproc()
552 XDR_MSG_ABORT(serv->xdr); in svcerr_noproc()