Author: cwittich Date: Mon Mar 16 12:22:25 2009 New Revision: 40055
URL: http://svn.reactos.org/svn/reactos?rev=40055&view=rev Log: -implement WlanScan and WlanEnumInterfaces -add some more NDIS definitions
Modified: trunk/reactos/base/services/wlansvc/rpcserver.c trunk/reactos/dll/win32/wlanapi/main.c trunk/reactos/dll/win32/wlanapi/wlanapi.spec trunk/reactos/include/psdk/ntddndis.h trunk/reactos/include/psdk/wlanapi.h
Modified: trunk/reactos/base/services/wlansvc/rpcserver.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/wlansvc/rpcse... ============================================================================== --- trunk/reactos/base/services/wlansvc/rpcserver.c [iso-8859-1] (original) +++ trunk/reactos/base/services/wlansvc/rpcserver.c [iso-8859-1] Mon Mar 16 12:22:25 2009 @@ -112,6 +112,21 @@ PDOT11_SSID pDot11Ssid, PWLAN_RAW_DATA pIeData) { + /* + DWORD dwBytesReturned; + HANDLE hDevice; + ULONG OidCode = OID_802_11_BSSID_LIST_SCAN; + PNDIS_802_11_BSSID_LIST pBssIDList; + + DeviceIoControl(hDevice, + IOCTL_NDIS_QUERY_GLOBAL_STATS, + &OidCode, + sizeof(ULONG), + NULL, + 0, + &dwBytesReturned, + NULL); +*/ UNIMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED; } @@ -173,7 +188,6 @@ return ERROR_CALL_NOT_IMPLEMENTED; }
- DWORD _RpcSetProfileEapUserData( WLANSVC_RPC_HANDLE hClientHandle, GUID *pInterfaceGuid,
Modified: trunk/reactos/dll/win32/wlanapi/main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wlanapi/main.c?re... ============================================================================== --- trunk/reactos/dll/win32/wlanapi/main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wlanapi/main.c [iso-8859-1] Mon Mar 16 12:22:25 2009 @@ -60,12 +60,61 @@ return dwError; }
+DWORD +WINAPI +WlanEnumInterfaces(IN HANDLE hClientHandle, + PVOID pReserved, + OUT PWLAN_INTERFACE_INFO_LIST *ppInterfaceList) +{ + DWORD dwError = ERROR_SUCCESS; + + if ((pReserved != NULL) || (ppInterfaceList == NULL) || (hClientHandle == NULL)) + return ERROR_INVALID_PARAMETER; + + RpcTryExcept + { + _RpcEnumInterfaces(hClientHandle, ppInterfaceList); + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + dwError = RpcExceptionCode(); + } + RpcEndExcept; + + return dwError; +} + +DWORD +WINAPI +WlanScan(IN HANDLE hClientHandle, + IN GUID *pInterfaceGuid, + IN PDOT11_SSID pDot11Ssid, + IN PWLAN_RAW_DATA pIeData, + PVOID pReserved) +{ + DWORD dwError = ERROR_SUCCESS; + + if ((pReserved != NULL) || (pInterfaceGuid == NULL) || (hClientHandle == NULL)) + return ERROR_INVALID_PARAMETER; + + RpcTryExcept + { + _RpcScan(hClientHandle, pInterfaceGuid, pDot11Ssid, pIeData); + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + dwError = RpcExceptionCode(); + } + RpcEndExcept; + + return dwError; +} + void __RPC_FAR * __RPC_USER midl_user_allocate(size_t len) { return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len); } -
void __RPC_USER midl_user_free(void __RPC_FAR * ptr)
Modified: trunk/reactos/dll/win32/wlanapi/wlanapi.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wlanapi/wlanapi.s... ============================================================================== --- trunk/reactos/dll/win32/wlanapi/wlanapi.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wlanapi/wlanapi.spec [iso-8859-1] Mon Mar 16 12:22:25 2009 @@ -1,9 +1,9 @@ @ stdcall WlanAllocateMemory (long) -@ stub WlanCloseHandle +@ stdcall WlanCloseHandle (ptr ptr) @ stub WlanConnect @ stub WlanDeleteProfile @ stub WlanDisconnect -@ stub WlanEnumInterfaces +@ stdcall WlanEnumInterfaces (ptr ptr ptr) @ stub WlanExtractPsdIEDataList @ stdcall WlanFreeMemory (ptr) @ stub WlanGetAvailableNetworkList @@ -22,7 +22,7 @@ @ stub WlanRegisterNotification @ stub WlanRenameProfile @ stub WlanSaveTemporaryProfile -@ stub WlanScan +@ stdcall WlanScan (ptr ptr ptr ptr ptr) @ stub WlanSetAutoConfigParameter @ stub WlanSetFilterList @ stub WlanSetInterface
Modified: trunk/reactos/include/psdk/ntddndis.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ntddndis.h?rev... ============================================================================== --- trunk/reactos/include/psdk/ntddndis.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ntddndis.h [iso-8859-1] Mon Mar 16 12:22:25 2009 @@ -1,6 +1,9 @@ #ifndef _NTDDNDIS_ #define _NTDDNDIS_ #endif + +#define OID_802_11_BSSID_LIST 0x0D010217 +#define OID_802_11_BSSID_LIST_SCAN 0x0D01011A
typedef struct _NDIS_OBJECT_HEADER { @@ -9,4 +12,9 @@ USHORT Size; } NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER;
+typedef struct _NDIS_802_11_BSSID_LIST +{ + ULONG NumberOfItems; + NDIS_WLAN_BSSID Bssid[1]; +} NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
Modified: trunk/reactos/include/psdk/wlanapi.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wlanapi.h?rev=... ============================================================================== --- trunk/reactos/include/psdk/wlanapi.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/wlanapi.h [iso-8859-1] Mon Mar 16 12:22:25 2009 @@ -190,6 +190,8 @@ VOID WINAPI WlanFreeMemory(PVOID pMemory); DWORD WINAPI WlanOpenHandle(IN DWORD dwClientVersion, PVOID pReserved, OUT DWORD *pdwNegotiatedVersion, OUT HANDLE *phClientHandle); DWORD WINAPI WlanCloseHandle(IN HANDLE hClientHandle, PVOID pReserved); +DWORD WINAPI WlanEnumInterfaces(IN HANDLE hClientHandle, PVOID pReserved, OUT PWLAN_INTERFACE_INFO_LIST *ppInterfaceList); +DWORD WINAPI WlanScan(IN HANDLE hClientHandle, IN GUID *pInterfaceGuid, IN PDOT11_SSID pDot11Ssid, IN PWLAN_RAW_DATA pIeData, PVOID pReserved); #endif
#ifdef __cplusplus