From: Vibhav Pant vibhavp@gmail.com
--- dlls/wlanapi/main.c | 10 ++++++++++ dlls/wlanapi/wlanapi.spec | 2 +- include/wlanapi.h | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/dlls/wlanapi/main.c b/dlls/wlanapi/main.c index 648f7433d0d..fcccff42fa8 100644 --- a/dlls/wlanapi/main.c +++ b/dlls/wlanapi/main.c @@ -281,6 +281,16 @@ DWORD WINAPI WlanGetAvailableNetworkList(HANDLE handle, const GUID *guid, DWORD return ERROR_SUCCESS; }
+DWORD WINAPI WlanGetNetworkBssList( HANDLE handle, const GUID *guid, const DOT11_SSID *ssid, + DOT11_BSS_TYPE bss_type, BOOL security, void *reserved, + WLAN_BSS_LIST **bss_list ) +{ + FIXME( "(%p, %s, %p, %d, %d, %p, %p) stub\n", handle, debugstr_guid( guid ), ssid, bss_type, + security, reserved, bss_list ); + + return ERROR_CALL_NOT_IMPLEMENTED; +} + DWORD WINAPI WlanQueryInterface(HANDLE handle, const GUID *guid, WLAN_INTF_OPCODE opcode, void *reserved, DWORD *data_size, void **data, WLAN_OPCODE_VALUE_TYPE *opcode_type) { diff --git a/dlls/wlanapi/wlanapi.spec b/dlls/wlanapi/wlanapi.spec index 45d83c80b0f..6b47812d017 100644 --- a/dlls/wlanapi/wlanapi.spec +++ b/dlls/wlanapi/wlanapi.spec @@ -9,7 +9,7 @@ @ stdcall WlanGetAvailableNetworkList(ptr ptr long ptr ptr) @ stub WlanGetFilterList @ stub WlanGetInterfaceCapability -@ stub WlanGetNetworkBssList +@ stdcall WlanGetNetworkBssList(ptr ptr ptr long long ptr ptr) @ stub WlanGetProfile @ stub WlanGetProfileCustomUserData @ stub WlanGetProfileList diff --git a/include/wlanapi.h b/include/wlanapi.h index 0db5c5e8899..a050752d541 100644 --- a/include/wlanapi.h +++ b/include/wlanapi.h @@ -135,6 +135,38 @@ typedef struct _WLAN_AVAILABLE_NETWORK DWORD dwReserved; } WLAN_AVAILABLE_NETWORK, *PWLAN_AVAILABLE_NETWORK;
+typedef struct _WLAN_RATE_SET { + ULONG uRateSetLength; + USHORT usRateSet[DOT11_RATE_SET_MAX_LENGTH]; +} WLAN_RATE_SET, *PWLAN_RATE_SET; + +typedef struct _WLAN_BSS_ENTRY +{ + DOT11_SSID dot11Ssid; + ULONG uPhyId; + DOT11_MAC_ADDRESS dot11Bssid; + DOT11_BSS_TYPE dot11BssType; + DOT11_PHY_TYPE dot11BssPhyType; + LONG lRssi; + ULONG uLinkQuality; + BOOLEAN bInRegDomain; + USHORT usBeaconPeriod; + ULONGLONG ullTimestamp; + ULONGLONG ullHostTimestamp; + USHORT usCapabilityInformation; + ULONG ulChCenterFrequency; + WLAN_RATE_SET wlanRateSet; + ULONG ulIeOffset; + ULONG ulIeSize; +} WLAN_BSS_ENTRY, *PWLAN_BSS_ENTRY; + +typedef struct _WLAN_BSS_LIST +{ + DWORD dwTotalSize; + DWORD dwNumberOfItems; + WLAN_BSS_ENTRY wlanBssEntries[1]; +} WLAN_BSS_LIST, *PWLAN_BSS_LIST; + typedef enum _WLAN_INTF_OPCODE { wlan_intf_opcode_autoconf_start = 0x000000000, @@ -260,5 +292,7 @@ DWORD WINAPI WlanScan(HANDLE, const GUID *, const DOT11_SSID *, const WLAN_RAW_D DWORD WINAPI WlanRegisterNotification(HANDLE, DWORD, BOOL, WLAN_NOTIFICATION_CALLBACK, void *, void *, DWORD *); DWORD WINAPI WlanGetAvailableNetworkList(HANDLE, const GUID *, DWORD, void *, WLAN_AVAILABLE_NETWORK_LIST **); DWORD WINAPI WlanQueryInterface(HANDLE, const GUID *, WLAN_INTF_OPCODE, void *, DWORD *, void **, WLAN_OPCODE_VALUE_TYPE *); +DWORD WINAPI WlanGetNetworkBssList( HANDLE, const GUID *, const DOT11_SSID *, DOT11_BSS_TYPE, BOOL, + void *, WLAN_BSS_LIST ** );
#endif /* _WLAN_WLANAPI_H */