ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/alg.idl
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
File size: 9106 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6 import "oaidl.idl";
7 import "ocidl.idl";
8
9 cpp_quote("#include <winapifamily.h>")
10 cpp_quote("")
11 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
12
13 typedef enum _ALG_ADAPTER_TYPE {
14 eALG_PRIVATE = 0x1,
15 eALG_BOUNDARY = 0x2,
16 eALG_FIREWALLED = 0x4
17 } ALG_ADAPTER_TYPE;
18
19 typedef enum _ALG_CAPTURE {
20 eALG_SOURCE_CAPTURE = 0x1,
21 eALG_DESTINATION_CAPTURE = 0x2
22 } ALG_CAPTURE;
23
24 typedef enum _ALG_DIRECTION {
25 eALG_INBOUND = 0x1,
26 eALG_OUTBOUND = 0x2,
27 eALG_BOTH = 0x3
28 } ALG_DIRECTION;
29
30 typedef enum _ALG_NOTIFICATION {
31 eALG_NONE = 0x0,
32 eALG_SESSION_CREATION = 0x1,
33 eALG_SESSION_DELETION = 0x2,
34 eALG_SESSION_BOTH = 0x3
35 } ALG_NOTIFICATION;
36
37 typedef enum _ALG_PROTOCOL {
38 eALG_TCP = 0x1,
39 eALG_UDP = 0x2
40 } ALG_PROTOCOL;
41
42 typedef struct _ALG_PRIMARY_CHANNEL_PROPERTIES {
43 ALG_PROTOCOL eProtocol;
44 USHORT usCapturePort;
45 ALG_CAPTURE eCaptureType;
46 BOOL fCaptureInbound;
47 ULONG ulListeningAddress;
48 USHORT usListeningPort;
49 ULONG ulAdapterIndex;
50 } ALG_PRIMARY_CHANNEL_PROPERTIES;
51
52 typedef struct _ALG_SECONDARY_CHANNEL_PROPERTIES {
53 ALG_PROTOCOL eProtocol;
54 ULONG ulPrivateAddress;
55 USHORT usPrivatePort;
56 ULONG ulPublicAddress;
57 USHORT usPublicPort;
58 ULONG ulRemoteAddress;
59 USHORT usRemotePort;
60 ULONG ulListenAddress;
61 USHORT usListenPort;
62 ALG_DIRECTION eDirection;
63 BOOL fPersistent;
64 } ALG_SECONDARY_CHANNEL_PROPERTIES;
65
66 typedef struct _ALG_DATA_CHANNEL_PROPERTIES {
67 ALG_PROTOCOL eProtocol;
68 ULONG ulPrivateAddress;
69 USHORT usPrivatePort;
70 ULONG ulPublicAddress;
71 USHORT usPublicPort;
72 ULONG ulRemoteAddress;
73 USHORT usRemotePort;
74 ALG_DIRECTION eDirection;
75 ALG_NOTIFICATION eDesiredNotification;
76 } ALG_DATA_CHANNEL_PROPERTIES;
77
78 typedef struct _ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES {
79 ALG_PROTOCOL eProtocol;
80 ULONG ulPrivateAddress;
81 USHORT usPrivatePort;
82 ULONG ulPublicAddress;
83 USHORT usPublicPort;
84 ULONG ulRemoteAddress;
85 USHORT usRemotePort;
86 ALG_DIRECTION eDirection;
87 } ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES;
88
89 const int ALG_MAXIMUM_PORT_RANGE_SIZE = 10;
90
91 [object, uuid (480bf94a-09fd-4f8a-a3e0-b0700282d84d), pointer_default (unique)]
92 interface IAdapterInfo : IUnknown {
93 HRESULT GetAdapterIndex ([out] ULONG *pulIndex);
94 HRESULT GetAdapterType ([out] ALG_ADAPTER_TYPE *pAdapterType);
95 HRESULT GetAdapterAddresses ([out] ULONG *pulAddressCount,[out, size_is (,*pulAddressCount)] ULONG **prgAddresses);
96 };
97
98 [object, uuid (B68E5043-3e3d-4cc2-b9c1-5f8f88fee81c), pointer_default (unique)]
99 interface IPendingProxyConnection : IUnknown {
100 HRESULT Cancel ();
101 };
102
103 [object, local, uuid (ad42d12a-4ad0-4856-919e-e854c91d1856), pointer_default (unique)]
104 interface IDataChannel : IUnknown {
105 HRESULT Cancel ();
106 HRESULT GetChannelProperties ([out] ALG_DATA_CHANNEL_PROPERTIES **ppProperties);
107 HRESULT GetSessionCreationEventHandle ([out] HANDLE *pHandle);
108 HRESULT GetSessionDeletionEventHandle ([out] HANDLE *pHandle);
109 };
110
111 [object, uuid (a180e934-d92a-415d-9144-759f8054e8f6), pointer_default (unique)]
112 interface IPersistentDataChannel : IUnknown {
113 HRESULT Cancel ();
114 HRESULT GetChannelProperties ([out] ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties);
115 };
116
117 [object, uuid (1a2e8b62-9012-4be6-84ae-32bd66ba657a), pointer_default (unique)]
118 interface IPrimaryControlChannel : IUnknown {
119 HRESULT Cancel ();
120 HRESULT GetChannelProperties ([out] ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties);
121 HRESULT GetOriginalDestinationInformation ([in] ULONG ulSourceAddress,[in] USHORT usSourcePort,[out] ULONG *pulOriginalDestinationAddress,[out] USHORT *pusOriginalDestinationPort,[out] ULONG *pulRemapDestinationAddress,[out] USHORT *pulRemapDestinationPort,[out] IAdapterInfo **ppReceiveAdapter);
122 };
123
124 [object, uuid (a23f9d10-714c-41fe-8471-ffb19bc28454), pointer_default (unique)]
125 interface ISecondaryControlChannel : IUnknown {
126 HRESULT Cancel ();
127 HRESULT GetChannelProperties ([out] ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties);
128 HRESULT GetOriginalDestinationInformation ([in] ULONG ulSourceAddress,[in] USHORT usSourcePort,[out] ULONG *pulOriginalDestinationAddress,[out] USHORT *pusOriginalDestinationPort,[out] IAdapterInfo **ppReceiveAdapter);
129 };
130
131 [object, uuid (a23f9d11-714c-41fe-8471-ffb19bc28454), pointer_default (unique)]
132 interface IEnumAdapterInfo : IUnknown {
133 HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pCeltFetched)] IAdapterInfo **rgAI,[out] ULONG *pCeltFetched);
134 HRESULT Skip ([in] ULONG celt);
135 HRESULT Reset ();
136 HRESULT Clone ([out] IEnumAdapterInfo **ppEnum);
137 }
138
139 [object, uuid (44ab2dc3-23b2-47de-8228-2e1cceeb9911), pointer_default (unique)]
140 interface IAdapterNotificationSink : IUnknown {
141 HRESULT AdapterAdded (IAdapterInfo *pAdapter);
142 HRESULT AdapterRemoved (IAdapterInfo *pAdapter);
143 HRESULT AdapterModified (IAdapterInfo *pAdapter);
144 HRESULT AdapterUpdatePortMapping (IAdapterInfo *pAdapter);
145 };
146
147 [object, uuid (5134842a-fdce-485d-93cd-de1640643bbe), pointer_default (unique)]
148 interface IApplicationGatewayServices : IUnknown {
149 HRESULT CreatePrimaryControlChannel ([in] ULONG uAdapterIndex,[in] ALG_PROTOCOL eProtocol,[in] USHORT usPortToCapture,[in] ALG_CAPTURE eCaptureType,[in] BOOL fCaptureInbound,[in] ULONG ulListenAddress,[in] USHORT usListenPort,[out] IPrimaryControlChannel **ppIControlChannel);
150 HRESULT CreateSecondaryControlChannel ([in] ALG_PROTOCOL eProtocol,[in] ULONG ulPrivateAddress,[in] USHORT usPrivatePort,[in] ULONG ulPublicAddress,[in] USHORT usPublicPort,[in] ULONG ulRemoteAddress,[in] USHORT usRemotePort,[in] ULONG ulListenAddress,[in] USHORT usListenPort,[in] ALG_DIRECTION eDirection,[in] BOOL fPersistent,[out] ISecondaryControlChannel **ppControlChannel);
151 HRESULT GetBestSourceAddressForDestinationAddress ([in] ULONG ulDstAddress,[in] BOOL fDemandDial,[out] ULONG *pulBestSrcAddress);
152 HRESULT PrepareProxyConnection ([in] ALG_PROTOCOL eProtocol,[in] ULONG ulSrcAddress,[in] USHORT usSrcPort,[in] ULONG ulDstAddress,[in] USHORT usDstPort,[in] BOOL fNoTimeout,[out] IPendingProxyConnection **ppPendingConnection);
153 HRESULT PrepareSourceModifiedProxyConnection ([in] ALG_PROTOCOL eProtocol,[in] ULONG ulSrcAddress,[in] USHORT usSrcPort,[in] ULONG ulDstAddress,[in] USHORT usDstPort,[in] ULONG ulNewSrcAddress,[in] USHORT usNewSourcePort,[out] IPendingProxyConnection **ppPendingConnection);
154 HRESULT CreateDataChannel ([in] ALG_PROTOCOL eProtocol,[in] ULONG ulPrivateAddress,[in] USHORT usPrivatePort,[in] ULONG ulPublicAddress,[in] USHORT usPublicPort,[in] ULONG ulRemoteAddress,[in] USHORT usRemotePort,[in] ALG_DIRECTION eDirection,[in] ALG_NOTIFICATION eDesiredNotification,[in] BOOL fNoTimeout,[out] IDataChannel **ppDataChannel);
155 HRESULT CreatePersistentDataChannel ([in] ALG_PROTOCOL eProtocol,[in] ULONG ulPrivateAddress,[in] USHORT usPrivatePort,[in] ULONG ulPublicAddress,[in] USHORT usPublicPort,[in] ULONG ulRemoteAddress,[in] USHORT usRemotePort,[in] ALG_DIRECTION eDirection,[out] IPersistentDataChannel **ppIPersistentDataChannel);
156 HRESULT ReservePort ([in] USHORT usPortCount,[out] USHORT *pusReservedPort);
157 HRESULT ReleaseReservedPort ([in] USHORT usReservedPortBase,[in] USHORT usPortCount);
158 HRESULT EnumerateAdapters ([out] IEnumAdapterInfo **ppIEnumAdapterInfo);
159 HRESULT StartAdapterNotifications ([in] IAdapterNotificationSink *pSink,[in] DWORD *pdwCookie);
160 HRESULT StopAdapterNotifications ([in] DWORD dwCookieOfSink);
161 HRESULT LookupAdapterPortMapping ([in] ULONG ulAdapterIndex,[in] UCHAR Protocol,[in] ULONG ulDestinationAddress,[in] USHORT usDestinationPort,[out] ULONG *pulRemapAddress,[out] USHORT *pusRemapPort);
162 };
163
164 [object, uuid (5134842b-fdce-485d-93cd-de1640643bbe), pointer_default (unique)]
165 interface IApplicationGateway : IUnknown {
166 HRESULT Initialize ([in] IApplicationGatewayServices *pAlgServices);
167 HRESULT Stop (void);
168 };
169
170 [uuid (b6d1d098-e235-4b99-ba98-7c624fd875db), version (1.0)]
171 library ALGLib {
172 importlib ("stdole32.tlb");
173 importlib ("stdole2.tlb");
174
175 [uuid (f8ade1d3-49df-4b75-9005-ef9508e6a337)]
176 coclass ApplicationGatewayServices {
177 [default] interface IApplicationGatewayServices;
178 };
179 [uuid (3ceb5509-C1CD-432f-9d8f-65d1e286aa80)]
180 coclass PrimaryControlChannel {
181 [default] interface IPrimaryControlChannel;
182 };
183 [uuid (7b3181a0-c92F-4567-b0fa-cd9a10ecd7d1)]
184 coclass SecondaryControlChannel {
185 [default] interface ISecondaryControlChannel;
186 };
187 [uuid (6f9942c9-c1b1-4ab5-93da-6058991dc8f3)]
188 coclass AdapterInfo {
189 [default] interface IAdapterInfo;
190 };
191 [uuid (6f9942ca-c1b1-4ab5-93da-6058991dc8f3)]
192 coclass EnumAdapterInfo {
193 [default] interface IEnumAdapterInfo;
194 };
195 [uuid (d8a68e5e-2b37-426c-a329-c117c14c429e)]
196 coclass PendingProxyConnection {
197 [default] interface IPendingProxyConnection;
198 };
199 [uuid (bbb36f15-408d-4056-8c27-920843d40be5)]
200 coclass DataChannel {
201 [default] interface IDataChannel;
202 };
203 [uuid (bc9B54ab-7883-4c13-909f-033d03267990)]
204
205 coclass PersistentDataChannel {
206 [default] interface IPersistentDataChannel;
207 };
208 };
209 cpp_quote("#endif")