/* header auto-generated by pidl */

#ifndef _PIDL_HEADER_property
#define _PIDL_HEADER_property

#include <util/data_blob.h>
#include <stdint.h>

#include <core/ntstatus.h>

#include <gen_ndr/ndr_misc.h>
#include <gen_ndr/exchange.h>
#ifndef _HEADER_property
#define _HEADER_property

enum AttachmentMethod
#ifndef USE_UINT_ENUMS
 {
	afNone=(int)(0x00000000),
	afByValue=(int)(0x00000001),
	afByReference=(int)(0x00000002),
	afByReferenceOnly=(int)(0x00000004),
	afEmbeddedMessage=(int)(0x00000005),
	afStorage=(int)(0x00000006)
}
#else
 { __do_not_use_enum_AttachmentMethod=0x7FFFFFFF}
#define afNone ( 0x00000000 )
#define afByValue ( 0x00000001 )
#define afByReference ( 0x00000002 )
#define afByReferenceOnly ( 0x00000004 )
#define afEmbeddedMessage ( 0x00000005 )
#define afStorage ( 0x00000006 )
#endif
;

enum SideEffects
#ifndef USE_UINT_ENUMS
 {
	seOpenToDelete=(int)(0x00000001),
	seNoFrame=(int)(0x00000008),
	seCoerceToInbox=(int)(0x00000010),
	seOpenToCopy=(int)(0x00000020),
	seOpenToMove=(int)(0x00000040),
	seOpenForCtxMenu=(int)(0x00000100),
	seCannotUndoDelete=(int)(0x00000400),
	seCannotUndoCopy=(int)(0x00000800),
	seCannotUndoMove=(int)(0x00001000),
	seHasScript=(int)(0x00002000),
	seOpenToPermDelete=(int)(0x00004000)
}
#else
 { __do_not_use_enum_SideEffects=0x7FFFFFFF}
#define seOpenToDelete ( 0x00000001 )
#define seNoFrame ( 0x00000008 )
#define seCoerceToInbox ( 0x00000010 )
#define seOpenToCopy ( 0x00000020 )
#define seOpenToMove ( 0x00000040 )
#define seOpenForCtxMenu ( 0x00000100 )
#define seCannotUndoDelete ( 0x00000400 )
#define seCannotUndoCopy ( 0x00000800 )
#define seCannotUndoMove ( 0x00001000 )
#define seHasScript ( 0x00002000 )
#define seOpenToPermDelete ( 0x00004000 )
#endif
;

enum RecurFrequency
#ifndef USE_UINT_ENUMS
 {
	RecurFrequency_Daily=(int)(0x200A),
	RecurFrequency_Weekly=(int)(0x200B),
	RecurFrequency_Monthly=(int)(0x200C),
	RecurFrequency_Yearly=(int)(0x200D)
}
#else
 { __do_not_use_enum_RecurFrequency=0x7FFFFFFF}
#define RecurFrequency_Daily ( 0x200A )
#define RecurFrequency_Weekly ( 0x200B )
#define RecurFrequency_Monthly ( 0x200C )
#define RecurFrequency_Yearly ( 0x200D )
#endif
;

enum RecurrenceType
#ifndef USE_UINT_ENUMS
 {
	rectypeNone=(int)(0x00000000),
	rectypeDaily=(int)(0x00000001),
	rectypeWeekly=(int)(0x00000002),
	rectypeMonthly=(int)(0x00000003),
	rectypeYearly=(int)(0x00000004)
}
#else
 { __do_not_use_enum_RecurrenceType=0x7FFFFFFF}
#define rectypeNone ( 0x00000000 )
#define rectypeDaily ( 0x00000001 )
#define rectypeWeekly ( 0x00000002 )
#define rectypeMonthly ( 0x00000003 )
#define rectypeYearly ( 0x00000004 )
#endif
;

enum PatternType
#ifndef USE_UINT_ENUMS
 {
	PatternType_Day=(int)(0x0),
	PatternType_Week=(int)(0x1),
	PatternType_Month=(int)(0x2),
	PatternType_MonthNth=(int)(0x3),
	PatternType_MonthEnd=(int)(0x4),
	PatternType_HjMonth=(int)(0xA),
	PatternType_HjMonthNth=(int)(0xB),
	PatternType_HjMonthEnd=(int)(0xC)
}
#else
 { __do_not_use_enum_PatternType=0x7FFFFFFF}
#define PatternType_Day ( 0x0 )
#define PatternType_Week ( 0x1 )
#define PatternType_Month ( 0x2 )
#define PatternType_MonthNth ( 0x3 )
#define PatternType_MonthEnd ( 0x4 )
#define PatternType_HjMonth ( 0xA )
#define PatternType_HjMonthNth ( 0xB )
#define PatternType_HjMonthEnd ( 0xC )
#endif
;

enum CalendarType
#ifndef USE_UINT_ENUMS
 {
	CAL_DEFAULT=(int)(0x0),
	CAL_GREGORIAN=(int)(0x1),
	CAL_GREGORIAN_US=(int)(0x2),
	CAL_JAPAN=(int)(0x3),
	CAL_TAIWAN=(int)(0x4),
	CAL_KOREA=(int)(0x5),
	CAL_HIJRI=(int)(0x6),
	CAL_THAI=(int)(0x7),
	CAL_HEBREW=(int)(0x8),
	CAL_GREGORIAN_ME_FRENCH=(int)(0x9),
	CAL_GREGORIAN_ARABIC=(int)(0xA),
	CAL_GREGORIAN_XLIT_ENGLISH=(int)(0xB),
	CAL_GREGORIAN_XLIT_FRENCH=(int)(0xC),
	CAL_LUNAR_JAPANESE=(int)(0xE),
	CAL_CHINESE_LUNAR=(int)(0xF),
	CAL_SAKA=(int)(0x10),
	CAL_LUNAR_KOREAN=(int)(0x14)
}
#else
 { __do_not_use_enum_CalendarType=0x7FFFFFFF}
#define CAL_DEFAULT ( 0x0 )
#define CAL_GREGORIAN ( 0x1 )
#define CAL_GREGORIAN_US ( 0x2 )
#define CAL_JAPAN ( 0x3 )
#define CAL_TAIWAN ( 0x4 )
#define CAL_KOREA ( 0x5 )
#define CAL_HIJRI ( 0x6 )
#define CAL_THAI ( 0x7 )
#define CAL_HEBREW ( 0x8 )
#define CAL_GREGORIAN_ME_FRENCH ( 0x9 )
#define CAL_GREGORIAN_ARABIC ( 0xA )
#define CAL_GREGORIAN_XLIT_ENGLISH ( 0xB )
#define CAL_GREGORIAN_XLIT_FRENCH ( 0xC )
#define CAL_LUNAR_JAPANESE ( 0xE )
#define CAL_CHINESE_LUNAR ( 0xF )
#define CAL_SAKA ( 0x10 )
#define CAL_LUNAR_KOREAN ( 0x14 )
#endif
;

/* bitmap WeekRecurrencePattern */
#define Su ( 0x00000001 )
#define M ( 0x00000002 )
#define Tu ( 0x00000004 )
#define W ( 0x00000008 )
#define Th ( 0x00000010 )
#define F ( 0x00000020 )
#define Sa ( 0x00000040 )

enum FreeBusyStatus
#ifndef USE_UINT_ENUMS
 {
	olFree=(int)(0x00000000),
	olTentative=(int)(0x00000001),
	olBusy=(int)(0x00000002),
	olOutOfOffice=(int)(0x00000003)
}
#else
 { __do_not_use_enum_FreeBusyStatus=0x7FFFFFFF}
#define olFree ( 0x00000000 )
#define olTentative ( 0x00000001 )
#define olBusy ( 0x00000002 )
#define olOutOfOffice ( 0x00000003 )
#endif
;

enum RecurrenceN
#ifndef USE_UINT_ENUMS
 {
	RecurrenceN_First=(int)(0x1),
	RecurrenceN_Second=(int)(0x2),
	RecurrenceN_Third=(int)(0x3),
	RecurrenceN_Fourth=(int)(0x4),
	RecurrenceN_Last=(int)(0x5)
}
#else
 { __do_not_use_enum_RecurrenceN=0x7FFFFFFF}
#define RecurrenceN_First ( 0x1 )
#define RecurrenceN_Second ( 0x2 )
#define RecurrenceN_Third ( 0x3 )
#define RecurrenceN_Fourth ( 0x4 )
#define RecurrenceN_Last ( 0x5 )
#endif
;

struct MonthRecurrencePattern {
	uint32_t WeekRecurrencePattern;
	enum RecurrenceN N;
}/* [flag(LIBNDR_FLAG_NOALIGN)] */;

union PatternTypeSpecific {
	uint32_t WeekRecurrencePattern;/* [case(0x1)] */
	uint32_t Day;/* [case(0x2)] */
	struct MonthRecurrencePattern MonthRecurrencePattern;/* [case(0x3)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),nodiscriminant] */;

enum EndType
#ifndef USE_UINT_ENUMS
 {
	END_AFTER_DATE=(int)(0x00002021),
	END_AFTER_N_OCCURRENCES=(int)(0x00002022),
	END_NEVER_END=(int)(0x00002023),
	NEVER_END=(int)(0xFFFFFFFF)
}
#else
 { __do_not_use_enum_EndType=0x7FFFFFFF}
#define END_AFTER_DATE ( 0x00002021 )
#define END_AFTER_N_OCCURRENCES ( 0x00002022 )
#define END_NEVER_END ( 0x00002023 )
#define NEVER_END ( 0xFFFFFFFF )
#endif
;

enum FirstDOW
#ifndef USE_UINT_ENUMS
 {
	FirstDOW_Sunday=(int)(0x0),
	FirstDOW_Monday=(int)(0x1),
	FirstDOW_Tuesday=(int)(0x2),
	FirstDOW_Wednesday=(int)(0x3),
	FirstDOW_Thursday=(int)(0x4),
	FirstDOW_Friday=(int)(0x5),
	FirstDOW_Saturday=(int)(0x6)
}
#else
 { __do_not_use_enum_FirstDOW=0x7FFFFFFF}
#define FirstDOW_Sunday ( 0x0 )
#define FirstDOW_Monday ( 0x1 )
#define FirstDOW_Tuesday ( 0x2 )
#define FirstDOW_Wednesday ( 0x3 )
#define FirstDOW_Thursday ( 0x4 )
#define FirstDOW_Friday ( 0x5 )
#define FirstDOW_Saturday ( 0x6 )
#endif
;

enum OverrideFlags
#ifndef USE_UINT_ENUMS
 {
	ARO_SUBJECT=(int)(0x0001),
	ARO_MEETINGTYPE=(int)(0x0002),
	ARO_REMINDERDELTA=(int)(0x0004),
	ARO_REMINDER=(int)(0x0008),
	ARO_LOCATION=(int)(0x0010),
	ARO_BUSYSTATUS=(int)(0x0020),
	ARO_ATTACHMENT=(int)(0x0040),
	ARO_SUBTYPE=(int)(0x0080),
	ARO_APPTCOLOR=(int)(0x0100),
	ARO_EXCEPTIONAL_BODY=(int)(0x0200)
}
#else
 { __do_not_use_enum_OverrideFlags=0x7FFFFFFF}
#define ARO_SUBJECT ( 0x0001 )
#define ARO_MEETINGTYPE ( 0x0002 )
#define ARO_REMINDERDELTA ( 0x0004 )
#define ARO_REMINDER ( 0x0008 )
#define ARO_LOCATION ( 0x0010 )
#define ARO_BUSYSTATUS ( 0x0020 )
#define ARO_ATTACHMENT ( 0x0040 )
#define ARO_SUBTYPE ( 0x0080 )
#define ARO_APPTCOLOR ( 0x0100 )
#define ARO_EXCEPTIONAL_BODY ( 0x0200 )
#endif
;

struct RecurrencePattern {
	uint16_t ReaderVersion;
	uint16_t WriterVersion;
	enum RecurFrequency RecurFrequency;
	enum PatternType PatternType;
	enum CalendarType CalendarType;
	uint32_t FirstDateTime;
	uint32_t Period;
	uint32_t SlidingFlag;
	union PatternTypeSpecific PatternTypeSpecific;/* [switch_is(PatternType)] */
	enum EndType EndType;
	uint32_t OccurrenceCount;
	enum FirstDOW FirstDOW;
	uint32_t DeletedInstanceCount;
	uint32_t *DeletedInstanceDates;
	uint32_t ModifiedInstanceCount;
	uint32_t *ModifiedInstanceDates;
	uint32_t StartDate;
	uint32_t EndDate;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct Exception_Msg {
	uint16_t msgLength;
	uint16_t msgLength2;
	uint8_t *msg;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

union Exception_Value {
	struct Exception_Msg subjectMsg;/* [case(0x0001)] */
	uint32_t mType;/* [case(0x0002)] */
	uint32_t rDelta;/* [case(0x0004)] */
	uint32_t rSet;/* [case(0x0008)] */
	struct Exception_Msg locationMsg;/* [case(0x0010)] */
	uint32_t bStatus;/* [case(0x0020)] */
	uint32_t attachment;/* [case(0x0040)] */
	uint32_t sType;/* [case(0x0080)] */
	uint32_t aColor;/* [case(0x0100)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),nodiscriminant] */;

struct ExceptionInfo {
	uint32_t StartDateTime;
	uint32_t EndDateTime;
	uint32_t OriginalStartDate;
	enum OverrideFlags OverrideFlags;
	union Exception_Value Subject;/* [switch_is(OverrideFlags&0x0001)] */
	union Exception_Value MeetingType;/* [switch_is(OverrideFlags&0x0002)] */
	union Exception_Value ReminderDelta;/* [switch_is(OverrideFlags&0x0004)] */
	union Exception_Value ReminderSet;/* [switch_is(OverrideFlags&0x0008)] */
	union Exception_Value Location;/* [switch_is(OverrideFlags&0x0010)] */
	union Exception_Value BusyStatus;/* [switch_is(OverrideFlags&0x0020)] */
	union Exception_Value Attachment;/* [switch_is(OverrideFlags&0x0040)] */
	union Exception_Value SubType;/* [switch_is(OverrideFlags&0x0080)] */
	union Exception_Value AppointmentColor;/* [switch_is(OverrideFlags&0x0100)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

enum ChangeHighlightFlags
#ifndef USE_UINT_ENUMS
 {
	BIT_CH_START=(int)(0x00000001),
	BIT_CH_END=(int)(0x00000002),
	BIT_CH_RECUR=(int)(0x00000004),
	BIT_CH_LOCATION=(int)(0x00000008),
	BIT_CH_SUBJECT=(int)(0x00000010),
	BIT_CH_REQATT=(int)(0x00000020),
	BIT_CH_OPTATT=(int)(0x00000040),
	BIT_CH_BODY=(int)(0x00000080),
	BIT_CH_RESPONSE=(int)(0x00000200),
	BIT_CH_PROPOSE=(int)(0x00000400)
}
#else
 { __do_not_use_enum_ChangeHighlightFlags=0x7FFFFFFF}
#define BIT_CH_START ( 0x00000001 )
#define BIT_CH_END ( 0x00000002 )
#define BIT_CH_RECUR ( 0x00000004 )
#define BIT_CH_LOCATION ( 0x00000008 )
#define BIT_CH_SUBJECT ( 0x00000010 )
#define BIT_CH_REQATT ( 0x00000020 )
#define BIT_CH_OPTATT ( 0x00000040 )
#define BIT_CH_BODY ( 0x00000080 )
#define BIT_CH_RESPONSE ( 0x00000200 )
#define BIT_CH_PROPOSE ( 0x00000400 )
#endif
;

struct ChangeHighlight {
	uint32_t Size;
	enum ChangeHighlightFlags Value;
	uint8_t *Reserved;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct ExtendedException {
	struct ChangeHighlight ChangeHighlight;
	uint32_t ReservedBlockEE1Size;
	uint8_t *ReservedBlockEE1;
	uint32_t StartDateTime;
	uint32_t EndDateTime;
	uint32_t OriginalStartDate;
	const char * Subject;/* [flag(LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_CHARLEN)] */
	const char * Location;/* [flag(LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_CHARLEN)] */
	uint32_t ReservedBlockEE2Size;
	uint8_t *ReservedBlockEE2;
}/* [flag(LIBNDR_FLAG_NOALIGN),noprint,nopull,nopush] */;

struct AppointmentRecurrencePattern {
	struct RecurrencePattern RecurrencePattern;
	uint32_t ReaderVersion2;
	uint32_t WriterVersion2;
	uint32_t StartTimeOffset;
	uint32_t EndTimeOffset;
	uint16_t ExceptionCount;
	struct ExceptionInfo *ExceptionInfo;
	uint32_t ReservedBlock1Size;
	uint32_t *ReservedBlock1;
	struct ExtendedException *ExtendedException;
	uint32_t ReservedBlock2Size;
	uint32_t *ReservedBlock2;
}/* [flag(LIBNDR_FLAG_NOALIGN),nopull,nopush] */;

struct SYSTEMTIME {
	uint16_t wYear;
	uint16_t wMonth;
	uint16_t wDayOfWeek;
	uint16_t wDay;
	uint16_t wHour;
	uint16_t wMinute;
	uint16_t wSecond;
	uint16_t wMilliseconds;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct TimeZoneStruct {
	uint32_t lBias;
	uint32_t lStandardBias;
	uint32_t lDaylightBias;
	uint16_t wStandardYear;
	struct SYSTEMTIME stStandardDate;
	uint16_t wDaylightYear;
	struct SYSTEMTIME stDaylightDate;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

enum TZRuleFlag
#ifndef USE_UINT_ENUMS
 {
	TZRULE_FLAG_RECUR_CURRENT_TZREG=(int)(0x0001),
	TZRULE_FLAG_EFFECTIVE_TZREG=(int)(0x0002)
}
#else
 { __do_not_use_enum_TZRuleFlag=0x7FFFFFFF}
#define TZRULE_FLAG_RECUR_CURRENT_TZREG ( 0x0001 )
#define TZRULE_FLAG_EFFECTIVE_TZREG ( 0x0002 )
#endif
;

struct TZRule {
	uint8_t major;
	uint8_t minor;
	uint16_t reserved;
	enum TZRuleFlag flags;
	uint16_t wYear;
	uint8_t X[14];
	uint32_t lBias;
	uint32_t lStandardBias;
	uint32_t lDaylightBias;
	struct SYSTEMTIME stStandardDate;
	struct SYSTEMTIME stDaylightDate;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct TimeZoneDefinition {
	uint8_t major;
	uint8_t minor;
	uint16_t cbHeader;
	uint16_t reserved;
	const char * keyName;/* [flag(LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM)] */
	uint16_t cRules;
	struct TZRule *TZRules;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct GlobalObjectId {
	uint8_t ByteArrayID[16];
	uint8_t YH;
	uint8_t YL;
	uint8_t Month;
	uint8_t D;
	struct FILETIME CreationTime;
	uint8_t X[8];
	uint32_t Size;
	uint8_t *Data;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

enum EntryIdFolderType
#ifndef USE_UINT_ENUMS
 {
	eitLTPrivateFolder=(int)(0x01),
	eitLTPPublicFolder=(int)(0x03),
	eitLTPMappedPublicFolder=(int)(0x05),
	eitLTPPrivateMessage=(int)(0x07),
	eitLTPPublicMessage=(int)(0x09),
	eitLTPMappedPublicMessage=(int)(0x0b),
	eitLTPPublicNewsgroupFolder=(int)(0x0c)
}
#else
 { __do_not_use_enum_EntryIdFolderType=0x7FFFFFFF}
#define eitLTPrivateFolder ( 0x01 )
#define eitLTPPublicFolder ( 0x03 )
#define eitLTPMappedPublicFolder ( 0x05 )
#define eitLTPPrivateMessage ( 0x07 )
#define eitLTPPublicMessage ( 0x09 )
#define eitLTPMappedPublicMessage ( 0x0b )
#define eitLTPPublicNewsgroupFolder ( 0x0c )
#endif
;

struct PtypServerId {
	uint8_t ours;
	int64_t FolderId;
	int64_t MessageId;
	int32_t Instance;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct FolderEntryId {
	uint32_t Flags;
	struct GUID ProviderUID;
	enum EntryIdFolderType FolderType;
	struct GUID FolderDatabaseGuid;
	union GLOBCNT FolderGlobalCounter;/* [switch_is] */
	uint16_t Pad;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct MessageEntryId {
	uint32_t Flags;
	struct GUID ProviderUID;
	enum EntryIdFolderType MessageType;
	struct GUID FolderDatabaseGuid;
	union GLOBCNT FolderGlobalCounter;/* [switch_is] */
	uint16_t Pad1;
	struct GUID MessageDatabaseGuid;
	union GLOBCNT MessageGlobalCounter;/* [switch_is] */
	uint16_t Pad2;
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct AddressBookEntryId {
	uint32_t Flags;
	struct GUID ProviderUID;
	uint32_t Version;
	uint32_t Type;
	const char * X500DN;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

union OneOffEntryId_String {
	const char * lpszA;/* [case(0x0),flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
	const char * lpszW;/* [case(0x8000),flag(LIBNDR_FLAG_STR_NULLTERM)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),nodiscriminant] */;

struct OneOffEntryId {
	uint32_t Flags;
	struct GUID ProviderUID;
	uint16_t Version;
	uint16_t OneOffEntryIdFlags;
	union OneOffEntryId_String DisplayName;/* [switch_is(OneOffEntryIdFlags&0x8000)] */
	union OneOffEntryId_String AddressType;/* [switch_is(OneOffEntryIdFlags&0x8000)] */
	union OneOffEntryId_String EmailAddress;/* [switch_is(OneOffEntryIdFlags&0x8000)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

/* bitmap FolderFlags */
#define FolderFlags_IPM ( 0x00000001 )
#define FolderFlags_Search ( 0x00000002 )
#define FolderFlags_Normal ( 0x00000004 )
#define FolderFlags_Rules ( 0x00000008 )

enum sharing_flavor_type
#ifndef USE_UINT_ENUMS
 {
	SHARING_INVITATION_SPECIAL_FOLDER=(int)(0x20310),
	SHARING_INVITATION_FOLDER=(int)(0x310),
	SHARING_REQUEST_SPECIAL_FOLDER=(int)(0x20500),
	SHARING_INVITATION_REQUEST_FOLDER=(int)(0x20710),
	SHARING_DENY_REQUEST=(int)(0x25100),
	SHARING_ACCEPT_REQUEST=(int)(0x23310),
	SHARING_REQUEST=(int)(0x20400)
}
#else
 { __do_not_use_enum_sharing_flavor_type=0x7FFFFFFF}
#define SHARING_INVITATION_SPECIAL_FOLDER ( 0x20310 )
#define SHARING_INVITATION_FOLDER ( 0x310 )
#define SHARING_REQUEST_SPECIAL_FOLDER ( 0x20500 )
#define SHARING_INVITATION_REQUEST_FOLDER ( 0x20710 )
#define SHARING_DENY_REQUEST ( 0x25100 )
#define SHARING_ACCEPT_REQUEST ( 0x23310 )
#define SHARING_REQUEST ( 0x20400 )
#endif
;

enum ElementID
#ifndef USE_UINT_ENUMS
 {
	RSF_ELID_HEADER=(int)(0x2),
	RSF_ELID_ENTRYID=(int)(0x1),
	ELEMENT_SENTINEL=(int)(0x0)
}
#else
 { __do_not_use_enum_ElementID=0x7FFFFFFF}
#define RSF_ELID_HEADER ( 0x2 )
#define RSF_ELID_ENTRYID ( 0x1 )
#define ELEMENT_SENTINEL ( 0x0 )
#endif
;

union PersistElementData {
	DATA_BLOB rsf_elid_entryid;/* [case(0x1)] */
	uint32_t rsf_elid_header;/* [case(0x2)] */
}/* [flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_REMAINING),nodiscriminant] */;

struct PersistElement {
	enum ElementID ElementID;
	uint16_t ElementDataSize;
	union PersistElementData ElementData;/* [subcontext(0),subcontext_size(ElementDataSize),switch_is(ElementID)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct PersistElementArray {
	uint32_t cValues;/* [range(0,10000)] */
	struct PersistElement *lpPersistElement;/* [size_is(cValues)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),nopull,nopush] */;

enum PersistID
#ifndef USE_UINT_ENUMS
 {
	RSF_PID_RSS_SUBSCRIPTION=(int)(0x8001),
	RSF_PID_SEND_AND_TRACK=(int)(0x8002),
	RSF_PID_TODO_SEARCH=(int)(0x8004),
	RSF_PID_CONV_ACTIONS=(int)(0x8006),
	RSF_PID_COMBINED_ACTIONS=(int)(0x8007),
	RSF_PID_SUGGESTED_CONTACTS=(int)(0x8008),
	RSF_PID_CONTACT_SEARCH=(int)(0x8009),
	RSF_PID_BUDDYLIST_PDLS=(int)(0x800A),
	RSF_PID_BUDDYLIST_CONTACTS=(int)(0x800B),
	PERSIST_SENTINEL=(int)(0x0000)
}
#else
 { __do_not_use_enum_PersistID=0x7FFFFFFF}
#define RSF_PID_RSS_SUBSCRIPTION ( 0x8001 )
#define RSF_PID_SEND_AND_TRACK ( 0x8002 )
#define RSF_PID_TODO_SEARCH ( 0x8004 )
#define RSF_PID_CONV_ACTIONS ( 0x8006 )
#define RSF_PID_COMBINED_ACTIONS ( 0x8007 )
#define RSF_PID_SUGGESTED_CONTACTS ( 0x8008 )
#define RSF_PID_CONTACT_SEARCH ( 0x8009 )
#define RSF_PID_BUDDYLIST_PDLS ( 0x800A )
#define RSF_PID_BUDDYLIST_CONTACTS ( 0x800B )
#define PERSIST_SENTINEL ( 0x0000 )
#endif
;

struct PersistData {
	enum PersistID PersistID;
	uint16_t DataElementsSize;
	struct PersistElementArray DataElements;/* [subcontext(0),subcontext_size(DataElementsSize)] */
}/* [flag(LIBNDR_FLAG_NOALIGN),public] */;

struct PersistDataArray {
	uint32_t cValues;/* [range(0,100000)] */
	struct PersistData *lpPersistData;/* [size_is(cValues),unique] */
}/* [flag(LIBNDR_FLAG_NOALIGN),noprint,nopull,nopush] */;

#endif /* _HEADER_property */
#endif /* _PIDL_HEADER_property */
