/* parser auto-generated by pidl */

#include "replace.h"
#include "bin/default/librpc/gen_ndr/ndr_server_id.h"

_PUBLIC_ enum ndr_err_code ndr_push_server_id(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct server_id *r)
{
	NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_push_align(ndr, 8));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pid));
		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->task_id));
		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->vnn));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unique_id));
		NDR_CHECK(ndr_push_trailer_align(ndr, 8));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ enum ndr_err_code ndr_pull_server_id(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct server_id *r)
{
	NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_pull_align(ndr, 8));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pid));
		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->task_id));
		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vnn));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unique_id));
		NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

static void ndr_print_flags_server_id(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct server_id *r)
{
	ndr_print_server_id(ndr, name, r);
}

_PUBLIC_ void ndr_print_server_id(struct ndr_print *ndr, const char *name, const struct server_id *r)
{
	ndr_print_struct(ndr, name, "server_id");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	ndr_print_hyper(ndr, "pid", r->pid);
	ndr_print_uint32(ndr, "task_id", r->task_id);
	ndr_print_uint32(ndr, "vnn", r->vnn);
	ndr_print_hyper(ndr, "unique_id", r->unique_id);
	ndr->depth--;
}

#ifndef SKIP_NDR_TABLE_server_id
static const struct ndr_interface_public_struct server_id_public_structs[] = {
	{
		.name = "server_id",
		.struct_size = sizeof(struct server_id ),
		.ndr_push = (ndr_push_flags_fn_t) ndr_push_server_id,
		.ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_server_id,
		.ndr_print = (ndr_print_function_t) ndr_print_flags_server_id,
	},
	{ .name = NULL }
};

static const struct ndr_interface_call server_id_calls[] = {
	{ .name = NULL }
};

static const char * const server_id_endpoint_strings[] = {
	"ncacn_np:[\\pipe\\server_id]", 
};

static const struct ndr_interface_string_array server_id_endpoints = {
	.count	= 1,
	.names	= server_id_endpoint_strings
};

static const char * const server_id_authservice_strings[] = {
	"host", 
};

static const struct ndr_interface_string_array server_id_authservices = {
	.count	= 1,
	.names	= server_id_authservice_strings
};


const struct ndr_interface_table ndr_table_server_id = {
	.name		= "server_id",
	.num_calls	= 0,
	.calls		= server_id_calls,
	.num_public_structs	= 1,
	.public_structs		= server_id_public_structs,
	.endpoints	= &server_id_endpoints,
	.authservices	= &server_id_authservices
};

#endif /* SKIP_NDR_TABLE_server_id */
