Lines Matching refs:xprt

57 #define	rpc_buffer(xprt) ((xprt)->xp_p1)
80 * kept in xprt->xp_p2
89 #define su_data(xprt) ((struct svcudp_data *)(xprt->xp_p2))
93 * xprt = svcudp_create(sock);
98 * xprt->xp_sock is the registered socket number and xprt->xp_port is the
100 * Once *xprt is initialized, it is registered as a transporter;
110 register SVCXPRT *xprt;
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)
184 SVCXPRT *xprt;
191 svcudp_recv(xprt, msg)
192 register SVCXPRT *xprt;
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)
227 register SVCXPRT *xprt;
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)
254 SVCXPRT *xprt;
259 return ((*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr));
263 svcudp_freeargs(xprt, xdr_args, args_ptr)
264 SVCXPRT *xprt;
268 register XDR *xdrs = &(su_data(xprt)->su_xdrs);
275 svcudp_destroy(xprt)
276 register SVCXPRT *xprt;
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)
407 SVCXPRT *xprt;
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)
476 SVCXPRT *xprt;
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,