Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenrpcserver.c
Go to the documentation of this file.
00001 /* 00002 * PROJECT: ReactOS WLAN Service 00003 * LICENSE: GPL - See COPYING in the top level directory 00004 * FILE: base/services/wlansvc/rpcserver.c 00005 * PURPOSE: RPC server interface 00006 * COPYRIGHT: Copyright 2009 Christoph von Wittich 00007 */ 00008 00009 /* INCLUDES ****************************************************************/ 00010 #include <windows.h> 00011 #include <iphlpapi.h> 00012 00013 #include "wlansvc_s.h" 00014 00015 #define NDEBUG 00016 #include <debug.h> 00017 //#define GET_IF_ENTRY2_IMPLEMENTED 1 00018 00019 DWORD _RpcOpenHandle( 00020 wchar_t *arg_1, 00021 DWORD dwClientVersion, 00022 DWORD *pdwNegotiatedVersion, 00023 LPWLANSVC_RPC_HANDLE phClientHandle) 00024 { 00025 UNIMPLEMENTED; 00026 return ERROR_CALL_NOT_IMPLEMENTED; 00027 } 00028 00029 DWORD _RpcCloseHandle( 00030 LPWLANSVC_RPC_HANDLE phClientHandle) 00031 { 00032 UNIMPLEMENTED; 00033 return ERROR_CALL_NOT_IMPLEMENTED; 00034 } 00035 00036 DWORD _RpcEnumInterfaces( 00037 WLANSVC_RPC_HANDLE hClientHandle, 00038 PWLAN_INTERFACE_INFO_LIST *ppInterfaceList) 00039 { 00040 #if GET_IF_ENTRY2_IMPLEMENTED 00041 DWORD dwNumInterfaces; 00042 DWORD dwResult, dwSize; 00043 DWORD dwIndex; 00044 MIB_IF_ROW2 IfRow; 00045 PWLAN_INTERFACE_INFO_LIST InterfaceList; 00046 00047 if (!hClientHandle || !ppInterfaceList) 00048 return ERROR_INVALID_PARAMETER; 00049 00050 dwResult = GetNumberOfInterfaces(&dwNumInterfaces); 00051 dwSize = sizeof(WLAN_INTERFACE_INFO_LIST); 00052 if (dwResult != NO_ERROR) 00053 { 00054 /* set num interfaces to zero when an error occurs */ 00055 dwNumInterfaces = 0; 00056 } 00057 else 00058 { 00059 if (dwNumInterfaces > 1) 00060 { 00061 /* add extra size for interface */ 00062 dwSize += (dwNumInterfaces-1) * sizeof(WLAN_INTERFACE_INFO); 00063 } 00064 } 00065 00066 /* allocate interface list */ 00067 InterfaceList = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwSize); 00068 if (!InterfaceList) 00069 { 00070 return ERROR_NOT_ENOUGH_MEMORY; 00071 } 00072 00073 *ppInterfaceList = InterfaceList; 00074 if (!dwNumInterfaces) 00075 { 00076 return ERROR_SUCCESS; 00077 } 00078 00079 for(dwIndex = 0; dwIndex < dwNumInterfaces; dwIndex++) 00080 { 00081 ZeroMemory(&IfRow, sizeof(MIB_IF_ROW2)); 00082 IfRow.InterfaceIndex = dwIndex; 00083 00084 dwResult = GetIfEntry2(&IfRow); 00085 if (dwResult == NO_ERROR) 00086 { 00087 if (IfRow.Type == IF_TYPE_IEEE80211 && IfRow.InterfaceAndOperStatusFlags.HardwareInterface) 00088 { 00089 RtlMoveMemory(&InterfaceList->InterfaceInfo[InterfaceList->dwNumberOfItems].InterfaceGuid, &IfRow.InterfaceGuid, sizeof(GUID)); 00090 wcscpy(InterfaceList->InterfaceInfo[InterfaceList->dwNumberOfItems].strInterfaceDescription, IfRow.Description); 00091 //FIXME set state 00092 InterfaceList->dwNumberOfItems++; 00093 } 00094 } 00095 } 00096 00097 return ERROR_SUCCESS; 00098 #else 00099 UNIMPLEMENTED; 00100 return ERROR_CALL_NOT_IMPLEMENTED; 00101 #endif 00102 } 00103 00104 DWORD _RpcSetAutoConfigParameter( 00105 WLANSVC_RPC_HANDLE hClientHandle, 00106 long OpCode, 00107 DWORD dwDataSize, 00108 LPBYTE pData) 00109 { 00110 UNIMPLEMENTED; 00111 return ERROR_CALL_NOT_IMPLEMENTED; 00112 } 00113 00114 DWORD _RpcQueryAutoConfigParameter( 00115 WLANSVC_RPC_HANDLE hClientHandle, 00116 DWORD OpCode, 00117 LPDWORD pdwDataSize, 00118 char **ppData, 00119 DWORD *pWlanOpcodeValueType) 00120 { 00121 UNIMPLEMENTED; 00122 return ERROR_CALL_NOT_IMPLEMENTED; 00123 } 00124 00125 DWORD _RpcGetInterfaceCapability( 00126 WLANSVC_RPC_HANDLE hClientHandle, 00127 GUID *pInterfaceGuid, 00128 PWLAN_INTERFACE_CAPABILITY *ppCapability) 00129 { 00130 UNIMPLEMENTED; 00131 return ERROR_CALL_NOT_IMPLEMENTED; 00132 } 00133 00134 DWORD _RpcSetInterface( 00135 WLANSVC_RPC_HANDLE hClientHandle, 00136 GUID *pInterfaceGuid, 00137 DWORD OpCode, 00138 DWORD dwDataSize, 00139 LPBYTE pData) 00140 { 00141 UNIMPLEMENTED; 00142 return ERROR_CALL_NOT_IMPLEMENTED; 00143 } 00144 00145 DWORD _RpcQueryInterface( 00146 WLANSVC_RPC_HANDLE hClientHandle, 00147 GUID *pInterfaceGuid, 00148 long OpCode, 00149 LPDWORD pdwDataSize, 00150 LPBYTE *ppData, 00151 LPDWORD pWlanOpcodeValueType) 00152 { 00153 UNIMPLEMENTED; 00154 return ERROR_CALL_NOT_IMPLEMENTED; 00155 } 00156 00157 DWORD _RpcIhvControl( 00158 WLANSVC_RPC_HANDLE hClientHandle, 00159 GUID *pInterfaceGuid, 00160 DWORD Type, 00161 DWORD dwInBufferSize, 00162 LPBYTE pInBuffer, 00163 DWORD dwOutBufferSize, 00164 LPBYTE pOutBuffer, 00165 LPDWORD pdwBytesReturned) 00166 { 00167 UNIMPLEMENTED; 00168 return ERROR_CALL_NOT_IMPLEMENTED; 00169 } 00170 00171 DWORD _RpcScan( 00172 WLANSVC_RPC_HANDLE hClientHandle, 00173 GUID *pInterfaceGuid, 00174 PDOT11_SSID pDot11Ssid, 00175 PWLAN_RAW_DATA pIeData) 00176 { 00177 /* 00178 DWORD dwBytesReturned; 00179 HANDLE hDevice; 00180 ULONG OidCode = OID_802_11_BSSID_LIST_SCAN; 00181 PNDIS_802_11_BSSID_LIST pBssIDList; 00182 00183 DeviceIoControl(hDevice, 00184 IOCTL_NDIS_QUERY_GLOBAL_STATS, 00185 &OidCode, 00186 sizeof(ULONG), 00187 NULL, 00188 0, 00189 &dwBytesReturned, 00190 NULL); 00191 */ 00192 UNIMPLEMENTED; 00193 return ERROR_CALL_NOT_IMPLEMENTED; 00194 } 00195 00196 DWORD _RpcGetAvailableNetworkList( 00197 WLANSVC_RPC_HANDLE hClientHandle, 00198 GUID *pInterfaceGuid, 00199 DWORD dwFlags, 00200 WLAN_AVAILABLE_NETWORK_LIST **ppAvailableNetworkList) 00201 { 00202 UNIMPLEMENTED; 00203 return ERROR_CALL_NOT_IMPLEMENTED; 00204 } 00205 00206 DWORD _RpcGetNetworkBssList( 00207 WLANSVC_RPC_HANDLE hClientHandle, 00208 GUID *pInterfaceGuid, 00209 PDOT11_SSID pDot11Ssid, 00210 short dot11BssType, 00211 DWORD bSecurityEnabled, 00212 LPDWORD dwBssListSize, 00213 LPBYTE *ppWlanBssList) 00214 { 00215 UNIMPLEMENTED; 00216 return ERROR_CALL_NOT_IMPLEMENTED; 00217 } 00218 00219 DWORD _RpcConnect( 00220 WLANSVC_RPC_HANDLE hClientHandle, 00221 GUID *pInterfaceGuid, 00222 PWLAN_CONNECTION_PARAMETERS *pConnectionParameters) 00223 { 00224 UNIMPLEMENTED; 00225 return ERROR_CALL_NOT_IMPLEMENTED; 00226 } 00227 00228 DWORD _RpcDisconnect( 00229 WLANSVC_RPC_HANDLE hClientHandle, 00230 GUID *pInterfaceGUID) 00231 { 00232 UNIMPLEMENTED; 00233 return ERROR_CALL_NOT_IMPLEMENTED; 00234 } 00235 00236 DWORD _RpcRegisterNotification( 00237 WLANSVC_RPC_HANDLE hClientHandle, 00238 DWORD arg_2, 00239 LPDWORD pdwPrevNotifSource) 00240 { 00241 UNIMPLEMENTED; 00242 return ERROR_CALL_NOT_IMPLEMENTED; 00243 } 00244 00245 DWORD _RpcAsyncGetNotification( 00246 WLANSVC_RPC_HANDLE hClientHandle, 00247 PWLAN_NOTIFICATION_DATA *NotificationData) 00248 { 00249 UNIMPLEMENTED; 00250 return ERROR_CALL_NOT_IMPLEMENTED; 00251 } 00252 00253 DWORD _RpcSetProfileEapUserData( 00254 WLANSVC_RPC_HANDLE hClientHandle, 00255 GUID *pInterfaceGuid, 00256 wchar_t *strProfileName, 00257 EAP_METHOD_TYPE MethodType, 00258 DWORD dwFlags, 00259 DWORD dwEapUserDataSize, 00260 LPBYTE pbEapUserData) 00261 { 00262 UNIMPLEMENTED; 00263 return ERROR_CALL_NOT_IMPLEMENTED; 00264 } 00265 00266 DWORD _RpcSetProfile( 00267 WLANSVC_RPC_HANDLE hClientHandle, 00268 GUID *pInterfaceGuid, 00269 DWORD dwFlags, 00270 wchar_t *strProfileXml, 00271 wchar_t *strAllUserProfileSecurity, 00272 BOOL bOverwrite, 00273 LPDWORD pdwReasonCode) 00274 { 00275 UNIMPLEMENTED; 00276 return ERROR_CALL_NOT_IMPLEMENTED; 00277 } 00278 00279 DWORD _RpcGetProfile( 00280 WLANSVC_RPC_HANDLE hClientHandle, 00281 GUID *pInterfaceGuid, 00282 wchar_t *strProfileName, 00283 wchar_t **pstrProfileXml, 00284 LPDWORD pdwFlags, 00285 LPDWORD pdwGrantedAccess) 00286 { 00287 UNIMPLEMENTED; 00288 return ERROR_CALL_NOT_IMPLEMENTED; 00289 } 00290 00291 DWORD _RpcDeleteProfile( 00292 WLANSVC_RPC_HANDLE hClientHandle, 00293 GUID *pInterfaceGuid, 00294 wchar_t *strProfileName) 00295 { 00296 UNIMPLEMENTED; 00297 return ERROR_CALL_NOT_IMPLEMENTED; 00298 } 00299 00300 DWORD _RpcRenameProfile( 00301 WLANSVC_RPC_HANDLE hClientHandle, 00302 GUID *pInterfaceGuid, 00303 wchar_t *strOldProfileName, 00304 wchar_t *strNewProfileName) 00305 { 00306 UNIMPLEMENTED; 00307 return ERROR_CALL_NOT_IMPLEMENTED; 00308 } 00309 00310 DWORD _RpcSetProfileList( 00311 WLANSVC_RPC_HANDLE hClientHandle, 00312 GUID *pInterfaceGuid, 00313 DWORD dwItems, 00314 BYTE **strProfileNames) 00315 { 00316 UNIMPLEMENTED; 00317 return ERROR_CALL_NOT_IMPLEMENTED; 00318 } 00319 00320 DWORD _RpcGetProfileList( 00321 WLANSVC_RPC_HANDLE hClientHandle, 00322 GUID *pInterfaceGuid, 00323 PWLAN_PROFILE_INFO_LIST *ppProfileList) 00324 { 00325 UNIMPLEMENTED; 00326 return ERROR_CALL_NOT_IMPLEMENTED; 00327 } 00328 00329 DWORD _RpcSetProfilePosition( 00330 WLANSVC_RPC_HANDLE hClientHandle, 00331 GUID *pInterfaceGuid, 00332 wchar_t *strProfileName, 00333 DWORD dwPosition) 00334 { 00335 UNIMPLEMENTED; 00336 return ERROR_CALL_NOT_IMPLEMENTED; 00337 } 00338 00339 DWORD _RpcSetProfileCustomUserData( 00340 WLANSVC_RPC_HANDLE hClientHandle, 00341 GUID *pInterfaceGuid, 00342 wchar_t *strProfileName, 00343 DWORD dwDataSize, 00344 LPBYTE pData) 00345 { 00346 UNIMPLEMENTED; 00347 return ERROR_CALL_NOT_IMPLEMENTED; 00348 } 00349 00350 DWORD _RpcGetProfileCustomUserData( 00351 WLANSVC_RPC_HANDLE hClientHandle, 00352 GUID *pInterfaceGuid, 00353 wchar_t *strProfileName, 00354 LPDWORD dwDataSize, 00355 LPBYTE *pData) 00356 { 00357 UNIMPLEMENTED; 00358 return ERROR_CALL_NOT_IMPLEMENTED; 00359 } 00360 00361 DWORD _RpcSetFilterList( 00362 WLANSVC_RPC_HANDLE hClientHandle, 00363 short wlanFilterListType, 00364 PDOT11_NETWORK_LIST pNetworkList) 00365 { 00366 UNIMPLEMENTED; 00367 return ERROR_CALL_NOT_IMPLEMENTED; 00368 } 00369 00370 DWORD _RpcGetFilterList( 00371 WLANSVC_RPC_HANDLE hClientHandle, 00372 short wlanFilterListType, 00373 PDOT11_NETWORK_LIST *pNetworkList) 00374 { 00375 UNIMPLEMENTED; 00376 return ERROR_CALL_NOT_IMPLEMENTED; 00377 } 00378 00379 DWORD _RpcSetPsdIEDataList( 00380 WLANSVC_RPC_HANDLE hClientHandle, 00381 wchar_t *strFormat, 00382 DWORD dwDataListSize, 00383 LPBYTE pPsdIEDataList) 00384 { 00385 UNIMPLEMENTED; 00386 return ERROR_CALL_NOT_IMPLEMENTED; 00387 } 00388 00389 DWORD _RpcSaveTemporaryProfile( 00390 WLANSVC_RPC_HANDLE hClientHandle, 00391 GUID *pInterfaceGuid, 00392 wchar_t *strProfileName, 00393 wchar_t *strAllUserProfileSecurity, 00394 DWORD dwFlags, 00395 BOOL bOverWrite) 00396 { 00397 UNIMPLEMENTED; 00398 return ERROR_CALL_NOT_IMPLEMENTED; 00399 } 00400 00401 DWORD _RpcIsUIRequestPending( 00402 wchar_t *arg_1, 00403 GUID *pInterfaceGuid, 00404 struct_C *arg_3, 00405 LPDWORD arg_4) 00406 { 00407 UNIMPLEMENTED; 00408 return ERROR_CALL_NOT_IMPLEMENTED; 00409 } 00410 00411 DWORD _RpcSetUIForwardingNetworkList( 00412 wchar_t *arg_1, 00413 GUID *arg_2, 00414 DWORD dwSize, 00415 GUID *arg_4) 00416 { 00417 UNIMPLEMENTED; 00418 return ERROR_CALL_NOT_IMPLEMENTED; 00419 } 00420 00421 DWORD _RpcIsNetworkSuppressed( 00422 wchar_t *arg_1, 00423 DWORD arg_2, 00424 GUID *pInterfaceGuid, 00425 LPDWORD arg_4) 00426 { 00427 UNIMPLEMENTED; 00428 return ERROR_CALL_NOT_IMPLEMENTED; 00429 } 00430 00431 DWORD _RpcRemoveUIForwardingNetworkList( 00432 wchar_t *arg_1, 00433 GUID *pInterfaceGuid) 00434 { 00435 UNIMPLEMENTED; 00436 return ERROR_CALL_NOT_IMPLEMENTED; 00437 } 00438 00439 DWORD _RpcQueryExtUIRequest( 00440 wchar_t *arg_1, 00441 GUID *arg_2, 00442 GUID *arg_3, 00443 short arg_4, 00444 GUID *pInterfaceGuid, 00445 struct_C **arg_6) 00446 { 00447 UNIMPLEMENTED; 00448 return ERROR_CALL_NOT_IMPLEMENTED; 00449 } 00450 00451 DWORD _RpcUIResponse( 00452 wchar_t *arg_1, 00453 struct_C *arg_2, 00454 struct_D *arg_3) 00455 { 00456 UNIMPLEMENTED; 00457 return ERROR_CALL_NOT_IMPLEMENTED; 00458 } 00459 00460 DWORD _RpcGetProfileKeyInfo( 00461 wchar_t *arg_1, 00462 DWORD arg_2, 00463 GUID *pInterfaceGuid, 00464 wchar_t *arg_4, 00465 DWORD arg_5, 00466 LPDWORD arg_6, 00467 char *arg_7, 00468 LPDWORD arg_8) 00469 { 00470 UNIMPLEMENTED; 00471 return ERROR_CALL_NOT_IMPLEMENTED; 00472 } 00473 00474 DWORD _RpcAsyncDoPlap( 00475 wchar_t *arg_1, 00476 GUID *pInterfaceGuid, 00477 wchar_t *arg_3, 00478 DWORD dwSize, 00479 struct_E arg_5[]) 00480 { 00481 UNIMPLEMENTED; 00482 return ERROR_CALL_NOT_IMPLEMENTED; 00483 } 00484 00485 DWORD _RpcQueryPlapCredentials( 00486 wchar_t *arg_1, 00487 LPDWORD dwSize, 00488 struct_E **arg_3, 00489 wchar_t **arg_4, 00490 GUID *pInterfaceGuid, 00491 LPDWORD arg_6, 00492 LPDWORD arg_7, 00493 LPDWORD arg_8, 00494 LPDWORD arg_9) 00495 { 00496 UNIMPLEMENTED; 00497 return ERROR_CALL_NOT_IMPLEMENTED; 00498 } 00499 00500 DWORD _RpcCancelPlap( 00501 wchar_t *arg_1, 00502 GUID *pInterfaceGuid) 00503 { 00504 UNIMPLEMENTED; 00505 return ERROR_CALL_NOT_IMPLEMENTED; 00506 } 00507 00508 DWORD _RpcSetSecuritySettings( 00509 WLANSVC_RPC_HANDLE hClientHandle, 00510 WLAN_SECURABLE_OBJECT SecurableObject, 00511 wchar_t *strModifiedSDDL) 00512 { 00513 UNIMPLEMENTED; 00514 return ERROR_CALL_NOT_IMPLEMENTED; 00515 } 00516 00517 DWORD _RpcGetSecuritySettings( 00518 WLANSVC_RPC_HANDLE hClientHandle, 00519 WLAN_SECURABLE_OBJECT SecurableObject, 00520 WLAN_OPCODE_VALUE_TYPE *pValueType, 00521 wchar_t **pstrCurrentSDDL, 00522 LPDWORD pdwGrantedAccess) 00523 { 00524 UNIMPLEMENTED; 00525 return ERROR_CALL_NOT_IMPLEMENTED; 00526 } 00527 00528 void __RPC_FAR * __RPC_USER midl_user_allocate(SIZE_T len) 00529 { 00530 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len); 00531 } 00532 00533 00534 void __RPC_USER midl_user_free(void __RPC_FAR * ptr) 00535 { 00536 HeapFree(GetProcessHeap(), 0, ptr); 00537 } 00538 00539 00540 void __RPC_USER WLANSVC_RPC_HANDLE_rundown(WLANSVC_RPC_HANDLE hClientHandle) 00541 { 00542 } 00543 Generated on Sun May 27 2012 04:17:55 for ReactOS by
1.7.6.1
|