Lines Matching refs:xprt

86 #define	su_data(xprt)	((struct svc_door_data *)(xprt->xp_p2))  argument
98 __svc_add_to_xlist(SVCXPRT_LIST **list, SVCXPRT *xprt, mutex_t *lockp) in __svc_add_to_xlist() argument
104 l->xprt = xprt; in __svc_add_to_xlist()
115 __svc_rm_from_xlist(SVCXPRT_LIST **list, SVCXPRT *xprt, mutex_t *lockp) in __svc_rm_from_xlist() argument
122 if ((*l)->xprt == xprt) { in __svc_rm_from_xlist()
160 svc_door_destroy_pvt(l->xprt); in __svc_cleanup_door_xprts()
181 svc_door_dispatch(SVCXPRT *xprt, struct rpc_msg *msg, struct svc_req *r) in svc_door_dispatch() argument
185 struct svc_door_data *su = su_data(xprt); in svc_door_dispatch()
188 r->rq_xprt = xprt; in svc_door_dispatch()
199 svcerr_auth(xprt, why); in svc_door_dispatch()
205 (*su->call_info.dispatch)(r, xprt); in svc_door_dispatch()
214 svcerr_progvers(xprt, su->call_info.versnum, in svc_door_dispatch()
217 svcerr_noprog(xprt); in svc_door_dispatch()
229 SVCXPRT *xprt; in door_server() local
249 if ((xprt = get_xprt_copy(parent, result_buf)) == NULL) { in door_server()
259 msg = SVCEXT(xprt)->msg; in door_server()
261 r = SVCEXT(xprt)->req; in door_server()
263 cred_area = SVCEXT(xprt)->cred_area; in door_server()
270 su = su_data(xprt); in door_server()
274 if (svc_door_recv(xprt, msg)) in door_server()
275 svc_door_dispatch(xprt, msg, r); in door_server()
277 if ((len = return_xprt_copy(xprt)) > 0) { in door_server()
296 svc_door_xprtfree(SVCXPRT *xprt) in svc_door_xprtfree() argument
299 struct svc_door_data *su = xprt ? su_data(xprt) : NULL; in svc_door_xprtfree()
301 if (xprt == NULL) in svc_door_xprtfree()
303 if (xprt->xp_netid) in svc_door_xprtfree()
304 free(xprt->xp_netid); in svc_door_xprtfree()
305 if (xprt->xp_tp) in svc_door_xprtfree()
306 free(xprt->xp_tp); in svc_door_xprtfree()
309 svc_xprt_free(xprt); in svc_door_xprtfree()
316 SVCXPRT *xprt; in svc_door_create() local
333 if ((xprt = svc_xprt_alloc()) == NULL) { in svc_door_create()
338 svc_flags(xprt) |= SVC_DOOR; in svc_door_create()
371 did = door_create(door_server, (void *)xprt, DOOR_REFUSE_DESC); in svc_door_create()
405 xprt->xp_p2 = (caddr_t)su; in svc_door_create()
406 xprt->xp_verf.oa_base = su->su_verfbody; in svc_door_create()
407 xprt->xp_ops = svc_door_ops(); in svc_door_create()
408 xprt->xp_netid = strdup("door"); in svc_door_create()
409 if (xprt->xp_netid == NULL) { in svc_door_create()
413 xprt->xp_tp = strdup(rendezvous); in svc_door_create()
414 if (xprt->xp_tp == NULL) { in svc_door_create()
418 xprt->xp_fd = did; in svc_door_create()
421 if (!__svc_add_to_xlist(&dxlist, xprt, NULL)) { in svc_door_create()
427 return (xprt); in svc_door_create()
433 if (xprt) in svc_door_create()
434 svc_door_xprtfree(xprt); in svc_door_create()
443 SVCXPRT *xprt; in svc_door_xprtcopy() local
446 if ((xprt = svc_xprt_alloc()) == NULL) in svc_door_xprtcopy()
450 SVCEXT(xprt)->parent = parent; in svc_door_xprtcopy()
452 SVCEXT(xprt)->flags = SVCEXT(parent)->flags; in svc_door_xprtcopy()
454 xprt->xp_fd = parent->xp_fd; in svc_door_xprtcopy()
455 xprt->xp_port = parent->xp_port; in svc_door_xprtcopy()
456 xprt->xp_ops = svc_door_ops(); in svc_door_xprtcopy()
458 xprt->xp_tp = (char *)strdup(parent->xp_tp); in svc_door_xprtcopy()
459 if (xprt->xp_tp == NULL) { in svc_door_xprtcopy()
461 svc_door_xprtfree(xprt); in svc_door_xprtcopy()
466 xprt->xp_netid = (char *)strdup(parent->xp_netid); in svc_door_xprtcopy()
467 if (xprt->xp_netid == NULL) { in svc_door_xprtcopy()
471 svc_door_xprtfree(xprt); in svc_door_xprtcopy()
475 xprt->xp_type = parent->xp_type; in svc_door_xprtcopy()
478 svc_door_xprtfree(xprt); in svc_door_xprtcopy()
486 xprt->xp_p2 = (caddr_t)su; /* su_data(xprt) = su */ in svc_door_xprtcopy()
487 xprt->xp_verf.oa_base = su->su_verfbody; in svc_door_xprtcopy()
489 return (xprt); in svc_door_xprtcopy()
499 SVCXPRT *xprt; in get_xprt_copy() local
506 xprt = xret->xprt; in get_xprt_copy()
508 svc_flags(xprt) = svc_flags(parent); in get_xprt_copy()
510 xprt = svc_door_xprtcopy(parent); in get_xprt_copy()
512 if (xprt) { in get_xprt_copy()
516 su = su_data(xprt); in get_xprt_copy()
520 return (xprt); in get_xprt_copy()
524 return_xprt_copy(SVCXPRT *xprt) in return_xprt_copy() argument
529 int len = su_data(xprt)->len; in return_xprt_copy()
533 if ((parent = SVCEXT(xprt)->parent) == NULL) { in return_xprt_copy()
540 xlist = SVCEXT(xprt)->my_xlist; in return_xprt_copy()
553 svc_flags(xprt) |= svc_flags(parent); in return_xprt_copy()
555 if (svc_defunct(xprt)) { in return_xprt_copy()
560 svc_door_destroy_pvt(xprt); in return_xprt_copy()
568 svc_door_stat(SVCXPRT *xprt) in svc_door_stat() argument
574 svc_door_recv(SVCXPRT *xprt, struct rpc_msg *msg) in svc_door_recv() argument
577 struct svc_door_data *su = su_data(xprt); in svc_door_recv()
588 svc_door_reply(SVCXPRT *xprt, struct rpc_msg *msg) in svc_door_reply() argument
591 struct svc_door_data *su = su_data(xprt); in svc_door_reply()
604 svc_door_getargs(SVCXPRT *xprt, xdrproc_t xdr_args, caddr_t args_ptr) in svc_door_getargs() argument
607 return ((*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr)); in svc_door_getargs()
611 svc_door_freeargs(SVCXPRT *xprt, xdrproc_t xdr_args, caddr_t args_ptr) in svc_door_freeargs() argument
614 XDR *xdrs = &(su_data(xprt)->su_xdrs); in svc_door_freeargs()
621 svc_door_destroy(SVCXPRT *xprt) in svc_door_destroy() argument
624 svc_door_destroy_pvt(xprt); in svc_door_destroy()
629 svc_door_destroy_pvt(SVCXPRT *xprt) in svc_door_destroy_pvt() argument
632 if (SVCEXT(xprt)->parent) in svc_door_destroy_pvt()
634 xprt = SVCEXT(xprt)->parent; in svc_door_destroy_pvt()
636 svc_flags(xprt) |= SVC_DEFUNCT; in svc_door_destroy_pvt()
638 if (SVCEXT(xprt)->refcnt > 0) in svc_door_destroy_pvt()
641 __svc_rm_from_xlist(&dxlist, xprt, NULL); in svc_door_destroy_pvt()
643 if (xprt->xp_tp) { in svc_door_destroy_pvt()
644 (void) fdetach(xprt->xp_tp); in svc_door_destroy_pvt()
645 (void) unlink(xprt->xp_tp); in svc_door_destroy_pvt()
647 (void) door_revoke(xprt->xp_fd); in svc_door_destroy_pvt()
649 svc_xprt_destroy(xprt); in svc_door_destroy_pvt()
657 svc_door_control(SVCXPRT *xprt, const uint_t rq, void *in) in svc_door_control() argument
670 if (door_setparam(xprt->xp_fd, DOOR_PARAM_DATA_MAX, in svc_door_control()
677 if (door_getparam(xprt->xp_fd, DOOR_PARAM_DATA_MAX, in svc_door_control()
721 __svc_get_door_cred(SVCXPRT *xprt, svc_local_cred_t *lcred) in __svc_get_door_cred() argument
737 __svc_get_door_ucred(const SVCXPRT *xprt, ucred_t *ucp) in __svc_get_door_ucred() argument