source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mqmail.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.2 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _MQMAIL_H
7#define _MQMAIL_H
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#include <windows.h>
14#include <windowsx.h>
15#include <ole2.h>
16
17 DEFINE_GUID(CLSID_MQMailQueueType,0x5eadc0d0,0x7182,0x11cf,0xa8,0xff,0x00,0x20,0xaf,0xb8,0xfb,0x50);
18
19 typedef enum MQMailRecipType_enum {
20 MQMailRecip_TO,MQMailRecip_CC,MQMailRecip_BCC
21 } MQMailRecipType;
22
23 typedef struct MQMailRecip_tag {
24 LPSTR szName;
25 LPSTR szQueueLabel;
26 LPSTR szAddress;
27 MQMailRecipType iType;
28 LPFILETIME pftDeliveryTime;
29 LPSTR szNonDeliveryReason;
30 } MQMailRecip,*LPMQMailRecip;
31
32 typedef struct MQMailRecipList_tag {
33 ULONG cRecips;
34 LPMQMailRecip *apRecip;
35 } MQMailRecipList,*LPMQMailRecipList;
36
37 typedef enum MQMailFormFieldType_enum {
38 MQMailFormField_BOOL,MQMailFormField_STRING,MQMailFormField_LONG,MQMailFormField_CURRENCY,MQMailFormField_DOUBLE
39 } MQMailFormFieldType;
40
41 typedef union MQMailFormFieldData_tag {
42 WINBOOL b;
43 LPSTR lpsz;
44 LONG l;
45 CY cy;
46 double dbl;
47 } MQMailFormFieldData,*LPMQMailFormFieldData;
48
49 typedef struct MQMailFormField_tag {
50 LPSTR szName;
51 MQMailFormFieldType iType;
52 MQMailFormFieldData Value;
53 } MQMailFormField,*LPMQMailFormField;
54
55 typedef struct MQMailFormFieldList_tag {
56 ULONG cFields;
57 LPMQMailFormField *apField;
58 } MQMailFormFieldList,*LPMQMailFormFieldList;
59
60 typedef enum MQMailEMailType_enum {
61 MQMailEMail_MESSAGE,MQMailEMail_FORM,MQMailEMail_TNEF,MQMailEMail_DELIVERY_REPORT,MQMailEMail_NON_DELIVERY_REPORT
62 } MQMailEMailType;
63
64 typedef struct MQMailMessageData_tag {
65 LPSTR szText;
66 } MQMailMessageData,*LPMQMailMessageData;
67
68 typedef struct MQMailFormData_tag {
69 LPSTR szName;
70 LPMQMailFormFieldList pFields;
71 } MQMailFormData,*LPMQMailFormData;
72
73 typedef struct MQMailTnefData_tag {
74 ULONG cbData;
75 LPBYTE lpbData;
76 } MQMailTnefData,*LPMQMailTnefData;
77
78 typedef struct MQMailDeliveryReportData_tag {
79 LPMQMailRecipList pDeliveredRecips;
80 LPSTR szOriginalSubject;
81 LPFILETIME pftOriginalDate;
82 } MQMailDeliveryReportData,*LPMQMailDeliveryReportData;
83
84 typedef struct MQMailEMail_tag MQMailEMail,*LPMQMailEMail;
85 typedef struct MQMailNonDeliveryReportData_tag {
86 LPMQMailRecipList pNonDeliveredRecips;
87 LPMQMailEMail pOriginalEMail;
88 } MQMailNonDeliveryReportData,*LPMQMailNonDeliveryReportData;
89
90 typedef struct MQMailEMail_tag {
91 LPMQMailRecip pFrom;
92 LPSTR szSubject;
93 WINBOOL fRequestDeliveryReport;
94 WINBOOL fRequestNonDeliveryReport;
95 LPFILETIME pftDate;
96 LPMQMailRecipList pRecips;
97 MQMailEMailType iType;
98 __C89_NAMELESS union {
99 MQMailFormData form;
100 MQMailMessageData message;
101 MQMailTnefData tnef;
102 MQMailDeliveryReportData DeliveryReport;
103 MQMailNonDeliveryReportData NonDeliveryReport;
104 };
105 LPVOID pReserved;
106 } MQMailEMail,*LPMQMailEMail;
107
108 STDAPI MQMailComposeBody(LPMQMailEMail pEMail,ULONG *pcbBuffer,LPBYTE *ppbBuffer);
109 STDAPI MQMailParseBody(ULONG cbBuffer,LPBYTE pbBuffer,LPMQMailEMail *ppEMail);
110 STDAPI_(void) MQMailFreeMemory(LPVOID lpBuffer);
111
112#ifdef __cplusplus
113}
114#endif
115#endif
Note: See TracBrowser for help on using the repository browser.