master
  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 __AQADMTYP_H__
  7#define __AQADMTYP_H__
  8
  9#define MIDL(x)
 10#define QUEUE_ADMIN_MAX_BUFFER_REQUIRED 200
 11
 12typedef enum tagQUEUE_ADMIN_VERSIONS {
 13  CURRENT_QUEUE_ADMIN_VERSION = 4
 14} QUEUE_ADMIN_VERSIONS;
 15
 16typedef struct tagMESSAGE_FILTER {
 17  DWORD dwVersion;
 18  DWORD fFlags;
 19  LPCWSTR szMessageId;
 20  LPCWSTR szMessageSender;
 21  LPCWSTR szMessageRecipient;
 22  DWORD dwLargerThanSize;
 23  SYSTEMTIME stOlderThan;
 24} MESSAGE_FILTER,*PMESSAGE_FILTER;
 25
 26typedef enum tagMESSAGE_FILTER_FLAGS {
 27  MF_MESSAGEID = 0x1,
 28  MF_SENDER = 0x2,
 29  MF_RECIPIENT = 0x4,
 30  MF_SIZE = 0x8,
 31  MF_TIME = 0x10,
 32  MF_FROZEN = 0x20,
 33  MF_FAILED = 0x100,
 34  MF_ALL = 0x40000000,
 35  MF_INVERTSENSE = 0x80000000
 36} MESSAGE_FILTER_FLAGS;
 37
 38typedef enum tagMESSAGE_ACTION {
 39  MA_THAW_GLOBAL = 0x1,
 40  MA_COUNT = 0x2,
 41  MA_FREEZE_GLOBAL = 0x4,
 42  MA_DELETE = 0x8,
 43  MA_DELETE_SILENT = 0x10
 44} MESSAGE_ACTION;
 45
 46typedef enum tagMESSAGE_ENUM_FILTER_TYPE {
 47  MEF_FIRST_N_MESSAGES = 0x1,
 48  MEF_SENDER = 0x2,
 49  MEF_RECIPIENT = 0x4,
 50  MEF_LARGER_THAN = 0x8,
 51  MEF_OLDER_THAN = 0x10,
 52  MEF_FROZEN = 0x20,
 53  MEF_N_LARGEST_MESSAGES = 0x40,
 54  MEF_N_OLDEST_MESSAGES = 0x80,
 55  MEF_FAILED = 0x100,
 56  MEF_ALL = 0x40000000,
 57  MEF_INVERTSENSE = 0x80000000
 58} MESSAGE_ENUM_FILTER_TYPE;
 59
 60typedef struct tagMESSAGE_ENUM_FILTER {
 61  DWORD dwVersion;
 62  DWORD mefType;
 63  DWORD cMessages;
 64  DWORD cbSize;
 65  DWORD cSkipMessages;
 66  SYSTEMTIME stDate;
 67  LPCWSTR szMessageSender;
 68  LPCWSTR szMessageRecipient;
 69} MESSAGE_ENUM_FILTER,*PMESSAGE_ENUM_FILTER;
 70
 71typedef enum tagLINK_INFO_FLAGS {
 72  LI_ACTIVE = 0x1,
 73  LI_READY = 0x2,
 74  LI_RETRY = 0x4,
 75  LI_SCHEDULED = 0x8,
 76  LI_REMOTE = 0x10,
 77  LI_FROZEN = 0x20,
 78  LI_TYPE_REMOTE_DELIVERY = 0x100,
 79  LI_TYPE_LOCAL_DELIVERY = 0x200,
 80  LI_TYPE_PENDING_ROUTING = 0x400,
 81  LI_TYPE_PENDING_CAT = 0x800,
 82  LI_TYPE_CURRENTLY_UNREACHABLE = 0x1000,
 83  LI_TYPE_DEFERRED_DELIVERY = 0x2000,
 84  LI_TYPE_INTERNAL = 0x4000,
 85  LI_TYPE_PENDING_SUBMIT = 0x8000
 86} LINK_INFO_FLAGS;
 87
 88typedef enum tagLINK_ACTION {
 89  LA_INTERNAL = 0x0,
 90  LA_KICK = 0x1,
 91  LA_FREEZE = 0x20,
 92  LA_THAW = 0x40
 93} LINK_ACTION;
 94
 95typedef struct tagLINK_INFO {
 96  DWORD dwVersion;
 97  LPWSTR szLinkName;
 98  DWORD cMessages;
 99  DWORD fStateFlags;
100  SYSTEMTIME stNextScheduledConnection;
101  SYSTEMTIME stOldestMessage;
102  ULARGE_INTEGER cbLinkVolume;
103  LPWSTR szLinkDN;
104  LPWSTR szExtendedStateInfo;
105  DWORD dwSupportedLinkActions;
106} LINK_INFO,*PLINK_INFO;
107
108typedef struct tagQUEUE_INFO {
109  DWORD dwVersion;
110  LPWSTR szQueueName;
111  LPWSTR szLinkName;
112  DWORD cMessages;
113  ULARGE_INTEGER cbQueueVolume;
114  DWORD dwMsgEnumFlagsSupported;
115} QUEUE_INFO,*PQUEUE_INFO;
116
117typedef enum tagAQ_MESSAGE_FLAGS {
118  MP_HIGH = 0x1,
119  MP_NORMAL = 0x2,
120  MP_LOW = 0x4,
121  MP_MSG_FROZEN = 0x8,
122  MP_MSG_RETRY = 0x10,
123  MP_MSG_CONTENT_AVAILABLE = 0x20
124} AQ_MESSAGE_FLAGS;
125
126typedef struct tagMESSAGE_INFO {
127  DWORD dwVersion;
128  LPWSTR szMessageId;
129  LPWSTR szSender;
130  LPWSTR szSubject;
131  DWORD cRecipients;
132  LPWSTR szRecipients;
133  DWORD cCCRecipients;
134  LPWSTR szCCRecipients;
135  DWORD cBCCRecipients;
136  LPWSTR szBCCRecipients;
137  DWORD fMsgFlags;
138  DWORD cbMessageSize;
139  SYSTEMTIME stSubmission;
140  SYSTEMTIME stReceived;
141  SYSTEMTIME stExpiry;
142  DWORD cFailures;
143  DWORD cEnvRecipients;
144  DWORD cbEnvRecipients;
145  WCHAR *mszEnvRecipients;
146} MESSAGE_INFO,*PMESSAGE_INFO;
147
148typedef enum tagQUEUELINK_TYPE {
149  QLT_QUEUE,QLT_LINK,QLT_NONE
150} QUEUELINK_TYPE;
151
152typedef struct tagQUEUELINK_ID {
153  GUID uuid;
154  LPWSTR szName;
155  DWORD dwId;
156  QUEUELINK_TYPE qltType;
157} QUEUELINK_ID;
158#endif