Lines Matching refs:cu

114 	struct cu_data *cu;  in clntbudp_bufcreate()  local
126 cu = (struct cu_data *)bkmem_alloc(sizeof (*cu) + sendsz + recvsz); in clntbudp_bufcreate()
127 if (cu == NULL) { in clntbudp_bufcreate()
133 cu->cu_outbuf = &cu->cu_inbuf[recvsz]; in clntbudp_bufcreate()
144 cl->cl_private = (caddr_t)cu; in clntbudp_bufcreate()
145 cu->cu_raddr = *raddr; in clntbudp_bufcreate()
146 cu->cu_rlen = sizeof (cu->cu_raddr); in clntbudp_bufcreate()
147 cu->cu_wait = wait; in clntbudp_bufcreate()
148 cu->cu_total.tv_sec = -1; in clntbudp_bufcreate()
149 cu->cu_total.tv_usec = -1; in clntbudp_bufcreate()
150 cu->cu_sendsz = sendsz; in clntbudp_bufcreate()
151 cu->cu_recvsz = recvsz; in clntbudp_bufcreate()
157 xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, in clntbudp_bufcreate()
159 if (! xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) { in clntbudp_bufcreate()
162 cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs)); in clntbudp_bufcreate()
163 cu->cu_closeit = FALSE; in clntbudp_bufcreate()
192 cu->cu_closeit = TRUE; in clntbudp_bufcreate()
195 cu->cu_sock = *sockp; in clntbudp_bufcreate()
199 if (cu) in clntbudp_bufcreate()
200 bkmem_free((caddr_t)cu, sizeof (*cu) + sendsz + recvsz); in clntbudp_bufcreate()
219 struct cu_data *cu; in clntbudp_call() local
235 cu = (struct cu_data *)cl->cl_private; in clntbudp_call()
236 if (cu->cu_total.tv_usec == -1) in clntbudp_call()
239 timeout = cu->cu_total; /* use default timeout */ in clntbudp_call()
244 xdelay = cu->cu_wait.tv_sec + 1000 + cu->cu_wait.tv_usec / 1000; in clntbudp_call()
245 (void) setsockopt(cu->cu_sock, SOL_SOCKET, SO_RCVTIMEO, in clntbudp_call()
256 xdrs = &(cu->cu_outxdrs); in clntbudp_call()
258 (void) XDR_SETPOS(xdrs, cu->cu_xdrpos); in clntbudp_call()
262 (*(ushort_t *)(cu->cu_outbuf))++; in clntbudp_call()
266 return (cu->cu_error.re_status = RPC_CANTENCODEARGS); in clntbudp_call()
270 if (sendto(cu->cu_sock, cu->cu_outbuf, outlen, 0, in clntbudp_call()
271 (struct sockaddr *)&(cu->cu_raddr), cu->cu_rlen) in clntbudp_call()
285 cu->cu_error.re_status = RPC_TIMEDOUT; in clntbudp_call()
287 cu->cu_error.re_status = RPC_CANTSEND; in clntbudp_call()
289 cu->cu_error.re_errno = errno; in clntbudp_call()
290 return (cu->cu_error.re_status); in clntbudp_call()
305 return (cu->cu_error.re_status); in clntbudp_call()
308 cu->cu_error.re_errno = ETIMEDOUT; in clntbudp_call()
309 return (cu->cu_error.re_status = RPC_TIMEDOUT); in clntbudp_call()
318 inlen = recvfrom(cu->cu_sock, cu->cu_inbuf, in clntbudp_call()
319 (int)cu->cu_recvsz, MSG_DONTWAIT, in clntbudp_call()
331 cu->cu_error.re_status = RPC_CANTRECV; in clntbudp_call()
334 cu->cu_error.re_status = RPC_TIMEDOUT; in clntbudp_call()
337 cu->cu_error.re_errno = errno; in clntbudp_call()
338 return (cu->cu_error.re_status); in clntbudp_call()
345 if (*((uint32_t *)(cu->cu_inbuf)) != in clntbudp_call()
346 *((uint32_t *)(cu->cu_outbuf))) { in clntbudp_call()
348 *(uint32_t *)(cu->cu_inbuf), in clntbudp_call()
349 *(uint32_t *)(cu->cu_outbuf)); in clntbudp_call()
359 xdrmem_create(&reply_xdrs, cu->cu_inbuf, (uint_t)inlen, XDR_DECODE); in clntbudp_call()
363 cu->cu_error.re_status = RPC_CANTDECODERES; in clntbudp_call()
364 return (cu->cu_error.re_status); in clntbudp_call()
367 _seterr_reply(&reply_msg, &(cu->cu_error)); in clntbudp_call()
368 if (cu->cu_error.re_status == RPC_SUCCESS) { in clntbudp_call()
371 cu->cu_error.re_status = RPC_AUTHERROR; in clntbudp_call()
372 cu->cu_error.re_why = AUTH_INVALIDRESP; in clntbudp_call()
381 return (cu->cu_error.re_status); in clntbudp_call()
384 if (cu->cu_error.re_status == RPC_AUTHERROR) { in clntbudp_call()
398 rpc_disperr(&cu->cu_error); in clntbudp_call()
405 struct cu_data *cu = (struct cu_data *)cl->cl_private; in clntbudp_geterr() local
407 *errp = cu->cu_error; in clntbudp_geterr()
414 struct cu_data *cu = (struct cu_data *)cl->cl_private; in clntbudp_freeres() local
415 XDR *xdrs = &(cu->cu_outxdrs); in clntbudp_freeres()
437 struct cu_data *cu = (struct cu_data *)cl->cl_private; in clntbudp_destroy() local
439 if (cu->cu_closeit) { in clntbudp_destroy()
440 (void) socket_close(cu->cu_sock); in clntbudp_destroy()
442 XDR_DESTROY(&(cu->cu_outxdrs)); in clntbudp_destroy()
443 bkmem_free((caddr_t)cu, (sizeof (*cu) + cu->cu_sendsz + cu->cu_recvsz)); in clntbudp_destroy()