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