Lines Matching refs:xdr

11 static int gssx_enc_bool(struct xdr_stream *xdr, int v)  in gssx_enc_bool()  argument
15 p = xdr_reserve_space(xdr, 4); in gssx_enc_bool()
22 static int gssx_dec_bool(struct xdr_stream *xdr, u32 *v) in gssx_dec_bool() argument
26 p = xdr_inline_decode(xdr, 4); in gssx_dec_bool()
33 static int gssx_enc_buffer(struct xdr_stream *xdr, in gssx_enc_buffer() argument
38 p = xdr_reserve_space(xdr, sizeof(u32) + buf->len); in gssx_enc_buffer()
45 static int gssx_enc_in_token(struct xdr_stream *xdr, in gssx_enc_in_token() argument
50 p = xdr_reserve_space(xdr, 4); in gssx_enc_in_token()
56 xdr_write_pages(xdr, in->pages, in->page_base, in->page_len); in gssx_enc_in_token()
62 static int gssx_dec_buffer(struct xdr_stream *xdr, in gssx_dec_buffer() argument
68 p = xdr_inline_decode(xdr, 4); in gssx_dec_buffer()
73 p = xdr_inline_decode(xdr, length); in gssx_dec_buffer()
95 static int gssx_enc_option(struct xdr_stream *xdr, in gssx_enc_option() argument
100 err = gssx_enc_buffer(xdr, &opt->option); in gssx_enc_option()
103 err = gssx_enc_buffer(xdr, &opt->value); in gssx_enc_option()
107 static int gssx_dec_option(struct xdr_stream *xdr, in gssx_dec_option() argument
112 err = gssx_dec_buffer(xdr, &opt->option); in gssx_dec_option()
115 err = gssx_dec_buffer(xdr, &opt->value); in gssx_dec_option()
119 static int dummy_enc_opt_array(struct xdr_stream *xdr, in dummy_enc_opt_array() argument
127 p = xdr_reserve_space(xdr, 4); in dummy_enc_opt_array()
135 static int dummy_dec_opt_array(struct xdr_stream *xdr, in dummy_dec_opt_array() argument
142 p = xdr_inline_decode(xdr, 4); in dummy_dec_opt_array()
148 gssx_dec_option(xdr, &dummy); in dummy_dec_opt_array()
156 static int get_host_u32(struct xdr_stream *xdr, u32 *res) in get_host_u32() argument
160 p = xdr_inline_decode(xdr, 4); in get_host_u32()
168 static int gssx_dec_linux_creds(struct xdr_stream *xdr, in gssx_dec_linux_creds() argument
177 p = xdr_inline_decode(xdr, 4); in gssx_dec_linux_creds()
187 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
193 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
199 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
212 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
229 static int gssx_dec_option_array(struct xdr_stream *xdr, in gssx_dec_option_array() argument
237 p = xdr_inline_decode(xdr, 4); in gssx_dec_option_array()
267 p = xdr_inline_decode(xdr, 4); in gssx_dec_option_array()
274 p = xdr_inline_decode(xdr, length); in gssx_dec_option_array()
283 err = gssx_dec_linux_creds(xdr, creds); in gssx_dec_option_array()
289 err = gssx_dec_buffer(xdr, &dummy); in gssx_dec_option_array()
304 static int gssx_dec_status(struct xdr_stream *xdr, in gssx_dec_status() argument
311 p = xdr_inline_decode(xdr, 8); in gssx_dec_status()
317 err = gssx_dec_buffer(xdr, &status->mech); in gssx_dec_status()
322 p = xdr_inline_decode(xdr, 8); in gssx_dec_status()
328 err = gssx_dec_buffer(xdr, &status->major_status_string); in gssx_dec_status()
333 err = gssx_dec_buffer(xdr, &status->minor_status_string); in gssx_dec_status()
338 err = gssx_dec_buffer(xdr, &status->server_ctx); in gssx_dec_status()
344 err = dummy_dec_opt_array(xdr, &status->options); in gssx_dec_status()
349 static int gssx_enc_call_ctx(struct xdr_stream *xdr, in gssx_enc_call_ctx() argument
357 err = gssx_enc_buffer(xdr, &ctx->locale); in gssx_enc_call_ctx()
362 err = gssx_enc_buffer(xdr, &ctx->server_ctx); in gssx_enc_call_ctx()
368 p = xdr_reserve_space(xdr, 4); in gssx_enc_call_ctx()
376 err = gssx_enc_option(xdr, &opt); in gssx_enc_call_ctx()
383 err = gssx_enc_option(xdr, &opt); in gssx_enc_call_ctx()
388 static int gssx_dec_name_attr(struct xdr_stream *xdr, in gssx_dec_name_attr() argument
394 err = gssx_dec_buffer(xdr, &attr->attr); in gssx_dec_name_attr()
399 err = gssx_dec_buffer(xdr, &attr->value); in gssx_dec_name_attr()
404 err = dummy_dec_opt_array(xdr, &attr->extensions); in gssx_dec_name_attr()
409 static int dummy_enc_nameattr_array(struct xdr_stream *xdr, in dummy_enc_nameattr_array() argument
417 p = xdr_reserve_space(xdr, 4); in dummy_enc_nameattr_array()
425 static int dummy_dec_nameattr_array(struct xdr_stream *xdr, in dummy_dec_nameattr_array() argument
432 p = xdr_inline_decode(xdr, 4); in dummy_dec_nameattr_array()
437 gssx_dec_name_attr(xdr, &dummy); in dummy_dec_nameattr_array()
451 static int gssx_enc_name(struct xdr_stream *xdr, in gssx_enc_name() argument
457 err = gssx_enc_buffer(xdr, &name->display_name); in gssx_enc_name()
462 err = gssx_enc_buffer(xdr, &zero_netobj); in gssx_enc_name()
467 err = gssx_enc_buffer(xdr, &zero_netobj); in gssx_enc_name()
472 err = gssx_enc_buffer(xdr, &zero_netobj); in gssx_enc_name()
479 err = dummy_enc_nameattr_array(xdr, &zero_name_attr_array); in gssx_enc_name()
486 err = dummy_enc_opt_array(xdr, &zero_option_array); in gssx_enc_name()
492 static int gssx_dec_name(struct xdr_stream *xdr, in gssx_dec_name() argument
501 err = gssx_dec_buffer(xdr, &name->display_name); in gssx_dec_name()
506 err = gssx_dec_buffer(xdr, &dummy_netobj); in gssx_dec_name()
511 err = gssx_dec_buffer(xdr, &dummy_netobj); in gssx_dec_name()
516 err = gssx_dec_buffer(xdr, &dummy_netobj); in gssx_dec_name()
522 err = dummy_dec_nameattr_array(xdr, &dummy_name_attr_array); in gssx_dec_name()
528 err = dummy_dec_opt_array(xdr, &dummy_option_array); in gssx_dec_name()
533 static int dummy_enc_credel_array(struct xdr_stream *xdr, in dummy_enc_credel_array() argument
541 p = xdr_reserve_space(xdr, 4); in dummy_enc_credel_array()
549 static int gssx_enc_cred(struct xdr_stream *xdr, in gssx_enc_cred() argument
555 err = gssx_enc_name(xdr, &cred->desired_name); in gssx_enc_cred()
560 err = dummy_enc_credel_array(xdr, &cred->elements); in gssx_enc_cred()
565 err = gssx_enc_buffer(xdr, &cred->cred_handle_reference); in gssx_enc_cred()
570 err = gssx_enc_bool(xdr, cred->needs_release); in gssx_enc_cred()
575 static int gssx_enc_ctx(struct xdr_stream *xdr, in gssx_enc_ctx() argument
582 err = gssx_enc_buffer(xdr, &ctx->exported_context_token); in gssx_enc_ctx()
587 err = gssx_enc_buffer(xdr, &ctx->state); in gssx_enc_ctx()
592 err = gssx_enc_bool(xdr, ctx->need_release); in gssx_enc_ctx()
597 err = gssx_enc_buffer(xdr, &ctx->mech); in gssx_enc_ctx()
602 err = gssx_enc_name(xdr, &ctx->src_name); in gssx_enc_ctx()
607 err = gssx_enc_name(xdr, &ctx->targ_name); in gssx_enc_ctx()
612 p = xdr_reserve_space(xdr, 8+8); in gssx_enc_ctx()
621 err = gssx_enc_bool(xdr, ctx->locally_initiated); in gssx_enc_ctx()
626 err = gssx_enc_bool(xdr, ctx->open); in gssx_enc_ctx()
633 err = dummy_enc_opt_array(xdr, &ctx->options); in gssx_enc_ctx()
638 static int gssx_dec_ctx(struct xdr_stream *xdr, in gssx_dec_ctx() argument
645 err = gssx_dec_buffer(xdr, &ctx->exported_context_token); in gssx_dec_ctx()
650 err = gssx_dec_buffer(xdr, &ctx->state); in gssx_dec_ctx()
655 err = gssx_dec_bool(xdr, &ctx->need_release); in gssx_dec_ctx()
660 err = gssx_dec_buffer(xdr, &ctx->mech); in gssx_dec_ctx()
665 err = gssx_dec_name(xdr, &ctx->src_name); in gssx_dec_ctx()
670 err = gssx_dec_name(xdr, &ctx->targ_name); in gssx_dec_ctx()
675 p = xdr_inline_decode(xdr, 8+8); in gssx_dec_ctx()
684 err = gssx_dec_bool(xdr, &ctx->locally_initiated); in gssx_dec_ctx()
689 err = gssx_dec_bool(xdr, &ctx->open); in gssx_dec_ctx()
695 err = dummy_dec_opt_array(xdr, &ctx->options); in gssx_dec_ctx()
700 static int gssx_enc_cb(struct xdr_stream *xdr, struct gssx_cb *cb) in gssx_enc_cb() argument
706 p = xdr_reserve_space(xdr, 8); in gssx_enc_cb()
712 err = gssx_enc_buffer(xdr, &cb->initiator_address); in gssx_enc_cb()
717 p = xdr_reserve_space(xdr, 8); in gssx_enc_cb()
723 err = gssx_enc_buffer(xdr, &cb->acceptor_address); in gssx_enc_cb()
728 err = gssx_enc_buffer(xdr, &cb->application_data); in gssx_enc_cb()
734 struct xdr_stream *xdr, in gssx_enc_accept_sec_context() argument
740 err = gssx_enc_call_ctx(xdr, &arg->call_ctx); in gssx_enc_accept_sec_context()
746 err = gssx_enc_ctx(xdr, arg->context_handle); in gssx_enc_accept_sec_context()
748 err = gssx_enc_bool(xdr, 0); in gssx_enc_accept_sec_context()
754 err = gssx_enc_cred(xdr, arg->cred_handle); in gssx_enc_accept_sec_context()
756 err = gssx_enc_bool(xdr, 0); in gssx_enc_accept_sec_context()
761 err = gssx_enc_in_token(xdr, &arg->input_token); in gssx_enc_accept_sec_context()
767 err = gssx_enc_cb(xdr, arg->input_cb); in gssx_enc_accept_sec_context()
769 err = gssx_enc_bool(xdr, 0); in gssx_enc_accept_sec_context()
773 err = gssx_enc_bool(xdr, arg->ret_deleg_cred); in gssx_enc_accept_sec_context()
780 err = dummy_enc_opt_array(xdr, &arg->options); in gssx_enc_accept_sec_context()
791 struct xdr_stream *xdr, in gssx_dec_accept_sec_context() argument
802 xdr_set_scratch_page(xdr, scratch); in gssx_dec_accept_sec_context()
805 err = gssx_dec_status(xdr, &res->status); in gssx_dec_accept_sec_context()
810 err = gssx_dec_bool(xdr, &value_follows); in gssx_dec_accept_sec_context()
814 err = gssx_dec_ctx(xdr, res->context_handle); in gssx_dec_accept_sec_context()
822 err = gssx_dec_bool(xdr, &value_follows); in gssx_dec_accept_sec_context()
826 err = gssx_dec_buffer(xdr, res->output_token); in gssx_dec_accept_sec_context()
834 err = gssx_dec_bool(xdr, &value_follows); in gssx_dec_accept_sec_context()
844 err = gssx_dec_option_array(xdr, &res->options); in gssx_dec_accept_sec_context()