wpcap: Handle different layout of the native packet header structure on 32-bit.
[wine.git] / dlls / rasapi32 / rasapi.c
bloba7f3baf495355d2e2ffab6bb822233f9f8923bef
1 /*
2 * RASAPI32
4 * Copyright 1998,2001 Marcus Meissner
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.
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.
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
21 #include <stdarg.h>
23 #include "windef.h"
24 #include "winbase.h"
25 #include "ras.h"
26 #include "raserror.h"
27 #include "wine/debug.h"
29 WINE_DEFAULT_DEBUG_CHANNEL(ras);
31 DWORD WINAPI RasConnectionNotificationA(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
33 FIXME("(%p,%p,0x%08lx),stub!\n",hrasconn,hEvent,dwFlags);
34 return 1;
37 DWORD WINAPI RasConnectionNotificationW(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
39 FIXME("(%p,%p,0x%08lx),stub!\n",hrasconn,hEvent,dwFlags);
40 return 1;
43 DWORD WINAPI RasCreatePhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook)
45 FIXME("(%p,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook));
46 return 0;
49 DWORD WINAPI RasCreatePhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook)
51 FIXME("(%p,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook));
52 return 0;
55 DWORD WINAPI RasDeleteSubEntryA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntryId)
57 FIXME("(%s,%s,0x%08lx),stub!\n",debugstr_a(lpszPhonebook),
58 debugstr_a(lpszEntry),dwSubEntryId);
59 return 0;
62 DWORD WINAPI RasDeleteSubEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntryId)
64 FIXME("(%s,%s,0x%08lx),stub!\n",debugstr_w(lpszPhonebook),
65 debugstr_w(lpszEntry),dwSubEntryId);
66 return 0;
69 DWORD WINAPI RasDialA(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCSTR lpszPhonebook,
70 LPRASDIALPARAMSA lpRasDialParams, DWORD dwNotifierType,
71 LPVOID lpvNotifier, LPHRASCONN lphRasConn)
73 FIXME("(%p,%s,%p,0x%08lx,%p,%p),stub!\n",lpRasDialExtensions,debugstr_a(lpszPhonebook),
74 lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
75 return 1;
78 DWORD WINAPI RasDialW(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCWSTR lpszPhonebook,
79 LPRASDIALPARAMSW lpRasDialParams, DWORD dwNotifierType,
80 LPVOID lpvNotifier, LPHRASCONN lphRasConn)
82 FIXME("(%p,%s,%p,0x%08lx,%p,%p),stub!\n",lpRasDialExtensions,debugstr_w(lpszPhonebook),
83 lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
84 return 1;
87 DWORD WINAPI RasEditPhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook, LPCSTR lpszEntryName)
89 FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook),debugstr_a(lpszEntryName));
90 return 0;
93 DWORD WINAPI RasEditPhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook, LPCWSTR lpszEntryName)
95 FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook),debugstr_w(lpszEntryName));
96 return 0;
99 /**************************************************************************
100 * RasEnumConnectionsA [RASAPI32.544]
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 */
109 return 0;
112 /**************************************************************************
113 * RasEnumConnectionsW [RASAPI32.545]
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 */
122 return 0;
125 /**************************************************************************
126 * RasEnumEntriesA [RASAPI32.546]
128 DWORD WINAPI RasEnumEntriesA( LPCSTR Reserved, LPCSTR lpszPhoneBook,
129 LPRASENTRYNAMEA lpRasEntryName,
130 LPDWORD lpcb, LPDWORD lpcEntries)
132 FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_a(lpszPhoneBook),
133 lpRasEntryName,lpcb,lpcEntries);
134 *lpcEntries = 0;
135 return 0;
138 /**************************************************************************
139 * RasEnumEntriesW [RASAPI32.547]
141 DWORD WINAPI RasEnumEntriesW( LPCWSTR Reserved, LPCWSTR lpszPhoneBook,
142 LPRASENTRYNAMEW lpRasEntryName,
143 LPDWORD lpcb, LPDWORD lpcEntries)
145 FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_w(lpszPhoneBook),
146 lpRasEntryName,lpcb,lpcEntries);
147 *lpcEntries = 0;
148 return 0;
151 DWORD WINAPI RasGetConnectStatusA(HRASCONN hrasconn, LPRASCONNSTATUSA lprasconnstatus)
153 FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
154 return 0;
157 DWORD WINAPI RasGetConnectStatusW(HRASCONN hrasconn, LPRASCONNSTATUSW lprasconnstatus)
159 FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
160 return 0;
163 /**************************************************************************
164 * RasGetEntryDialParamsA [RASAPI32.550]
166 DWORD WINAPI RasGetEntryDialParamsA(
167 LPCSTR lpszPhoneBook, LPRASDIALPARAMSA lpRasDialParams,
168 LPBOOL lpfPassword)
170 FIXME("(%s,%p,%p),stub!\n",debugstr_a(lpszPhoneBook),
171 lpRasDialParams,lpfPassword);
172 return 0;
175 /**************************************************************************
176 * RasGetEntryDialParamsW [RASAPI32.551]
178 DWORD WINAPI RasGetEntryDialParamsW(
179 LPCWSTR lpszPhoneBook, LPRASDIALPARAMSW lpRasDialParams,
180 LPBOOL lpfPassword)
182 FIXME("(%s,%p,%p),stub!\n",debugstr_w(lpszPhoneBook),
183 lpRasDialParams,lpfPassword);
184 return 0;
187 /**************************************************************************
188 * RasHangUpA [RASAPI32.556]
190 DWORD WINAPI RasHangUpA( HRASCONN hrasconn)
192 FIXME("(%p),stub!\n",hrasconn);
193 return 0;
196 /**************************************************************************
197 * RasHangUpW [RASAPI32.557]
199 DWORD WINAPI RasHangUpW(HRASCONN hrasconn)
201 FIXME("(%p),stub!\n",hrasconn);
202 return 0;
205 /**************************************************************************
206 * RasDeleteEntryA [RASAPI32.7]
208 DWORD WINAPI RasDeleteEntryA(LPCSTR a, LPCSTR b)
210 FIXME("(%s,%s),stub!\n",debugstr_a(a),debugstr_a(b));
211 return 0;
214 /**************************************************************************
215 * RasDeleteEntryW [RASAPI32.8]
217 DWORD WINAPI RasDeleteEntryW(LPCWSTR a, LPCWSTR b)
219 FIXME("(%s,%s),stub!\n",debugstr_w(a),debugstr_w(b));
220 return 0;
223 /**************************************************************************
224 * RasEnumAutodialAddressesA [RASAPI32.14]
226 DWORD WINAPI RasEnumAutodialAddressesA(LPSTR *a, LPDWORD b, LPDWORD c)
228 FIXME("(%p,%p,%p),stub!\n",a,b,c);
229 return 0;
232 /**************************************************************************
233 * RasEnumAutodialAddressesW [RASAPI32.15]
235 DWORD WINAPI RasEnumAutodialAddressesW(LPWSTR *a, LPDWORD b, LPDWORD c)
237 FIXME("(%p,%p,%p),stub!\n",a,b,c);
238 return 0;
241 /**************************************************************************
242 * RasEnumDevicesA [RASAPI32.19]
244 * Just return a virtual modem to see what other APIs programs will
245 * call with it.
247 DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD lpcDevices)
249 if (!lpcb || !lpcDevices)
250 return ERROR_INVALID_PARAMETER;
252 FIXME("(%p,%p,%p),stub!\n",lpRasDevinfo,lpcb,lpcDevices);
254 if(lpRasDevinfo && lpRasDevinfo->dwSize != sizeof(RASDEVINFOA))
255 return ERROR_INVALID_SIZE;
257 *lpcDevices = 1;
259 if (!lpRasDevinfo || (*lpcb < sizeof(RASDEVINFOA))) {
260 *lpcb = sizeof(RASDEVINFOA);
261 return ERROR_BUFFER_TOO_SMALL;
263 /* honor dwSize ? */
264 strcpy(lpRasDevinfo->szDeviceType, RASDT_Modem);
265 strcpy(lpRasDevinfo->szDeviceName, "WINE virtmodem");
266 return 0;
269 /**************************************************************************
270 * RasEnumDevicesW [RASAPI32.20]
272 DWORD WINAPI RasEnumDevicesW(LPRASDEVINFOW a, LPDWORD b, LPDWORD c)
274 FIXME("(%p,%p,%p),stub!\n",a,b,c);
275 return 0;
278 /**************************************************************************
279 * RasGetAutodialAddressA [RASAPI32.24]
281 DWORD WINAPI RasGetAutodialAddressA(LPCSTR a, LPDWORD b, LPRASAUTODIALENTRYA c,
282 LPDWORD d, LPDWORD e)
284 FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_a(a),b,c,d,e);
285 return 0;
288 /**************************************************************************
289 * RasGetAutodialAddressW [RASAPI32.25]
291 DWORD WINAPI RasGetAutodialAddressW(LPCWSTR a, LPDWORD b, LPRASAUTODIALENTRYW c,
292 LPDWORD d, LPDWORD e)
294 FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_w(a),b,c,d,e);
295 return 0;
298 /**************************************************************************
299 * RasGetAutodialEnableA [RASAPI32.26]
301 DWORD WINAPI RasGetAutodialEnableA(DWORD a, LPBOOL b)
303 FIXME("(%lx,%p),stub!\n",a,b);
304 return 0;
307 /**************************************************************************
308 * RasGetAutodialEnableW [RASAPI32.27]
310 DWORD WINAPI RasGetAutodialEnableW(DWORD a, LPBOOL b)
312 FIXME("(%lx,%p),stub!\n",a,b);
313 return 0;
316 /**************************************************************************
317 * RasGetAutodialParamA [RASAPI32.28]
319 DWORD WINAPI RasGetAutodialParamA(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
321 FIXME("(%lx,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
322 return 0;
325 /**************************************************************************
326 * RasGetAutodialParamW [RASAPI32.29]
328 DWORD WINAPI RasGetAutodialParamW(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
330 FIXME("(%lx,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
331 return 0;
334 /**************************************************************************
335 * RasSetAutodialAddressA [RASAPI32.57]
337 DWORD WINAPI RasSetAutodialAddressA(LPCSTR a, DWORD b, LPRASAUTODIALENTRYA c,
338 DWORD d, DWORD e)
340 FIXME("(%s,%lx,%p,%lx,%lx),stub!\n",debugstr_a(a),b,c,d,e);
341 return 0;
344 /**************************************************************************
345 * RasSetAutodialAddressW [RASAPI32.58]
347 DWORD WINAPI RasSetAutodialAddressW(LPCWSTR a, DWORD b, LPRASAUTODIALENTRYW c,
348 DWORD d, DWORD e)
350 FIXME("(%s,%lx,%p,%lx,%lx),stub!\n",debugstr_w(a),b,c,d,e);
351 return 0;
354 /**************************************************************************
355 * RasSetAutodialEnableA [RASAPI32.59]
357 DWORD WINAPI RasSetAutodialEnableA(DWORD dwDialingLocation, BOOL fEnabled)
359 FIXME("(%lx,%x),stub!\n",dwDialingLocation,fEnabled);
360 return 0;
363 /**************************************************************************
364 * RasSetAutodialEnableW [RASAPI32.60]
366 DWORD WINAPI RasSetAutodialEnableW(DWORD dwDialingLocation, BOOL fEnabled)
368 FIXME("(%lx,%x),stub!\n",dwDialingLocation,fEnabled);
369 return 0;
372 /**************************************************************************
373 * RasSetAutodialParamA [RASAPI32.61]
375 DWORD WINAPI RasSetAutodialParamA(DWORD a, LPVOID b, DWORD c)
377 FIXME("(%lx,%p,%lx),stub!\n",a,b,c);
378 return 0;
381 /**************************************************************************
382 * RasSetAutodialParamW [RASAPI32.62]
384 DWORD WINAPI RasSetAutodialParamW(DWORD a, LPVOID b, DWORD c)
386 FIXME("(%lx,%p,%lx),stub!\n",a,b,c);
387 return 0;
390 /**************************************************************************
391 * RasSetEntryPropertiesA [RASAPI32.67]
393 DWORD WINAPI RasSetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry,
394 LPRASENTRYA lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
395 DWORD dwDeviceInfoSize
397 FIXME("(%s,%s,%p,%ld,%p,%ld), stub!\n",
398 debugstr_a(lpszPhonebook),debugstr_a(lpszEntry),
399 lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
401 FIXME("Rasentry:\n");
402 FIXME("\tdwfOptions %lx\n",lpRasEntry->dwfOptions);
403 FIXME("\tszLocalPhoneNumber %s\n",debugstr_a(lpRasEntry->szLocalPhoneNumber));
404 return 0;
407 /**************************************************************************
408 * RasSetEntryPropertiesW [RASAPI32.68]
410 DWORD WINAPI RasSetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry,
411 LPRASENTRYW lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
412 DWORD dwDeviceInfoSize
414 FIXME("(%s,%s,%p,%ld,%p,%ld), stub!\n",
415 debugstr_w(lpszPhonebook),debugstr_w(lpszEntry),
416 lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
418 return 0;
421 /**************************************************************************
422 * RasValidateEntryNameA [RASAPI32.72]
424 DWORD WINAPI RasValidateEntryNameA(LPCSTR lpszPhonebook, LPCSTR lpszEntry) {
425 FIXME("(%s,%s), stub!\n",debugstr_a(lpszPhonebook),debugstr_a(lpszEntry));
426 return 0;
429 /**************************************************************************
430 * RasValidateEntryNameW [RASAPI32.73]
432 DWORD WINAPI RasValidateEntryNameW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry) {
433 FIXME("(%s,%s), stub!\n",debugstr_w(lpszPhonebook),debugstr_w(lpszEntry));
434 return 0;
437 /**************************************************************************
438 * RasGetEntryPropertiesA [RASAPI32.@]
440 DWORD WINAPI RasGetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, LPRASENTRYA lpRasEntry,
441 LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
443 FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszEntry), lpRasEntry,
444 lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
445 return 0;
448 /**************************************************************************
449 * RasGetEntryPropertiesW [RASAPI32.@]
451 DWORD WINAPI RasGetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, LPRASENTRYW lpRasEntry,
452 LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
454 FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszEntry), lpRasEntry,
455 lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
456 return 0;
459 DWORD WINAPI RasGetErrorStringA(UINT uErrorValue, LPSTR lpszErrorString, DWORD cBufSize)
461 FIXME("(0x%08x,%p,0x%08lx), stub!\n", uErrorValue, lpszErrorString, cBufSize);
462 return 1;
465 DWORD WINAPI RasGetErrorStringW(UINT uErrorValue, LPWSTR lpszErrorString, DWORD cBufSize)
467 FIXME("(0x%08x,%p,0x%08lx), stub!\n", uErrorValue, lpszErrorString, cBufSize);
468 return 1;
471 DWORD WINAPI RasGetProjectionInfoA(HRASCONN hrasconn, RASPROJECTION rasprojection,
472 LPVOID lpprojection, LPDWORD lpcb)
474 FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
475 return 1;
478 DWORD WINAPI RasGetProjectionInfoW(HRASCONN hrasconn, RASPROJECTION rasprojection,
479 LPVOID lpprojection, LPDWORD lpcb)
481 FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
482 return 1;
485 DWORD WINAPI RasRenameEntryA(LPCSTR lpszPhonebook, LPCSTR lpszOldEntry, LPCSTR lpszNewEntry)
487 FIXME("(%s,%s,%s), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszOldEntry),
488 debugstr_a(lpszNewEntry));
489 return 0;
492 DWORD WINAPI RasRenameEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszOldEntry, LPCWSTR lpszNewEntry)
494 FIXME("(%s,%s,%s), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszOldEntry),
495 debugstr_w(lpszNewEntry));
496 return 0;
499 DWORD WINAPI RasSetCredentialsA(const char *phonebook, const char *entry, RASCREDENTIALSA *credentials, BOOL clear)
501 FIXME("(%s,%s,%p,0x%x), stub!\n", debugstr_a(phonebook), debugstr_a(entry), credentials, clear);
502 return ERROR_UNKNOWN;
505 DWORD WINAPI RasSetCredentialsW(const WCHAR *phonebook, const WCHAR *entry, RASCREDENTIALSW *credentials, BOOL clear)
507 FIXME("(%s,%s,%p,0x%x), stub!\n", debugstr_w(phonebook), debugstr_w(entry), credentials, clear);
508 return ERROR_UNKNOWN;
511 DWORD WINAPI RasSetCustomAuthDataA(const char *phonebook, const char *entry, BYTE *authdata, DWORD size)
513 FIXME("(%s,%s,%p,0x%08lx), stub!\n", debugstr_a(phonebook), debugstr_a(entry), authdata, size);
514 return 0;
517 DWORD WINAPI RasSetCustomAuthDataW(const WCHAR *phonebook, const WCHAR *entry, BYTE *authdata, DWORD size)
519 FIXME("(%s,%s,%p,0x%08lx), stub!\n", debugstr_w(phonebook), debugstr_w(entry), authdata, size);
520 return 0;
523 DWORD WINAPI RasSetEntryDialParamsA(LPCSTR lpszPhonebook, LPRASDIALPARAMSA lprasdialparams,
524 BOOL fRemovePassword)
526 FIXME("(%s,%p,0x%x), stub!\n", debugstr_a(lpszPhonebook), lprasdialparams, fRemovePassword);
527 return 0;
530 DWORD WINAPI RasSetEntryDialParamsW(LPCWSTR lpszPhonebook, LPRASDIALPARAMSW lprasdialparams,
531 BOOL fRemovePassword)
533 FIXME("(%s,%p,0x%x), stub!\n", debugstr_w(lpszPhonebook), lprasdialparams, fRemovePassword);
534 return 0;
537 DWORD WINAPI RasSetSubEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntry,
538 LPRASSUBENTRYA lpRasSubEntry, DWORD dwcbRasSubEntry,
539 LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
541 FIXME("(%s,%s,0x%08lx,%p,0x%08lx,%p,0x%08lx), stub!\n", debugstr_a(lpszPhonebook),
542 debugstr_a(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
543 dwcbDeviceConfig);
544 return 0;
547 DWORD WINAPI RasSetSubEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntry,
548 LPRASSUBENTRYW lpRasSubEntry, DWORD dwcbRasSubEntry,
549 LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
551 FIXME("(%s,%s,0x%08lx,%p,0x%08lx,%p,0x%08lx), stub!\n", debugstr_w(lpszPhonebook),
552 debugstr_w(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
553 dwcbDeviceConfig);
554 return 0;
557 DWORD WINAPI RasGetLinkStatistics(HRASCONN connection, DWORD entry, RAS_STATS *statistics)
559 FIXME("(%p,%lu,%p), stub!\n", connection, entry, statistics);
560 return 0;
563 DWORD WINAPI RasGetConnectionStatistics(HRASCONN connection, RAS_STATS *statistics)
565 FIXME("(%p,%p), stub!\n", connection, statistics);
566 return ERROR_UNKNOWN;