Reactos
1/*
2 * PROJECT: ReactOS Browser Service
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Browser service RPC server
5 * COPYRIGHT: Eric Kohl 2020 <eric.kohl@reactos.org>
6 */
7
8/* INCLUDES *****************************************************************/
9
10#include "precomp.h"
11
12//#include "lmerr.h"
13
14WINE_DEFAULT_DEBUG_CHANNEL(browser);
15
16/* FUNCTIONS *****************************************************************/
17
18DWORD
19WINAPI
20RpcThreadRoutine(
21 LPVOID lpParameter)
22{
23 RPC_STATUS Status;
24
25 Status = RpcServerUseProtseqEpW(L"ncacn_np", 20, L"\\pipe\\browser", NULL);
26 if (Status != RPC_S_OK)
27 {
28 ERR("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
29 return 0;
30 }
31
32 Status = RpcServerRegisterIf(browser_v0_0_s_ifspec, NULL, NULL);
33 if (Status != RPC_S_OK)
34 {
35 ERR("RpcServerRegisterIf() failed (Status %lx)\n", Status);
36 return 0;
37 }
38
39 Status = RpcServerListen(1, RPC_C_LISTEN_MAX_CALLS_DEFAULT, FALSE);
40 if (Status != RPC_S_OK)
41 {
42 ERR("RpcServerListen() failed (Status %lx)\n", Status);
43 }
44
45 return 0;
46}
47
48
49void __RPC_FAR * __RPC_USER midl_user_allocate(SIZE_T len)
50{
51 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len);
52}
53
54
55void __RPC_USER midl_user_free(void __RPC_FAR * ptr)
56{
57 HeapFree(GetProcessHeap(), 0, ptr);
58}
59
60
61/* Function 0 */
62NET_API_STATUS
63__stdcall
64I_BrowserrServerEnum(
65 BROWSER_IDENTIFY_HANDLE ServerName,
66 LPWSTR Transport,
67 LPWSTR ClientName,
68 LPSERVER_ENUM_STRUCT EnumStruct,
69 DWORD PreferedMaximumLength,
70 LPDWORD TotalEntries,
71 DWORD ServerType,
72 LPWSTR Domain,
73 LPDWORD ResumeHandle)
74{
75 UNIMPLEMENTED;
76 return 0;
77}
78
79
80/* Function 1 (BrowserrDebugCall) */
81NET_API_STATUS
82__stdcall
83BrowserOpnum1NotUsedOnWire(VOID)
84{
85 UNIMPLEMENTED;
86 return 0;
87}
88
89
90/* Function 2 */
91NET_API_STATUS
92__stdcall
93I_BrowserrQueryOtherDomains(
94 BROWSER_IDENTIFY_HANDLE ServerName,
95 LPSERVER_ENUM_STRUCT EnumStruct,
96 LPDWORD TotalEntries)
97{
98 UNIMPLEMENTED;
99 return 0;
100}
101
102
103/* Function 3 */
104NET_API_STATUS
105__stdcall
106I_BrowserrResetNetlogonState(
107 BROWSER_IDENTIFY_HANDLE ServerName)
108{
109 UNIMPLEMENTED;
110 return 0;
111}
112
113
114/* Function 4 */
115NET_API_STATUS
116__stdcall
117I_BrowserrDebugTrace(
118 BROWSER_IDENTIFY_HANDLE ServerName,
119 LPSTR String)
120{
121 UNIMPLEMENTED;
122 return 0;
123}
124
125
126/* Function 5 */
127NET_API_STATUS
128__stdcall
129I_BrowserrQueryStatistics(
130 BROWSER_IDENTIFY_HANDLE ServerName,
131 LPBROWSER_STATISTICS *Statistics)
132{
133 UNIMPLEMENTED;
134 return 0;
135}
136
137
138/* Function 6 */
139NET_API_STATUS
140__stdcall
141I_BrowserrResetStatistics(
142 BROWSER_IDENTIFY_HANDLE ServerName)
143{
144 UNIMPLEMENTED;
145 return 0;
146}
147
148
149/* Function 7 - Not used on wire */
150NET_API_STATUS
151__stdcall
152NetrBrowserStatisticsClear(
153 BROWSER_IDENTIFY_HANDLE ServerName)
154{
155 UNIMPLEMENTED;
156 return 0;
157}
158
159
160/* Function 8 */
161NET_API_STATUS
162__stdcall
163NetrBrowserStatisticsGet(
164 BROWSER_IDENTIFY_HANDLE ServerName,
165 DWORD Level,
166 LPBROWSER_STATISTICS_STRUCT StatisticsStruct)
167{
168 UNIMPLEMENTED;
169 return 0;
170}
171
172
173/* Function 9 */
174NET_API_STATUS
175__stdcall
176I_BrowserrSetNetlogonState(
177 BROWSER_IDENTIFY_HANDLE ServerName,
178 LPWSTR DomainName,
179 LPWSTR EmulatedComputerName,
180 DWORD Role)
181{
182 UNIMPLEMENTED;
183 return 0;
184}
185
186
187/* Function 10 */
188NET_API_STATUS
189__stdcall
190I_BrowserrQueryEmulatedDomains(
191 BROWSER_IDENTIFY_HANDLE ServerName,
192 PBROWSER_EMULATED_DOMAIN_CONTAINER EmulatedDomains)
193{
194 UNIMPLEMENTED;
195 return 0;
196}
197
198
199/* Function 11 (BrowserrServerEnumEx) */
200NET_API_STATUS
201__stdcall
202BrowserOpnum11NotUsedOnWire(void)
203{
204 UNIMPLEMENTED;
205 return 0;
206}
207
208/* EOF */