headers: Add mapiaux.h

Tested with pywin32

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/mapiaux.h b/mingw-w64-headers/include/mapiaux.h
new file mode 100644
index 0000000..b7de661
--- /dev/null
+++ b/mingw-w64-headers/include/mapiaux.h
@@ -0,0 +1,128 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the mingw-w64 runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef MAPIAUXGUID_H
+#ifdef INITGUID
+#include <mapiguid.h>
+#define MAPIAUXGUID_H
+#endif /* INITGUID */
+
+#if !defined(INITGUID) || defined(USES_IID_IMsgServiceAdmin2)
+DEFINE_OLEGUID(IID_IMsgServiceAdmin2,0x00020387, 0, 0);
+#endif
+
+#if !defined(INITGUID) || defined(USES_IID_IMessageRaw)
+DEFINE_OLEGUID(IID_IMessageRaw,0x0002038a, 0, 0);
+#endif
+
+#endif /* MAPIAUXGUID_H */
+
+#ifndef MAPIAUX_H
+#define MAPIAUX_H
+
+#ifndef MAPIDEFS_H
+#include <mapidefs.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef BEGIN_INTERFACE
+#define BEGIN_INTERFACE
+#endif
+
+DECLARE_MAPI_INTERFACE_PTR(IMsgServiceAdmin2, LPSERVICEADMIN2);
+
+#define PR_ATTACH_CONTENT_ID PROP_TAG(PT_TSTRING, 0x3712)
+#define PR_ATTACH_CONTENT_ID_W PROP_TAG(PT_UNICODE, 0x3712)
+#define PR_ATTACH_CONTENT_ID_A PROP_TAG(PT_STRING8, 0x3712)
+
+#define PR_DISPLAY_TYPE_EX PROP_TAG(PT_LONG, 0x3905)
+#define PR_MSG_EDITOR_FORMAT PROP_TAG(PT_LONG, 0x5909)
+#define PR_ROH_FLAGS PROP_TAG(PT_LONG, 0x6623)
+#define PR_ROH_PROXY_AUTH_SCHEME PROP_TAG(PT_LONG, 0x6627)
+
+#define MAPI_BG_SESSION 0x00200000
+#define MAPI_NO_COINIT 0x00000008
+
+#define SPAMFILTER_ONSAVE ((ULONG)0x00000080)
+#define ITEMPROC_FORCE ((ULONG)0x00000800)
+#define NON_EMS_XP_SAVE ((ULONG)0x00001000)
+
+#define MDB_ONLINE ((ULONG)0x00000100)
+
+#define STORE_UNICODE_OK ((ULONG)0x00040000)
+#define STORE_ITEMPROC ((ULONG)0x00200000)
+
+#define MAPI_NO_CACHE ((ULONG)0x00000200)
+#define MAPI_CACHE_ONLY ((ULONG)0x00004000)
+
+#define AG_MONTHS 0
+#define AG_WEEKS 1
+#define AG_DAYS 2
+#define NUM_AG_TYPES 3
+
+#define DTE_FLAG_REMOTE_VALID 0x80000000
+#define DTE_FLAG_ACL_CAPABLE 0x40000000
+#define DTE_MASK_REMOTE 0x0000ff00
+#define DTE_MASK_LOCAL 0x000000ff
+
+#define DTE_IS_REMOTE_VALID(v) (!!((v) & DTE_FLAG_REMOTE_VALID))
+#define DTE_IS_ACL_CAPABLE(v) (!!((v) & DTE_FLAG_ACL_CAPABLE))
+#define DTE_REMOTE(v) (((v) & DTE_MASK_REMOTE) >> 8)
+#define DTE_LOCAL(v) ((v) & DTE_MASK_LOCAL)
+
+#define DT_ROOM ((ULONG)0x00000007)
+#define DT_EQUIPMENT ((ULONG)0x00000008)
+#define DT_SEC_DISTLIST ((ULONG)0x00000009)
+
+#define EDITOR_FORMAT_DONTKNOW ((ULONG)0)
+#define EDITOR_FORMAT_PLAINTEXT ((ULONG)1)
+#define EDITOR_FORMAT_HTML ((ULONG)2)
+#define EDITOR_FORMAT_RTF ((ULONG)3)
+
+#define ROHFLAGS_USE_ROH 0x1
+#define ROHFLAGS_SSL_ONLY 0x2
+#define ROHFLAGS_MUTUAL_AUTH 0x4
+#define ROHFLAGS_HTTP_FIRST_ON_FAST 0x8
+#define ROHFLAGS_HTTP_FIRST_ON_SLOW 0x20
+
+#define ROHAUTH_BASIC 0x1
+#define ROHAUTH_NTLM 0x2
+
+#define MAPI_IMSGSERVICEADMIN_METHODS(IPURE) \
+  MAPIMETHOD(GetLastError) (THIS_ HRESULT hResult, ULONG ulFlags, LPMAPIERROR *lppMAPIError) IPURE; \
+  MAPIMETHOD(GetMsgServiceTable) (THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) IPURE; \
+  MAPIMETHOD(CreateMsgService) (THIS_ LPTSTR lpszService, LPTSTR lpszDisplayName, ULONG_PTR ulUIParam, ULONG ulFlags) IPURE; \
+  MAPIMETHOD(DeleteMsgService) (THIS_ LPMAPIUID lpUID) IPURE; \
+  MAPIMETHOD(CopyMsgService) (THIS_ LPMAPIUID lpUID, LPTSTR lpszDisplayName, LPCIID lpInterfaceToCopy, LPCIID lpInterfaceDst, LPVOID lpObjectDst, ULONG_PTR ulUIParam, ULONG ulFlags) IPURE; \
+  MAPIMETHOD(RenameMsgService) (THIS_ LPMAPIUID lpUID, ULONG ulFlags, LPTSTR lpszDisplayName) IPURE; \
+  MAPIMETHOD(ConfigureMsgService) (THIS_ LPMAPIUID lpUID, ULONG_PTR ulUIParam, ULONG ulFlags, ULONG cValues, LPSPropValue lpProps) IPURE; \
+  MAPIMETHOD(OpenProfileSection) (THIS_ LPMAPIUID lpUID, LPCIID lpInterface, ULONG ulFlags, LPPROFSECT *lppProfSect) IPURE; \
+  MAPIMETHOD(MsgServiceTransportOrder) (THIS_ ULONG cUID, LPMAPIUID lpUIDList, ULONG ulFlags) IPURE; \
+  MAPIMETHOD(AdminProviders) (THIS_ LPMAPIUID lpUID, ULONG ulFlags, LPPROVIDERADMIN *lppProviderAdmin) IPURE; \
+  MAPIMETHOD(SetPrimaryIdentity) (THIS_ LPMAPIUID lpUID, ULONG ulFlags) IPURE; \
+  MAPIMETHOD(GetProviderTable) (THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) IPURE; \
+
+#define MAPI_IMSGSERVICEADMIN_METHODS2(IPURE) \
+  MAPIMETHOD(CreateMsgServiceEx) (THIS_ LPTSTR lpszService, LPTSTR lpszDisplayName, ULONG_PTR ulUIParam, ULONG ulFlags, LPMAPIUID lpuidService) IPURE; \
+
+#undef INTERFACE
+#define INTERFACE IMsgServiceAdmin2
+DECLARE_MAPI_INTERFACE_(IMsgServiceAdmin2, IUnknown)
+{
+  BEGIN_INTERFACE
+  MAPI_IUNKNOWN_METHODS(PURE)
+  MAPI_IMSGSERVICEADMIN_METHODS(PURE)
+  MAPI_IMSGSERVICEADMIN_METHODS2(PURE)
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* MAPIAUX_H */