/* header auto-generated by pidl */

#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 RecurFrequency
#ifndef USE_UINT_ENUMS
 {
	RecurFrequency_Daily=(int)(0x200A),
	RecurFrequency_Weekly=(int)(0x200B),
	RecurFrequency_Monthly=(int)(0x200C),
	RecurFrequency_Yearly=(int)(0x200D)
}
#else
 { __donnot_use_enum_RecurFrequency=0x7FFFFFFF}
#define RecurFrequency_Daily ( 0x200A )
#define RecurFrequency_Weekly ( 0x200B )
#define RecurFrequency_Monthly ( 0x200C )
#define RecurFrequency_Yearly ( 0x200D )
#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
 { __donnot_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
 { __donnot_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 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
 { __donnot_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)] */
}/* [nodiscriminant,flag(LIBNDR_FLAG_NOALIGN)] */;

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
 { __donnot_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
 { __donnot_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
 { __donnot_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;
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;

struct ChangeHighlight {
	uint32_t ChangeHighlightSize;
	uint32_t ChangeHighlightValue;
	uint32_t Reserved;
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;

struct ExtendedException {
	struct ChangeHighlight ChangeHighlight;
	uint32_t ReservedBlockEE1Size;
	uint32_t ReservedBlockEE1;
	uint32_t StartDateTime;
	uint32_t EndDateTime;
	uint32_t OriginalStartDate;
	uint16_t WidCharSubjectLength;
	uint16_t WideCharSubject;
	uint16_t WideCharLocationLength;
	uint16_t WideCharLocation;
	uint32_t ReservedBlockEE2Size;
	uint32_t ReservedBlockEE2;
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;

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

union Exception_Msg {
	uint16_t subject;/* [case(0x0001)] */
	uint32_t location;/* [case(0x0010)] */
}/* [nodiscriminant,flag(LIBNDR_FLAG_NOALIGN)] */;

struct ExceptionInfo {
	uint32_t StartDateTime;
	uint32_t EndDateTime;
	uint32_t OriginalStartDate;
	enum OverrideFlags OverrideFlags;
	union Exception_Value SubjectLength;/* [switch_is(OverrideFlags&0x0001)] */
	union Exception_Value SubjectLength2;/* [switch_is(OverrideFlags&0x0001)] */
	union Exception_Msg 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 LocationLength;/* [switch_is(OverrideFlags&0x0010)] */
	union Exception_Value LocationLength2;/* [switch_is(OverrideFlags&0x0010)] */
	union Exception_Msg 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)] */
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;

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;
	DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING)] */
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;

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;
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;

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

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;
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;

#endif /* _HEADER_property */
