Lines Matching refs:mxa
46 ndr_xa_t mxa; in ndr_clnt_bind() local
54 bzero(&mxa, sizeof (mxa)); in ndr_clnt_bind()
56 mxa.binding_list = clnt->binding_list; in ndr_clnt_bind()
57 if ((mbind = ndr_svc_new_binding(&mxa)) == NULL) in ndr_clnt_bind()
60 ndr_clnt_init_hdr(clnt, &mxa); in ndr_clnt_bind()
62 bhdr = &mxa.send_hdr.bind_hdr; in ndr_clnt_bind()
63 hdr = &mxa.send_hdr.bind_hdr.common_hdr; in ndr_clnt_bind()
90 if ((*clnt->xa_init)(clnt, &mxa) < 0) in ndr_clnt_bind()
94 mxa.send_nds.pdu_scan_offset = sizeof (*bhdr); in ndr_clnt_bind()
97 rc = ndr_add_sec_context(&clnt->auth_ctx, &mxa); in ndr_clnt_bind()
101 rc = ndr_encode_pdu_auth(&mxa); in ndr_clnt_bind()
112 hdr->frag_length = mxa.send_nds.pdu_size; in ndr_clnt_bind()
115 mxa.send_nds.pdu_scan_offset = 0; in ndr_clnt_bind()
117 rc = ndr_encode_pdu_hdr(&mxa); in ndr_clnt_bind()
121 if ((*clnt->xa_exchange)(clnt, &mxa) < 0) { in ndr_clnt_bind()
126 rc = ndr_decode_pdu_hdr(&mxa); in ndr_clnt_bind()
130 rc = ndr_decode_pdu_auth(&mxa); in ndr_clnt_bind()
134 bahdr = &mxa.recv_hdr.bind_ack_hdr; in ndr_clnt_bind()
136 if (mxa.ptype != NDR_PTYPE_BIND_ACK) { in ndr_clnt_bind()
154 rc = ndr_recv_sec_context(&clnt->auth_ctx, &mxa); in ndr_clnt_bind()
159 (*clnt->xa_destruct)(clnt, &mxa); in ndr_clnt_bind()
171 (*clnt->xa_destruct)(clnt, &mxa); in ndr_clnt_bind()
179 ndr_xa_t mxa; in ndr_clnt_call() local
185 bzero(&mxa, sizeof (mxa)); in ndr_clnt_call()
186 mxa.ptype = NDR_PTYPE_REQUEST; in ndr_clnt_call()
187 mxa.opnum = opnum; in ndr_clnt_call()
188 mxa.binding = mbind; in ndr_clnt_call()
190 ndr_clnt_init_hdr(clnt, &mxa); in ndr_clnt_call()
192 reqhdr = &mxa.send_hdr.request_hdr; in ndr_clnt_call()
197 rc = (*clnt->xa_init)(clnt, &mxa); in ndr_clnt_call()
202 mxa.send_nds.pdu_scan_offset = sizeof (*reqhdr); in ndr_clnt_call()
204 mxa.send_nds.pdu_body_offset = mxa.send_nds.pdu_scan_offset; in ndr_clnt_call()
206 rc = ndr_encode_call(&mxa, params); in ndr_clnt_call()
214 reqhdr->alloc_hint = mxa.send_nds.pdu_size - in ndr_clnt_call()
218 rc = ndr_add_auth(&clnt->auth_ctx, &mxa); in ndr_clnt_call()
222 rc = ndr_encode_pdu_auth(&mxa); in ndr_clnt_call()
231 mxa.send_hdr.common_hdr.frag_length = mxa.send_nds.pdu_size; in ndr_clnt_call()
232 mxa.send_nds.pdu_scan_offset = 0; in ndr_clnt_call()
234 rc = ndr_encode_pdu_hdr(&mxa); in ndr_clnt_call()
238 rc = (*clnt->xa_exchange)(clnt, &mxa); in ndr_clnt_call()
242 rc = ndr_decode_pdu_hdr(&mxa); in ndr_clnt_call()
246 if (mxa.ptype != NDR_PTYPE_RESPONSE) { in ndr_clnt_call()
251 rc = ndr_decode_pdu_auth(&mxa); in ndr_clnt_call()
255 rc = ndr_check_auth(&clnt->auth_ctx, &mxa); in ndr_clnt_call()
259 rsphdr = &mxa.recv_hdr.common_hdr; in ndr_clnt_call()
271 recv_pdu_size = mxa.recv_nds.pdu_size; in ndr_clnt_call()
272 (void) NDS_GROW_PDU(&mxa.recv_nds, NDR_MULTI_FRAGSZ, NULL); in ndr_clnt_call()
281 recv_pdu_scan_offset = mxa.recv_nds.pdu_body_offset; in ndr_clnt_call()
282 mxa.recv_nds.pdu_scan_offset = mxa.recv_nds.pdu_body_offset + in ndr_clnt_call()
283 mxa.recv_nds.pdu_body_size - mxa.recv_auth.auth_pad_len; in ndr_clnt_call()
284 mxa.recv_nds.pdu_size = recv_pdu_size; in ndr_clnt_call()
286 rc = ndr_clnt_get_frags(clnt, &mxa); in ndr_clnt_call()
290 mxa.recv_nds.pdu_scan_offset = recv_pdu_scan_offset; in ndr_clnt_call()
293 rc = ndr_decode_return(&mxa, params); in ndr_clnt_call()
297 (*clnt->xa_preserve)(clnt, &mxa); in ndr_clnt_call()
298 (*clnt->xa_destruct)(clnt, &mxa); in ndr_clnt_call()
302 ndr_show_hdr(&mxa.send_hdr.common_hdr); in ndr_clnt_call()
303 nds_show_state(&mxa.send_nds); in ndr_clnt_call()
304 if (mxa.send_hdr.common_hdr.auth_length != 0) in ndr_clnt_call()
305 ndr_show_auth(&mxa.send_auth); in ndr_clnt_call()
307 ndr_show_hdr(&mxa.recv_hdr.common_hdr); in ndr_clnt_call()
308 nds_show_state(&mxa.recv_nds); in ndr_clnt_call()
309 if (mxa.recv_hdr.common_hdr.auth_length != 0) in ndr_clnt_call()
310 ndr_show_auth(&mxa.recv_auth); in ndr_clnt_call()
311 (*clnt->xa_destruct)(clnt, &mxa); in ndr_clnt_call()
322 ndr_clnt_init_hdr(ndr_client_t *clnt, ndr_xa_t *mxa) in ndr_clnt_init_hdr() argument
324 ndr_common_header_t *hdr = &mxa->send_hdr.common_hdr; in ndr_clnt_init_hdr()
350 ndr_clnt_get_frags(ndr_client_t *clnt, ndr_xa_t *mxa) in ndr_clnt_get_frags() argument
352 ndr_stream_t *nds = &mxa->recv_nds; in ndr_clnt_get_frags()
359 if (ndr_clnt_get_frag(clnt, mxa, &hdr) < 0) { in ndr_clnt_get_frags()
379 rc = ndr_decode_pdu_auth(mxa); in ndr_clnt_get_frags()
383 rc = ndr_check_auth(&clnt->auth_ctx, mxa); in ndr_clnt_get_frags()
393 nds->pdu_body_size - mxa->recv_auth.auth_pad_len; in ndr_clnt_get_frags()
405 ndr_clnt_get_frag(ndr_client_t *clnt, ndr_xa_t *mxa, ndr_common_header_t *hdr) in ndr_clnt_get_frag() argument
407 ndr_stream_t *nds = &mxa->recv_nds; in ndr_clnt_get_frag()
414 if ((nbytes = (*clnt->xa_read)(clnt, mxa)) <= 0) in ndr_clnt_get_frag()
423 if ((nbytes = (*clnt->xa_read)(clnt, mxa)) <= 0) in ndr_clnt_get_frag()