07f84fa9ad6a6605721b62ce8d63dd6dc8f967de
[reactos.git] / reactos / include / reactos / idl / wlansvc.idl
1 /*
2 * WLAN Service interface definition
3 */
4
5 #include <ms-dtyp.idl>
6 #include <wlanapi.h>
7
8 typedef [context_handle] PVOID WLANSVC_RPC_HANDLE;
9 typedef WLANSVC_RPC_HANDLE* LPWLANSVC_RPC_HANDLE;
10 typedef [handle] LPWSTR WLANSVC_HANDLE;
11
12 /* FIXME */
13 typedef struct struct_C {
14 ULONGLONG elem_1;
15 ULONGLONG elem_2;
16 GUID elem_3;
17 GUID elem_4;
18 DWORD elem_5;
19 GUID elem_6;
20 DWORD elem_7;
21 DWORD elem_8;
22 ULONGLONG elem_9;
23 [size_is(elem_7)] BYTE elem_10[];
24 } struct_C ;
25
26 typedef struct struct_D {
27 GUID elem_1;
28 GUID elem_2;
29 DWORD elem_3;
30 ULONGLONG elem_4;
31 [size_is(elem_3)] BYTE elem_5[];
32 } struct_D ;
33
34 typedef struct struct_E {
35 /* enum16 */ short elem_1;
36 DWORD elem_2;
37 WCHAR elem_3[256];
38 WCHAR elem_4[1024];
39 } struct_E ;
40
41 [
42 uuid(266f33b4-c7c1-4bd1-8f52-ddb8f2214ea9),
43 version(1.0)
44 ]
45
46 interface wlansvc_interface
47 {
48 /* Function: 0x00 */
49 DWORD _RpcOpenHandle(
50 [in] WLANSVC_HANDLE szMachineName,
51 [in] DWORD dwClientVersion,
52 [in, out] DWORD* pdwNegotiatedVersion,
53 [in, out] LPWLANSVC_RPC_HANDLE phClientHandle);
54
55 /* Function: 0x01 */
56 DWORD _RpcCloseHandle(
57 [in, out] LPWLANSVC_RPC_HANDLE phClientHandle);
58
59 /* Function: 0x02 */
60 DWORD _RpcEnumInterfaces(
61 [in] WLANSVC_RPC_HANDLE hClientHandle,
62 [out, ref] PWLAN_INTERFACE_INFO_LIST *ppInterfaceList);
63
64 /* Function: 0x03 */
65 DWORD _RpcSetAutoConfigParameter(
66 [in] WLANSVC_RPC_HANDLE hClientHandle,
67 [in] /* enum32 */ long OpCode,
68 [in] DWORD dwDataSize,
69 [in][size_is(dwDataSize)] LPBYTE pData);
70
71 /* Function: 0x04 */
72 DWORD _RpcQueryAutoConfigParameter(
73 [in] WLANSVC_RPC_HANDLE hClientHandle,
74 [in] /* enum32 */ DWORD OpCode,
75 [in, out] LPDWORD pdwDataSize,
76 [out][ref][size_is(*pdwDataSize)] char ** ppData,
77 [out] /* enum32 */ DWORD * pWlanOpcodeValueType);
78
79 /* Function: 0x05 */
80 DWORD _RpcGetInterfaceCapability(
81 [in] WLANSVC_RPC_HANDLE hClientHandle,
82 [in] GUID* pInterfaceGuid,
83 [out, ref] PWLAN_INTERFACE_CAPABILITY *ppCapability);
84
85 /* Function: 0x06 */
86 DWORD _RpcSetInterface(
87 [in] WLANSVC_RPC_HANDLE hClientHandle,
88 [in] GUID* pInterfaceGuid,
89 [in] /* enum32 */ DWORD OpCode,
90 [in] DWORD dwDataSize,
91 [in, size_is(dwDataSize)] LPBYTE pData);
92
93 /* Function: 0x07 */
94 DWORD _RpcQueryInterface(
95 [in] WLANSVC_RPC_HANDLE hClientHandle,
96 [in] GUID* pInterfaceGuid,
97 [in] /* enum32 */ long OpCode,
98 [in, out] LPDWORD pdwDataSize,
99 [out][ref][size_is(*pdwDataSize)] LPBYTE* ppData,
100 [out] /* enum32 */ LPDWORD pWlanOpcodeValueType);
101
102 /* Function: 0x08 */
103 DWORD _RpcIhvControl(
104 [in] WLANSVC_RPC_HANDLE hClientHandle,
105 [in] GUID* pInterfaceGuid,
106 [in] /* enum32 */ DWORD Type,
107 [in] DWORD dwInBufferSize,
108 [in][size_is(dwInBufferSize)] LPBYTE pInBuffer,
109 [in] DWORD dwOutBufferSize,
110 [out][size_is(dwOutBufferSize), length_is(*pdwBytesReturned)] LPBYTE pOutBuffer,
111 [out] LPDWORD pdwBytesReturned);
112
113 /* Function: 0x09 */
114 DWORD _RpcScan(
115 [in] WLANSVC_RPC_HANDLE hClientHandle,
116 [in] GUID* pInterfaceGuid,
117 [in][unique] PDOT11_SSID pDot11Ssid,
118 [in][unique] PWLAN_RAW_DATA pIeData);
119
120 /* Function: 0x0A */
121 DWORD _RpcGetAvailableNetworkList(
122 [in] WLANSVC_RPC_HANDLE hClientHandle,
123 [in] GUID* pInterfaceGuid,
124 [in] DWORD dwFlags,
125 [out][ref] WLAN_AVAILABLE_NETWORK_LIST **ppAvailableNetworkList);
126
127 /* Function: 0x0B */
128 DWORD _RpcGetNetworkBssList(
129 [in] WLANSVC_RPC_HANDLE hClientHandle,
130 [in] GUID* pInterfaceGuid,
131 [in][unique] PDOT11_SSID pDot11Ssid,
132 [in] /* enum16 */ short dot11BssType,
133 [in] DWORD bSecurityEnabled,
134 [in, out] LPDWORD dwBssListSize,
135 [out][ref][size_is(*dwBssListSize)] LPBYTE *ppWlanBssList);
136
137 /* Function: 0x0C */
138 DWORD _RpcConnect(
139 [in] WLANSVC_RPC_HANDLE hClientHandle,
140 [in] GUID* pInterfaceGuid,
141 [in] PWLAN_CONNECTION_PARAMETERS* pConnectionParameters);
142
143 /* Function: 0x0D */
144 DWORD _RpcDisconnect(
145 [in] WLANSVC_RPC_HANDLE hClientHandle,
146 [in] GUID* pInterfaceGUID);
147
148 /* Function: 0x0E */
149 DWORD _RpcRegisterNotification(
150 [in] WLANSVC_RPC_HANDLE hClientHandle,
151 [in] DWORD arg_2,
152 [out] LPDWORD pdwPrevNotifSource);
153
154 /* Function: 0x0F */
155 DWORD _RpcAsyncGetNotification(
156 [in] WLANSVC_RPC_HANDLE hClientHandle,
157 [out][ref] PWLAN_NOTIFICATION_DATA *NotificationData);
158
159 /* Function: 0x10 */
160 DWORD _RpcSetProfileEapUserData(
161 [in] WLANSVC_RPC_HANDLE hClientHandle,
162 [in] GUID* pInterfaceGuid,
163 [in][string] wchar_t * strProfileName,
164 [in] EAP_METHOD_TYPE MethodType,
165 [in] DWORD dwFlags,
166 [in] DWORD dwEapUserDataSize,
167 [in][size_is(dwEapUserDataSize)] LPBYTE pbEapUserData);
168
169 /* Function: 0x11 */
170 DWORD _RpcSetProfile(
171 [in] WLANSVC_RPC_HANDLE hClientHandle,
172 [in] GUID* pInterfaceGuid,
173 [in] DWORD dwFlags,
174 [in][string] wchar_t * strProfileXml,
175 [in][unique][string] wchar_t * strAllUserProfileSecurity,
176 [in] BOOL bOverwrite,
177 [out] LPDWORD pdwReasonCode);
178
179 /* Function: 0x12 */
180 DWORD _RpcGetProfile(
181 [in] WLANSVC_RPC_HANDLE hClientHandle,
182 [in] GUID* pInterfaceGuid,
183 [in][string] wchar_t * strProfileName,
184 [out][ref][string] wchar_t ** pstrProfileXml,
185 [out] LPDWORD pdwFlags,
186 [in, out][unique] LPDWORD pdwGrantedAccess);
187
188 /* Function: 0x13 */
189 DWORD _RpcDeleteProfile(
190 [in] WLANSVC_RPC_HANDLE hClientHandle,
191 [in] GUID* pInterfaceGuid,
192 [in][string] wchar_t * strProfileName);
193
194 /* Function: 0x14 */
195 DWORD _RpcRenameProfile(
196 [in] WLANSVC_RPC_HANDLE hClientHandle,
197 [in] GUID* pInterfaceGuid,
198 [in][string] wchar_t * strOldProfileName,
199 [in][string] wchar_t * strNewProfileName);
200
201 /* Function: 0x15 */
202 DWORD _RpcSetProfileList(
203 [in] WLANSVC_RPC_HANDLE hClientHandle,
204 [in] GUID* pInterfaceGuid,
205 [in] DWORD dwItems,
206 [in] /* [string] */ [size_is(dwItems)] /* wchar_t */ BYTE ** strProfileNames); /* FIXME */
207
208 /* Function: 0x16 */
209 DWORD _RpcGetProfileList(
210 [in] WLANSVC_RPC_HANDLE hClientHandle,
211 [in] GUID* pInterfaceGuid,
212 [out][ref] PWLAN_PROFILE_INFO_LIST *ppProfileList);
213
214 /* Function: 0x17 */
215 DWORD _RpcSetProfilePosition(
216 [in] WLANSVC_RPC_HANDLE hClientHandle,
217 [in] GUID* pInterfaceGuid,
218 [in][string] wchar_t * strProfileName,
219 [in] DWORD dwPosition);
220
221 /* Function: 0x18 */
222 DWORD _RpcSetProfileCustomUserData(
223 [in] WLANSVC_RPC_HANDLE hClientHandle,
224 [in] GUID* pInterfaceGuid,
225 [in][string] wchar_t * strProfileName,
226 [in] DWORD dwDataSize,
227 [in][unique][size_is(dwDataSize)] LPBYTE pData);
228
229 /* Function: 0x19 */
230 DWORD _RpcGetProfileCustomUserData(
231 [in] WLANSVC_RPC_HANDLE hClientHandle,
232 [in] GUID* pInterfaceGuid,
233 [in][string] wchar_t * strProfileName,
234 [in, out] LPDWORD dwDataSize,
235 [out][ref][size_is(*dwDataSize)] LPBYTE *pData);
236
237 /* Function: 0x1A */
238 DWORD _RpcSetFilterList(
239 [in] WLANSVC_RPC_HANDLE hClientHandle,
240 [in] /* enum16 */ short wlanFilterListType,
241 [in][unique] PDOT11_NETWORK_LIST pNetworkList);
242
243 /* Function: 0x1B */
244 DWORD _RpcGetFilterList(
245 [in] WLANSVC_RPC_HANDLE hClientHandle,
246 [in] /* enum16 */ short wlanFilterListType,
247 [out][ref] PDOT11_NETWORK_LIST *pNetworkList);
248
249 /* Function: 0x1C */
250 DWORD _RpcSetPsdIEDataList(
251 [in] WLANSVC_RPC_HANDLE hClientHandle,
252 [in][unique][string] wchar_t * strFormat,
253 [in] DWORD dwDataListSize,
254 [in][unique][size_is(dwDataListSize)] LPBYTE pPsdIEDataList);
255
256 /* Function: 0x1D */
257 DWORD _RpcSaveTemporaryProfile(
258 [in] WLANSVC_RPC_HANDLE hClientHandle,
259 [in] GUID* pInterfaceGuid,
260 [in][string] wchar_t * strProfileName,
261 [in][unique][string] wchar_t * strAllUserProfileSecurity,
262 [in] DWORD dwFlags,
263 [in] BOOL bOverWrite);
264
265 /* Function: 0x1E, address: 0x2C992E36 */
266 DWORD _RpcIsUIRequestPending(
267 [in] wchar_t * arg_1,
268 [in] GUID* pInterfaceGuid,
269 [in] struct_C * arg_3,
270 [out] LPDWORD arg_4);
271
272 /* Function: 0x1F, address: 0x2C992EB3 */
273 DWORD _RpcSetUIForwardingNetworkList(
274 [in] wchar_t * arg_1,
275 [in][size_is(dwSize)] GUID* arg_2,
276 [in] DWORD dwSize,
277 [out] GUID* arg_4);
278
279 /* Function: 0x20 */
280 DWORD _RpcIsNetworkSuppressed(
281 [in] wchar_t * arg_1,
282 [in] DWORD arg_2,
283 [in] GUID* pInterfaceGuid,
284 [out] LPDWORD arg_4);
285
286 /* Function: 0x21 */
287 DWORD _RpcRemoveUIForwardingNetworkList(
288 [in] wchar_t * arg_1,
289 [in] GUID* pInterfaceGuid);
290
291 /* Function: 0x22 */
292 DWORD _RpcQueryExtUIRequest(
293 [in] wchar_t * arg_1,
294 [in] GUID* arg_2,
295 [in] GUID* arg_3,
296 [in] /* enum16 */ short arg_4,
297 [out] GUID* pInterfaceGuid,
298 [out][ref] struct_C ** arg_6);
299
300 /* Function: 0x23 */
301 DWORD _RpcUIResponse(
302 [in] wchar_t * arg_1,
303 [in] struct_C * arg_2,
304 [in] struct_D * arg_3);
305
306 /* Function: 0x24 */
307 DWORD _RpcGetProfileKeyInfo(
308 [in] wchar_t * arg_1,
309 [in] DWORD arg_2,
310 [in] GUID* pInterfaceGuid,
311 [in][string] wchar_t * arg_4,
312 [in] DWORD arg_5,
313 [out] LPDWORD arg_6,
314 [in, out][unique][size_is(arg_5)] char * arg_7,
315 [out] LPDWORD arg_8);
316
317 /* Function: 0x25 */
318 DWORD _RpcAsyncDoPlap(
319 [in] wchar_t * arg_1,
320 [in] GUID* pInterfaceGuid,
321 [in][string] wchar_t * arg_3,
322 [in] DWORD dwSize,
323 [in][size_is(dwSize)] struct_E arg_5[]);
324
325 /* Function: 0x26 */
326 DWORD _RpcQueryPlapCredentials(
327 [in] wchar_t * arg_1,
328 [in, out] LPDWORD dwSize,
329 [out][ref][size_is(*dwSize)] struct_E ** arg_3,
330 [out][ref][string] wchar_t ** arg_4,
331 [out] GUID* pInterfaceGuid,
332 [out] LPDWORD arg_6,
333 [out] LPDWORD arg_7,
334 [out] LPDWORD arg_8,
335 [out] LPDWORD arg_9);
336
337 /* Function: 0x27 */
338 DWORD _RpcCancelPlap(
339 [in] wchar_t * arg_1,
340 [in] GUID* pInterfaceGuid);
341
342 /* Function: 0x28 */
343 DWORD _RpcSetSecuritySettings(
344 [in] WLANSVC_RPC_HANDLE hClientHandle,
345 [in] WLAN_SECURABLE_OBJECT SecurableObject,
346 [in][string] wchar_t * strModifiedSDDL);
347
348 /* Function: 0x29 */
349 DWORD _RpcGetSecuritySettings(
350 [in] WLANSVC_RPC_HANDLE hClientHandle,
351 [in] WLAN_SECURABLE_OBJECT SecurableObject,
352 [out] WLAN_OPCODE_VALUE_TYPE *pValueType,
353 [out][ref][string] wchar_t ** pstrCurrentSDDL,
354 [out] LPDWORD pdwGrantedAccess);
355
356 }