/* parser auto-generated by pidl */

#include "includes.h"
#include "autoconf/librpc/gen_ndr/ndr_oxidresolver.h"

#include "librpc/gen_ndr/ndr_misc.h"
#include "librpc/gen_ndr/ndr_orpc.h"
static enum ndr_err_code ndr_push_COMINFO(struct ndr_push *ndr, int ndr_flags, const struct COMINFO *r)
{
	NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_push_align(ndr, 4));
		NDR_CHECK(ndr_push_COMVERSION(ndr, NDR_SCALARS, &r->version));
		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_COMINFO(struct ndr_pull *ndr, int ndr_flags, struct COMINFO *r)
{
	NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_pull_align(ndr, 4));
		NDR_CHECK(ndr_pull_COMVERSION(ndr, NDR_SCALARS, &r->version));
		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_COMINFO(struct ndr_print *ndr, const char *name, const struct COMINFO *r)
{
	ndr_print_struct(ndr, name, "COMINFO");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	ndr_print_COMVERSION(ndr, "version", &r->version);
	ndr_print_uint32(ndr, "unknown1", r->unknown1);
	ndr->depth--;
}

static enum ndr_err_code ndr_push_ResolveOxid(struct ndr_push *ndr, int flags, const struct ResolveOxid *r)
{
	uint32_t cntr_arRequestedProtseqs_0;
	NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.pOxid));
		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cRequestedProtseqs));
		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cRequestedProtseqs));
		for (cntr_arRequestedProtseqs_0 = 0; cntr_arRequestedProtseqs_0 < r->in.cRequestedProtseqs; cntr_arRequestedProtseqs_0++) {
			NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.arRequestedProtseqs[cntr_arRequestedProtseqs_0]));
		}
	}
	if (flags & NDR_OUT) {
		if (r->out.ppdsaOxidBindings == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ppdsaOxidBindings));
		if (*r->out.ppdsaOxidBindings) {
			NDR_CHECK(ndr_push_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ppdsaOxidBindings));
		}
		if (r->out.pipidRemUnknown == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->out.pipidRemUnknown));
		if (r->out.pAuthnHint == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.pAuthnHint));
		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_ResolveOxid(struct ndr_pull *ndr, int flags, struct ResolveOxid *r)
{
	uint32_t size_arRequestedProtseqs_0 = 0;
	uint32_t cntr_arRequestedProtseqs_0;
	uint32_t _ptr_ppdsaOxidBindings;
	TALLOC_CTX *_mem_save_arRequestedProtseqs_0;
	TALLOC_CTX *_mem_save_ppdsaOxidBindings_0;
	TALLOC_CTX *_mem_save_ppdsaOxidBindings_1;
	TALLOC_CTX *_mem_save_pipidRemUnknown_0;
	TALLOC_CTX *_mem_save_pAuthnHint_0;
	NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		ZERO_STRUCT(r->out);

		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.pOxid));
		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cRequestedProtseqs));
		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.arRequestedProtseqs));
		size_arRequestedProtseqs_0 = ndr_get_array_size(ndr, &r->in.arRequestedProtseqs);
		NDR_PULL_ALLOC_N(ndr, r->in.arRequestedProtseqs, size_arRequestedProtseqs_0);
		_mem_save_arRequestedProtseqs_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->in.arRequestedProtseqs, 0);
		for (cntr_arRequestedProtseqs_0 = 0; cntr_arRequestedProtseqs_0 < size_arRequestedProtseqs_0; cntr_arRequestedProtseqs_0++) {
			NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.arRequestedProtseqs[cntr_arRequestedProtseqs_0]));
		}
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_arRequestedProtseqs_0, 0);
		NDR_PULL_ALLOC(ndr, r->out.ppdsaOxidBindings);
		ZERO_STRUCTP(r->out.ppdsaOxidBindings);
		NDR_PULL_ALLOC(ndr, r->out.pipidRemUnknown);
		ZERO_STRUCTP(r->out.pipidRemUnknown);
		NDR_PULL_ALLOC(ndr, r->out.pAuthnHint);
		ZERO_STRUCTP(r->out.pAuthnHint);
		if (r->in.arRequestedProtseqs) {
			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.arRequestedProtseqs, r->in.cRequestedProtseqs));
		}
	}
	if (flags & NDR_OUT) {
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.ppdsaOxidBindings);
		}
		_mem_save_ppdsaOxidBindings_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.ppdsaOxidBindings, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ppdsaOxidBindings));
		if (_ptr_ppdsaOxidBindings) {
			NDR_PULL_ALLOC(ndr, *r->out.ppdsaOxidBindings);
		} else {
			*r->out.ppdsaOxidBindings = NULL;
		}
		if (*r->out.ppdsaOxidBindings) {
			_mem_save_ppdsaOxidBindings_1 = NDR_PULL_GET_MEM_CTX(ndr);
			NDR_PULL_SET_MEM_CTX(ndr, *r->out.ppdsaOxidBindings, 0);
			NDR_CHECK(ndr_pull_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ppdsaOxidBindings));
			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ppdsaOxidBindings_1, 0);
		}
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ppdsaOxidBindings_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.pipidRemUnknown);
		}
		_mem_save_pipidRemUnknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.pipidRemUnknown, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->out.pipidRemUnknown));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pipidRemUnknown_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.pAuthnHint);
		}
		_mem_save_pAuthnHint_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.pAuthnHint, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.pAuthnHint));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pAuthnHint_0, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_ResolveOxid(struct ndr_print *ndr, const char *name, int flags, const struct ResolveOxid *r)
{
	uint32_t cntr_arRequestedProtseqs_0;
	ndr_print_struct(ndr, name, "ResolveOxid");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	if (flags & NDR_SET_VALUES) {
		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
	}
	if (flags & NDR_IN) {
		ndr_print_struct(ndr, "in", "ResolveOxid");
		ndr->depth++;
		ndr_print_hyper(ndr, "pOxid", r->in.pOxid);
		ndr_print_uint16(ndr, "cRequestedProtseqs", r->in.cRequestedProtseqs);
		ndr->print(ndr, "%s: ARRAY(%d)", "arRequestedProtseqs", (int)r->in.cRequestedProtseqs);
		ndr->depth++;
		for (cntr_arRequestedProtseqs_0=0;cntr_arRequestedProtseqs_0<r->in.cRequestedProtseqs;cntr_arRequestedProtseqs_0++) {
			ndr_print_uint16(ndr, "arRequestedProtseqs", r->in.arRequestedProtseqs[cntr_arRequestedProtseqs_0]);
		}
		ndr->depth--;
		ndr->depth--;
	}
	if (flags & NDR_OUT) {
		ndr_print_struct(ndr, "out", "ResolveOxid");
		ndr->depth++;
		ndr_print_ptr(ndr, "ppdsaOxidBindings", r->out.ppdsaOxidBindings);
		ndr->depth++;
		ndr_print_ptr(ndr, "ppdsaOxidBindings", *r->out.ppdsaOxidBindings);
		ndr->depth++;
		if (*r->out.ppdsaOxidBindings) {
			ndr_print_DUALSTRINGARRAY(ndr, "ppdsaOxidBindings", *r->out.ppdsaOxidBindings);
		}
		ndr->depth--;
		ndr->depth--;
		ndr_print_ptr(ndr, "pipidRemUnknown", r->out.pipidRemUnknown);
		ndr->depth++;
		ndr_print_GUID(ndr, "pipidRemUnknown", r->out.pipidRemUnknown);
		ndr->depth--;
		ndr_print_ptr(ndr, "pAuthnHint", r->out.pAuthnHint);
		ndr->depth++;
		ndr_print_uint32(ndr, "pAuthnHint", *r->out.pAuthnHint);
		ndr->depth--;
		ndr_print_WERROR(ndr, "result", r->out.result);
		ndr->depth--;
	}
	ndr->depth--;
}

static enum ndr_err_code ndr_push_SimplePing(struct ndr_push *ndr, int flags, const struct SimplePing *r)
{
	NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		if (r->in.SetId == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->in.SetId));
	}
	if (flags & NDR_OUT) {
		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_SimplePing(struct ndr_pull *ndr, int flags, struct SimplePing *r)
{
	TALLOC_CTX *_mem_save_SetId_0;
	NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->in.SetId);
		}
		_mem_save_SetId_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->in.SetId, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->in.SetId));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SetId_0, LIBNDR_FLAG_REF_ALLOC);
	}
	if (flags & NDR_OUT) {
		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_SimplePing(struct ndr_print *ndr, const char *name, int flags, const struct SimplePing *r)
{
	ndr_print_struct(ndr, name, "SimplePing");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	if (flags & NDR_SET_VALUES) {
		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
	}
	if (flags & NDR_IN) {
		ndr_print_struct(ndr, "in", "SimplePing");
		ndr->depth++;
		ndr_print_ptr(ndr, "SetId", r->in.SetId);
		ndr->depth++;
		ndr_print_hyper(ndr, "SetId", *r->in.SetId);
		ndr->depth--;
		ndr->depth--;
	}
	if (flags & NDR_OUT) {
		ndr_print_struct(ndr, "out", "SimplePing");
		ndr->depth++;
		ndr_print_WERROR(ndr, "result", r->out.result);
		ndr->depth--;
	}
	ndr->depth--;
}

static enum ndr_err_code ndr_push_ComplexPing(struct ndr_push *ndr, int flags, const struct ComplexPing *r)
{
	uint32_t cntr_AddToSet_0;
	uint32_t cntr_DelFromSet_0;
	NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		if (r->in.SetId == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->in.SetId));
		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.SequenceNum));
		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cAddToSet));
		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cDelFromSet));
		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cAddToSet));
		for (cntr_AddToSet_0 = 0; cntr_AddToSet_0 < r->in.cAddToSet; cntr_AddToSet_0++) {
			NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.AddToSet[cntr_AddToSet_0]));
		}
		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cDelFromSet));
		for (cntr_DelFromSet_0 = 0; cntr_DelFromSet_0 < r->in.cDelFromSet; cntr_DelFromSet_0++) {
			NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.DelFromSet[cntr_DelFromSet_0]));
		}
	}
	if (flags & NDR_OUT) {
		if (r->out.SetId == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.SetId));
		if (r->out.PingBackoffFactor == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.PingBackoffFactor));
		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_ComplexPing(struct ndr_pull *ndr, int flags, struct ComplexPing *r)
{
	uint32_t size_AddToSet_0 = 0;
	uint32_t cntr_AddToSet_0;
	uint32_t size_DelFromSet_0 = 0;
	uint32_t cntr_DelFromSet_0;
	TALLOC_CTX *_mem_save_SetId_0;
	TALLOC_CTX *_mem_save_AddToSet_0;
	TALLOC_CTX *_mem_save_DelFromSet_0;
	TALLOC_CTX *_mem_save_PingBackoffFactor_0;
	NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		ZERO_STRUCT(r->out);

		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->in.SetId);
		}
		_mem_save_SetId_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->in.SetId, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->in.SetId));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SetId_0, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.SequenceNum));
		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cAddToSet));
		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cDelFromSet));
		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.AddToSet));
		size_AddToSet_0 = ndr_get_array_size(ndr, &r->in.AddToSet);
		NDR_PULL_ALLOC_N(ndr, r->in.AddToSet, size_AddToSet_0);
		_mem_save_AddToSet_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->in.AddToSet, 0);
		for (cntr_AddToSet_0 = 0; cntr_AddToSet_0 < size_AddToSet_0; cntr_AddToSet_0++) {
			NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.AddToSet[cntr_AddToSet_0]));
		}
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_AddToSet_0, 0);
		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DelFromSet));
		size_DelFromSet_0 = ndr_get_array_size(ndr, &r->in.DelFromSet);
		NDR_PULL_ALLOC_N(ndr, r->in.DelFromSet, size_DelFromSet_0);
		_mem_save_DelFromSet_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->in.DelFromSet, 0);
		for (cntr_DelFromSet_0 = 0; cntr_DelFromSet_0 < size_DelFromSet_0; cntr_DelFromSet_0++) {
			NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.DelFromSet[cntr_DelFromSet_0]));
		}
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DelFromSet_0, 0);
		NDR_PULL_ALLOC(ndr, r->out.SetId);
		*r->out.SetId = *r->in.SetId;
		NDR_PULL_ALLOC(ndr, r->out.PingBackoffFactor);
		ZERO_STRUCTP(r->out.PingBackoffFactor);
		if (r->in.AddToSet) {
			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.AddToSet, r->in.cAddToSet));
		}
		if (r->in.DelFromSet) {
			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.DelFromSet, r->in.cDelFromSet));
		}
	}
	if (flags & NDR_OUT) {
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.SetId);
		}
		_mem_save_SetId_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.SetId, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.SetId));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SetId_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.PingBackoffFactor);
		}
		_mem_save_PingBackoffFactor_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.PingBackoffFactor, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.PingBackoffFactor));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PingBackoffFactor_0, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_ComplexPing(struct ndr_print *ndr, const char *name, int flags, const struct ComplexPing *r)
{
	uint32_t cntr_AddToSet_0;
	uint32_t cntr_DelFromSet_0;
	ndr_print_struct(ndr, name, "ComplexPing");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	if (flags & NDR_SET_VALUES) {
		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
	}
	if (flags & NDR_IN) {
		ndr_print_struct(ndr, "in", "ComplexPing");
		ndr->depth++;
		ndr_print_ptr(ndr, "SetId", r->in.SetId);
		ndr->depth++;
		ndr_print_hyper(ndr, "SetId", *r->in.SetId);
		ndr->depth--;
		ndr_print_uint16(ndr, "SequenceNum", r->in.SequenceNum);
		ndr_print_uint16(ndr, "cAddToSet", r->in.cAddToSet);
		ndr_print_uint16(ndr, "cDelFromSet", r->in.cDelFromSet);
		ndr->print(ndr, "%s: ARRAY(%d)", "AddToSet", (int)r->in.cAddToSet);
		ndr->depth++;
		for (cntr_AddToSet_0=0;cntr_AddToSet_0<r->in.cAddToSet;cntr_AddToSet_0++) {
			ndr_print_GUID(ndr, "AddToSet", &r->in.AddToSet[cntr_AddToSet_0]);
		}
		ndr->depth--;
		ndr->print(ndr, "%s: ARRAY(%d)", "DelFromSet", (int)r->in.cDelFromSet);
		ndr->depth++;
		for (cntr_DelFromSet_0=0;cntr_DelFromSet_0<r->in.cDelFromSet;cntr_DelFromSet_0++) {
			ndr_print_GUID(ndr, "DelFromSet", &r->in.DelFromSet[cntr_DelFromSet_0]);
		}
		ndr->depth--;
		ndr->depth--;
	}
	if (flags & NDR_OUT) {
		ndr_print_struct(ndr, "out", "ComplexPing");
		ndr->depth++;
		ndr_print_ptr(ndr, "SetId", r->out.SetId);
		ndr->depth++;
		ndr_print_hyper(ndr, "SetId", *r->out.SetId);
		ndr->depth--;
		ndr_print_ptr(ndr, "PingBackoffFactor", r->out.PingBackoffFactor);
		ndr->depth++;
		ndr_print_uint16(ndr, "PingBackoffFactor", *r->out.PingBackoffFactor);
		ndr->depth--;
		ndr_print_WERROR(ndr, "result", r->out.result);
		ndr->depth--;
	}
	ndr->depth--;
}

static enum ndr_err_code ndr_push_ServerAlive(struct ndr_push *ndr, int flags, const struct ServerAlive *r)
{
	NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
	}
	if (flags & NDR_OUT) {
		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_ServerAlive(struct ndr_pull *ndr, int flags, struct ServerAlive *r)
{
	NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
	}
	if (flags & NDR_OUT) {
		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_ServerAlive(struct ndr_print *ndr, const char *name, int flags, const struct ServerAlive *r)
{
	ndr_print_struct(ndr, name, "ServerAlive");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	if (flags & NDR_SET_VALUES) {
		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
	}
	if (flags & NDR_IN) {
		ndr_print_struct(ndr, "in", "ServerAlive");
		ndr->depth++;
		ndr->depth--;
	}
	if (flags & NDR_OUT) {
		ndr_print_struct(ndr, "out", "ServerAlive");
		ndr->depth++;
		ndr_print_WERROR(ndr, "result", r->out.result);
		ndr->depth--;
	}
	ndr->depth--;
}

static enum ndr_err_code ndr_push_ResolveOxid2(struct ndr_push *ndr, int flags, const struct ResolveOxid2 *r)
{
	uint32_t cntr_arRequestedProtseqs_0;
	NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.pOxid));
		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.cRequestedProtseqs));
		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.cRequestedProtseqs));
		for (cntr_arRequestedProtseqs_0 = 0; cntr_arRequestedProtseqs_0 < r->in.cRequestedProtseqs; cntr_arRequestedProtseqs_0++) {
			NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.arRequestedProtseqs[cntr_arRequestedProtseqs_0]));
		}
	}
	if (flags & NDR_OUT) {
		if (r->out.pdsaOxidBindings == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.pdsaOxidBindings));
		if (*r->out.pdsaOxidBindings) {
			NDR_CHECK(ndr_push_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pdsaOxidBindings));
		}
		if (r->out.ipidRemUnknown == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->out.ipidRemUnknown));
		if (r->out.AuthnHint == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.AuthnHint));
		if (r->out.ComVersion == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_COMVERSION(ndr, NDR_SCALARS, r->out.ComVersion));
		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_ResolveOxid2(struct ndr_pull *ndr, int flags, struct ResolveOxid2 *r)
{
	uint32_t size_arRequestedProtseqs_0 = 0;
	uint32_t cntr_arRequestedProtseqs_0;
	uint32_t _ptr_pdsaOxidBindings;
	TALLOC_CTX *_mem_save_arRequestedProtseqs_0;
	TALLOC_CTX *_mem_save_pdsaOxidBindings_0;
	TALLOC_CTX *_mem_save_pdsaOxidBindings_1;
	TALLOC_CTX *_mem_save_ipidRemUnknown_0;
	TALLOC_CTX *_mem_save_AuthnHint_0;
	TALLOC_CTX *_mem_save_ComVersion_0;
	NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		ZERO_STRUCT(r->out);

		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.pOxid));
		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.cRequestedProtseqs));
		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.arRequestedProtseqs));
		size_arRequestedProtseqs_0 = ndr_get_array_size(ndr, &r->in.arRequestedProtseqs);
		NDR_PULL_ALLOC_N(ndr, r->in.arRequestedProtseqs, size_arRequestedProtseqs_0);
		_mem_save_arRequestedProtseqs_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->in.arRequestedProtseqs, 0);
		for (cntr_arRequestedProtseqs_0 = 0; cntr_arRequestedProtseqs_0 < size_arRequestedProtseqs_0; cntr_arRequestedProtseqs_0++) {
			NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.arRequestedProtseqs[cntr_arRequestedProtseqs_0]));
		}
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_arRequestedProtseqs_0, 0);
		NDR_PULL_ALLOC(ndr, r->out.pdsaOxidBindings);
		ZERO_STRUCTP(r->out.pdsaOxidBindings);
		NDR_PULL_ALLOC(ndr, r->out.ipidRemUnknown);
		ZERO_STRUCTP(r->out.ipidRemUnknown);
		NDR_PULL_ALLOC(ndr, r->out.AuthnHint);
		ZERO_STRUCTP(r->out.AuthnHint);
		NDR_PULL_ALLOC(ndr, r->out.ComVersion);
		ZERO_STRUCTP(r->out.ComVersion);
		if (r->in.arRequestedProtseqs) {
			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.arRequestedProtseqs, r->in.cRequestedProtseqs));
		}
	}
	if (flags & NDR_OUT) {
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.pdsaOxidBindings);
		}
		_mem_save_pdsaOxidBindings_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.pdsaOxidBindings, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pdsaOxidBindings));
		if (_ptr_pdsaOxidBindings) {
			NDR_PULL_ALLOC(ndr, *r->out.pdsaOxidBindings);
		} else {
			*r->out.pdsaOxidBindings = NULL;
		}
		if (*r->out.pdsaOxidBindings) {
			_mem_save_pdsaOxidBindings_1 = NDR_PULL_GET_MEM_CTX(ndr);
			NDR_PULL_SET_MEM_CTX(ndr, *r->out.pdsaOxidBindings, 0);
			NDR_CHECK(ndr_pull_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pdsaOxidBindings));
			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pdsaOxidBindings_1, 0);
		}
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pdsaOxidBindings_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.ipidRemUnknown);
		}
		_mem_save_ipidRemUnknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.ipidRemUnknown, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->out.ipidRemUnknown));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ipidRemUnknown_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.AuthnHint);
		}
		_mem_save_AuthnHint_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.AuthnHint, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.AuthnHint));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_AuthnHint_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.ComVersion);
		}
		_mem_save_ComVersion_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.ComVersion, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_COMVERSION(ndr, NDR_SCALARS, r->out.ComVersion));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ComVersion_0, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_ResolveOxid2(struct ndr_print *ndr, const char *name, int flags, const struct ResolveOxid2 *r)
{
	uint32_t cntr_arRequestedProtseqs_0;
	ndr_print_struct(ndr, name, "ResolveOxid2");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	if (flags & NDR_SET_VALUES) {
		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
	}
	if (flags & NDR_IN) {
		ndr_print_struct(ndr, "in", "ResolveOxid2");
		ndr->depth++;
		ndr_print_hyper(ndr, "pOxid", r->in.pOxid);
		ndr_print_uint16(ndr, "cRequestedProtseqs", r->in.cRequestedProtseqs);
		ndr->print(ndr, "%s: ARRAY(%d)", "arRequestedProtseqs", (int)r->in.cRequestedProtseqs);
		ndr->depth++;
		for (cntr_arRequestedProtseqs_0=0;cntr_arRequestedProtseqs_0<r->in.cRequestedProtseqs;cntr_arRequestedProtseqs_0++) {
			ndr_print_uint16(ndr, "arRequestedProtseqs", r->in.arRequestedProtseqs[cntr_arRequestedProtseqs_0]);
		}
		ndr->depth--;
		ndr->depth--;
	}
	if (flags & NDR_OUT) {
		ndr_print_struct(ndr, "out", "ResolveOxid2");
		ndr->depth++;
		ndr_print_ptr(ndr, "pdsaOxidBindings", r->out.pdsaOxidBindings);
		ndr->depth++;
		ndr_print_ptr(ndr, "pdsaOxidBindings", *r->out.pdsaOxidBindings);
		ndr->depth++;
		if (*r->out.pdsaOxidBindings) {
			ndr_print_DUALSTRINGARRAY(ndr, "pdsaOxidBindings", *r->out.pdsaOxidBindings);
		}
		ndr->depth--;
		ndr->depth--;
		ndr_print_ptr(ndr, "ipidRemUnknown", r->out.ipidRemUnknown);
		ndr->depth++;
		ndr_print_GUID(ndr, "ipidRemUnknown", r->out.ipidRemUnknown);
		ndr->depth--;
		ndr_print_ptr(ndr, "AuthnHint", r->out.AuthnHint);
		ndr->depth++;
		ndr_print_uint32(ndr, "AuthnHint", *r->out.AuthnHint);
		ndr->depth--;
		ndr_print_ptr(ndr, "ComVersion", r->out.ComVersion);
		ndr->depth++;
		ndr_print_COMVERSION(ndr, "ComVersion", r->out.ComVersion);
		ndr->depth--;
		ndr_print_WERROR(ndr, "result", r->out.result);
		ndr->depth--;
	}
	ndr->depth--;
}

static enum ndr_err_code ndr_push_ServerAlive2(struct ndr_push *ndr, int flags, const struct ServerAlive2 *r)
{
	NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
	}
	if (flags & NDR_OUT) {
		if (r->out.info == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_COMINFO(ndr, NDR_SCALARS, r->out.info));
		if (r->out.dualstring == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dualstring));
		if (r->out.unknown2 == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.unknown2));
		if (r->out.unknown3 == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.unknown3));
		if (r->out.unknown4 == NULL) {
			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
		}
		NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.unknown4));
		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_ServerAlive2(struct ndr_pull *ndr, int flags, struct ServerAlive2 *r)
{
	TALLOC_CTX *_mem_save_info_0;
	TALLOC_CTX *_mem_save_dualstring_0;
	TALLOC_CTX *_mem_save_unknown2_0;
	TALLOC_CTX *_mem_save_unknown3_0;
	TALLOC_CTX *_mem_save_unknown4_0;
	NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
	if (flags & NDR_IN) {
		ZERO_STRUCT(r->out);

		NDR_PULL_ALLOC(ndr, r->out.info);
		ZERO_STRUCTP(r->out.info);
		NDR_PULL_ALLOC(ndr, r->out.dualstring);
		ZERO_STRUCTP(r->out.dualstring);
		NDR_PULL_ALLOC(ndr, r->out.unknown2);
		ZERO_STRUCTP(r->out.unknown2);
		NDR_PULL_ALLOC(ndr, r->out.unknown3);
		ZERO_STRUCTP(r->out.unknown3);
		NDR_PULL_ALLOC(ndr, r->out.unknown4);
		ZERO_STRUCTP(r->out.unknown4);
	}
	if (flags & NDR_OUT) {
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.info);
		}
		_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_COMINFO(ndr, NDR_SCALARS, r->out.info));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.dualstring);
		}
		_mem_save_dualstring_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.dualstring, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dualstring));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dualstring_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.unknown2);
		}
		_mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown2, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.unknown2));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.unknown3);
		}
		_mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown3, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.unknown3));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, LIBNDR_FLAG_REF_ALLOC);
		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
			NDR_PULL_ALLOC(ndr, r->out.unknown4);
		}
		_mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
		NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown4, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.unknown4));
		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, LIBNDR_FLAG_REF_ALLOC);
		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_ServerAlive2(struct ndr_print *ndr, const char *name, int flags, const struct ServerAlive2 *r)
{
	ndr_print_struct(ndr, name, "ServerAlive2");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	if (flags & NDR_SET_VALUES) {
		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
	}
	if (flags & NDR_IN) {
		ndr_print_struct(ndr, "in", "ServerAlive2");
		ndr->depth++;
		ndr->depth--;
	}
	if (flags & NDR_OUT) {
		ndr_print_struct(ndr, "out", "ServerAlive2");
		ndr->depth++;
		ndr_print_ptr(ndr, "info", r->out.info);
		ndr->depth++;
		ndr_print_COMINFO(ndr, "info", r->out.info);
		ndr->depth--;
		ndr_print_ptr(ndr, "dualstring", r->out.dualstring);
		ndr->depth++;
		ndr_print_DUALSTRINGARRAY(ndr, "dualstring", r->out.dualstring);
		ndr->depth--;
		ndr_print_ptr(ndr, "unknown2", r->out.unknown2);
		ndr->depth++;
		ndr_print_uint8(ndr, "unknown2", *r->out.unknown2);
		ndr->depth--;
		ndr_print_ptr(ndr, "unknown3", r->out.unknown3);
		ndr->depth++;
		ndr_print_uint8(ndr, "unknown3", *r->out.unknown3);
		ndr->depth--;
		ndr_print_ptr(ndr, "unknown4", r->out.unknown4);
		ndr->depth++;
		ndr_print_uint8(ndr, "unknown4", *r->out.unknown4);
		ndr->depth--;
		ndr_print_WERROR(ndr, "result", r->out.result);
		ndr->depth--;
	}
	ndr->depth--;
}

static const struct ndr_interface_call IOXIDResolver_calls[] = {
	{
		"ResolveOxid",
		sizeof(struct ResolveOxid),
		(ndr_push_flags_fn_t) ndr_push_ResolveOxid,
		(ndr_pull_flags_fn_t) ndr_pull_ResolveOxid,
		(ndr_print_function_t) ndr_print_ResolveOxid,
		{ 0, NULL },
		{ 0, NULL },
	},
	{
		"SimplePing",
		sizeof(struct SimplePing),
		(ndr_push_flags_fn_t) ndr_push_SimplePing,
		(ndr_pull_flags_fn_t) ndr_pull_SimplePing,
		(ndr_print_function_t) ndr_print_SimplePing,
		{ 0, NULL },
		{ 0, NULL },
	},
	{
		"ComplexPing",
		sizeof(struct ComplexPing),
		(ndr_push_flags_fn_t) ndr_push_ComplexPing,
		(ndr_pull_flags_fn_t) ndr_pull_ComplexPing,
		(ndr_print_function_t) ndr_print_ComplexPing,
		{ 0, NULL },
		{ 0, NULL },
	},
	{
		"ServerAlive",
		sizeof(struct ServerAlive),
		(ndr_push_flags_fn_t) ndr_push_ServerAlive,
		(ndr_pull_flags_fn_t) ndr_pull_ServerAlive,
		(ndr_print_function_t) ndr_print_ServerAlive,
		{ 0, NULL },
		{ 0, NULL },
	},
	{
		"ResolveOxid2",
		sizeof(struct ResolveOxid2),
		(ndr_push_flags_fn_t) ndr_push_ResolveOxid2,
		(ndr_pull_flags_fn_t) ndr_pull_ResolveOxid2,
		(ndr_print_function_t) ndr_print_ResolveOxid2,
		{ 0, NULL },
		{ 0, NULL },
	},
	{
		"ServerAlive2",
		sizeof(struct ServerAlive2),
		(ndr_push_flags_fn_t) ndr_push_ServerAlive2,
		(ndr_pull_flags_fn_t) ndr_pull_ServerAlive2,
		(ndr_print_function_t) ndr_print_ServerAlive2,
		{ 0, NULL },
		{ 0, NULL },
	},
	{ NULL, 0, NULL, NULL, NULL }
};

static const char * const IOXIDResolver_endpoint_strings[] = {
	"ncacn_np:[\\pipe\\epmapper]", 
	"ncacn_ip_tcp:[135]", 
	"ncalrpc:", 
};

static const struct ndr_interface_string_array IOXIDResolver_endpoints = {
	.count	= 3,
	.names	= IOXIDResolver_endpoint_strings
};

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

static const struct ndr_interface_string_array IOXIDResolver_authservices = {
	.count	= 1,
	.names	= IOXIDResolver_authservice_strings
};


const struct ndr_interface_table ndr_table_IOXIDResolver = {
	.name		= "IOXIDResolver",
	.syntax_id	= {
		{0x99fcfec4,0x5260,0x101b,{0xbb,0xcb},{0x00,0xaa,0x00,0x21,0x34,0x7a}},
		NDR_IOXIDRESOLVER_VERSION
	},
	.helpstring	= NDR_IOXIDRESOLVER_HELPSTRING,
	.num_calls	= 6,
	.calls		= IOXIDResolver_calls,
	.endpoints	= &IOXIDResolver_endpoints,
	.authservices	= &IOXIDResolver_authservices
};

