ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

rpcserver.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.