rasapi.c 17.5 KB
Newer Older
1 2
/*
 * RASAPI32
3
 *
4
 * Copyright 1998,2001 Marcus Meissner
5 6 7 8 9 10 11 12 13 14 15 16 17
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * 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 22
#include <stdarg.h>

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 32
DWORD WINAPI RasConnectionNotificationA(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
{
33
    FIXME("(%p,%p,0x%08x),stub!\n",hrasconn,hEvent,dwFlags);
34 35 36 37 38
    return 1;
}

DWORD WINAPI RasConnectionNotificationW(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
{
39
    FIXME("(%p,%p,0x%08x),stub!\n",hrasconn,hEvent,dwFlags);
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
    return 1;
}

DWORD WINAPI RasCreatePhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook)
{
    FIXME("(%p,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook));
    return 0;
}

DWORD WINAPI RasCreatePhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook)
{
    FIXME("(%p,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook));
    return 0;
}

DWORD WINAPI RasDeleteSubEntryA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntryId)
{
57
    FIXME("(%s,%s,0x%08x),stub!\n",debugstr_a(lpszPhonebook),
58 59 60 61 62 63
          debugstr_a(lpszEntry),dwSubEntryId);
    return 0;
}

DWORD WINAPI RasDeleteSubEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntryId)
{
64
    FIXME("(%s,%s,0x%08x),stub!\n",debugstr_w(lpszPhonebook),
65 66 67 68 69 70 71 72
          debugstr_w(lpszEntry),dwSubEntryId);
    return 0;
}

DWORD WINAPI RasDialA(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCSTR lpszPhonebook,
                      LPRASDIALPARAMSA lpRasDialParams, DWORD dwNotifierType,
                      LPVOID lpvNotifier, LPHRASCONN lphRasConn)
{
73
    FIXME("(%p,%s,%p,0x%08x,%p,%p),stub!\n",lpRasDialExtensions,debugstr_a(lpszPhonebook),
74 75 76 77 78 79 80 81
          lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
    return 1;
}

DWORD WINAPI RasDialW(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCWSTR lpszPhonebook,
                      LPRASDIALPARAMSW lpRasDialParams, DWORD dwNotifierType,
                      LPVOID lpvNotifier, LPHRASCONN lphRasConn)
{
82
    FIXME("(%p,%s,%p,0x%08x,%p,%p),stub!\n",lpRasDialExtensions,debugstr_w(lpszPhonebook),
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
          lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
    return 1;
}

DWORD WINAPI RasEditPhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook, LPCSTR lpszEntryName)
{
    FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook),debugstr_a(lpszEntryName));
    return 0;
}

DWORD WINAPI RasEditPhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook, LPCWSTR lpszEntryName)
{
    FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook),debugstr_w(lpszEntryName));
    return 0;
}

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 110
	return 0;
}
111

112 113 114 115 116 117
/**************************************************************************
 *                 RasEnumConnectionsW			[RASAPI32.545]
 */
DWORD WINAPI RasEnumConnectionsW( LPRASCONNW rcw, LPDWORD lpcb, LPDWORD lpcConnections) {
	/* Remote Access Service stuff is done by underlying OS anyway */
	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 121 122 123 124
	*lpcConnections = 0; /* no RAS connections available */

	return 0;
}

125 126 127
/**************************************************************************
 *                 RasEnumEntriesA		        	[RASAPI32.546]
 */
128
DWORD WINAPI RasEnumEntriesA( LPCSTR Reserved, LPCSTR lpszPhoneBook,
129 130
        LPRASENTRYNAMEA lpRasEntryName,
        LPDWORD lpcb, LPDWORD lpcEntries)
131 132 133
{
	FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_a(lpszPhoneBook),
            lpRasEntryName,lpcb,lpcEntries);
134
        *lpcEntries = 0;
135 136 137
	return 0;
}

138 139 140 141 142 143 144 145 146 147 148 149 150
/**************************************************************************
 *                 RasEnumEntriesW		        	[RASAPI32.547]
 */
DWORD WINAPI RasEnumEntriesW( LPCWSTR Reserved, LPCWSTR lpszPhoneBook,
        LPRASENTRYNAMEW lpRasEntryName,
        LPDWORD lpcb, LPDWORD lpcEntries)
{
	FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_w(lpszPhoneBook),
            lpRasEntryName,lpcb,lpcEntries);
        *lpcEntries = 0;
	return 0;
}

151 152 153 154 155 156 157 158 159 160 161
DWORD WINAPI RasGetConnectStatusA(HRASCONN hrasconn, LPRASCONNSTATUSA lprasconnstatus)
{
    FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
    return 0;
}

DWORD WINAPI RasGetConnectStatusW(HRASCONN hrasconn, LPRASCONNSTATUSW lprasconnstatus)
{
    FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
    return 0;
}
162

163 164 165
/**************************************************************************
 *                 RasGetEntryDialParamsA			[RASAPI32.550]
 */
166 167 168
DWORD WINAPI RasGetEntryDialParamsA(
	LPCSTR lpszPhoneBook, LPRASDIALPARAMSA lpRasDialParams,
	LPBOOL lpfPassword)
169 170 171 172 173
{
	FIXME("(%s,%p,%p),stub!\n",debugstr_a(lpszPhoneBook),
            lpRasDialParams,lpfPassword);
	return 0;
}
174

175 176 177 178 179 180 181 182 183 184 185 186
/**************************************************************************
 *                 RasGetEntryDialParamsW           [RASAPI32.551]
 */
DWORD WINAPI RasGetEntryDialParamsW(
    LPCWSTR lpszPhoneBook, LPRASDIALPARAMSW lpRasDialParams,
    LPBOOL lpfPassword)
{
    FIXME("(%s,%p,%p),stub!\n",debugstr_w(lpszPhoneBook),
            lpRasDialParams,lpfPassword);
    return 0;
}

187 188 189 190 191
/**************************************************************************
 *                 RasHangUpA			[RASAPI32.556]
 */
DWORD WINAPI RasHangUpA( HRASCONN hrasconn)
{
192
	FIXME("(%p),stub!\n",hrasconn);
193 194
	return 0;
}
195

196 197 198 199 200 201 202 203 204
/**************************************************************************
 *                 RasHangUpW           [RASAPI32.557]
 */
DWORD WINAPI RasHangUpW(HRASCONN hrasconn)
{
    FIXME("(%p),stub!\n",hrasconn);
    return 0;
}

205
/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
206
 *                 RasDeleteEntryA		[RASAPI32.7]
207 208 209 210 211 212 213 214
 */
DWORD WINAPI RasDeleteEntryA(LPCSTR a, LPCSTR b)
{
	FIXME("(%s,%s),stub!\n",debugstr_a(a),debugstr_a(b));
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
215
 *                 RasDeleteEntryW		[RASAPI32.8]
216 217 218 219 220 221 222 223
 */
DWORD WINAPI RasDeleteEntryW(LPCWSTR a, LPCWSTR b)
{
	FIXME("(%s,%s),stub!\n",debugstr_w(a),debugstr_w(b));
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
224
 *                 RasEnumAutodialAddressesA	[RASAPI32.14]
225
 */
226
DWORD WINAPI RasEnumAutodialAddressesA(LPSTR *a, LPDWORD b, LPDWORD c)
227 228 229 230 231 232
{
	FIXME("(%p,%p,%p),stub!\n",a,b,c);
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
233
 *                 RasEnumAutodialAddressesW	[RASAPI32.15]
234
 */
235
DWORD WINAPI RasEnumAutodialAddressesW(LPWSTR *a, LPDWORD b, LPDWORD c)
236 237 238 239 240 241
{
	FIXME("(%p,%p,%p),stub!\n",a,b,c);
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
242
 *                 RasEnumDevicesA		[RASAPI32.19]
243 244 245
 *
 * Just return a virtual modem too see what other APIs programs will
 * call with it.
246
 */
247
DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD lpcDevices)
248
{
249 250 251
	if (!lpcb || !lpcDevices)
            return ERROR_INVALID_PARAMETER;

252
	FIXME("(%p,%p,%p),stub!\n",lpRasDevinfo,lpcb,lpcDevices);
253 254 255 256

	if(lpRasDevinfo && lpRasDevinfo->dwSize != sizeof(RASDEVINFOA))
		return ERROR_INVALID_SIZE;

257
	if (!lpRasDevinfo || (*lpcb < sizeof(RASDEVINFOA))) {
258 259 260 261 262 263
		*lpcb = sizeof(RASDEVINFOA);
		return ERROR_BUFFER_TOO_SMALL;
	}
	/* honor dwSize ? */
	strcpy(lpRasDevinfo->szDeviceType, RASDT_Modem);
	strcpy(lpRasDevinfo->szDeviceName, "WINE virtmodem");
264 265 266 267
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
268
 *                 RasEnumDevicesW		[RASAPI32.20]
269 270 271 272 273 274 275 276
 */
DWORD WINAPI RasEnumDevicesW(LPRASDEVINFOW a, LPDWORD b, LPDWORD c)
{
	FIXME("(%p,%p,%p),stub!\n",a,b,c);
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
277
 *                 RasGetAutodialAddressA	[RASAPI32.24]
278 279 280 281 282 283 284 285 286
 */
DWORD WINAPI RasGetAutodialAddressA(LPCSTR a, LPDWORD b, LPRASAUTODIALENTRYA c,
					LPDWORD d, LPDWORD e)
{
	FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_a(a),b,c,d,e);
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
287
 *                 RasGetAutodialAddressW	[RASAPI32.25]
288 289 290 291 292 293 294 295 296
 */
DWORD WINAPI RasGetAutodialAddressW(LPCWSTR a, LPDWORD b, LPRASAUTODIALENTRYW c,
					LPDWORD d, LPDWORD e)
{
	FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_w(a),b,c,d,e);
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
297
 *                 RasGetAutodialEnableA	[RASAPI32.26]
298 299 300
 */
DWORD WINAPI RasGetAutodialEnableA(DWORD a, LPBOOL b)
{
301
	FIXME("(%x,%p),stub!\n",a,b);
302 303 304 305
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
306
 *                 RasGetAutodialEnableW	[RASAPI32.27]
307 308 309
 */
DWORD WINAPI RasGetAutodialEnableW(DWORD a, LPBOOL b)
{
310
	FIXME("(%x,%p),stub!\n",a,b);
311 312 313 314
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
315
 *                 RasGetAutodialParamA		[RASAPI32.28]
316
 */
317
DWORD WINAPI RasGetAutodialParamA(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
318
{
319
	FIXME("(%x,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
320 321 322 323
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
324
 *                 RasGetAutodialParamW		[RASAPI32.29]
325
 */
326
DWORD WINAPI RasGetAutodialParamW(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
327
{
328
	FIXME("(%x,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
329 330 331 332
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
333
 *                 RasSetAutodialAddressA	[RASAPI32.57]
334 335 336 337
 */
DWORD WINAPI RasSetAutodialAddressA(LPCSTR a, DWORD b, LPRASAUTODIALENTRYA c,
					DWORD d, DWORD e)
{
338
	FIXME("(%s,%x,%p,%x,%x),stub!\n",debugstr_a(a),b,c,d,e);
339 340 341 342
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
343
 *                 RasSetAutodialAddressW	[RASAPI32.58]
344 345 346 347
 */
DWORD WINAPI RasSetAutodialAddressW(LPCWSTR a, DWORD b, LPRASAUTODIALENTRYW c,
					DWORD d, DWORD e)
{
348
	FIXME("(%s,%x,%p,%x,%x),stub!\n",debugstr_w(a),b,c,d,e);
349 350 351 352
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
353
 *                 RasSetAutodialEnableA	[RASAPI32.59]
354
 */
355
DWORD WINAPI RasSetAutodialEnableA(DWORD dwDialingLocation, BOOL fEnabled)
356
{
357
	FIXME("(%x,%x),stub!\n",dwDialingLocation,fEnabled);
358 359 360 361
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
362
 *                 RasSetAutodialEnableW	[RASAPI32.60]
363
 */
364
DWORD WINAPI RasSetAutodialEnableW(DWORD dwDialingLocation, BOOL fEnabled)
365
{
366
	FIXME("(%x,%x),stub!\n",dwDialingLocation,fEnabled);
367 368 369 370
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
371
 *                 RasSetAutodialParamA	[RASAPI32.61]
372 373 374
 */
DWORD WINAPI RasSetAutodialParamA(DWORD a, LPVOID b, DWORD c)
{
375
	FIXME("(%x,%p,%x),stub!\n",a,b,c);
376 377 378 379
	return 0;
}

/**************************************************************************
Patrik Stridvall's avatar
Patrik Stridvall committed
380
 *                 RasSetAutodialParamW	[RASAPI32.62]
381 382 383
 */
DWORD WINAPI RasSetAutodialParamW(DWORD a, LPVOID b, DWORD c)
{
384
	FIXME("(%x,%p,%x),stub!\n",a,b,c);
385 386
	return 0;
}
387

388 389 390 391 392 393 394
/**************************************************************************
 *                 RasSetEntryPropertiesA	[RASAPI32.67]
 */
DWORD WINAPI RasSetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry,
	LPRASENTRYA lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
	DWORD dwDeviceInfoSize
) {
395
	FIXME("(%s,%s,%p,%d,%p,%d), stub!\n",
396 397 398 399
		debugstr_a(lpszPhonebook),debugstr_a(lpszEntry),
		lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
	);
	FIXME("Rasentry:\n");
400
	FIXME("\tdwfOptions %x\n",lpRasEntry->dwfOptions);
401 402 403 404 405 406 407 408 409 410 411
	FIXME("\tszLocalPhoneNumber %s\n",debugstr_a(lpRasEntry->szLocalPhoneNumber));
	return 0;
}

/**************************************************************************
 *                 RasSetEntryPropertiesW	[RASAPI32.68]
 */
DWORD WINAPI RasSetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry,
	LPRASENTRYW lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
	DWORD dwDeviceInfoSize
) {
412
	FIXME("(%s,%s,%p,%d,%p,%d), stub!\n",
413 414 415 416 417 418
		debugstr_w(lpszPhonebook),debugstr_w(lpszEntry),
		lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
	);
	return 0;
}

419 420 421
/**************************************************************************
 *                 RasValidateEntryNameA	[RASAPI32.72]
 */
422 423 424 425 426 427 428 429 430 431
DWORD WINAPI RasValidateEntryNameA(LPCSTR lpszPhonebook, LPCSTR lpszEntry) {
	FIXME("(%s,%s), stub!\n",debugstr_a(lpszPhonebook),debugstr_a(lpszEntry));
	return 0;
}

/**************************************************************************
 *                 RasValidateEntryNameW	[RASAPI32.73]
 */
DWORD WINAPI RasValidateEntryNameW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry) {
	FIXME("(%s,%s), stub!\n",debugstr_w(lpszPhonebook),debugstr_w(lpszEntry));
432 433
	return 0;
}
434 435 436 437 438 439 440

/**************************************************************************
 *                 RasGetEntryPropertiesA	[RASAPI32.@]
 */
DWORD WINAPI RasGetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, LPRASENTRYA lpRasEntry,
	LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
) {
441 442
	FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszEntry), lpRasEntry,
          lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
443 444
	return 0;
}
445 446 447 448 449 450 451 452 453 454 455 456 457 458

/**************************************************************************
 *                 RasGetEntryPropertiesW   [RASAPI32.@]
 */
DWORD WINAPI RasGetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, LPRASENTRYW lpRasEntry,
    LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
) {
    FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszEntry), lpRasEntry,
          lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
    return 0;
}

DWORD WINAPI RasGetErrorStringA(UINT uErrorValue, LPSTR lpszErrorString, DWORD cBufSize)
{
459
    FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
460 461 462 463 464
    return 1;
}

DWORD WINAPI RasGetErrorStringW(UINT uErrorValue, LPWSTR lpszErrorString, DWORD cBufSize)
{
465
    FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514
    return 1;
}

DWORD WINAPI RasGetProjectionInfoA(HRASCONN hrasconn, RASPROJECTION rasprojection,
                                   LPVOID lpprojection, LPDWORD lpcb)
{
    FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
    return 1;
}

DWORD WINAPI RasGetProjectionInfoW(HRASCONN hrasconn, RASPROJECTION rasprojection,
                                   LPVOID lpprojection, LPDWORD lpcb)
{
    FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
    return 1;
}

DWORD WINAPI RasRenameEntryA(LPCSTR lpszPhonebook, LPCSTR lpszOldEntry, LPCSTR lpszNewEntry)
{
    FIXME("(%s,%s,%s), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszOldEntry),
          debugstr_a(lpszNewEntry));
    return 0;
}

DWORD WINAPI RasRenameEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszOldEntry, LPCWSTR lpszNewEntry)
{
    FIXME("(%s,%s,%s), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszOldEntry),
          debugstr_w(lpszNewEntry));
    return 0;
}

DWORD WINAPI RasSetEntryDialParamsA(LPCSTR lpszPhonebook, LPRASDIALPARAMSA lprasdialparams,
                                    BOOL fRemovePassword)
{
    FIXME("(%s,%p,0x%x), stub!\n", debugstr_a(lpszPhonebook), lprasdialparams, fRemovePassword);
    return 0;
}

DWORD WINAPI RasSetEntryDialParamsW(LPCWSTR lpszPhonebook, LPRASDIALPARAMSW lprasdialparams,
                                    BOOL fRemovePassword)
{
    FIXME("(%s,%p,0x%x), stub!\n", debugstr_w(lpszPhonebook), lprasdialparams, fRemovePassword);
    return 0;
}

DWORD WINAPI RasSetSubEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntry,
                                       LPRASSUBENTRYA lpRasSubEntry, DWORD dwcbRasSubEntry,
                                       LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
{
515
    FIXME("(%s,%s,0x%08x,%p,0x%08x,%p,0x%08x), stub!\n", debugstr_a(lpszPhonebook),
516 517 518 519 520 521 522 523 524
          debugstr_a(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
          dwcbDeviceConfig);
    return 0;
}

DWORD WINAPI RasSetSubEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntry,
                                       LPRASSUBENTRYW lpRasSubEntry, DWORD dwcbRasSubEntry,
                                       LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
{
525
    FIXME("(%s,%s,0x%08x,%p,0x%08x,%p,0x%08x), stub!\n", debugstr_w(lpszPhonebook),
526 527 528 529
          debugstr_w(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
          dwcbDeviceConfig);
    return 0;
}