Lines Matching full:ct

133 	struct ct_data *ct = 0;  in clnttcp_create()  local
144 ct = (struct ct_data *)mem_alloc(sizeof(*ct)); in clnttcp_create()
145 if (ct == NULL) { in clnttcp_create()
158 mem_free((caddr_t)ct, sizeof(struct ct_data)); in clnttcp_create()
179 ct->ct_closeit = TRUE; in clnttcp_create()
181 ct->ct_closeit = FALSE; in clnttcp_create()
187 ct->ct_sock = *sockp; in clnttcp_create()
188 ct->ct_wait.tv_usec = 0; in clnttcp_create()
189 ct->ct_waitset = FALSE; in clnttcp_create()
194 int ret = getpeername(ct->ct_sock, (struct sockaddr *)&sin, &len); in clnttcp_create()
196 ct->ct_addr = sin; in clnttcp_create()
198 memset(&ct->ct_addr, 0, sizeof(ct->ct_addr)); in clnttcp_create()
200 ct->ct_addr = *raddr; in clnttcp_create()
215 xdrmem_create(&(ct->ct_xdrs), ct->ct_u.ct_mcall, MCALL_MSG_SIZE, in clnttcp_create()
217 if (! xdr_callhdr(&(ct->ct_xdrs), &call_msg)) { in clnttcp_create()
218 if (ct->ct_closeit) in clnttcp_create()
222 ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs)); in clnttcp_create()
223 XDR_DESTROY(&(ct->ct_xdrs)); in clnttcp_create()
229 xdrrec_create(&(ct->ct_xdrs), sendsz, recvsz, in clnttcp_create()
230 (caddr_t)ct, readtcp, writetcp); in clnttcp_create()
232 h->cl_private = (caddr_t) ct; in clnttcp_create()
240 mem_free((caddr_t)ct, sizeof(struct ct_data)); in clnttcp_create()
255 struct ct_data *ct = h->cl_private; in clnttcp_call() local
256 XDR *xdrs = &ct->ct_xdrs; in clnttcp_call()
259 uint32_t *msg_x_id = &ct->ct_u.ct_mcalli; /* yuk */ in clnttcp_call()
264 if (!ct->ct_waitset) { in clnttcp_call()
265 ct->ct_wait = timeout; in clnttcp_call()
274 ct->ct_error.re_status = RPC_SUCCESS; in clnttcp_call()
276 if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcall, ct->ct_mpos)) || in clnttcp_call()
280 if (ct->ct_error.re_status == RPC_SUCCESS) in clnttcp_call()
281 ct->ct_error.re_status = RPC_CANTENCODEARGS; in clnttcp_call()
283 return (ct->ct_error.re_status); in clnttcp_call()
286 return (ct->ct_error.re_status = RPC_CANTSEND); in clnttcp_call()
293 return(ct->ct_error.re_status = RPC_TIMEDOUT); in clnttcp_call()
306 return (ct->ct_error.re_status); in clnttcp_call()
318 if (ct->ct_error.re_status == RPC_SUCCESS) in clnttcp_call()
320 return (ct->ct_error.re_status); in clnttcp_call()
329 gssrpc__seterr_reply(&reply_msg, &(ct->ct_error)); in clnttcp_call()
330 if (ct->ct_error.re_status == RPC_SUCCESS) { in clnttcp_call()
332 ct->ct_error.re_status = RPC_AUTHERROR; in clnttcp_call()
333 ct->ct_error.re_why = AUTH_INVALIDRESP; in clnttcp_call()
336 if (ct->ct_error.re_status == RPC_SUCCESS) in clnttcp_call()
337 ct->ct_error.re_status = RPC_CANTDECODERES; in clnttcp_call()
351 return (ct->ct_error.re_status); in clnttcp_call()
359 struct ct_data *ct = h->cl_private; in clnttcp_geterr() local
361 *errp = ct->ct_error; in clnttcp_geterr()
370 struct ct_data *ct = cl->cl_private; in clnttcp_freeres() local
371 XDR *xdrs = &ct->ct_xdrs; in clnttcp_freeres()
389 struct ct_data *ct = cl->cl_private; in clnttcp_control() local
394 ct->ct_wait = *(struct timeval *)info; in clnttcp_control()
395 ct->ct_waitset = TRUE; in clnttcp_control()
398 *(struct timeval *)info = ct->ct_wait; in clnttcp_control()
401 *(struct sockaddr_in *)info = ct->ct_addr; in clnttcp_control()
405 if (getsockname(ct->ct_sock, (struct sockaddr*)info, &len) < 0) in clnttcp_control()
419 struct ct_data *ct = h->cl_private; in clnttcp_destroy() local
421 if (ct->ct_closeit) in clnttcp_destroy()
422 (void)closesocket(ct->ct_sock); in clnttcp_destroy()
423 XDR_DESTROY(&(ct->ct_xdrs)); in clnttcp_destroy()
424 mem_free((caddr_t)ct, sizeof(struct ct_data)); in clnttcp_destroy()
439 struct ct_data *ct = (void *)ctptr; in readtcp() local
448 FD_SET(ct->ct_sock, &mask); in readtcp()
450 int mask = 1 << (ct->ct_sock); in readtcp()
459 tout = ct->ct_wait; in readtcp()
463 ct->ct_error.re_status = RPC_TIMEDOUT; in readtcp()
469 ct->ct_error.re_status = RPC_CANTRECV; in readtcp()
470 ct->ct_error.re_errno = errno; in readtcp()
475 switch (len = read(ct->ct_sock, buf, (size_t) len)) { in readtcp()
479 ct->ct_error.re_errno = ECONNRESET; in readtcp()
480 ct->ct_error.re_status = RPC_CANTRECV; in readtcp()
485 ct->ct_error.re_errno = errno; in readtcp()
486 ct->ct_error.re_status = RPC_CANTRECV; in readtcp()
498 struct ct_data *ct = (struct ct_data *)(void *)ctptr; in writetcp() local
502 if ((i = write(ct->ct_sock, buf, (size_t) cnt)) == -1) { in writetcp()
503 ct->ct_error.re_errno = errno; in writetcp()
504 ct->ct_error.re_status = RPC_CANTSEND; in writetcp()