Lines Matching refs:rqstp

662 svc_sendreply_common(struct svc_req *rqstp, struct rpc_msg *rply,
665 SVCXPRT *xprt = rqstp->rq_xprt;
668 if (rqstp->rq_args) {
669 m_freem(rqstp->rq_args);
670 rqstp->rq_args = NULL;
675 rply, svc_getrpccaller(rqstp), body);
677 if (!SVCAUTH_WRAP(&rqstp->rq_auth, &body))
680 ok = SVC_REPLY(xprt, rply, rqstp->rq_addr, body, &rqstp->rq_reply_seq);
681 if (rqstp->rq_addr) {
682 free(rqstp->rq_addr, M_SONAME);
683 rqstp->rq_addr = NULL;
693 svc_sendreply(struct svc_req *rqstp, xdrproc_t xdr_results, void * xdr_location)
700 rply.rm_xid = rqstp->rq_xid;
703 rply.acpted_rply.ar_verf = rqstp->rq_verf;
714 return (svc_sendreply_common(rqstp, &rply, m));
722 svc_sendreply_mbuf(struct svc_req *rqstp, struct mbuf *m)
726 rply.rm_xid = rqstp->rq_xid;
729 rply.acpted_rply.ar_verf = rqstp->rq_verf;
734 return (svc_sendreply_common(rqstp, &rply, m));
741 svcerr_noproc(struct svc_req *rqstp)
743 SVCXPRT *xprt = rqstp->rq_xprt;
746 rply.rm_xid = rqstp->rq_xid;
749 rply.acpted_rply.ar_verf = rqstp->rq_verf;
754 &rply, svc_getrpccaller(rqstp), NULL);
756 svc_sendreply_common(rqstp, &rply, NULL);
763 svcerr_decode(struct svc_req *rqstp)
765 SVCXPRT *xprt = rqstp->rq_xprt;
768 rply.rm_xid = rqstp->rq_xid;
771 rply.acpted_rply.ar_verf = rqstp->rq_verf;
778 svc_sendreply_common(rqstp, &rply, NULL);
785 svcerr_systemerr(struct svc_req *rqstp)
787 SVCXPRT *xprt = rqstp->rq_xprt;
790 rply.rm_xid = rqstp->rq_xid;
793 rply.acpted_rply.ar_verf = rqstp->rq_verf;
798 &rply, svc_getrpccaller(rqstp), NULL);
800 svc_sendreply_common(rqstp, &rply, NULL);
807 svcerr_auth(struct svc_req *rqstp, enum auth_stat why)
809 SVCXPRT *xprt = rqstp->rq_xprt;
812 rply.rm_xid = rqstp->rq_xid;
820 &rply, svc_getrpccaller(rqstp), NULL);
822 svc_sendreply_common(rqstp, &rply, NULL);
829 svcerr_weakauth(struct svc_req *rqstp)
832 svcerr_auth(rqstp, AUTH_TOOWEAK);
839 svcerr_noprog(struct svc_req *rqstp)
841 SVCXPRT *xprt = rqstp->rq_xprt;
844 rply.rm_xid = rqstp->rq_xid;
847 rply.acpted_rply.ar_verf = rqstp->rq_verf;
852 &rply, svc_getrpccaller(rqstp), NULL);
854 svc_sendreply_common(rqstp, &rply, NULL);
861 svcerr_progvers(struct svc_req *rqstp, rpcvers_t low_vers, rpcvers_t high_vers)
863 SVCXPRT *xprt = rqstp->rq_xprt;
866 rply.rm_xid = rqstp->rq_xid;
869 rply.acpted_rply.ar_verf = rqstp->rq_verf;
876 &rply, svc_getrpccaller(rqstp), NULL);
878 svc_sendreply_common(rqstp, &rply, NULL);
1014 svc_executereq(struct svc_req *rqstp)
1016 SVCXPRT *xprt = rqstp->rq_xprt;
1028 if (s->sc_prog == rqstp->rq_prog) {
1029 if (s->sc_vers == rqstp->rq_vers) {
1035 (*s->sc_dispatch)(rqstp, xprt);
1051 svcerr_progvers(rqstp, low_vers, high_vers);
1053 svcerr_noprog(rqstp);
1055 svc_freereq(rqstp);
1146 struct svc_req *rqstp;
1260 rqstp = NULL;
1261 stat = svc_getreq(xprt, &rqstp);
1262 if (rqstp) {
1263 svc_change_space_used(pool, rqstp->rq_size);
1269 stpref = pool->sp_assign(st, rqstp);
1270 rqstp->rq_thread = stpref;
1272 rqstp, rq_link);
1275 rqstp = NULL;
1277 rqstp->rq_thread = st;
1279 rqstp, rq_link);
1282 } while (rqstp == NULL && stat == XPRT_MOREREQS
1307 while ((rqstp = STAILQ_FIRST(&st->st_reqs)) != NULL) {
1310 sz = (long)rqstp->rq_size;
1311 svc_executereq(rqstp);
1423 svc_getargs(struct svc_req *rqstp, xdrproc_t xargs, void *args)
1429 m = rqstp->rq_args;
1430 rqstp->rq_args = NULL;
1440 svc_freeargs(struct svc_req *rqstp, xdrproc_t xargs, void *args)
1444 if (rqstp->rq_addr) {
1445 free(rqstp->rq_addr, M_SONAME);
1446 rqstp->rq_addr = NULL;
1454 svc_freereq(struct svc_req *rqstp)
1459 st = rqstp->rq_thread;
1463 pool->sp_done(st, rqstp);
1466 if (rqstp->rq_auth.svc_ah_ops)
1467 SVCAUTH_RELEASE(&rqstp->rq_auth);
1469 if (rqstp->rq_xprt) {
1470 SVC_RELEASE(rqstp->rq_xprt);
1473 if (rqstp->rq_addr)
1474 free(rqstp->rq_addr, M_SONAME);
1476 if (rqstp->rq_args)
1477 m_freem(rqstp->rq_args);
1479 free(rqstp, M_RPC);