- Implement ProtocolResetComplete
[reactos.git] / dll / win32 / rasapi32 / rasapi.c
1 /*
2 * RASAPI32
3 *
4 * Copyright 1998,2001 Marcus Meissner
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21 #include <stdarg.h>
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "ras.h"
26 #include "raserror.h"
27 #include "wine/debug.h"
28
29 WINE_DEFAULT_DEBUG_CHANNEL(ras);
30
31 DWORD WINAPI RasConnectionNotificationA(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
32 {
33 FIXME("(%p,%p,0x%08x),stub!\n",hrasconn,hEvent,dwFlags);
34 return 1;
35 }
36
37 DWORD WINAPI RasConnectionNotificationW(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
38 {
39 FIXME("(%p,%p,0x%08x),stub!\n",hrasconn,hEvent,dwFlags);
40 return 1;
41 }
42
43 DWORD WINAPI RasCreatePhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook)
44 {
45 FIXME("(%p,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook));
46 return 0;
47 }
48
49 DWORD WINAPI RasCreatePhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook)
50 {
51 FIXME("(%p,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook));
52 return 0;
53 }
54
55 DWORD WINAPI RasDeleteSubEntryA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntryId)
56 {
57 FIXME("(%s,%s,0x%08x),stub!\n",debugstr_a(lpszPhonebook),
58 debugstr_a(lpszEntry),dwSubEntryId);
59 return 0;
60 }
61
62 DWORD WINAPI RasDeleteSubEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntryId)
63 {
64 FIXME("(%s,%s,0x%08x),stub!\n",debugstr_w(lpszPhonebook),
65 debugstr_w(lpszEntry),dwSubEntryId);
66 return 0;
67 }
68
69 DWORD WINAPI RasDialA(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCSTR lpszPhonebook,
70 LPRASDIALPARAMSA lpRasDialParams, DWORD dwNotifierType,
71 LPVOID lpvNotifier, LPHRASCONN lphRasConn)
72 {
73 FIXME("(%p,%s,%p,0x%08x,%p,%p),stub!\n",lpRasDialExtensions,debugstr_a(lpszPhonebook),
74 lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
75 return 1;
76 }
77
78 DWORD WINAPI RasDialW(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCWSTR lpszPhonebook,
79 LPRASDIALPARAMSW lpRasDialParams, DWORD dwNotifierType,
80 LPVOID lpvNotifier, LPHRASCONN lphRasConn)
81 {
82 FIXME("(%p,%s,%p,0x%08x,%p,%p),stub!\n",lpRasDialExtensions,debugstr_w(lpszPhonebook),
83 lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
84 return 1;
85 }
86
87 DWORD WINAPI RasEditPhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook, LPCSTR lpszEntryName)
88 {
89 FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook),debugstr_a(lpszEntryName));
90 return 0;
91 }
92
93 DWORD WINAPI RasEditPhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook, LPCWSTR lpszEntryName)
94 {
95 FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook),debugstr_w(lpszEntryName));
96 return 0;
97 }
98
99 /**************************************************************************
100 * RasEnumConnectionsA [RASAPI32.544]
101 */
102 DWORD WINAPI RasEnumConnectionsA( LPRASCONNA rca, LPDWORD lpcb, LPDWORD lpcConnections) {
103 /* Remote Access Service stuff is done by underlying OS anyway */
104 FIXME("(%p,%p,%p),stub!\n",rca,lpcb,lpcConnections);
105 FIXME("RAS support is not implemented! Configure program to use LAN connection/winsock instead!\n");
106 *lpcb = 0; /* size of buffer needed to enumerate connections */
107 *lpcConnections = 0; /* no RAS connections available */
108
109 return 0;
110 }
111
112 /**************************************************************************
113 * RasEnumConnectionsW [RASAPI32.545]
114 */
115 DWORD WINAPI RasEnumConnectionsW( LPRASCONNW rcw, LPDWORD lpcb, LPDWORD lpcConnections) {
116 /* Remote Access Service stuff is done by underlying OS anyway */
117 FIXME("(%p,%p,%p),stub!\n",rcw,lpcb,lpcConnections);
118 FIXME("RAS support is not implemented! Configure program to use LAN connection/winsock instead!\n");
119 *lpcb = 0; /* size of buffer needed to enumerate connections */
120 *lpcConnections = 0; /* no RAS connections available */
121
122 return 0;
123 }
124
125 /**************************************************************************
126 * RasEnumEntriesA [RASAPI32.546]
127 */
128 DWORD WINAPI RasEnumEntriesA( LPCSTR Reserved, LPCSTR lpszPhoneBook,
129 LPRASENTRYNAMEA lpRasEntryName,
130 LPDWORD lpcb, LPDWORD lpcEntries)
131 {
132 FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_a(lpszPhoneBook),
133 lpRasEntryName,lpcb,lpcEntries);
134 *lpcEntries = 0;
135 return 0;
136 }
137
138 /**************************************************************************
139 * RasEnumEntriesW [RASAPI32.547]
140 */
141 DWORD WINAPI RasEnumEntriesW( LPCWSTR Reserved, LPCWSTR lpszPhoneBook,
142 LPRASENTRYNAMEW lpRasEntryName,
143 LPDWORD lpcb, LPDWORD lpcEntries)
144 {
145 FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_w(lpszPhoneBook),
146 lpRasEntryName,lpcb,lpcEntries);
147 *lpcEntries = 0;
148 return 0;
149 }
150
151 DWORD WINAPI RasGetConnectStatusA(HRASCONN hrasconn, LPRASCONNSTATUSA lprasconnstatus)
152 {
153 FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
154 return 0;
155 }
156
157 DWORD WINAPI RasGetConnectStatusW(HRASCONN hrasconn, LPRASCONNSTATUSW lprasconnstatus)
158 {
159 FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
160 return 0;
161 }
162
163 /**************************************************************************
164 * RasGetEntryDialParamsA [RASAPI32.550]
165 */
166 DWORD WINAPI RasGetEntryDialParamsA(
167 LPCSTR lpszPhoneBook, LPRASDIALPARAMSA lpRasDialParams,
168 LPBOOL lpfPassword)
169 {
170 FIXME("(%s,%p,%p),stub!\n",debugstr_a(lpszPhoneBook),
171 lpRasDialParams,lpfPassword);
172 return 0;
173 }
174
175 /**************************************************************************
176 * RasGetEntryDialParamsW [RASAPI32.551]
177 */
178 DWORD WINAPI RasGetEntryDialParamsW(
179 LPCWSTR lpszPhoneBook, LPRASDIALPARAMSW lpRasDialParams,
180 LPBOOL lpfPassword)
181 {
182 FIXME("(%s,%p,%p),stub!\n",debugstr_w(lpszPhoneBook),
183 lpRasDialParams,lpfPassword);
184 return 0;
185 }
186
187 /**************************************************************************
188 * RasHangUpA [RASAPI32.556]
189 */
190 DWORD WINAPI RasHangUpA( HRASCONN hrasconn)
191 {
192 FIXME("(%p),stub!\n",hrasconn);
193 return 0;
194 }
195
196 /**************************************************************************
197 * RasHangUpW [RASAPI32.557]
198 */
199 DWORD WINAPI RasHangUpW(HRASCONN hrasconn)
200 {
201 FIXME("(%p),stub!\n",hrasconn);
202 return 0;
203 }
204
205 /**************************************************************************
206 * RasDeleteEntryA [RASAPI32.7]
207 */
208 DWORD WINAPI RasDeleteEntryA(LPCSTR a, LPCSTR b)
209 {
210 FIXME("(%s,%s),stub!\n",debugstr_a(a),debugstr_a(b));
211 return 0;
212 }
213
214 /**************************************************************************
215 * RasDeleteEntryW [RASAPI32.8]
216 */
217 DWORD WINAPI RasDeleteEntryW(LPCWSTR a, LPCWSTR b)
218 {
219 FIXME("(%s,%s),stub!\n",debugstr_w(a),debugstr_w(b));
220 return 0;
221 }
222
223 /**************************************************************************
224 * RasEnumAutodialAddressesA [RASAPI32.14]
225 */
226 DWORD WINAPI RasEnumAutodialAddressesA(LPSTR *a, LPDWORD b, LPDWORD c)
227 {
228 FIXME("(%p,%p,%p),stub!\n",a,b,c);
229 return 0;
230 }
231
232 /**************************************************************************
233 * RasEnumAutodialAddressesW [RASAPI32.15]
234 */
235 DWORD WINAPI RasEnumAutodialAddressesW(LPWSTR *a, LPDWORD b, LPDWORD c)
236 {
237 FIXME("(%p,%p,%p),stub!\n",a,b,c);
238 return 0;
239 }
240
241 /**************************************************************************
242 * RasEnumDevicesA [RASAPI32.19]
243 *
244 * Just return a virtual modem too see what other APIs programs will
245 * call with it.
246 */
247 DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD lpcDevices)
248 {
249 FIXME("(%p,%p,%p),stub!\n",lpRasDevinfo,lpcb,lpcDevices);
250 if (*lpcb < sizeof(RASDEVINFOA)) {
251 *lpcb = sizeof(RASDEVINFOA);
252 return ERROR_BUFFER_TOO_SMALL;
253 }
254 /* honor dwSize ? */
255 strcpy(lpRasDevinfo->szDeviceType, RASDT_Modem);
256 strcpy(lpRasDevinfo->szDeviceName, "WINE virtmodem");
257 return 0;
258 }
259
260 /**************************************************************************
261 * RasEnumDevicesW [RASAPI32.20]
262 */
263 DWORD WINAPI RasEnumDevicesW(LPRASDEVINFOW a, LPDWORD b, LPDWORD c)
264 {
265 FIXME("(%p,%p,%p),stub!\n",a,b,c);
266 return 0;
267 }
268
269 /**************************************************************************
270 * RasGetAutodialAddressA [RASAPI32.24]
271 */
272 DWORD WINAPI RasGetAutodialAddressA(LPCSTR a, LPDWORD b, LPRASAUTODIALENTRYA c,
273 LPDWORD d, LPDWORD e)
274 {
275 FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_a(a),b,c,d,e);
276 return 0;
277 }
278
279 /**************************************************************************
280 * RasGetAutodialAddressW [RASAPI32.25]
281 */
282 DWORD WINAPI RasGetAutodialAddressW(LPCWSTR a, LPDWORD b, LPRASAUTODIALENTRYW c,
283 LPDWORD d, LPDWORD e)
284 {
285 FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_w(a),b,c,d,e);
286 return 0;
287 }
288
289 /**************************************************************************
290 * RasGetAutodialEnableA [RASAPI32.26]
291 */
292 DWORD WINAPI RasGetAutodialEnableA(DWORD a, LPBOOL b)
293 {
294 FIXME("(%x,%p),stub!\n",a,b);
295 return 0;
296 }
297
298 /**************************************************************************
299 * RasGetAutodialEnableW [RASAPI32.27]
300 */
301 DWORD WINAPI RasGetAutodialEnableW(DWORD a, LPBOOL b)
302 {
303 FIXME("(%x,%p),stub!\n",a,b);
304 return 0;
305 }
306
307 /**************************************************************************
308 * RasGetAutodialParamA [RASAPI32.28]
309 */
310 DWORD WINAPI RasGetAutodialParamA(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
311 {
312 FIXME("(%x,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
313 return 0;
314 }
315
316 /**************************************************************************
317 * RasGetAutodialParamW [RASAPI32.29]
318 */
319 DWORD WINAPI RasGetAutodialParamW(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
320 {
321 FIXME("(%x,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
322 return 0;
323 }
324
325 /**************************************************************************
326 * RasSetAutodialAddressA [RASAPI32.57]
327 */
328 DWORD WINAPI RasSetAutodialAddressA(LPCSTR a, DWORD b, LPRASAUTODIALENTRYA c,
329 DWORD d, DWORD e)
330 {
331 FIXME("(%s,%x,%p,%x,%x),stub!\n",debugstr_a(a),b,c,d,e);
332 return 0;
333 }
334
335 /**************************************************************************
336 * RasSetAutodialAddressW [RASAPI32.58]
337 */
338 DWORD WINAPI RasSetAutodialAddressW(LPCWSTR a, DWORD b, LPRASAUTODIALENTRYW c,
339 DWORD d, DWORD e)
340 {
341 FIXME("(%s,%x,%p,%x,%x),stub!\n",debugstr_w(a),b,c,d,e);
342 return 0;
343 }
344
345 /**************************************************************************
346 * RasSetAutodialEnableA [RASAPI32.59]
347 */
348 DWORD WINAPI RasSetAutodialEnableA(DWORD dwDialingLocation, BOOL fEnabled)
349 {
350 FIXME("(%x,%x),stub!\n",dwDialingLocation,fEnabled);
351 return 0;
352 }
353
354 /**************************************************************************
355 * RasSetAutodialEnableW [RASAPI32.60]
356 */
357 DWORD WINAPI RasSetAutodialEnableW(DWORD dwDialingLocation, BOOL fEnabled)
358 {
359 FIXME("(%x,%x),stub!\n",dwDialingLocation,fEnabled);
360 return 0;
361 }
362
363 /**************************************************************************
364 * RasSetAutodialParamA [RASAPI32.61]
365 */
366 DWORD WINAPI RasSetAutodialParamA(DWORD a, LPVOID b, DWORD c)
367 {
368 FIXME("(%x,%p,%x),stub!\n",a,b,c);
369 return 0;
370 }
371
372 /**************************************************************************
373 * RasSetAutodialParamW [RASAPI32.62]
374 */
375 DWORD WINAPI RasSetAutodialParamW(DWORD a, LPVOID b, DWORD c)
376 {
377 FIXME("(%x,%p,%x),stub!\n",a,b,c);
378 return 0;
379 }
380
381 /**************************************************************************
382 * RasSetEntryPropertiesA [RASAPI32.67]
383 */
384 DWORD WINAPI RasSetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry,
385 LPRASENTRYA lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
386 DWORD dwDeviceInfoSize
387 ) {
388 FIXME("(%s,%s,%p,%d,%p,%d), stub!\n",
389 debugstr_a(lpszPhonebook),debugstr_a(lpszEntry),
390 lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
391 );
392 FIXME("Rasentry:\n");
393 FIXME("\tdwfOptions %x\n",lpRasEntry->dwfOptions);
394 FIXME("\tszLocalPhoneNumber %s\n",debugstr_a(lpRasEntry->szLocalPhoneNumber));
395 return 0;
396 }
397
398 /**************************************************************************
399 * RasSetEntryPropertiesW [RASAPI32.68]
400 */
401 DWORD WINAPI RasSetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry,
402 LPRASENTRYW lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
403 DWORD dwDeviceInfoSize
404 ) {
405 FIXME("(%s,%s,%p,%d,%p,%d), stub!\n",
406 debugstr_w(lpszPhonebook),debugstr_w(lpszEntry),
407 lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
408 );
409 return 0;
410 }
411
412 /**************************************************************************
413 * RasValidateEntryNameA [RASAPI32.72]
414 */
415 DWORD WINAPI RasValidateEntryNameA(LPCSTR lpszPhonebook, LPCSTR lpszEntry) {
416 FIXME("(%s,%s), stub!\n",debugstr_a(lpszPhonebook),debugstr_a(lpszEntry));
417 return 0;
418 }
419
420 /**************************************************************************
421 * RasValidateEntryNameW [RASAPI32.73]
422 */
423 DWORD WINAPI RasValidateEntryNameW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry) {
424 FIXME("(%s,%s), stub!\n",debugstr_w(lpszPhonebook),debugstr_w(lpszEntry));
425 return 0;
426 }
427
428 /**************************************************************************
429 * RasGetEntryPropertiesA [RASAPI32.@]
430 */
431 DWORD WINAPI RasGetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, LPRASENTRYA lpRasEntry,
432 LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
433 ) {
434 FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszEntry), lpRasEntry,
435 lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
436 return 0;
437 }
438
439 /**************************************************************************
440 * RasGetEntryPropertiesW [RASAPI32.@]
441 */
442 DWORD WINAPI RasGetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, LPRASENTRYW lpRasEntry,
443 LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
444 ) {
445 FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszEntry), lpRasEntry,
446 lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
447 return 0;
448 }
449
450 DWORD WINAPI RasGetErrorStringA(UINT uErrorValue, LPSTR lpszErrorString, DWORD cBufSize)
451 {
452 FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
453 return 1;
454 }
455
456 DWORD WINAPI RasGetErrorStringW(UINT uErrorValue, LPWSTR lpszErrorString, DWORD cBufSize)
457 {
458 FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
459 return 1;
460 }
461
462 DWORD WINAPI RasGetProjectionInfoA(HRASCONN hrasconn, RASPROJECTION rasprojection,
463 LPVOID lpprojection, LPDWORD lpcb)
464 {
465 FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
466 return 1;
467 }
468
469 DWORD WINAPI RasGetProjectionInfoW(HRASCONN hrasconn, RASPROJECTION rasprojection,
470 LPVOID lpprojection, LPDWORD lpcb)
471 {
472 FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
473 return 1;
474 }
475
476 DWORD WINAPI RasRenameEntryA(LPCSTR lpszPhonebook, LPCSTR lpszOldEntry, LPCSTR lpszNewEntry)
477 {
478 FIXME("(%s,%s,%s), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszOldEntry),
479 debugstr_a(lpszNewEntry));
480 return 0;
481 }
482
483 DWORD WINAPI RasRenameEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszOldEntry, LPCWSTR lpszNewEntry)
484 {
485 FIXME("(%s,%s,%s), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszOldEntry),
486 debugstr_w(lpszNewEntry));
487 return 0;
488 }
489
490 DWORD WINAPI RasSetEntryDialParamsA(LPCSTR lpszPhonebook, LPRASDIALPARAMSA lprasdialparams,
491 BOOL fRemovePassword)
492 {
493 FIXME("(%s,%p,0x%x), stub!\n", debugstr_a(lpszPhonebook), lprasdialparams, fRemovePassword);
494 return 0;
495 }
496
497 DWORD WINAPI RasSetEntryDialParamsW(LPCWSTR lpszPhonebook, LPRASDIALPARAMSW lprasdialparams,
498 BOOL fRemovePassword)
499 {
500 FIXME("(%s,%p,0x%x), stub!\n", debugstr_w(lpszPhonebook), lprasdialparams, fRemovePassword);
501 return 0;
502 }
503
504 DWORD WINAPI RasSetSubEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntry,
505 LPRASSUBENTRYA lpRasSubEntry, DWORD dwcbRasSubEntry,
506 LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
507 {
508 FIXME("(%s,%s,0x%08x,%p,0x%08x,%p,0x%08x), stub!\n", debugstr_a(lpszPhonebook),
509 debugstr_a(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
510 dwcbDeviceConfig);
511 return 0;
512 }
513
514 DWORD WINAPI RasSetSubEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntry,
515 LPRASSUBENTRYW lpRasSubEntry, DWORD dwcbRasSubEntry,
516 LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
517 {
518 FIXME("(%s,%s,0x%08x,%p,0x%08x,%p,0x%08x), stub!\n", debugstr_w(lpszPhonebook),
519 debugstr_w(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
520 dwcbDeviceConfig);
521 return 0;
522 }