Lines Matching refs:xdr
24 static int gssx_enc_bool(struct xdr_stream *xdr, int v) in gssx_enc_bool() argument
28 p = xdr_reserve_space(xdr, 4); in gssx_enc_bool()
35 static int gssx_dec_bool(struct xdr_stream *xdr, u32 *v) in gssx_dec_bool() argument
39 p = xdr_inline_decode(xdr, 4); in gssx_dec_bool()
46 static int gssx_enc_buffer(struct xdr_stream *xdr, in gssx_enc_buffer() argument
51 p = xdr_reserve_space(xdr, sizeof(u32) + buf->len); in gssx_enc_buffer()
58 static int gssx_enc_in_token(struct xdr_stream *xdr, in gssx_enc_in_token() argument
63 p = xdr_reserve_space(xdr, 4); in gssx_enc_in_token()
69 xdr_write_pages(xdr, in->pages, in->page_base, in->page_len); in gssx_enc_in_token()
75 static int gssx_dec_buffer(struct xdr_stream *xdr, in gssx_dec_buffer() argument
81 p = xdr_inline_decode(xdr, 4); in gssx_dec_buffer()
86 p = xdr_inline_decode(xdr, length); in gssx_dec_buffer()
108 static int gssx_enc_option(struct xdr_stream *xdr, in gssx_enc_option() argument
113 err = gssx_enc_buffer(xdr, &opt->option); in gssx_enc_option()
116 err = gssx_enc_buffer(xdr, &opt->value); in gssx_enc_option()
120 static int gssx_dec_option(struct xdr_stream *xdr, in gssx_dec_option() argument
125 err = gssx_dec_buffer(xdr, &opt->option); in gssx_dec_option()
128 err = gssx_dec_buffer(xdr, &opt->value); in gssx_dec_option()
132 static int dummy_enc_opt_array(struct xdr_stream *xdr, in dummy_enc_opt_array() argument
140 p = xdr_reserve_space(xdr, 4); in dummy_enc_opt_array()
148 static int dummy_dec_opt_array(struct xdr_stream *xdr, in dummy_dec_opt_array() argument
155 p = xdr_inline_decode(xdr, 4); in dummy_dec_opt_array()
161 gssx_dec_option(xdr, &dummy); in dummy_dec_opt_array()
169 static int get_host_u32(struct xdr_stream *xdr, u32 *res) in get_host_u32() argument
173 p = xdr_inline_decode(xdr, 4); in get_host_u32()
181 static int gssx_dec_linux_creds(struct xdr_stream *xdr, in gssx_dec_linux_creds() argument
190 p = xdr_inline_decode(xdr, 4); in gssx_dec_linux_creds()
200 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
206 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
212 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
225 err = get_host_u32(xdr, &tmp); in gssx_dec_linux_creds()
241 static int gssx_dec_option_array(struct xdr_stream *xdr, in gssx_dec_option_array() argument
249 p = xdr_inline_decode(xdr, 4); in gssx_dec_option_array()
279 p = xdr_inline_decode(xdr, 4); in gssx_dec_option_array()
284 p = xdr_inline_decode(xdr, length); in gssx_dec_option_array()
291 err = gssx_dec_linux_creds(xdr, creds); in gssx_dec_option_array()
297 err = gssx_dec_buffer(xdr, &dummy); in gssx_dec_option_array()
305 static int gssx_dec_status(struct xdr_stream *xdr, in gssx_dec_status() argument
312 p = xdr_inline_decode(xdr, 8); in gssx_dec_status()
318 err = gssx_dec_buffer(xdr, &status->mech); in gssx_dec_status()
323 p = xdr_inline_decode(xdr, 8); in gssx_dec_status()
329 err = gssx_dec_buffer(xdr, &status->major_status_string); in gssx_dec_status()
334 err = gssx_dec_buffer(xdr, &status->minor_status_string); in gssx_dec_status()
339 err = gssx_dec_buffer(xdr, &status->server_ctx); in gssx_dec_status()
345 err = dummy_dec_opt_array(xdr, &status->options); in gssx_dec_status()
350 static int gssx_enc_call_ctx(struct xdr_stream *xdr, in gssx_enc_call_ctx() argument
358 err = gssx_enc_buffer(xdr, &ctx->locale); in gssx_enc_call_ctx()
363 err = gssx_enc_buffer(xdr, &ctx->server_ctx); in gssx_enc_call_ctx()
369 p = xdr_reserve_space(xdr, 4); in gssx_enc_call_ctx()
377 err = gssx_enc_option(xdr, &opt); in gssx_enc_call_ctx()
384 err = gssx_enc_option(xdr, &opt); in gssx_enc_call_ctx()
389 static int gssx_dec_name_attr(struct xdr_stream *xdr, in gssx_dec_name_attr() argument
395 err = gssx_dec_buffer(xdr, &attr->attr); in gssx_dec_name_attr()
400 err = gssx_dec_buffer(xdr, &attr->value); in gssx_dec_name_attr()
405 err = dummy_dec_opt_array(xdr, &attr->extensions); in gssx_dec_name_attr()
410 static int dummy_enc_nameattr_array(struct xdr_stream *xdr, in dummy_enc_nameattr_array() argument
418 p = xdr_reserve_space(xdr, 4); in dummy_enc_nameattr_array()
426 static int dummy_dec_nameattr_array(struct xdr_stream *xdr, in dummy_dec_nameattr_array() argument
433 p = xdr_inline_decode(xdr, 4); in dummy_dec_nameattr_array()
438 gssx_dec_name_attr(xdr, &dummy); in dummy_dec_nameattr_array()
452 static int gssx_enc_name(struct xdr_stream *xdr, in gssx_enc_name() argument
458 err = gssx_enc_buffer(xdr, &name->display_name); in gssx_enc_name()
463 err = gssx_enc_buffer(xdr, &zero_netobj); in gssx_enc_name()
468 err = gssx_enc_buffer(xdr, &zero_netobj); in gssx_enc_name()
473 err = gssx_enc_buffer(xdr, &zero_netobj); in gssx_enc_name()
480 err = dummy_enc_nameattr_array(xdr, &zero_name_attr_array); in gssx_enc_name()
487 err = dummy_enc_opt_array(xdr, &zero_option_array); in gssx_enc_name()
493 static int gssx_dec_name(struct xdr_stream *xdr, in gssx_dec_name() argument
502 err = gssx_dec_buffer(xdr, &name->display_name); in gssx_dec_name()
507 err = gssx_dec_buffer(xdr, &dummy_netobj); in gssx_dec_name()
512 err = gssx_dec_buffer(xdr, &dummy_netobj); in gssx_dec_name()
517 err = gssx_dec_buffer(xdr, &dummy_netobj); in gssx_dec_name()
523 err = dummy_dec_nameattr_array(xdr, &dummy_name_attr_array); in gssx_dec_name()
529 err = dummy_dec_opt_array(xdr, &dummy_option_array); in gssx_dec_name()
534 static int dummy_enc_credel_array(struct xdr_stream *xdr, in dummy_enc_credel_array() argument
542 p = xdr_reserve_space(xdr, 4); in dummy_enc_credel_array()
550 static int gssx_enc_cred(struct xdr_stream *xdr, in gssx_enc_cred() argument
556 err = gssx_enc_name(xdr, &cred->desired_name); in gssx_enc_cred()
561 err = dummy_enc_credel_array(xdr, &cred->elements); in gssx_enc_cred()
566 err = gssx_enc_buffer(xdr, &cred->cred_handle_reference); in gssx_enc_cred()
571 err = gssx_enc_bool(xdr, cred->needs_release); in gssx_enc_cred()
576 static int gssx_enc_ctx(struct xdr_stream *xdr, in gssx_enc_ctx() argument
583 err = gssx_enc_buffer(xdr, &ctx->exported_context_token); in gssx_enc_ctx()
588 err = gssx_enc_buffer(xdr, &ctx->state); in gssx_enc_ctx()
593 err = gssx_enc_bool(xdr, ctx->need_release); in gssx_enc_ctx()
598 err = gssx_enc_buffer(xdr, &ctx->mech); in gssx_enc_ctx()
603 err = gssx_enc_name(xdr, &ctx->src_name); in gssx_enc_ctx()
608 err = gssx_enc_name(xdr, &ctx->targ_name); in gssx_enc_ctx()
613 p = xdr_reserve_space(xdr, 8+8); in gssx_enc_ctx()
622 err = gssx_enc_bool(xdr, ctx->locally_initiated); in gssx_enc_ctx()
627 err = gssx_enc_bool(xdr, ctx->open); in gssx_enc_ctx()
634 err = dummy_enc_opt_array(xdr, &ctx->options); in gssx_enc_ctx()
639 static int gssx_dec_ctx(struct xdr_stream *xdr, in gssx_dec_ctx() argument
646 err = gssx_dec_buffer(xdr, &ctx->exported_context_token); in gssx_dec_ctx()
651 err = gssx_dec_buffer(xdr, &ctx->state); in gssx_dec_ctx()
656 err = gssx_dec_bool(xdr, &ctx->need_release); in gssx_dec_ctx()
661 err = gssx_dec_buffer(xdr, &ctx->mech); in gssx_dec_ctx()
666 err = gssx_dec_name(xdr, &ctx->src_name); in gssx_dec_ctx()
671 err = gssx_dec_name(xdr, &ctx->targ_name); in gssx_dec_ctx()
676 p = xdr_inline_decode(xdr, 8+8); in gssx_dec_ctx()
685 err = gssx_dec_bool(xdr, &ctx->locally_initiated); in gssx_dec_ctx()
690 err = gssx_dec_bool(xdr, &ctx->open); in gssx_dec_ctx()
696 err = dummy_dec_opt_array(xdr, &ctx->options); in gssx_dec_ctx()
701 static int gssx_enc_cb(struct xdr_stream *xdr, struct gssx_cb *cb) in gssx_enc_cb() argument
707 p = xdr_reserve_space(xdr, 8); in gssx_enc_cb()
713 err = gssx_enc_buffer(xdr, &cb->initiator_address); in gssx_enc_cb()
718 p = xdr_reserve_space(xdr, 8); in gssx_enc_cb()
724 err = gssx_enc_buffer(xdr, &cb->acceptor_address); in gssx_enc_cb()
729 err = gssx_enc_buffer(xdr, &cb->application_data); in gssx_enc_cb()
735 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
801 xdr_set_scratch_buffer(xdr, page_address(scratch), PAGE_SIZE); in gssx_dec_accept_sec_context()
804 err = gssx_dec_status(xdr, &res->status); in gssx_dec_accept_sec_context()
809 err = gssx_dec_bool(xdr, &value_follows); in gssx_dec_accept_sec_context()
813 err = gssx_dec_ctx(xdr, res->context_handle); in gssx_dec_accept_sec_context()
821 err = gssx_dec_bool(xdr, &value_follows); in gssx_dec_accept_sec_context()
825 err = gssx_dec_buffer(xdr, res->output_token); in gssx_dec_accept_sec_context()
833 err = gssx_dec_bool(xdr, &value_follows); in gssx_dec_accept_sec_context()
843 err = gssx_dec_option_array(xdr, &res->options); in gssx_dec_accept_sec_context()