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/rpcs…
==============================================================================
--- 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?r…
==============================================================================
--- 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.…
==============================================================================
--- 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?re…
==============================================================================
--- 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