4 #pragma GCC system_header
17 include <basetsd.h> from winnt.h so that this typedef is not necessary
20 typedef unsigned long ULONG_PTR
, *PULONG_PTR
;
25 #define RAS_MaxDeviceType 16
26 #define RAS_MaxPhoneNumber 128
27 #define RAS_MaxIpAddress 15
28 #define RAS_MaxIpxAddress 21
29 #define RAS_MaxEntryName 256
30 #define RAS_MaxDeviceName 128
31 #define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
32 #define RAS_MaxAreaCode 10
33 #define RAS_MaxPadType 32
34 #define RAS_MaxX25Address 200
35 #define RAS_MaxFacilities 200
36 #define RAS_MaxUserData 200
37 #define RAS_MaxReplyMessage 1024
38 #define RAS_MaxDnsSuffix 256
39 #define RDEOPT_UsePrefixSuffix 0x00000001
40 #define RDEOPT_PausedStates 0x00000002
41 #define RDEOPT_IgnoreModemSpeaker 0x00000004
42 #define RDEOPT_SetModemSpeaker 0x00000008
43 #define RDEOPT_IgnoreSoftwareCompression 0x00000010
44 #define RDEOPT_SetSoftwareCompression 0x00000020
45 #define RDEOPT_DisableConnectedUI 0x00000040
46 #define RDEOPT_DisableReconnectUI 0x00000080
47 #define RDEOPT_DisableReconnect 0x00000100
48 #define RDEOPT_NoUser 0x00000200
49 #define RDEOPT_PauseOnScript 0x00000400
50 #define RDEOPT_Router 0x00000800
51 #define REN_User 0x00000000
52 #define REN_AllUsers 0x00000001
55 #define VS_PptpFirst 2
57 #define VS_L2tpFirst 4
58 #define RASDIALEVENT "RasDialEvent"
59 #define WM_RASDIALEVENT 0xCCCD
60 #define RASEO_UseCountryAndAreaCodes 0x00000001
61 #define RASEO_SpecificIpAddr 0x00000002
62 #define RASEO_SpecificNameServers 0x00000004
63 #define RASEO_IpHeaderCompression 0x00000008
64 #define RASEO_RemoteDefaultGateway 0x00000010
65 #define RASEO_DisableLcpExtensions 0x00000020
66 #define RASEO_TerminalBeforeDial 0x00000040
67 #define RASEO_TerminalAfterDial 0x00000080
68 #define RASEO_ModemLights 0x00000100
69 #define RASEO_SwCompression 0x00000200
70 #define RASEO_RequireEncryptedPw 0x00000400
71 #define RASEO_RequireMsEncryptedPw 0x00000800
72 #define RASEO_RequireDataEncryption 0x00001000
73 #define RASEO_NetworkLogon 0x00002000
74 #define RASEO_UseLogonCredentials 0x00004000
75 #define RASEO_PromoteAlternates 0x00008000
77 #define RASEO2_SecureFileAndPrint 0x00000001
78 #define RASEO2_SecureClientForMSNet 0x00000002
79 #define RASEO2_DontNegotiateMultilink 0x00000004
80 #define RASEO2_DontUseRasCredentials 0x00000008
81 #define RASEO2_UsePreSharedKey 0x00000010
82 #define RASEO2_Internet 0x00000020
83 #define RASEO2_DisableNbtOverIP 0x00000040
84 #define RASEO2_UseGlobalDeviceSettings 0x00000080
85 #define RASEO2_ReconnectIfDropped 0x00000100
86 #define RASEO2_SharePhoneNumbers 0x00000200
88 #define RASNP_NetBEUI 0x00000001
89 #define RASNP_Ipx 0x00000002
90 #define RASNP_Ip 0x00000004
91 #define RASFP_Ppp 0x00000001
92 #define RASFP_Slip 0x00000002
93 #define RASFP_Ras 0x00000004
94 #define RASDT_Modem TEXT("modem")
95 #define RASDT_Isdn TEXT("isdn")
96 #define RASDT_X25 TEXT("x25")
97 #define RASDT_Vpn TEXT("vpn")
98 #define RASDT_Pad TEXT("pad")
99 #define RASDT_Generic TEXT("GENERIC")
100 #define RASDT_Serial TEXT("SERIAL")
101 #define RASDT_FrameRelay TEXT("FRAMERELAY")
102 #define RASDT_Atm TEXT("ATM")
103 #define RASDT_Sonet TEXT("SONET")
104 #define RASDT_SW56 TEXT("SW56")
105 #define RASDT_Irda TEXT("IRDA")
106 #define RASDT_Parallel TEXT("PARALLEL")
107 #define RASET_Phone 1
109 #define RASET_Direct 3
110 #define RASET_Internet 4
111 #if (WINVER >= 0x401)
112 #define RASEO_SecureLocalFiles 0x00010000
113 #define RASCN_Connection 0x00000001
114 #define RASCN_Disconnection 0x00000002
115 #define RASCN_BandwidthAdded 0x00000004
116 #define RASCN_BandwidthRemoved 0x00000008
117 #define RASEDM_DialAll 1
118 #define RASEDM_DialAsNeeded 2
119 #define RASIDS_Disabled 0xffffffff
120 #define RASIDS_UseGlobalValue 0
121 #define RASADFLG_PositionDlg 0x00000001
122 #define RASCM_UserName 0x00000001
123 #define RASCM_Password 0x00000002
124 #define RASCM_Domain 0x00000004
125 #define RASADP_DisableConnectionQuery 0
126 #define RASADP_LoginSessionDisable 1
127 #define RASADP_SavedAddressesLimit 2
128 #define RASADP_FailedConnectionTimeout 3
129 #define RASADP_ConnectionQueryTimeout 4
130 #endif /* (WINVER >= 0x401) */
131 #if (WINVER >= 0x500)
132 #define RDEOPT_CustomDial 0x00001000
133 #define RASLCPAP_PAP 0xC023
134 #define RASLCPAP_SPAP 0xC027
135 #define RASLCPAP_CHAP 0xC223
136 #define RASLCPAP_EAP 0xC227
137 #define RASLCPAD_CHAP_MD5 0x05
138 #define RASLCPAD_CHAP_MS 0x80
139 #define RASLCPAD_CHAP_MSV2 0x81
140 #define RASLCPO_PFC 0x00000001
141 #define RASLCPO_ACFC 0x00000002
142 #define RASLCPO_SSHF 0x00000004
143 #define RASLCPO_DES_56 0x00000008
144 #define RASLCPO_3_DES 0x00000010
145 #define RASCCPCA_MPPC 0x00000006
146 #define RASCCPCA_STAC 0x00000005
147 #define RASCCPO_Compression 0x00000001
148 #define RASCCPO_HistoryLess 0x00000002
149 #define RASCCPO_Encryption56bit 0x00000010
150 #define RASCCPO_Encryption40bit 0x00000020
151 #define RASCCPO_Encryption128bit 0x00000040
152 #define RASEO_RequireEAP 0x00020000
153 #define RASEO_RequirePAP 0x00040000
154 #define RASEO_RequireSPAP 0x00080000
155 #define RASEO_Custom 0x00100000
156 #define RASEO_PreviewPhoneNumber 0x00200000
157 #define RASEO_SharedPhoneNumbers 0x00800000
158 #define RASEO_PreviewUserPw 0x01000000
159 #define RASEO_PreviewDomain 0x02000000
160 #define RASEO_ShowDialingProgress 0x04000000
161 #define RASEO_RequireCHAP 0x08000000
162 #define RASEO_RequireMsCHAP 0x10000000
163 #define RASEO_RequireMsCHAP2 0x20000000
164 #define RASEO_RequireW95MSCHAP 0x40000000
165 #define RASEO_CustomScript 0x80000000
166 #define RASIPO_VJ 0x00000001
167 #define RCD_SingleUser 0
168 #define RCD_AllUsers 0x00000001
169 #define RCD_Eap 0x00000002
170 #define RASEAPF_NonInteractive 0x00000002
171 #define RASEAPF_Logon 0x00000004
172 #define RASEAPF_Preview 0x00000008
177 #define ET_RequireMax 2
178 #define ET_Optional 3
179 #endif /* (WINVER >= 0x500) */
181 #define RASCS_PAUSED 0x1000
182 #define RASCS_DONE 0x2000
183 typedef enum tagRASCONNSTATE
{
187 RASCS_DeviceConnected
,
188 RASCS_AllDevicesConnected
,
193 RASCS_AuthChangePassword
,
197 RASCS_ReAuthenticate
,
199 RASCS_PrepareForCallback
,
200 RASCS_WaitForModemReset
,
201 RASCS_WaitForCallback
,
203 RASCS_StartAuthentication
,
204 RASCS_CallbackComplete
,
206 RASCS_SubEntryConnected
,
207 RASCS_SubEntryDisconnected
,
208 RASCS_Interactive
= RASCS_PAUSED
,
209 RASCS_RetryAuthentication
,
210 RASCS_CallbackSetByCaller
,
211 RASCS_PasswordExpired
,
212 #if (WINVER >= 0x500)
215 RASCS_Connected
= RASCS_DONE
,
217 } RASCONNSTATE
, *LPRASCONNSTATE
;
219 typedef enum tagRASPROJECTION
{
221 RASP_PppNbf
= 0x803F,
222 RASP_PppIpx
= 0x802B,
224 #if (WINVER >= 0x500)
225 RASP_PppCcp
= 0x80FD,
227 RASP_PppLcp
= 0xC021,
229 } RASPROJECTION
, *LPRASPROJECTION
;
231 DECLARE_HANDLE (HRASCONN
);
232 typedef HRASCONN
* LPHRASCONN
;
234 typedef struct tagRASCONNW
{
237 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
238 #if (WINVER >= 0x400)
239 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
240 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
242 #if (WINVER >= 0x401)
243 WCHAR szPhonebook
[MAX_PATH
];
246 #if (WINVER >= 0x500)
249 #if (WINVER >= 0x501)
253 } RASCONNW
, *LPRASCONNW
;
255 typedef struct tagRASCONNA
{
258 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
259 #if (WINVER >= 0x400)
260 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
261 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
263 #if (WINVER >= 0x401)
264 CHAR szPhonebook
[MAX_PATH
];
267 #if (WINVER >= 0x500)
270 #if (WINVER >= 0x501)
274 } RASCONNA
, *LPRASCONNA
;
276 typedef struct tagRASCONNSTATUSW
{
278 RASCONNSTATE rasconnstate
;
280 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
281 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
282 #if (WINVER >= 0x401)
283 WCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
285 } RASCONNSTATUSW
, *LPRASCONNSTATUSW
;
287 typedef struct tagRASCONNSTATUSA
{
289 RASCONNSTATE rasconnstate
;
291 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
292 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
293 #if (WINVER >= 0x401)
294 CHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
296 } RASCONNSTATUSA
, *LPRASCONNSTATUSA
;
298 typedef struct tagRASDIALPARAMSW
{
300 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
301 WCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
302 WCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
303 WCHAR szUserName
[UNLEN
+ 1];
304 WCHAR szPassword
[PWLEN
+ 1];
305 WCHAR szDomain
[DNLEN
+ 1];
306 #if (WINVER >= 0x401)
308 ULONG_PTR dwCallbackId
;
310 } RASDIALPARAMSW
, *LPRASDIALPARAMSW
;
312 typedef struct tagRASDIALPARAMSA
{
314 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
315 CHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
316 CHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
317 CHAR szUserName
[UNLEN
+ 1];
318 CHAR szPassword
[PWLEN
+ 1];
319 CHAR szDomain
[DNLEN
+ 1];
320 #if (WINVER >= 0x401)
322 ULONG_PTR dwCallbackId
;
324 } RASDIALPARAMSA
, *LPRASDIALPARAMSA
;
326 #if (WINVER >= 0x500)
327 typedef struct tagRASEAPINFO
{
328 DWORD dwSizeofEapInfo
;
333 typedef struct tagRASDIALEXTENSIONS
{
338 #if (WINVER >= 0x500)
340 RASEAPINFO RasEapInfo
;
342 } RASDIALEXTENSIONS
, *LPRASDIALEXTENSIONS
;
344 typedef struct tagRASENTRYNAMEW
{
346 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
347 #if (WINVER >= 0x500)
349 WCHAR szPhonebookPath
[MAX_PATH
+ 1];
351 } RASENTRYNAMEW
, *LPRASENTRYNAMEW
;
353 typedef struct tagRASENTRYNAMEA
{
355 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
356 #if (WINVER >= 0x500)
358 CHAR szPhonebookPath
[MAX_PATH
+ 1];
360 } RASENTRYNAMEA
, *LPRASENTRYNAMEA
;
362 typedef struct tagRASAMBW
{
365 WCHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
367 } RASAMBW
, *LPRASAMBW
;
369 typedef struct tagRASAMBA
{
372 CHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
374 } RASAMBA
, *LPRASAMBA
;
376 typedef struct tagRASPPPNBFW
{
379 DWORD dwNetBiosError
;
380 WCHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
381 WCHAR szWorkstationName
[NETBIOS_NAME_LEN
+ 1];
383 } RASPPPNBFW
, *LPRASPPPNBFW
;
385 typedef struct tagRASPPPNBFA
{
388 DWORD dwNetBiosError
;
389 CHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
390 CHAR szWorkstationName
[NETBIOS_NAME_LEN
+ 1];
392 } RASPPPNBFA
, *LPRASPPPNBFA
;
394 typedef struct tagRASIPXW
{
397 WCHAR szIpxAddress
[RAS_MaxIpxAddress
+ 1];
398 } RASPPPIPXW
, *LPRASPPPIPXW
;
400 typedef struct tagRASIPXA
{
403 CHAR szIpxAddress
[RAS_MaxIpxAddress
+ 1];
404 } RASPPPIPXA
, *LPRASPPPIPXA
;
406 typedef struct tagRASPPPIPW
{
409 WCHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
410 #ifndef WINNT35COMPATIBLE
411 WCHAR szServerIpAddress
[RAS_MaxIpAddress
+ 1];
413 #if (WINVER >= 0x500)
415 DWORD dwServerOptions
;
417 } RASPPPIPW
, *LPRASPPPIPW
;
419 typedef struct tagRASPPPIPA
{
422 CHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
423 #ifndef WINNT35COMPATIBLE
424 CHAR szServerIpAddress
[RAS_MaxIpAddress
+ 1];
426 #if (WINVER >= 0x500)
428 DWORD dwServerOptions
;
430 } RASPPPIPA
, *LPRASPPPIPA
;
432 typedef struct tagRASPPPLCPW
{
435 #if (WINVER >= 0x500)
437 DWORD dwAuthenticationProtocol
;
438 DWORD dwAuthenticationData
;
440 DWORD dwServerAuthenticationProtocol
;
441 DWORD dwServerAuthenticationData
;
442 DWORD dwServerEapTypeId
;
444 DWORD dwTerminateReason
;
445 DWORD dwServerTerminateReason
;
446 WCHAR szReplyMessage
[RAS_MaxReplyMessage
];
448 DWORD dwServerOptions
;
450 } RASPPPLCPW
, *LPRASPPPLCPW
;
452 typedef struct tagRASPPPLCPA
{
455 #if (WINVER >= 0x500)
457 DWORD dwAuthenticationProtocol
;
458 DWORD dwAuthenticationData
;
460 DWORD dwServerAuthenticationProtocol
;
461 DWORD dwServerAuthenticationData
;
462 DWORD dwServerEapTypeId
;
464 DWORD dwTerminateReason
;
465 DWORD dwServerTerminateReason
;
466 CHAR szReplyMessage
[RAS_MaxReplyMessage
];
468 DWORD dwServerOptions
;
470 } RASPPPLCPA
, *LPRASPPPLCPA
;
472 typedef struct tagRASSLIPW
{
475 WCHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
476 } RASSLIPW
, *LPRASSLIPW
;
479 typedef struct tagRASSLIPA
{
482 CHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
483 } RASSLIPA
, *LPRASSLIPA
;
485 typedef struct tagRASDEVINFOW
{
487 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
488 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
489 } RASDEVINFOW
, *LPRASDEVINFOW
;
491 typedef struct tagRASDEVINFOA
{
493 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
494 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
495 } RASDEVINFOA
, *LPRASDEVINFOA
;
497 typedef struct tagRASCTRYINFO
{
500 DWORD dwNextCountryID
;
502 DWORD dwCountryNameOffset
;
503 } RASCTRYINFO
, *LPRASCTRYINFO
;
505 typedef RASCTRYINFO RASCTRYINFOW
, *LPRASCTRYINFOW
;
506 typedef RASCTRYINFO RASCTRYINFOA
, *LPRASCTRYINFOA
;
508 typedef struct tagRASIPADDR
{
515 typedef struct tagRASENTRYW
{
520 WCHAR szAreaCode
[RAS_MaxAreaCode
+ 1];
521 WCHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
522 DWORD dwAlternateOffset
;
525 RASIPADDR ipaddrDnsAlt
;
526 RASIPADDR ipaddrWins
;
527 RASIPADDR ipaddrWinsAlt
;
529 DWORD dwfNetProtocols
;
530 DWORD dwFramingProtocol
;
531 WCHAR szScript
[MAX_PATH
];
532 WCHAR szAutodialDll
[MAX_PATH
];
533 WCHAR szAutodialFunc
[MAX_PATH
];
534 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
535 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
536 WCHAR szX25PadType
[RAS_MaxPadType
+ 1];
537 WCHAR szX25Address
[RAS_MaxX25Address
+ 1];
538 WCHAR szX25Facilities
[RAS_MaxFacilities
+ 1];
539 WCHAR szX25UserData
[RAS_MaxUserData
+ 1];
543 #if (WINVER >= 0x401)
546 DWORD dwDialExtraPercent
;
547 DWORD dwDialExtraSampleSeconds
;
548 DWORD dwHangUpExtraPercent
;
549 DWORD dwHangUpExtraSampleSeconds
;
550 DWORD dwIdleDisconnectSeconds
;
552 #if (WINVER >= 0x500)
554 DWORD dwEncryptionType
;
555 DWORD dwCustomAuthKey
;
557 WCHAR szCustomDialDll
[MAX_PATH
];
560 #if (WINVER >= 0x501)
563 WCHAR szDnsSuffix
[RAS_MaxDnsSuffix
];
564 DWORD dwTcpWindowSize
;
565 WCHAR szPrerequisitePbk
[MAX_PATH
];
566 WCHAR szPrerequisiteEntry
[RAS_MaxEntryName
+ 1];
570 } RASENTRYW
, *LPRASENTRYW
;
572 typedef struct tagRASENTRYA
{
577 CHAR szAreaCode
[RAS_MaxAreaCode
+ 1];
578 CHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
579 DWORD dwAlternateOffset
;
582 RASIPADDR ipaddrDnsAlt
;
583 RASIPADDR ipaddrWins
;
584 RASIPADDR ipaddrWinsAlt
;
586 DWORD dwfNetProtocols
;
587 DWORD dwFramingProtocol
;
588 CHAR szScript
[MAX_PATH
];
589 CHAR szAutodialDll
[MAX_PATH
];
590 CHAR szAutodialFunc
[MAX_PATH
];
591 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
592 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
593 CHAR szX25PadType
[RAS_MaxPadType
+ 1];
594 CHAR szX25Address
[RAS_MaxX25Address
+ 1];
595 CHAR szX25Facilities
[RAS_MaxFacilities
+ 1];
596 CHAR szX25UserData
[RAS_MaxUserData
+ 1];
600 #if (WINVER >= 0x401)
603 DWORD dwDialExtraPercent
;
604 DWORD dwDialExtraSampleSeconds
;
605 DWORD dwHangUpExtraPercent
;
606 DWORD dwHangUpExtraSampleSeconds
;
607 DWORD dwIdleDisconnectSeconds
;
609 #if (WINVER >= 0x500)
611 DWORD dwEncryptionType
;
612 DWORD dwCustomAuthKey
;
614 CHAR szCustomDialDll
[MAX_PATH
];
617 #if (WINVER >= 0x501)
620 CHAR szDnsSuffix
[RAS_MaxDnsSuffix
];
621 DWORD dwTcpWindowSize
;
622 CHAR szPrerequisitePbk
[MAX_PATH
];
623 CHAR szPrerequisiteEntry
[RAS_MaxEntryName
+ 1];
627 } RASENTRYA
, *LPRASENTRYA
;
630 #if (WINVER >= 0x401)
631 typedef struct tagRASADPARAMS
{
637 } RASADPARAMS
, *LPRASADPARAMS
;
639 typedef struct tagRASSUBENTRYW
{
642 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
643 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
644 WCHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
645 DWORD dwAlternateOffset
;
646 } RASSUBENTRYW
, *LPRASSUBENTRYW
;
648 typedef struct tagRASSUBENTRYA
{
651 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
652 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
653 CHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
654 DWORD dwAlternateOffset
;
655 } RASSUBENTRYA
, *LPRASSUBENTRYA
;
657 typedef struct tagRASCREDENTIALSW
{
660 WCHAR szUserName
[UNLEN
+ 1];
661 WCHAR szPassword
[PWLEN
+ 1];
662 WCHAR szDomain
[DNLEN
+ 1];
663 } RASCREDENTIALSW
, *LPRASCREDENTIALSW
;
665 typedef struct tagRASCREDENTIALSA
{
668 CHAR szUserName
[UNLEN
+ 1];
669 CHAR szPassword
[PWLEN
+ 1];
670 CHAR szDomain
[DNLEN
+ 1];
671 } RASCREDENTIALSA
, *LPRASCREDENTIALSA
;
673 typedef struct tagRASAUTODIALENTRYW
{
676 DWORD dwDialingLocation
;
677 WCHAR szEntry
[RAS_MaxEntryName
+ 1];
678 } RASAUTODIALENTRYW
, *LPRASAUTODIALENTRYW
;
680 typedef struct tagRASAUTODIALENTRYA
{
683 DWORD dwDialingLocation
;
684 CHAR szEntry
[RAS_MaxEntryName
+ 1];
685 } RASAUTODIALENTRYA
, *LPRASAUTODIALENTRYA
;
686 #endif /* (WINVER >= 0x401) */
688 #if (WINVER >= 0x500)
689 typedef struct tagRASPPPCCP
{
692 DWORD dwCompressionAlgorithm
;
694 DWORD dwServerCompressionAlgorithm
;
695 DWORD dwServerOptions
;
696 } RASPPPCCP
, *LPRASPPPCCP
;
698 typedef struct tagRASEAPUSERIDENTITYW
{
699 WCHAR szUserName
[UNLEN
+ 1];
700 DWORD dwSizeofEapInfo
;
702 } RASEAPUSERIDENTITYW
, *LPRASEAPUSERIDENTITYW
;
704 typedef struct tagRASEAPUSERIDENTITYA
{
705 CHAR szUserName
[UNLEN
+ 1];
706 DWORD dwSizeofEapInfo
;
708 } RASEAPUSERIDENTITYA
, *LPRASEAPUSERIDENTITYA
;
710 typedef struct tagRAS_STATS
{
714 DWORD dwFramesXmited
;
718 DWORD dwAlignmentErr
;
719 DWORD dwHardwareOverrunErr
;
721 DWORD dwBufferOverrunErr
;
722 DWORD dwCompressionRatioIn
;
723 DWORD dwCompressionRatioOut
;
725 DWORD dwConnectDuration
;
726 } RAS_STATS
, *PRAS_STATS
;
727 #endif /* (WINVER >= 0x500) */
730 /* UNICODE typedefs for structures*/
732 typedef RASCONNW RASCONN
, *LPRASCONN
;
733 typedef RASENTRYW RASENTRY
, *LPRASENTRY
;
734 typedef RASCONNSTATUSW RASCONNSTATUS
, *LPRASCONNSTATUS
;
735 typedef RASDIALPARAMSW RASDIALPARAMS
, *LPRASDIALPARAMS
;
736 typedef RASAMBW RASAMB
, *LPRASAM
;
737 typedef RASPPPNBFW RASPPPNBF
, *LPRASPPPNBF
;
738 typedef RASPPPIPXW RASPPPIPX
, *LPRASPPPIPX
;
739 typedef RASPPPIPW RASPPPIP
, *LPRASPPPIP
;
740 typedef RASPPPLCPW RASPPPLCP
, *LPRASPPPLCP
;
741 typedef RASSLIPW RASSLIP
, *LPRASSLIP
;
742 typedef RASDEVINFOW RASDEVINFO
, *LPRASDEVINFO
;
743 typedef RASENTRYNAMEW RASENTRYNAME
, *LPRASENTRYNAME
;
745 #if (WINVER >= 0x401)
746 typedef RASSUBENTRYW RASSUBENTRY
, *LPRASSUBENTRY
;
747 typedef RASCREDENTIALSW RASCREDENTIALS
, *LPRASCREDENTIALS
;
748 typedef RASAUTODIALENTRYW RASAUTODIALENTRY
, *LPRASAUTODIALENTRY
;
749 #endif /* (WINVER >= 0x401) */
751 #if (WINVER >= 0x500)
752 typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY
, *LPRASEAPUSERIDENTITY
;
753 #endif /* (WINVER >= 0x500) */
755 #else /* ! defined UNICODE */
756 typedef RASCONNA RASCONN
, *LPRASCONN
;
757 typedef RASENTRYA RASENTRY
, *LPRASENTRY
;
758 typedef RASCONNSTATUSA RASCONNSTATUS
, *LPRASCONNSTATUS
;
759 typedef RASDIALPARAMSA RASDIALPARAMS
, *LPRASDIALPARAMS
;
760 typedef RASAMBA RASAMB
, *LPRASAM
;
761 typedef RASPPPNBFA RASPPPNBF
, *LPRASPPPNBF
;
762 typedef RASPPPIPXA RASPPPIPX
, *LPRASPPPIPX
;
763 typedef RASPPPIPA RASPPPIP
, *LPRASPPPIP
;
764 typedef RASPPPLCPA RASPPPLCP
, *LPRASPPPLCP
;
765 typedef RASSLIPA RASSLIP
, *LPRASSLIP
;
766 typedef RASDEVINFOA RASDEVINFO
, *LPRASDEVINFO
;
767 typedef RASENTRYNAMEA RASENTRYNAME
, *LPRASENTRYNAME
;
769 #if (WINVER >= 0x401)
770 typedef RASSUBENTRYA RASSUBENTRY
, *LPRASSUBENTRY
;
771 typedef RASCREDENTIALSA RASCREDENTIALS
, *LPRASCREDENTIALS
;
772 typedef RASAUTODIALENTRYA RASAUTODIALENTRY
, *LPRASAUTODIALENTRY
;
773 #endif /*(WINVER >= 0x401)*/
774 #if (WINVER >= 0x500)
775 typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY
, *LPRASEAPUSERIDENTITY
;
776 #endif /* (WINVER >= 0x500) */
777 #endif /* ! UNICODE */
779 /* Callback prototypes */
780 typedef BOOL (WINAPI
* ORASADFUNC
) (HWND
, LPSTR
, DWORD
, LPDWORD
); /* deprecated */
781 typedef VOID (WINAPI
* RASDIALFUNC
) (UINT
, RASCONNSTATE
, DWORD
);
782 typedef VOID (WINAPI
* RASDIALFUNC1
) (HRASCONN
, UINT
, RASCONNSTATE
, DWORD
,
784 typedef DWORD (WINAPI
* RASDIALFUNC2
) (ULONG_PTR
, DWORD
, HRASCONN
, UINT
,
785 RASCONNSTATE
, DWORD
, DWORD
);
787 /* External functions */
788 DWORD APIENTRY
RasDialA (LPRASDIALEXTENSIONS
, LPCSTR
, LPRASDIALPARAMSA
,
789 DWORD
, LPVOID
, LPHRASCONN
);
790 DWORD APIENTRY
RasDialW (LPRASDIALEXTENSIONS
, LPCWSTR
, LPRASDIALPARAMSW
,
791 DWORD
, LPVOID
, LPHRASCONN
);
792 DWORD APIENTRY
RasEnumConnectionsA (LPRASCONNA
, LPDWORD
, LPDWORD
);
793 DWORD APIENTRY
RasEnumConnectionsW (LPRASCONNW
, LPDWORD
, LPDWORD
);
794 DWORD APIENTRY
RasEnumEntriesA (LPCSTR
, LPCSTR
, LPRASENTRYNAMEA
, LPDWORD
,
796 DWORD APIENTRY
RasEnumEntriesW (LPCWSTR
, LPCWSTR
, LPRASENTRYNAMEW
, LPDWORD
,
798 DWORD APIENTRY
RasGetConnectStatusA (HRASCONN
, LPRASCONNSTATUSA
);
799 DWORD APIENTRY
RasGetConnectStatusW (HRASCONN
, LPRASCONNSTATUSW
);
800 DWORD APIENTRY
RasGetErrorStringA (UINT
, LPSTR
, DWORD
);
801 DWORD APIENTRY
RasGetErrorStringW (UINT
, LPWSTR
, DWORD
);
802 DWORD APIENTRY
RasHangUpA (HRASCONN
);
803 DWORD APIENTRY
RasHangUpW (HRASCONN
);
804 DWORD APIENTRY
RasGetProjectionInfoA (HRASCONN
, RASPROJECTION
, LPVOID
,
806 DWORD APIENTRY
RasGetProjectionInfoW (HRASCONN
, RASPROJECTION
, LPVOID
,
808 DWORD APIENTRY
RasCreatePhonebookEntryA (HWND
, LPCSTR
);
809 DWORD APIENTRY
RasCreatePhonebookEntryW (HWND
, LPCWSTR
);
810 DWORD APIENTRY
RasEditPhonebookEntryA (HWND
, LPCSTR
, LPCSTR
);
811 DWORD APIENTRY
RasEditPhonebookEntryW (HWND
, LPCWSTR
, LPCWSTR
);
812 DWORD APIENTRY
RasSetEntryDialParamsA (LPCSTR
, LPRASDIALPARAMSA
, BOOL
);
813 DWORD APIENTRY
RasSetEntryDialParamsW (LPCWSTR
, LPRASDIALPARAMSW
, BOOL
);
814 DWORD APIENTRY
RasGetEntryDialParamsA (LPCSTR
, LPRASDIALPARAMSA
, LPBOOL
);
815 DWORD APIENTRY
RasGetEntryDialParamsW (LPCWSTR
, LPRASDIALPARAMSW
, LPBOOL
);
816 DWORD APIENTRY
RasEnumDevicesA (LPRASDEVINFOA
, LPDWORD
, LPDWORD
);
817 DWORD APIENTRY
RasEnumDevicesW (LPRASDEVINFOW
, LPDWORD
, LPDWORD
);
818 DWORD APIENTRY
RasGetCountryInfoA (LPRASCTRYINFOA
, LPDWORD
);
819 DWORD APIENTRY
RasGetCountryInfoW (LPRASCTRYINFOW
, LPDWORD
);
820 DWORD APIENTRY
RasGetEntryPropertiesA (LPCSTR
, LPCSTR
, LPRASENTRYA
, LPDWORD
,
822 DWORD APIENTRY
RasGetEntryPropertiesW (LPCWSTR
, LPCWSTR
, LPRASENTRYW
,
823 LPDWORD
, LPBYTE
, LPDWORD
);
824 DWORD APIENTRY
RasSetEntryPropertiesA (LPCSTR
, LPCSTR
, LPRASENTRYA
, DWORD
,
826 DWORD APIENTRY
RasSetEntryPropertiesW (LPCWSTR
, LPCWSTR
, LPRASENTRYW
, DWORD
,
828 DWORD APIENTRY
RasRenameEntryA (LPCSTR
, LPCSTR
, LPCSTR
);
829 DWORD APIENTRY
RasRenameEntryW (LPCWSTR
, LPCWSTR
, LPCWSTR
);
830 DWORD APIENTRY
RasDeleteEntryA (LPCSTR
, LPCSTR
);
831 DWORD APIENTRY
RasDeleteEntryW (LPCWSTR
, LPCWSTR
);
832 DWORD APIENTRY
RasValidateEntryNameA (LPCSTR
, LPCSTR
);
833 DWORD APIENTRY
RasValidateEntryNameW (LPCWSTR
, LPCWSTR
);
835 #if (WINVER >= 0x401)
836 typedef BOOL (WINAPI
* RASADFUNCA
) (LPSTR
, LPSTR
, LPRASADPARAMS
, LPDWORD
);
837 typedef BOOL (WINAPI
* RASADFUNCW
) (LPWSTR
, LPWSTR
, LPRASADPARAMS
, LPDWORD
);
839 DWORD APIENTRY
RasGetSubEntryHandleA (HRASCONN
, DWORD
, LPHRASCONN
);
840 DWORD APIENTRY
RasGetSubEntryHandleW (HRASCONN
, DWORD
, LPHRASCONN
);
841 DWORD APIENTRY
RasGetCredentialsA (LPCSTR
, LPCSTR
, LPRASCREDENTIALSA
);
842 DWORD APIENTRY
RasGetCredentialsW (LPCWSTR
, LPCWSTR
, LPRASCREDENTIALSW
);
843 DWORD APIENTRY
RasSetCredentialsA (LPCSTR
, LPCSTR
, LPRASCREDENTIALSA
, BOOL
);
844 DWORD APIENTRY
RasSetCredentialsW (LPCWSTR
, LPCWSTR
, LPRASCREDENTIALSW
, BOOL
);
845 DWORD APIENTRY
RasConnectionNotificationA (HRASCONN
, HANDLE
, DWORD
);
846 DWORD APIENTRY
RasConnectionNotificationW (HRASCONN
, HANDLE
, DWORD
);
847 DWORD APIENTRY
RasGetSubEntryPropertiesA (LPCSTR
, LPCSTR
, DWORD
,
848 LPRASSUBENTRYA
, LPDWORD
, LPBYTE
, LPDWORD
);
849 DWORD APIENTRY
RasGetSubEntryPropertiesW (LPCWSTR
, LPCWSTR
, DWORD
,
850 LPRASSUBENTRYW
, LPDWORD
, LPBYTE
, LPDWORD
);
851 DWORD APIENTRY
RasSetSubEntryPropertiesA (LPCSTR
, LPCSTR
, DWORD
,
852 LPRASSUBENTRYA
, DWORD
, LPBYTE
, DWORD
);
853 DWORD APIENTRY
RasSetSubEntryPropertiesW (LPCWSTR
, LPCWSTR
, DWORD
,
854 LPRASSUBENTRYW
, DWORD
, LPBYTE
, DWORD
);
855 DWORD APIENTRY
RasGetAutodialAddressA (LPCSTR
, LPDWORD
, LPRASAUTODIALENTRYA
,
857 DWORD APIENTRY
RasGetAutodialAddressW (LPCWSTR
, LPDWORD
,
858 LPRASAUTODIALENTRYW
, LPDWORD
, LPDWORD
);
859 DWORD APIENTRY
RasSetAutodialAddressA (LPCSTR
, DWORD
, LPRASAUTODIALENTRYA
,
861 DWORD APIENTRY
RasSetAutodialAddressW (LPCWSTR
, DWORD
, LPRASAUTODIALENTRYW
,
863 DWORD APIENTRY
RasEnumAutodialAddressesA (LPSTR
*, LPDWORD
, LPDWORD
);
864 DWORD APIENTRY
RasEnumAutodialAddressesW (LPWSTR
*, LPDWORD
, LPDWORD
);
865 DWORD APIENTRY
RasGetAutodialEnableA (DWORD
, LPBOOL
);
866 DWORD APIENTRY
RasGetAutodialEnableW (DWORD
, LPBOOL
);
867 DWORD APIENTRY
RasSetAutodialEnableA (DWORD
, BOOL
);
868 DWORD APIENTRY
RasSetAutodialEnableW (DWORD
, BOOL
);
869 DWORD APIENTRY
RasGetAutodialParamA (DWORD
, LPVOID
, LPDWORD
);
870 DWORD APIENTRY
RasGetAutodialParamW (DWORD
, LPVOID
, LPDWORD
);
871 DWORD APIENTRY
RasSetAutodialParamA (DWORD
, LPVOID
, DWORD
);
872 DWORD APIENTRY
RasSetAutodialParamW (DWORD
, LPVOID
, DWORD
);
875 #if (WINVER >= 0x500)
876 typedef DWORD (WINAPI
* RasCustomHangUpFn
) (HRASCONN
);
877 typedef DWORD (WINAPI
* RasCustomDeleteEntryNotifyFn
) (LPCTSTR
, LPCTSTR
, DWORD
);
878 typedef DWORD (WINAPI
* RasCustomDialFn
) (HINSTANCE
, LPRASDIALEXTENSIONS
,
879 LPCTSTR
, LPRASDIALPARAMS
, DWORD
, LPVOID
, LPHRASCONN
, DWORD
);
881 DWORD APIENTRY
RasInvokeEapUI (HRASCONN
, DWORD
, LPRASDIALEXTENSIONS
, HWND
);
882 DWORD APIENTRY
RasGetLinkStatistics (HRASCONN
, DWORD
, RAS_STATS
*);
883 DWORD APIENTRY
RasGetConnectionStatistics (HRASCONN
, RAS_STATS
*);
884 DWORD APIENTRY
RasClearLinkStatistics (HRASCONN
, DWORD
);
885 DWORD APIENTRY
RasClearConnectionStatistics (HRASCONN
);
886 DWORD APIENTRY
RasGetEapUserDataA (HANDLE
, LPCSTR
, LPCSTR
, BYTE
*, DWORD
*);
887 DWORD APIENTRY
RasGetEapUserDataW (HANDLE
, LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
*);
888 DWORD APIENTRY
RasSetEapUserDataA (HANDLE
, LPCSTR
, LPCSTR
, BYTE
*, DWORD
);
889 DWORD APIENTRY
RasSetEapUserDataW (HANDLE
, LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
);
890 DWORD APIENTRY
RasGetCustomAuthDataA (LPCSTR
, LPCSTR
, BYTE
*, DWORD
*);
891 DWORD APIENTRY
RasGetCustomAuthDataW (LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
*);
892 DWORD APIENTRY
RasSetCustomAuthDataA (LPCSTR
, LPCSTR
, BYTE
*, DWORD
);
893 DWORD APIENTRY
RasSetCustomAuthDataW (LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
);
894 DWORD APIENTRY
RasGetEapUserIdentityW (LPCWSTR
, LPCWSTR
, DWORD
, HWND
, LPRASEAPUSERIDENTITYW
*);
895 DWORD APIENTRY
RasGetEapUserIdentityA (LPCSTR
, LPCSTR
, DWORD
, HWND
, LPRASEAPUSERIDENTITYA
*);
896 VOID APIENTRY
RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW
);
897 VOID APIENTRY
RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA
);
898 #endif /* (WINVER >= 0x500) */
901 /* UNICODE defines for functions */
903 #define RasDial RasDialW
904 #define RasEnumConnections RasEnumConnectionsW
905 #define RasEnumEntries RasEnumEntriesW
906 #define RasGetConnectStatus RasGetConnectStatusW
907 #define RasGetErrorString RasGetErrorStringW
908 #define RasHangUp RasHangUpW
909 #define RasGetProjectionInfo RasGetProjectionInfoW
910 #define RasCreatePhonebookEntry RasCreatePhonebookEntryW
911 #define RasEditPhonebookEntry RasEditPhonebookEntryW
912 #define RasSetEntryDialParams RasSetEntryDialParamsW
913 #define RasGetEntryDialParams RasGetEntryDialParamsW
914 #define RasEnumDevices RasEnumDevicesW
915 #define RasGetCountryInfo RasGetCountryInfoW
916 #define RasGetEntryProperties RasGetEntryPropertiesW
917 #define RasSetEntryProperties RasSetEntryPropertiesW
918 #define RasRenameEntry RasRenameEntryW
919 #define RasDeleteEntry RasDeleteEntryW
920 #define RasValidateEntryName RasValidateEntryNameW
921 #if (WINVER >= 0x401)
922 #define RASADFUNC RASADFUNCW
923 #define RasGetSubEntryHandle RasGetSubEntryHandleW
924 #define RasConnectionNotification RasConnectionNotificationW
925 #define RasGetSubEntryProperties RasGetSubEntryPropertiesW
926 #define RasSetSubEntryProperties RasSetSubEntryPropertiesW
927 #define RasGetCredentials RasGetCredentialsW
928 #define RasSetCredentials RasSetCredentialsW
929 #define RasGetAutodialAddress RasGetAutodialAddressW
930 #define RasSetAutodialAddress RasSetAutodialAddressW
931 #define RasEnumAutodialAddresses RasEnumAutodialAddressesW
932 #define RasGetAutodialEnable RasGetAutodialEnableW
933 #define RasSetAutodialEnable RasSetAutodialEnableW
934 #define RasGetAutodialParam RasGetAutodialParamW
935 #define RasSetAutodialParam RasSetAutodialParamW
936 #endif /* (WINVER >= 0x401) */
937 #if (WINVER >= 0x500)
938 #define RasGetEapUserData RasGetEapUserDataW
939 #define RasSetEapUserData RasSetEapUserDataW
940 #define RasGetCustomAuthData RasGetCustomAuthDataW
941 #define RasSetCustomAuthData RasSetCustomAuthDataW
942 #define RasGetEapUserIdentity RasGetEapUserIdentityW
943 #define RasFreeEapUserIdentity RasFreeEapUserIdentityW
944 #endif /* (WINVER >= 0x500) */
946 #else /* ! defined UNICODE */
947 #define RasDial RasDialA
948 #define RasEnumConnections RasEnumConnectionsA
949 #define RasEnumEntries RasEnumEntriesA
950 #define RasGetConnectStatus RasGetConnectStatusA
951 #define RasGetErrorString RasGetErrorStringA
952 #define RasHangUp RasHangUpA
953 #define RasGetProjectionInfo RasGetProjectionInfoA
954 #define RasCreatePhonebookEntry RasCreatePhonebookEntryA
955 #define RasEditPhonebookEntry RasEditPhonebookEntryA
956 #define RasSetEntryDialParams RasSetEntryDialParamsA
957 #define RasGetEntryDialParams RasGetEntryDialParamsA
958 #define RasEnumDevices RasEnumDevicesA
959 #define RasGetCountryInfo RasGetCountryInfoA
960 #define RasGetEntryProperties RasGetEntryPropertiesA
961 #define RasSetEntryProperties RasSetEntryPropertiesA
962 #define RasRenameEntry RasRenameEntryA
963 #define RasDeleteEntry RasDeleteEntryA
964 #define RasValidateEntryName RasValidateEntryNameA
966 #if (WINVER >= 0x401)
967 #define RASADFUNC RASADFUNCA
968 #define RasGetSubEntryHandle RasGetSubEntryHandleA
969 #define RasConnectionNotification RasConnectionNotificationA
970 #define RasGetSubEntryProperties RasGetSubEntryPropertiesA
971 #define RasSetSubEntryProperties RasSetSubEntryPropertiesA
972 #define RasGetCredentials RasGetCredentialsA
973 #define RasSetCredentials RasSetCredentialsA
974 #define RasGetAutodialAddress RasGetAutodialAddressA
975 #define RasSetAutodialAddress RasSetAutodialAddressA
976 #define RasEnumAutodialAddressesRasEnumAutodialAddressesA
977 #define RasGetAutodialEnable RasGetAutodialEnableA
978 #define RasSetAutodialEnable RasSetAutodialEnableA
979 #define RasGetAutodialParam RasGetAutodialParamA
980 #define RasSetAutodialParam RasSetAutodialParamA
981 #endif /*(WINVER >= 0x401)*/
983 #if (WINVER >= 0x500)
984 #define RasGetEapUserData RasGetEapUserDataA
985 #define RasSetEapUserData RasSetEapUserDataA
986 #define RasGetCustomAuthData RasGetCustomAuthDataA
987 #define RasSetCustomAuthData RasSetCustomAuthDataA
988 #define RasGetEapUserIdentity RasGetEapUserIdentityA
989 #define RasFreeEapUserIdentity RasFreeEapUserIdentityA
990 #endif /* (WINVER >= 0x500) */
991 #endif /* ! UNICODE */