/* header auto-generated by pidl */

#ifndef _PIDL_HEADER_mdssvc
#define _PIDL_HEADER_mdssvc

#include <stdint.h>


#include "librpc/gen_ndr/misc.h"
#ifndef _HEADER_mdssvc
#define _HEADER_mdssvc

struct mdssvc_blob {
	uint32_t length;
	uint32_t size;
	uint8_t *spotlight_blob;/* [length_is(length),size_is(size),unique] */
}/* [public] */;


struct mdssvc_open {
	struct {
		const char *share_mount_path;/* [charset(UTF8),size_is(1025)] */
		const char *share_name;/* [charset(UTF8),size_is(1025)] */
		uint32_t *device_id;/* [ref] */
		uint32_t *unkn2;/* [ref] */
		uint32_t *unkn3;/* [ref] */
	} in;

	struct {
		const char *share_path;/* [charset(UTF8),size_is(1025)] */
		struct policy_handle *handle;/* [ref] */
		uint32_t *device_id;/* [ref] */
		uint32_t *unkn2;/* [ref] */
		uint32_t *unkn3;/* [ref] */
	} out;

};


struct mdssvc_unknown1 {
	struct {
		struct policy_handle *handle;/* [ref] */
		uint32_t unkn1;
		uint32_t device_id;
		uint32_t unkn3;
		uint32_t unkn4;
		uint32_t uid;
		uint32_t gid;
	} in;

	struct {
		uint32_t *status;/* [ref] */
		uint32_t *flags;/* [ref] */
		uint32_t *unkn7;/* [ref] */
	} out;

};


struct mdssvc_cmd {
	struct {
		struct policy_handle *handle;/* [ref] */
		uint32_t unkn1;
		uint32_t device_id;
		uint32_t unkn3;
		uint32_t next_fragment;
		uint32_t flags;
		struct mdssvc_blob request_blob;
		uint32_t unkn5;
		uint32_t max_fragment_size1;
		uint32_t unkn6;
		uint32_t max_fragment_size2;
		uint32_t unkn7;
		uint32_t unkn8;
	} in;

	struct {
		uint32_t *fragment;/* [ref] */
		struct mdssvc_blob *response_blob;/* [ref] */
		uint32_t *unkn9;/* [ref] */
	} out;

};


struct mdssvc_close {
	struct {
		struct policy_handle *in_handle;/* [ref] */
		uint32_t unkn1;
		uint32_t device_id;
		uint32_t unkn2;
		uint32_t unkn3;
	} in;

	struct {
		struct policy_handle *out_handle;/* [ref] */
		uint32_t *status;/* [ref] */
	} out;

};

#endif /* _HEADER_mdssvc */
#endif /* _PIDL_HEADER_mdssvc */
