[ros-diffs] [cwittich] 40055: -implement WlanScan and WlanEnumInterfaces -add some more NDIS definitions

cwittich at svn.reactos.org cwittich at svn.reactos.org
Mon Mar 16 10:22:26 CET 2009


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/rpcserver.c?rev=40055&r1=40054&r2=40055&view=diff
==============================================================================
--- 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?rev=40055&r1=40054&r2=40055&view=diff
==============================================================================
--- 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.spec?rev=40055&r1=40054&r2=40055&view=diff
==============================================================================
--- 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=40055&r1=40054&r2=40055&view=diff
==============================================================================
--- 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=40055&r1=40054&r2=40055&view=diff
==============================================================================
--- 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



More information about the Ros-diffs mailing list