diff fuhtark_test/include/winapi/mqmail.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/mqmail.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,115 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef _MQMAIL_H
+#define _MQMAIL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <windows.h>
+#include <windowsx.h>
+#include <ole2.h>
+
+  DEFINE_GUID(CLSID_MQMailQueueType,0x5eadc0d0,0x7182,0x11cf,0xa8,0xff,0x00,0x20,0xaf,0xb8,0xfb,0x50);
+
+  typedef enum MQMailRecipType_enum {
+    MQMailRecip_TO,MQMailRecip_CC,MQMailRecip_BCC
+  } MQMailRecipType;
+
+  typedef struct MQMailRecip_tag {
+    LPSTR szName;
+    LPSTR szQueueLabel;
+    LPSTR szAddress;
+    MQMailRecipType iType;
+    LPFILETIME pftDeliveryTime;
+    LPSTR szNonDeliveryReason;
+  } MQMailRecip,*LPMQMailRecip;
+
+  typedef struct MQMailRecipList_tag {
+    ULONG cRecips;
+    LPMQMailRecip *apRecip;
+  } MQMailRecipList,*LPMQMailRecipList;
+
+  typedef enum MQMailFormFieldType_enum {
+    MQMailFormField_BOOL,MQMailFormField_STRING,MQMailFormField_LONG,MQMailFormField_CURRENCY,MQMailFormField_DOUBLE
+  } MQMailFormFieldType;
+
+  typedef union MQMailFormFieldData_tag {
+    WINBOOL b;
+    LPSTR lpsz;
+    LONG l;
+    CY cy;
+    double dbl;
+  } MQMailFormFieldData,*LPMQMailFormFieldData;
+
+  typedef struct MQMailFormField_tag {
+    LPSTR szName;
+    MQMailFormFieldType iType;
+    MQMailFormFieldData Value;
+  } MQMailFormField,*LPMQMailFormField;
+
+  typedef struct MQMailFormFieldList_tag {
+    ULONG cFields;
+    LPMQMailFormField *apField;
+  } MQMailFormFieldList,*LPMQMailFormFieldList;
+
+  typedef enum MQMailEMailType_enum {
+    MQMailEMail_MESSAGE,MQMailEMail_FORM,MQMailEMail_TNEF,MQMailEMail_DELIVERY_REPORT,MQMailEMail_NON_DELIVERY_REPORT
+  } MQMailEMailType;
+
+  typedef struct MQMailMessageData_tag {
+    LPSTR szText;
+  } MQMailMessageData,*LPMQMailMessageData;
+
+  typedef struct MQMailFormData_tag {
+    LPSTR szName;
+    LPMQMailFormFieldList pFields;
+  } MQMailFormData,*LPMQMailFormData;
+
+  typedef struct MQMailTnefData_tag {
+    ULONG cbData;
+    LPBYTE lpbData;
+  } MQMailTnefData,*LPMQMailTnefData;
+
+  typedef struct MQMailDeliveryReportData_tag {
+    LPMQMailRecipList pDeliveredRecips;
+    LPSTR szOriginalSubject;
+    LPFILETIME pftOriginalDate;
+  } MQMailDeliveryReportData,*LPMQMailDeliveryReportData;
+
+  typedef struct MQMailEMail_tag MQMailEMail,*LPMQMailEMail;
+  typedef struct MQMailNonDeliveryReportData_tag {
+    LPMQMailRecipList pNonDeliveredRecips;
+    LPMQMailEMail pOriginalEMail;
+  } MQMailNonDeliveryReportData,*LPMQMailNonDeliveryReportData;
+
+  typedef struct MQMailEMail_tag {
+    LPMQMailRecip pFrom;
+    LPSTR szSubject;
+    WINBOOL fRequestDeliveryReport;
+    WINBOOL fRequestNonDeliveryReport;
+    LPFILETIME pftDate;
+    LPMQMailRecipList pRecips;
+    MQMailEMailType iType;
+    __MINGW_EXTENSION union {
+      MQMailFormData form;
+      MQMailMessageData message;
+      MQMailTnefData tnef;
+      MQMailDeliveryReportData DeliveryReport;
+      MQMailNonDeliveryReportData NonDeliveryReport;
+    };
+    LPVOID pReserved;
+  } MQMailEMail,*LPMQMailEMail;
+
+  STDAPI MQMailComposeBody(LPMQMailEMail pEMail,ULONG *pcbBuffer,LPBYTE *ppbBuffer);
+  STDAPI MQMailParseBody(ULONG cbBuffer,LPBYTE pbBuffer,LPMQMailEMail *ppEMail);
+  STDAPI_(void) MQMailFreeMemory(LPVOID lpBuffer);
+
+#ifdef __cplusplus
+}
+#endif
+#endif