/* header auto-generated by pidl */

#ifndef _PIDL_HEADER_IOXIDResolver
#define _PIDL_HEADER_IOXIDResolver

#include <stdint.h>

#include "libcli/util/ntstatus.h"

#include "librpc/gen_ndr/misc.h"
#include "librpc/gen_ndr/orpc.h"
#ifndef _HEADER_IOXIDResolver
#define _HEADER_IOXIDResolver

struct COMINFO {
	struct COMVERSION version;
	uint32_t unknown1;
};


struct ResolveOxid {
	struct {
		uint64_t pOxid;
		uint16_t cRequestedProtseqs;
		uint16_t *arRequestedProtseqs;/* [size_is(cRequestedProtseqs)] */
	} in;

	struct {
		struct DUALSTRINGARRAY **ppdsaOxidBindings;/* [ref] */
		struct GUID *pipidRemUnknown;/* [ref] */
		uint32_t *pAuthnHint;/* [ref] */
		WERROR result;
	} out;

};


struct SimplePing {
	struct {
		uint64_t *SetId;/* [ref] */
	} in;

	struct {
		WERROR result;
	} out;

};


struct ComplexPing {
	struct {
		uint16_t SequenceNum;
		uint16_t cAddToSet;
		uint16_t cDelFromSet;
		struct GUID *AddToSet;/* [size_is(cAddToSet)] */
		struct GUID *DelFromSet;/* [size_is(cDelFromSet)] */
		uint64_t *SetId;/* [ref] */
	} in;

	struct {
		uint16_t *PingBackoffFactor;/* [ref] */
		uint64_t *SetId;/* [ref] */
		WERROR result;
	} out;

};


struct ServerAlive {
	struct {
		WERROR result;
	} out;

};


struct ResolveOxid2 {
	struct {
		uint64_t pOxid;
		uint16_t cRequestedProtseqs;
		uint16_t *arRequestedProtseqs;/* [size_is(cRequestedProtseqs)] */
	} in;

	struct {
		struct DUALSTRINGARRAY **pdsaOxidBindings;/* [ref] */
		struct GUID *ipidRemUnknown;/* [ref] */
		uint32_t *AuthnHint;/* [ref] */
		struct COMVERSION *ComVersion;/* [ref] */
		WERROR result;
	} out;

};


struct ServerAlive2 {
	struct {
		struct COMINFO *info;/* [ref] */
		struct DUALSTRINGARRAY *dualstring;/* [ref] */
		uint8_t *unknown2;/* [ref] */
		uint8_t *unknown3;/* [ref] */
		uint8_t *unknown4;/* [ref] */
		WERROR result;
	} out;

};

#endif /* _HEADER_IOXIDResolver */
#endif /* _PIDL_HEADER_IOXIDResolver */
