Lines Matching refs:xprt
57 #define rpc_buffer(xprt) ((xprt)->xp_p1) argument
89 #define su_data(xprt) ((struct svcudp_data *)(xprt->xp_p2)) argument
110 register SVCXPRT *xprt; local
136 xprt = svc_xprt_alloc();
137 if (xprt == NULL) {
146 svc_xprt_free(xprt);
152 if ((rpc_buffer(xprt) = (char *)mem_alloc(su->su_iosz)) == NULL) {
155 svc_xprt_free(xprt);
161 &(su->su_xdrs), rpc_buffer(xprt), su->su_iosz, XDR_DECODE);
163 xprt->xp_p2 = (caddr_t)su;
164 xprt->xp_netid = NULL;
165 xprt->xp_verf.oa_base = su->su_verfbody;
166 xprt->xp_ops = svcudp_ops();
167 xprt->xp_port = ntohs(addr.sin_port);
168 xprt->xp_sock = sock;
169 xprt->xp_rtaddr.buf = &xprt->xp_raddr[0];
170 xprt_register(xprt);
171 return (xprt);
183 svcudp_stat(xprt) in svcudp_stat() argument
184 SVCXPRT *xprt; in svcudp_stat()
191 svcudp_recv(xprt, msg) in svcudp_recv() argument
192 register SVCXPRT *xprt; in svcudp_recv()
195 register struct svcudp_data *su = su_data(xprt);
202 xprt->xp_addrlen = sizeof (struct sockaddr_in);
203 rlen = _recvfrom(xprt->xp_sock, rpc_buffer(xprt), (int) su->su_iosz,
204 0, (struct sockaddr *)&(xprt->xp_raddr), &(xprt->xp_addrlen));
215 if (cache_get(xprt, msg, &reply, &replylen)) {
216 (void) _sendto(xprt->xp_sock, reply, (int) replylen, 0,
217 (struct sockaddr *) &xprt->xp_raddr,
218 xprt->xp_addrlen);
226 svcudp_reply(xprt, msg) in svcudp_reply() argument
227 register SVCXPRT *xprt; in svcudp_reply()
230 register struct svcudp_data *su = su_data(xprt);
240 if (_sendto(xprt->xp_sock, rpc_buffer(xprt), slen, 0,
241 (struct sockaddr *)&(xprt->xp_raddr), xprt->xp_addrlen)
245 (void) cache_set(xprt, (uint_t) slen);
253 svcudp_getargs(xprt, xdr_args, args_ptr) in svcudp_getargs() argument
254 SVCXPRT *xprt; in svcudp_getargs()
259 return ((*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr));
263 svcudp_freeargs(xprt, xdr_args, args_ptr) in svcudp_freeargs() argument
264 SVCXPRT *xprt; in svcudp_freeargs()
268 register XDR *xdrs = &(su_data(xprt)->su_xdrs);
275 svcudp_destroy(xprt) in svcudp_destroy() argument
276 register SVCXPRT *xprt; in svcudp_destroy()
278 register struct svcudp_data *su = su_data(xprt);
280 xprt_unregister(xprt);
281 (void) close(xprt->xp_sock);
283 mem_free(rpc_buffer(xprt), su->su_iosz);
285 svc_xprt_free(xprt);
406 cache_set(xprt, replylen) in cache_set() argument
407 SVCXPRT *xprt; in cache_set()
412 register struct svcudp_data *su = su_data(xprt);
423 loc = CACHE_LOC(xprt, victim->cache_xid);
454 victim->cache_reply = rpc_buffer(xprt);
455 rpc_buffer(xprt) = newbuf;
456 xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt),
463 loc = CACHE_LOC(xprt, victim->cache_xid);
475 cache_get(xprt, msg, replyp, replylenp) in cache_get() argument
476 SVCXPRT *xprt; in cache_get()
483 register struct svcudp_data *su = su_data(xprt);
489 loc = CACHE_LOC(xprt, su->su_xid);
508 memcpy((char *)&uc->uc_addr, (char *)&xprt->xp_raddr,