ReactOS  0.4.14-dev-52-g6116262
wlanapi.h
Go to the documentation of this file.
1 #ifndef _WLANAPI_H
2 #define _WLANAPI_H
3 
4 #include <l2cmn.h>
5 #include <windot11.h>
6 #include <eaptypes.h>
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 /* Defines */
13 #define WLAN_API_VERSION_1_0 0x00000001
14 #define WLAN_API_VERSION_2_0 0x00000002
15 
16 #define WLAN_MAX_PHY_INDEX 64
17 #define WLAN_MAX_NAME_LENGTH 256
18 
19 /* Enumerations */
20 
21 #if defined(__midl) || defined(__WIDL__)
22 typedef [v1_enum] enum _WLAN_OPCODE_VALUE_TYPE {
23 #else
25 #endif
30 } WLAN_OPCODE_VALUE_TYPE; /* HACK: WIDL is broken , *PWLAN_OPCODE_VALUE_TYPE; */
31 
32 typedef enum _WLAN_SECURABLE_OBJECT {
48 
49 typedef enum _WLAN_CONNECTION_MODE {
57 
58 #if defined(__midl) || defined(__WIDL__)
59 typedef [v1_enum] enum _WLAN_IHV_CONTROL_TYPE {
60 #else
61 typedef enum _WLAN_IHV_CONTROL_TYPE {
62 #endif
65 } WLAN_IHV_CONTROL_TYPE; /* HACK , *PWLAN_IHV_CONTROL_TYPE; */
66 
67 #if defined(__midl) || defined(__WIDL__)
68 typedef [v1_enum] enum _WLAN_INTF_OPCODE {
69 #else
70 typedef enum _WLAN_INTF_OPCODE {
71 #endif
98 } WLAN_INTF_OPCODE; /* HACK: WIDL is broken , *PWLAN_INTF_OPCODE; */
99 
100 #if defined(__midl) || defined(__WIDL__)
101 typedef [v1_enum] enum _WLAN_INTERFACE_STATE {
102 #else
103 typedef enum _WLAN_INTERFACE_STATE {
104 #endif
114 
115 typedef enum _WLAN_INTERFACE_TYPE {
120 
121 /* Types */
124 
125 typedef struct _DOT11_NETWORK {
129 
130 typedef struct _DOT11_NETWORK_LIST {
133 #if defined(__midl) || defined(__WIDL__)
135 #else
137 #endif
139 
140 typedef struct _WLAN_INTERFACE_INFO {
145 
149 #if defined(__midl) || defined(__WIDL__)
151 #else
153 #endif
155 
162  /* enum32 */ long dot11PhyTypes[WLAN_MAX_PHY_INDEX];
164 
165 typedef struct _WLAN_RAW_DATA {
167 #if defined(__midl) || defined(__WIDL__)
168  [size_is(dwDataSize)] BYTE DataBlob[];
169 #else
171 #endif
173 
174 typedef struct _WLAN_PROFILE_INFO {
178 
179 typedef struct _WLAN_PROFILE_INFO_LIST {
182 #if defined(__midl) || defined(__WIDL__)
184 #else
186 #endif
188 
189 typedef struct _WLAN_AVAILABLE_NETWORK {
206 
210 #if defined(__midl) || defined(__WIDL__)
212 #else
214 #endif
216 
219 #if defined(__midl) || defined(__WIDL__)
221 #else
223 #endif
229 
231 
233 
234 /* Functions */
235 #if !defined(__midl) && !defined(__WIDL__)
238 DWORD WINAPI WlanOpenHandle(IN DWORD dwClientVersion, PVOID pReserved, OUT DWORD *pdwNegotiatedVersion, OUT HANDLE *phClientHandle);
239 DWORD WINAPI WlanCloseHandle(IN HANDLE hClientHandle, PVOID pReserved);
240 DWORD WINAPI WlanConnect(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN const PWLAN_CONNECTION_PARAMETERS pConnectionParameters, PVOID pReserved);
241 DWORD WINAPI WlanDisconnect(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, PVOID pReserved);
242 DWORD WINAPI WlanEnumInterfaces(IN HANDLE hClientHandle, PVOID pReserved, OUT PWLAN_INTERFACE_INFO_LIST *ppInterfaceList);
243 DWORD WINAPI WlanGetAvailableNetworkList(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN DWORD dwFlags, PVOID pReserved, OUT PWLAN_AVAILABLE_NETWORK_LIST *ppAvailableNetworkList);
244 DWORD WINAPI WlanGetInterfaceCapability(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, PVOID pReserved, OUT PWLAN_INTERFACE_CAPABILITY *ppCapability);
245 DWORD WINAPI WlanDeleteProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, PVOID pReserved);
246 DWORD WINAPI WlanGetProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, PVOID pReserved, OUT LPWSTR *pstrProfileXml, DWORD *pdwFlags, PDWORD pdwGrantedAccess);
247 DWORD WINAPI WlanGetProfileCustomUserData(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, PVOID pReserved, OUT DWORD *pdwDataSize, OUT PBYTE *ppData);
248 DWORD WINAPI WlanGetProfileList(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, PVOID pReserved, OUT PWLAN_PROFILE_INFO_LIST *ppProfileList);
249 DWORD WINAPI WlanIhvControl(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN WLAN_IHV_CONTROL_TYPE Type, IN DWORD dwInBufferSize, IN PVOID pInBuffer, IN DWORD dwOutBufferSize, PVOID pOutBuffer, OUT PDWORD pdwBytesReturned);
250 DWORD WINAPI WlanQueryInterface(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN WLAN_INTF_OPCODE OpCode, PVOID pReserved, OUT PDWORD pdwDataSize, OUT PVOID *ppData, WLAN_OPCODE_VALUE_TYPE *pWlanOpcodeValueType);
251 DWORD WINAPI WlanReasonCodeToString(IN DWORD dwReasonCode, IN DWORD dwBufferSize, IN PWCHAR pStringBuffer, PVOID pReserved);
252 DWORD WINAPI WlanRegisterNotification(IN HANDLE hClientHandle,IN DWORD dwNotifSource, IN BOOL bIgnoreDuplicate, WLAN_NOTIFICATION_CALLBACK funcCallback, PVOID pCallbackContext, PVOID pReserved, PDWORD pdwPrevNotifSource);
253 DWORD WINAPI WlanRenameProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strOldProfileName, IN LPCWSTR strNewProfileName, PVOID pReserved);
254 DWORD WINAPI WlanSetProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN DWORD dwFlags, IN LPCWSTR strProfileXml, LPCWSTR strAllUserProfileSecurity, IN BOOL bOverwrite, PVOID pReserved, OUT DWORD *pdwReasonCode);
255 DWORD WINAPI WlanSetProfileCustomUserData(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, IN DWORD dwDataSize, IN const PBYTE pData, PVOID pReserved);
256 DWORD WINAPI WlanSetProfileEapUserData(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, IN EAP_METHOD_TYPE eapType, IN DWORD dwFlags, IN DWORD dwEapUserDataSize, IN const LPBYTE pbEapUserData, PVOID pReserved);
257 DWORD WINAPI WlanSetProfileList(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, DWORD dwItems, IN LPCWSTR *strProfileNames, PVOID pReserved);
258 DWORD WINAPI WlanSetSecuritySettings(IN HANDLE hClientHandle, IN WLAN_SECURABLE_OBJECT SecurableObject, IN LPCWSTR strModifiedSDDL);
259 DWORD WINAPI WlanScan(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN PDOT11_SSID pDot11Ssid, IN PWLAN_RAW_DATA pIeData, PVOID pReserved);
260 #endif
261 
262 #ifdef __cplusplus
263 }
264 #endif
265 
266 
267 #endif // _WLANAPI_H
DWORD WINAPI WlanDisconnect(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, PVOID pReserved)
Definition: main.c:150
DWORD WLAN_REASON_CODE
Definition: wlanapi.h:122
VOID WINAPI WlanFreeMemory(PVOID pMemory)
#define IN
Definition: typedefs.h:38
DWORD dwNumberOfItems
Definition: wlanapi.h:131
struct _WLAN_INTERFACE_CAPABILITY * PWLAN_INTERFACE_CAPABILITY
_WLAN_INTERFACE_TYPE
Definition: wlanapi.h:115
struct _WLAN_AVAILABLE_NETWORK_LIST WLAN_AVAILABLE_NETWORK_LIST
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
_WLAN_SECURABLE_OBJECT
Definition: wlanapi.h:32
Type
Definition: Type.h:6
DWORD WINAPI WlanDeleteProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, PVOID pReserved)
Definition: profile.c:37
enum _WLAN_INTERFACE_TYPE WLAN_INTERFACE_TYPE
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
WCHAR strInterfaceDescription[256]
Definition: wlanapi.h:142
WLAN_INTERFACE_TYPE interfaceType
Definition: wlanapi.h:157
DWORD WINAPI WlanCloseHandle(IN HANDLE hClientHandle, PVOID pReserved)
Definition: main.c:203
_WLAN_IHV_CONTROL_TYPE
Definition: wlanapi.h:61
struct _WLAN_INTERFACE_CAPABILITY WLAN_INTERFACE_CAPABILITY
void(__stdcall * WLAN_NOTIFICATION_CALLBACK)(PWLAN_NOTIFICATION_DATA, PVOID)
Definition: wlanapi.h:232
DWORD WINAPI WlanRenameProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strOldProfileName, IN LPCWSTR strNewProfileName, PVOID pReserved)
Definition: profile.c:62
_WLAN_OPCODE_VALUE_TYPE
Definition: wlanapi.h:24
WLAN_INTERFACE_STATE isState
Definition: wlanapi.h:143
ULONG WLAN_SIGNAL_QUALITY
Definition: wlanapi.h:123
long dot11PhyTypes[WLAN_MAX_PHY_INDEX]
Definition: wlanapi.h:162
enum _WLAN_SECURABLE_OBJECT WLAN_SECURABLE_OBJECT
DWORD WINAPI WlanQueryInterface(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN WLAN_INTF_OPCODE OpCode, PVOID pReserved, OUT PDWORD pdwDataSize, OUT PVOID *ppData, WLAN_OPCODE_VALUE_TYPE *pWlanOpcodeValueType)
Definition: main.c:276
WCHAR strProfileName[256]
Definition: wlanapi.h:175
enum _WLAN_INTF_OPCODE WLAN_INTF_OPCODE
DWORD WINAPI WlanOpenHandle(IN DWORD dwClientVersion, PVOID pReserved, OUT DWORD *pdwNegotiatedVersion, OUT HANDLE *phClientHandle)
Definition: main.c:174
uint16_t * PWCHAR
Definition: typedefs.h:54
DWORD WINAPI WlanReasonCodeToString(IN DWORD dwReasonCode, IN DWORD dwBufferSize, IN PWCHAR pStringBuffer, PVOID pReserved)
Definition: main.c:319
enum _WLAN_INTERFACE_STATE WLAN_INTERFACE_STATE
struct _WLAN_PROFILE_INFO_LIST * PWLAN_PROFILE_INFO_LIST
DOT11_BSS_TYPE dot11BssType
Definition: wlanapi.h:192
DWORD WINAPI WlanGetProfileList(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, PVOID pReserved, OUT PWLAN_PROFILE_INFO_LIST *ppProfileList)
Definition: profile.c:158
enum _WLAN_OPCODE_VALUE_TYPE WLAN_OPCODE_VALUE_TYPE
enum _WLAN_CONNECTION_MODE * PWLAN_CONNECTION_MODE
struct _WLAN_AVAILABLE_NETWORK * PWLAN_AVAILABLE_NETWORK
DWORD WINAPI WlanIhvControl(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN WLAN_IHV_CONTROL_TYPE Type, IN DWORD dwInBufferSize, IN PVOID pInBuffer, IN DWORD dwOutBufferSize, PVOID pOutBuffer, OUT PDWORD pdwBytesReturned)
Definition: main.c:333
unsigned char * LPBYTE
Definition: typedefs.h:52
unsigned int BOOL
Definition: ntddk_ex.h:94
struct _WLAN_CONNECTION_PARAMETERS WLAN_CONNECTION_PARAMETERS
enum _WLAN_IHV_CONTROL_TYPE WLAN_IHV_CONTROL_TYPE
WLAN_INTERFACE_INFO InterfaceInfo[1]
Definition: wlanapi.h:152
PDOT11_BSSID_LIST pDesiredBssidList
Definition: wlanapi.h:225
DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm
Definition: wlanapi.h:202
DOT11_SSID dot11Ssid
Definition: wlanapi.h:191
enum _DOT11_PHY_TYPE DOT11_PHY_TYPE
void * PVOID
Definition: retypes.h:9
struct _DOT11_NETWORK_LIST * PDOT11_NETWORK_LIST
WLAN_SIGNAL_QUALITY wlanSignalQuality
Definition: wlanapi.h:199
DWORD WINAPI WlanGetAvailableNetworkList(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN DWORD dwFlags, PVOID pReserved, OUT PWLAN_AVAILABLE_NETWORK_LIST *ppAvailableNetworkList)
Definition: main.c:375
WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]
Definition: wlanapi.h:190
enum _DOT11_CIPHER_ALGORITHM DOT11_CIPHER_ALGORITHM
DOT11_SSID dot11Ssid
Definition: wlanapi.h:126
enum _DOT11_BSS_TYPE DOT11_BSS_TYPE
__wchar_t WCHAR
Definition: xmlstorage.h:180
L2_NOTIFICATION_DATA * PWLAN_NOTIFICATION_DATA
Definition: wlanapi.h:230
_WLAN_CONNECTION_MODE
Definition: wlanapi.h:49
struct _WLAN_AVAILABLE_NETWORK WLAN_AVAILABLE_NETWORK
#define WINAPI
Definition: msvc.h:8
DOT11_NETWORK Network[1]
Definition: wlanapi.h:136
unsigned long DWORD
Definition: ntddk_ex.h:95
#define __stdcall
Definition: typedefs.h:25
DWORD WINAPI WlanSetProfileList(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, DWORD dwItems, IN LPCWSTR *strProfileNames, PVOID pReserved)
Definition: profile.c:172
struct _WLAN_INTERFACE_INFO_LIST * PWLAN_INTERFACE_INFO_LIST
PSDBQUERYRESULT_VISTA PVOID * ppData
Definition: env.c:54
#define WLAN_MAX_PHY_INDEX
Definition: wlanapi.h:16
DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm
Definition: wlanapi.h:201
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
DWORD * PWLAN_REASON_CODE
Definition: wlanapi.h:122
L2_NOTIFICATION_DATA WLAN_NOTIFICATION_DATA
Definition: wlanapi.h:230
unsigned char BYTE
Definition: mem.h:68
struct _WLAN_RAW_DATA WLAN_RAW_DATA
DWORD WINAPI WlanScan(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN PDOT11_SSID pDot11Ssid, IN PWLAN_RAW_DATA pIeData, PVOID pReserved)
Definition: main.c:250
WLAN_AVAILABLE_NETWORK Network[1]
Definition: wlanapi.h:213
char string[160]
Definition: util.h:11
struct _WLAN_INTERFACE_INFO_LIST WLAN_INTERFACE_INFO_LIST
DWORD WINAPI WlanSetProfileEapUserData(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, IN EAP_METHOD_TYPE eapType, IN DWORD dwFlags, IN DWORD dwEapUserDataSize, IN const LPBYTE pbEapUserData, PVOID pReserved)
DOT11_BSS_TYPE dot11BssType
Definition: wlanapi.h:226
WLAN_CONNECTION_MODE wlanConnectionMode
Definition: wlanapi.h:218
struct _WLAN_INTERFACE_INFO WLAN_INTERFACE_INFO
DWORD WINAPI WlanEnumInterfaces(IN HANDLE hClientHandle, PVOID pReserved, OUT PWLAN_INTERFACE_INFO_LIST *ppInterfaceList)
Definition: main.c:226
DWORD WINAPI WlanSetSecuritySettings(IN HANDLE hClientHandle, IN WLAN_SECURABLE_OBJECT SecurableObject, IN LPCWSTR strModifiedSDDL)
Definition: main.c:351
struct _DOT11_NETWORK * PDOT11_NETWORK
DWORD WINAPI WlanRegisterNotification(IN HANDLE hClientHandle, IN DWORD dwNotifSource, IN BOOL bIgnoreDuplicate, WLAN_NOTIFICATION_CALLBACK funcCallback, PVOID pCallbackContext, PVOID pReserved, PDWORD pdwPrevNotifSource)
Definition: main.c:305
WLAN_REASON_CODE wlanNotConnectableReason
Definition: wlanapi.h:195
struct _WLAN_PROFILE_INFO WLAN_PROFILE_INFO
enum _WLAN_CONNECTION_MODE WLAN_CONNECTION_MODE
enum _WLAN_SECURABLE_OBJECT * PWLAN_SECURABLE_OBJECT
DOT11_BSS_TYPE dot11BssType
Definition: wlanapi.h:127
DWORD WINAPI WlanSetProfileCustomUserData(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, IN DWORD dwDataSize, IN const PBYTE pData, PVOID pReserved)
Definition: profile.c:139
struct _WLAN_RAW_DATA * PWLAN_RAW_DATA
struct _WLAN_PROFILE_INFO * PWLAN_PROFILE_INFO
DWORD * PDWORD
Definition: pedump.c:68
BYTE DataBlob[1]
Definition: wlanapi.h:170
_WLAN_INTERFACE_STATE
Definition: wlanapi.h:103
struct _WLAN_PROFILE_INFO_LIST WLAN_PROFILE_INFO_LIST
DWORD WINAPI WlanGetProfileCustomUserData(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, PVOID pReserved, OUT DWORD *pdwDataSize, OUT PBYTE *ppData)
Definition: profile.c:123
#define OUT
Definition: typedefs.h:39
PVOID WINAPI WlanAllocateMemory(DWORD dwSize)
struct _WLAN_CONNECTION_PARAMETERS * PWLAN_CONNECTION_PARAMETERS
DWORD WINAPI WlanGetInterfaceCapability(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, PVOID pReserved, OUT PWLAN_INTERFACE_CAPABILITY *ppCapability)
Definition: main.c:293
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
Definition: _algo.h:298
unsigned int ULONG
Definition: retypes.h:1
DOT11_PHY_TYPE dot11PhyTypes[8]
Definition: wlanapi.h:197
_WLAN_INTF_OPCODE
Definition: wlanapi.h:70
struct _DOT11_NETWORK_LIST DOT11_NETWORK_LIST
OpCode
Definition: dlist.c:229
struct _WLAN_AVAILABLE_NETWORK_LIST * PWLAN_AVAILABLE_NETWORK_LIST
DWORD dwDataSize
Definition: wlanapi.h:166
enum _DOT11_AUTH_ALGORITHM DOT11_AUTH_ALGORITHM
WCHAR * LPWSTR
Definition: xmlstorage.h:184
enum _WLAN_INTERFACE_TYPE * PWLAN_INTERFACE_TYPE
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827
#define WLAN_MAX_NAME_LENGTH
Definition: wlanapi.h:17
DWORD WINAPI WlanGetProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN LPCWSTR strProfileName, PVOID pReserved, OUT LPWSTR *pstrProfileXml, DWORD *pdwFlags, PDWORD pdwGrantedAccess)
Definition: profile.c:88
DWORD WINAPI WlanConnect(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN const PWLAN_CONNECTION_PARAMETERS pConnectionParameters, PVOID pReserved)
Definition: main.c:125
DWORD WINAPI WlanSetProfile(IN HANDLE hClientHandle, IN const GUID *pInterfaceGuid, IN DWORD dwFlags, IN LPCWSTR strProfileXml, LPCWSTR strAllUserProfileSecurity, IN BOOL bOverwrite, PVOID pReserved, OUT DWORD *pdwReasonCode)
Definition: profile.c:105
WLAN_PROFILE_INFO ProfileInfo[1]
Definition: wlanapi.h:185
struct _WLAN_INTERFACE_INFO * PWLAN_INTERFACE_INFO
BYTE * PBYTE
Definition: pedump.c:66
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:54
ULONG * PWLAN_SIGNAL_QUALITY
Definition: wlanapi.h:123
struct _DOT11_NETWORK DOT11_NETWORK