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 RDEOPT_UsePrefixSuffix 0x00000001
39 #define RDEOPT_PausedStates 0x00000002
40 #define RDEOPT_IgnoreModemSpeaker 0x00000004
41 #define RDEOPT_SetModemSpeaker 0x00000008
42 #define RDEOPT_IgnoreSoftwareCompression 0x00000010
43 #define RDEOPT_SetSoftwareCompression 0x00000020
44 #define RDEOPT_DisableConnectedUI 0x00000040
45 #define RDEOPT_DisableReconnectUI 0x00000080
46 #define RDEOPT_DisableReconnect 0x00000100
47 #define RDEOPT_NoUser 0x00000200
48 #define RDEOPT_PauseOnScript 0x00000400
49 #define RDEOPT_Router 0x00000800
50 #define REN_User 0x00000000
51 #define REN_AllUsers 0x00000001
54 #define VS_PptpFirst 2
56 #define VS_L2tpFirst 4
57 #define RASDIALEVENT "RasDialEvent"
58 #define WM_RASDIALEVENT 0xCCCD
59 #define RASEO_UseCountryAndAreaCodes 0x00000001
60 #define RASEO_SpecificIpAddr 0x00000002
61 #define RASEO_SpecificNameServers 0x00000004
62 #define RASEO_IpHeaderCompression 0x00000008
63 #define RASEO_RemoteDefaultGateway 0x00000010
64 #define RASEO_DisableLcpExtensions 0x00000020
65 #define RASEO_TerminalBeforeDial 0x00000040
66 #define RASEO_TerminalAfterDial 0x00000080
67 #define RASEO_ModemLights 0x00000100
68 #define RASEO_SwCompression 0x00000200
69 #define RASEO_RequireEncryptedPw 0x00000400
70 #define RASEO_RequireMsEncryptedPw 0x00000800
71 #define RASEO_RequireDataEncryption 0x00001000
72 #define RASEO_NetworkLogon 0x00002000
73 #define RASEO_UseLogonCredentials 0x00004000
74 #define RASEO_PromoteAlternates 0x00008000
75 #define RASNP_NetBEUI 0x00000001
76 #define RASNP_Ipx 0x00000002
77 #define RASNP_Ip 0x00000004
78 #define RASFP_Ppp 0x00000001
79 #define RASFP_Slip 0x00000002
80 #define RASFP_Ras 0x00000004
81 #define RASDT_Modem TEXT("modem")
82 #define RASDT_Isdn TEXT("isdn")
83 #define RASDT_X25 TEXT("x25")
84 #define RASDT_Vpn TEXT("vpn")
85 #define RASDT_Pad TEXT("pad")
86 #define RASDT_Generic TEXT("GENERIC")
87 #define RASDT_Serial TEXT("SERIAL")
88 #define RASDT_FrameRelay TEXT("FRAMERELAY")
89 #define RASDT_Atm TEXT("ATM")
90 #define RASDT_Sonet TEXT("SONET")
91 #define RASDT_SW56 TEXT("SW56")
92 #define RASDT_Irda TEXT("IRDA")
93 #define RASDT_Parallel TEXT("PARALLEL")
96 #define RASET_Direct 3
97 #define RASET_Internet 4
99 #define RASEO_SecureLocalFiles 0x00010000
100 #define RASCN_Connection 0x00000001
101 #define RASCN_Disconnection 0x00000002
102 #define RASCN_BandwidthAdded 0x00000004
103 #define RASCN_BandwidthRemoved 0x00000008
104 #define RASEDM_DialAll 1
105 #define RASEDM_DialAsNeeded 2
106 #define RASIDS_Disabled 0xffffffff
107 #define RASIDS_UseGlobalValue 0
108 #define RASADFLG_PositionDlg 0x00000001
109 #define RASCM_UserName 0x00000001
110 #define RASCM_Password 0x00000002
111 #define RASCM_Domain 0x00000004
112 #define RASADP_DisableConnectionQuery 0
113 #define RASADP_LoginSessionDisable 1
114 #define RASADP_SavedAddressesLimit 2
115 #define RASADP_FailedConnectionTimeout 3
116 #define RASADP_ConnectionQueryTimeout 4
117 #endif /* (WINVER >= 0x401) */
118 #if (WINVER >= 0x500)
119 #define RDEOPT_CustomDial 0x00001000
120 #define RASLCPAP_PAP 0xC023
121 #define RASLCPAP_SPAP 0xC027
122 #define RASLCPAP_CHAP 0xC223
123 #define RASLCPAP_EAP 0xC227
124 #define RASLCPAD_CHAP_MD5 0x05
125 #define RASLCPAD_CHAP_MS 0x80
126 #define RASLCPAD_CHAP_MSV2 0x81
127 #define RASLCPO_PFC 0x00000001
128 #define RASLCPO_ACFC 0x00000002
129 #define RASLCPO_SSHF 0x00000004
130 #define RASLCPO_DES_56 0x00000008
131 #define RASLCPO_3_DES 0x00000010
132 #define RASCCPCA_MPPC 0x00000006
133 #define RASCCPCA_STAC 0x00000005
134 #define RASCCPO_Compression 0x00000001
135 #define RASCCPO_HistoryLess 0x00000002
136 #define RASCCPO_Encryption56bit 0x00000010
137 #define RASCCPO_Encryption40bit 0x00000020
138 #define RASCCPO_Encryption128bit 0x00000040
139 #define RASEO_RequireEAP 0x00020000
140 #define RASEO_RequirePAP 0x00040000
141 #define RASEO_RequireSPAP 0x00080000
142 #define RASEO_Custom 0x00100000
143 #define RASEO_PreviewPhoneNumber 0x00200000
144 #define RASEO_SharedPhoneNumbers 0x00800000
145 #define RASEO_PreviewUserPw 0x01000000
146 #define RASEO_PreviewDomain 0x02000000
147 #define RASEO_ShowDialingProgress 0x04000000
148 #define RASEO_RequireCHAP 0x08000000
149 #define RASEO_RequireMsCHAP 0x10000000
150 #define RASEO_RequireMsCHAP2 0x20000000
151 #define RASEO_RequireW95MSCHAP 0x40000000
152 #define RASEO_CustomScript 0x80000000
153 #define RASIPO_VJ 0x00000001
154 #define RCD_SingleUser 0
155 #define RCD_AllUsers 0x00000001
156 #define RCD_Eap 0x00000002
157 #define RASEAPF_NonInteractive 0x00000002
158 #define RASEAPF_Logon 0x00000004
159 #define RASEAPF_Preview 0x00000008
164 #define ET_RequireMax 2
165 #define ET_Optional 3
166 #endif /* (WINVER >= 0x500) */
168 #define RASCS_PAUSED 0x1000
169 #define RASCS_DONE 0x2000
170 typedef enum tagRASCONNSTATE
{
174 RASCS_DeviceConnected
,
175 RASCS_AllDevicesConnected
,
180 RASCS_AuthChangePassword
,
184 RASCS_ReAuthenticate
,
186 RASCS_PrepareForCallback
,
187 RASCS_WaitForModemReset
,
188 RASCS_WaitForCallback
,
190 RASCS_StartAuthentication
,
191 RASCS_CallbackComplete
,
193 RASCS_SubEntryConnected
,
194 RASCS_SubEntryDisconnected
,
195 RASCS_Interactive
= RASCS_PAUSED
,
196 RASCS_RetryAuthentication
,
197 RASCS_CallbackSetByCaller
,
198 RASCS_PasswordExpired
,
199 #if (WINVER >= 0x500)
202 RASCS_Connected
= RASCS_DONE
,
204 } RASCONNSTATE
, *LPRASCONNSTATE
;
206 typedef enum tagRASPROJECTION
{
208 RASP_PppNbf
= 0x803F,
209 RASP_PppIpx
= 0x802B,
211 #if (WINVER >= 0x500)
212 RASP_PppCcp
= 0x80FD,
214 RASP_PppLcp
= 0xC021,
216 } RASPROJECTION
, *LPRASPROJECTION
;
218 DECLARE_HANDLE (HRASCONN
);
219 typedef HRASCONN
* LPHRASCONN
;
221 typedef struct tagRASCONNW
{
224 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
225 #if (WINVER >= 0x400)
226 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
227 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
229 #if (WINVER >= 0x401)
230 WCHAR szPhonebook
[MAX_PATH
];
233 #if (WINVER >= 0x500)
236 #if (WINVER >= 0x501)
241 } RASCONNW
, *LPRASCONNW
;
243 typedef struct tagRASCONNA
{
246 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
247 #if (WINVER >= 0x400)
248 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
249 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
251 #if (WINVER >= 0x401)
252 CHAR szPhonebook
[MAX_PATH
];
255 #if (WINVER >= 0x500)
258 #if (WINVER >= 0x501)
263 } RASCONNA
, *LPRASCONNA
;
265 typedef struct tagRASCONNSTATUSW
{
267 RASCONNSTATE rasconnstate
;
269 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
270 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
271 #if (WINVER >= 0x401)
272 WCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
274 } RASCONNSTATUSW
, *LPRASCONNSTATUSW
;
276 typedef struct tagRASCONNSTATUSA
{
278 RASCONNSTATE rasconnstate
;
280 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
281 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
282 #if (WINVER >= 0x401)
283 CHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
285 } RASCONNSTATUSA
, *LPRASCONNSTATUSA
;
287 typedef struct tagRASDIALPARAMSW
{
289 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
290 WCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
291 WCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
292 WCHAR szUserName
[UNLEN
+ 1];
293 WCHAR szPassword
[PWLEN
+ 1];
294 WCHAR szDomain
[DNLEN
+ 1];
295 #if (WINVER >= 0x401)
297 ULONG_PTR dwCallbackId
;
299 } RASDIALPARAMSW
, *LPRASDIALPARAMSW
;
301 typedef struct tagRASDIALPARAMSA
{
303 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
304 CHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
305 CHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
306 CHAR szUserName
[UNLEN
+ 1];
307 CHAR szPassword
[PWLEN
+ 1];
308 CHAR szDomain
[DNLEN
+ 1];
309 #if (WINVER >= 0x401)
311 ULONG_PTR dwCallbackId
;
313 } RASDIALPARAMSA
, *LPRASDIALPARAMSA
;
315 #if (WINVER >= 0x500)
316 typedef struct tagRASEAPINFO
{
317 DWORD dwSizeofEapInfo
;
322 typedef struct tagRASDIALEXTENSIONS
{
327 #if (WINVER >= 0x500)
329 RASEAPINFO RasEapInfo
;
331 } RASDIALEXTENSIONS
, *LPRASDIALEXTENSIONS
;
333 typedef struct tagRASENTRYNAMEW
{
335 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
336 #if (WINVER >= 0x500)
338 WCHAR szPhonebookPath
[MAX_PATH
+ 1];
340 } RASENTRYNAMEW
, *LPRASENTRYNAMEW
;
342 typedef struct tagRASENTRYNAMEA
{
344 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
345 #if (WINVER >= 0x500)
347 CHAR szPhonebookPath
[MAX_PATH
+ 1];
349 } RASENTRYNAMEA
, *LPRASENTRYNAMEA
;
351 typedef struct tagRASAMBW
{
354 WCHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
356 } RASAMBW
, *LPRASAMBW
;
358 typedef struct tagRASAMBA
{
361 CHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
363 } RASAMBA
, *LPRASAMBA
;
365 typedef struct tagRASPPPNBFW
{
368 DWORD dwNetBiosError
;
369 WCHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
370 WCHAR szWorkstationName
[NETBIOS_NAME_LEN
+ 1];
372 } RASPPPNBFW
, *LPRASPPPNBFW
;
374 typedef struct tagRASPPPNBFA
{
377 DWORD dwNetBiosError
;
378 CHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
379 CHAR szWorkstationName
[NETBIOS_NAME_LEN
+ 1];
381 } RASPPPNBFA
, *LPRASPPPNBFA
;
383 typedef struct tagRASIPXW
{
386 WCHAR szIpxAddress
[RAS_MaxIpxAddress
+ 1];
387 } RASPPPIPXW
, *LPRASPPPIPXW
;
389 typedef struct tagRASIPXA
{
392 CHAR szIpxAddress
[RAS_MaxIpxAddress
+ 1];
393 } RASPPPIPXA
, *LPRASPPPIPXA
;
395 typedef struct tagRASPPPIPW
{
398 WCHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
399 #ifndef WINNT35COMPATIBLE
400 WCHAR szServerIpAddress
[RAS_MaxIpAddress
+ 1];
402 #if (WINVER >= 0x500)
404 DWORD dwServerOptions
;
406 } RASPPPIPW
, *LPRASPPPIPW
;
408 typedef struct tagRASPPPIPA
{
411 CHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
412 #ifndef WINNT35COMPATIBLE
413 CHAR szServerIpAddress
[RAS_MaxIpAddress
+ 1];
415 #if (WINVER >= 0x500)
417 DWORD dwServerOptions
;
419 } RASPPPIPA
, *LPRASPPPIPA
;
421 typedef struct tagRASPPPLCPW
{
424 #if (WINVER >= 0x500)
426 DWORD dwAuthenticationProtocol
;
427 DWORD dwAuthenticationData
;
429 DWORD dwServerAuthenticationProtocol
;
430 DWORD dwServerAuthenticationData
;
431 DWORD dwServerEapTypeId
;
433 DWORD dwTerminateReason
;
434 DWORD dwServerTerminateReason
;
435 WCHAR szReplyMessage
[RAS_MaxReplyMessage
];
437 DWORD dwServerOptions
;
439 } RASPPPLCPW
, *LPRASPPPLCPW
;
441 typedef struct tagRASPPPLCPA
{
444 #if (WINVER >= 0x500)
446 DWORD dwAuthenticationProtocol
;
447 DWORD dwAuthenticationData
;
449 DWORD dwServerAuthenticationProtocol
;
450 DWORD dwServerAuthenticationData
;
451 DWORD dwServerEapTypeId
;
453 DWORD dwTerminateReason
;
454 DWORD dwServerTerminateReason
;
455 CHAR szReplyMessage
[RAS_MaxReplyMessage
];
457 DWORD dwServerOptions
;
459 } RASPPPLCPA
, *LPRASPPPLCPA
;
461 typedef struct tagRASSLIPW
{
464 WCHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
465 } RASSLIPW
, *LPRASSLIPW
;
468 typedef struct tagRASSLIPA
{
471 CHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
472 } RASSLIPA
, *LPRASSLIPA
;
474 typedef struct tagRASDEVINFOW
{
476 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
477 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
478 } RASDEVINFOW
, *LPRASDEVINFOW
;
480 typedef struct tagRASDEVINFOA
{
482 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
483 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
484 } RASDEVINFOA
, *LPRASDEVINFOA
;
486 typedef struct tagRASCTRYINFO
{
489 DWORD dwNextCountryID
;
491 DWORD dwCountryNameOffset
;
492 } RASCTRYINFO
, *LPRASCTRYINFO
;
494 typedef RASCTRYINFO RASCTRYINFOW
, *LPRASCTRYINFOW
;
495 typedef RASCTRYINFO RASCTRYINFOA
, *LPRASCTRYINFOA
;
497 typedef struct tagRASIPADDR
{
504 typedef struct tagRASENTRYW
{
509 WCHAR szAreaCode
[RAS_MaxAreaCode
+ 1];
510 WCHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
511 DWORD dwAlternateOffset
;
514 RASIPADDR ipaddrDnsAlt
;
515 RASIPADDR ipaddrWins
;
516 RASIPADDR ipaddrWinsAlt
;
518 DWORD dwfNetProtocols
;
519 DWORD dwFramingProtocol
;
520 WCHAR szScript
[MAX_PATH
];
521 WCHAR szAutodialDll
[MAX_PATH
];
522 WCHAR szAutodialFunc
[MAX_PATH
];
523 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
524 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
525 WCHAR szX25PadType
[RAS_MaxPadType
+ 1];
526 WCHAR szX25Address
[RAS_MaxX25Address
+ 1];
527 WCHAR szX25Facilities
[RAS_MaxFacilities
+ 1];
528 WCHAR szX25UserData
[RAS_MaxUserData
+ 1];
532 #if (WINVER >= 0x401)
535 DWORD dwDialExtraPercent
;
536 DWORD dwDialExtraSampleSeconds
;
537 DWORD dwHangUpExtraPercent
;
538 DWORD dwHangUpExtraSampleSeconds
;
539 DWORD dwIdleDisconnectSeconds
;
541 #if (WINVER >= 0x500)
543 DWORD dwEncryptionType
;
544 DWORD dwCustomAuthKey
;
546 WCHAR szCustomDialDll
[MAX_PATH
];
549 } RASENTRYW
, *LPRASENTRYW
;
551 typedef struct tagRASENTRYA
{
556 CHAR szAreaCode
[RAS_MaxAreaCode
+ 1];
557 CHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
558 DWORD dwAlternateOffset
;
561 RASIPADDR ipaddrDnsAlt
;
562 RASIPADDR ipaddrWins
;
563 RASIPADDR ipaddrWinsAlt
;
565 DWORD dwfNetProtocols
;
566 DWORD dwFramingProtocol
;
567 CHAR szScript
[MAX_PATH
];
568 CHAR szAutodialDll
[MAX_PATH
];
569 CHAR szAutodialFunc
[MAX_PATH
];
570 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
571 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
572 CHAR szX25PadType
[RAS_MaxPadType
+ 1];
573 CHAR szX25Address
[RAS_MaxX25Address
+ 1];
574 CHAR szX25Facilities
[RAS_MaxFacilities
+ 1];
575 CHAR szX25UserData
[RAS_MaxUserData
+ 1];
579 #if (WINVER >= 0x401)
582 DWORD dwDialExtraPercent
;
583 DWORD dwDialExtraSampleSeconds
;
584 DWORD dwHangUpExtraPercent
;
585 DWORD dwHangUpExtraSampleSeconds
;
586 DWORD dwIdleDisconnectSeconds
;
588 #if (WINVER >= 0x500)
590 DWORD dwEncryptionType
;
591 DWORD dwCustomAuthKey
;
593 CHAR szCustomDialDll
[MAX_PATH
];
596 } RASENTRYA
, *LPRASENTRYA
;
599 #if (WINVER >= 0x401)
600 typedef struct tagRASADPARAMS
{
606 } RASADPARAMS
, *LPRASADPARAMS
;
608 typedef struct tagRASSUBENTRYW
{
611 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
612 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
613 WCHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
614 DWORD dwAlternateOffset
;
615 } RASSUBENTRYW
, *LPRASSUBENTRYW
;
617 typedef struct tagRASSUBENTRYA
{
620 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
621 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
622 CHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
623 DWORD dwAlternateOffset
;
624 } RASSUBENTRYA
, *LPRASSUBENTRYA
;
626 typedef struct tagRASCREDENTIALSW
{
629 WCHAR szUserName
[UNLEN
+ 1];
630 WCHAR szPassword
[PWLEN
+ 1];
631 WCHAR szDomain
[DNLEN
+ 1];
632 } RASCREDENTIALSW
, *LPRASCREDENTIALSW
;
634 typedef struct tagRASCREDENTIALSA
{
637 CHAR szUserName
[UNLEN
+ 1];
638 CHAR szPassword
[PWLEN
+ 1];
639 CHAR szDomain
[DNLEN
+ 1];
640 } RASCREDENTIALSA
, *LPRASCREDENTIALSA
;
642 typedef struct tagRASAUTODIALENTRYW
{
645 DWORD dwDialingLocation
;
646 WCHAR szEntry
[RAS_MaxEntryName
+ 1];
647 } RASAUTODIALENTRYW
, *LPRASAUTODIALENTRYW
;
649 typedef struct tagRASAUTODIALENTRYA
{
652 DWORD dwDialingLocation
;
653 CHAR szEntry
[RAS_MaxEntryName
+ 1];
654 } RASAUTODIALENTRYA
, *LPRASAUTODIALENTRYA
;
655 #endif /* (WINVER >= 0x401) */
657 #if (WINVER >= 0x500)
658 typedef struct tagRASPPPCCP
{
661 DWORD dwCompressionAlgorithm
;
663 DWORD dwServerCompressionAlgorithm
;
664 DWORD dwServerOptions
;
665 } RASPPPCCP
, *LPRASPPPCCP
;
667 typedef struct tagRASEAPUSERIDENTITYW
{
668 WCHAR szUserName
[UNLEN
+ 1];
669 DWORD dwSizeofEapInfo
;
671 } RASEAPUSERIDENTITYW
, *LPRASEAPUSERIDENTITYW
;
673 typedef struct tagRASEAPUSERIDENTITYA
{
674 CHAR szUserName
[UNLEN
+ 1];
675 DWORD dwSizeofEapInfo
;
677 } RASEAPUSERIDENTITYA
, *LPRASEAPUSERIDENTITYA
;
679 typedef struct tagRAS_STATS
{
683 DWORD dwFramesXmited
;
687 DWORD dwAlignmentErr
;
688 DWORD dwHardwareOverrunErr
;
690 DWORD dwBufferOverrunErr
;
691 DWORD dwCompressionRatioIn
;
692 DWORD dwCompressionRatioOut
;
694 DWORD dwConnectDuration
;
695 } RAS_STATS
, *PRAS_STATS
;
696 #endif /* (WINVER >= 0x500) */
699 /* UNICODE typedefs for structures*/
701 typedef RASCONNW RASCONN
, *LPRASCONN
;
702 typedef RASENTRYW RASENTRY
, *LPRASENTRY
;
703 typedef RASCONNSTATUSW RASCONNSTATUS
, *LPRASCONNSTATUS
;
704 typedef RASDIALPARAMSW RASDIALPARAMS
, *LPRASDIALPARAMS
;
705 typedef RASAMBW RASAMB
, *LPRASAM
;
706 typedef RASPPPNBFW RASPPPNBF
, *LPRASPPPNBF
;
707 typedef RASPPPIPXW RASPPPIPX
, *LPRASPPPIPX
;
708 typedef RASPPPIPW RASPPPIP
, *LPRASPPPIP
;
709 typedef RASPPPLCPW RASPPPLCP
, *LPRASPPPLCP
;
710 typedef RASSLIPW RASSLIP
, *LPRASSLIP
;
711 typedef RASDEVINFOW RASDEVINFO
, *LPRASDEVINFO
;
712 typedef RASENTRYNAMEW RASENTRYNAME
, *LPRASENTRYNAME
;
714 #if (WINVER >= 0x401)
715 typedef RASSUBENTRYW RASSUBENTRY
, *LPRASSUBENTRY
;
716 typedef RASCREDENTIALSW RASCREDENTIALS
, *LPRASCREDENTIALS
;
717 typedef RASAUTODIALENTRYW RASAUTODIALENTRY
, *LPRASAUTODIALENTRY
;
718 #endif /* (WINVER >= 0x401) */
720 #if (WINVER >= 0x500)
721 typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY
, *LPRASEAPUSERIDENTITY
;
722 #endif /* (WINVER >= 0x500) */
724 #else /* ! defined UNICODE */
725 typedef RASCONNA RASCONN
, *LPRASCONN
;
726 typedef RASENTRYA RASENTRY
, *LPRASENTRY
;
727 typedef RASCONNSTATUSA RASCONNSTATUS
, *LPRASCONNSTATUS
;
728 typedef RASDIALPARAMSA RASDIALPARAMS
, *LPRASDIALPARAMS
;
729 typedef RASAMBA RASAMB
, *LPRASAM
;
730 typedef RASPPPNBFA RASPPPNBF
, *LPRASPPPNBF
;
731 typedef RASPPPIPXA RASPPPIPX
, *LPRASPPPIPX
;
732 typedef RASPPPIPA RASPPPIP
, *LPRASPPPIP
;
733 typedef RASPPPLCPA RASPPPLCP
, *LPRASPPPLCP
;
734 typedef RASSLIPA RASSLIP
, *LPRASSLIP
;
735 typedef RASDEVINFOA RASDEVINFO
, *LPRASDEVINFO
;
736 typedef RASENTRYNAMEA RASENTRYNAME
, *LPRASENTRYNAME
;
738 #if (WINVER >= 0x401)
739 typedef RASSUBENTRYA RASSUBENTRY
, *LPRASSUBENTRY
;
740 typedef RASCREDENTIALSA RASCREDENTIALS
, *LPRASCREDENTIALS
;
741 typedef RASAUTODIALENTRYA RASAUTODIALENTRY
, *LPRASAUTODIALENTRY
;
742 #endif /*(WINVER >= 0x401)*/
743 #if (WINVER >= 0x500)
744 typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY
, *LPRASEAPUSERIDENTITY
;
745 #endif /* (WINVER >= 0x500) */
746 #endif /* ! UNICODE */
748 /* Callback prototypes */
749 typedef BOOL (WINAPI
* ORASADFUNC
) (HWND
, LPSTR
, DWORD
, LPDWORD
); /* deprecated */
750 typedef VOID (WINAPI
* RASDIALFUNC
) (UINT
, RASCONNSTATE
, DWORD
);
751 typedef VOID (WINAPI
* RASDIALFUNC1
) (HRASCONN
, UINT
, RASCONNSTATE
, DWORD
,
753 typedef DWORD (WINAPI
* RASDIALFUNC2
) (ULONG_PTR
, DWORD
, HRASCONN
, UINT
,
754 RASCONNSTATE
, DWORD
, DWORD
);
756 /* External functions */
757 DWORD APIENTRY
RasDialA (LPRASDIALEXTENSIONS
, LPCSTR
, LPRASDIALPARAMSA
,
758 DWORD
, LPVOID
, LPHRASCONN
);
759 DWORD APIENTRY
RasDialW (LPRASDIALEXTENSIONS
, LPCWSTR
, LPRASDIALPARAMSW
,
760 DWORD
, LPVOID
, LPHRASCONN
);
761 DWORD APIENTRY
RasEnumConnectionsA (LPRASCONNA
, LPDWORD
, LPDWORD
);
762 DWORD APIENTRY
RasEnumConnectionsW (LPRASCONNW
, LPDWORD
, LPDWORD
);
763 DWORD APIENTRY
RasEnumEntriesA (LPCSTR
, LPCSTR
, LPRASENTRYNAMEA
, LPDWORD
,
765 DWORD APIENTRY
RasEnumEntriesW (LPCWSTR
, LPCWSTR
, LPRASENTRYNAMEW
, LPDWORD
,
767 DWORD APIENTRY
RasGetConnectStatusA (HRASCONN
, LPRASCONNSTATUSA
);
768 DWORD APIENTRY
RasGetConnectStatusW (HRASCONN
, LPRASCONNSTATUSW
);
769 DWORD APIENTRY
RasGetErrorStringA (UINT
, LPSTR
, DWORD
);
770 DWORD APIENTRY
RasGetErrorStringW (UINT
, LPWSTR
, DWORD
);
771 DWORD APIENTRY
RasHangUpA (HRASCONN
);
772 DWORD APIENTRY
RasHangUpW (HRASCONN
);
773 DWORD APIENTRY
RasGetProjectionInfoA (HRASCONN
, RASPROJECTION
, LPVOID
,
775 DWORD APIENTRY
RasGetProjectionInfoW (HRASCONN
, RASPROJECTION
, LPVOID
,
777 DWORD APIENTRY
RasCreatePhonebookEntryA (HWND
, LPCSTR
);
778 DWORD APIENTRY
RasCreatePhonebookEntryW (HWND
, LPCWSTR
);
779 DWORD APIENTRY
RasEditPhonebookEntryA (HWND
, LPCSTR
, LPCSTR
);
780 DWORD APIENTRY
RasEditPhonebookEntryW (HWND
, LPCWSTR
, LPCWSTR
);
781 DWORD APIENTRY
RasSetEntryDialParamsA (LPCSTR
, LPRASDIALPARAMSA
, BOOL
);
782 DWORD APIENTRY
RasSetEntryDialParamsW (LPCWSTR
, LPRASDIALPARAMSW
, BOOL
);
783 DWORD APIENTRY
RasGetEntryDialParamsA (LPCSTR
, LPRASDIALPARAMSA
, LPBOOL
);
784 DWORD APIENTRY
RasGetEntryDialParamsW (LPCWSTR
, LPRASDIALPARAMSW
, LPBOOL
);
785 DWORD APIENTRY
RasEnumDevicesA (LPRASDEVINFOA
, LPDWORD
, LPDWORD
);
786 DWORD APIENTRY
RasEnumDevicesW (LPRASDEVINFOW
, LPDWORD
, LPDWORD
);
787 DWORD APIENTRY
RasGetCountryInfoA (LPRASCTRYINFOA
, LPDWORD
);
788 DWORD APIENTRY
RasGetCountryInfoW (LPRASCTRYINFOW
, LPDWORD
);
789 DWORD APIENTRY
RasGetEntryPropertiesA (LPCSTR
, LPCSTR
, LPRASENTRYA
, LPDWORD
,
791 DWORD APIENTRY
RasGetEntryPropertiesW (LPCWSTR
, LPCWSTR
, LPRASENTRYW
,
792 LPDWORD
, LPBYTE
, LPDWORD
);
793 DWORD APIENTRY
RasSetEntryPropertiesA (LPCSTR
, LPCSTR
, LPRASENTRYA
, DWORD
,
795 DWORD APIENTRY
RasSetEntryPropertiesW (LPCWSTR
, LPCWSTR
, LPRASENTRYW
, DWORD
,
797 DWORD APIENTRY
RasRenameEntryA (LPCSTR
, LPCSTR
, LPCSTR
);
798 DWORD APIENTRY
RasRenameEntryW (LPCWSTR
, LPCWSTR
, LPCWSTR
);
799 DWORD APIENTRY
RasDeleteEntryA (LPCSTR
, LPCSTR
);
800 DWORD APIENTRY
RasDeleteEntryW (LPCWSTR
, LPCWSTR
);
801 DWORD APIENTRY
RasValidateEntryNameA (LPCSTR
, LPCSTR
);
802 DWORD APIENTRY
RasValidateEntryNameW (LPCWSTR
, LPCWSTR
);
804 #if (WINVER >= 0x401)
805 typedef BOOL (WINAPI
* RASADFUNCA
) (LPSTR
, LPSTR
, LPRASADPARAMS
, LPDWORD
);
806 typedef BOOL (WINAPI
* RASADFUNCW
) (LPWSTR
, LPWSTR
, LPRASADPARAMS
, LPDWORD
);
808 DWORD APIENTRY
RasGetSubEntryHandleA (HRASCONN
, DWORD
, LPHRASCONN
);
809 DWORD APIENTRY
RasGetSubEntryHandleW (HRASCONN
, DWORD
, LPHRASCONN
);
810 DWORD APIENTRY
RasGetCredentialsA (LPCSTR
, LPCSTR
, LPRASCREDENTIALSA
);
811 DWORD APIENTRY
RasGetCredentialsW (LPCWSTR
, LPCWSTR
, LPRASCREDENTIALSW
);
812 DWORD APIENTRY
RasSetCredentialsA (LPCSTR
, LPCSTR
, LPRASCREDENTIALSA
, BOOL
);
813 DWORD APIENTRY
RasSetCredentialsW (LPCWSTR
, LPCWSTR
, LPRASCREDENTIALSW
, BOOL
);
814 DWORD APIENTRY
RasConnectionNotificationA (HRASCONN
, HANDLE
, DWORD
);
815 DWORD APIENTRY
RasConnectionNotificationW (HRASCONN
, HANDLE
, DWORD
);
816 DWORD APIENTRY
RasGetSubEntryPropertiesA (LPCSTR
, LPCSTR
, DWORD
,
817 LPRASSUBENTRYA
, LPDWORD
, LPBYTE
, LPDWORD
);
818 DWORD APIENTRY
RasGetSubEntryPropertiesW (LPCWSTR
, LPCWSTR
, DWORD
,
819 LPRASSUBENTRYW
, LPDWORD
, LPBYTE
, LPDWORD
);
820 DWORD APIENTRY
RasSetSubEntryPropertiesA (LPCSTR
, LPCSTR
, DWORD
,
821 LPRASSUBENTRYA
, DWORD
, LPBYTE
, DWORD
);
822 DWORD APIENTRY
RasSetSubEntryPropertiesW (LPCWSTR
, LPCWSTR
, DWORD
,
823 LPRASSUBENTRYW
, DWORD
, LPBYTE
, DWORD
);
824 DWORD APIENTRY
RasGetAutodialAddressA (LPCSTR
, LPDWORD
, LPRASAUTODIALENTRYA
,
826 DWORD APIENTRY
RasGetAutodialAddressW (LPCWSTR
, LPDWORD
,
827 LPRASAUTODIALENTRYW
, LPDWORD
, LPDWORD
);
828 DWORD APIENTRY
RasSetAutodialAddressA (LPCSTR
, DWORD
, LPRASAUTODIALENTRYA
,
830 DWORD APIENTRY
RasSetAutodialAddressW (LPCWSTR
, DWORD
, LPRASAUTODIALENTRYW
,
832 DWORD APIENTRY
RasEnumAutodialAddressesA (LPSTR
*, LPDWORD
, LPDWORD
);
833 DWORD APIENTRY
RasEnumAutodialAddressesW (LPWSTR
*, LPDWORD
, LPDWORD
);
834 DWORD APIENTRY
RasGetAutodialEnableA (DWORD
, LPBOOL
);
835 DWORD APIENTRY
RasGetAutodialEnableW (DWORD
, LPBOOL
);
836 DWORD APIENTRY
RasSetAutodialEnableA (DWORD
, BOOL
);
837 DWORD APIENTRY
RasSetAutodialEnableW (DWORD
, BOOL
);
838 DWORD APIENTRY
RasGetAutodialParamA (DWORD
, LPVOID
, LPDWORD
);
839 DWORD APIENTRY
RasGetAutodialParamW (DWORD
, LPVOID
, LPDWORD
);
840 DWORD APIENTRY
RasSetAutodialParamA (DWORD
, LPVOID
, DWORD
);
841 DWORD APIENTRY
RasSetAutodialParamW (DWORD
, LPVOID
, DWORD
);
844 #if (WINVER >= 0x500)
845 typedef DWORD (WINAPI
* RasCustomHangUpFn
) (HRASCONN
);
846 typedef DWORD (WINAPI
* RasCustomDeleteEntryNotifyFn
) (LPCTSTR
, LPCTSTR
, DWORD
);
847 typedef DWORD (WINAPI
* RasCustomDialFn
) (HINSTANCE
, LPRASDIALEXTENSIONS
,
848 LPCTSTR
, LPRASDIALPARAMS
, DWORD
, LPVOID
, LPHRASCONN
, DWORD
);
850 DWORD APIENTRY
RasInvokeEapUI (HRASCONN
, DWORD
, LPRASDIALEXTENSIONS
, HWND
);
851 DWORD APIENTRY
RasGetLinkStatistics (HRASCONN
, DWORD
, RAS_STATS
*);
852 DWORD APIENTRY
RasGetConnectionStatistics (HRASCONN
, RAS_STATS
*);
853 DWORD APIENTRY
RasClearLinkStatistics (HRASCONN
, DWORD
);
854 DWORD APIENTRY
RasClearConnectionStatistics (HRASCONN
);
855 DWORD APIENTRY
RasGetEapUserDataA (HANDLE
, LPCSTR
, LPCSTR
, BYTE
*, DWORD
*);
856 DWORD APIENTRY
RasGetEapUserDataW (HANDLE
, LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
*);
857 DWORD APIENTRY
RasSetEapUserDataA (HANDLE
, LPCSTR
, LPCSTR
, BYTE
*, DWORD
);
858 DWORD APIENTRY
RasSetEapUserDataW (HANDLE
, LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
);
859 DWORD APIENTRY
RasGetCustomAuthDataA (LPCSTR
, LPCSTR
, BYTE
*, DWORD
*);
860 DWORD APIENTRY
RasGetCustomAuthDataW (LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
*);
861 DWORD APIENTRY
RasSetCustomAuthDataA (LPCSTR
, LPCSTR
, BYTE
*, DWORD
);
862 DWORD APIENTRY
RasSetCustomAuthDataW (LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
);
863 DWORD APIENTRY
RasGetEapUserIdentityW (LPCWSTR
, LPCWSTR
, DWORD
, HWND
, LPRASEAPUSERIDENTITYW
*);
864 DWORD APIENTRY
RasGetEapUserIdentityA (LPCSTR
, LPCSTR
, DWORD
, HWND
, LPRASEAPUSERIDENTITYA
*);
865 VOID APIENTRY
RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW
);
866 VOID APIENTRY
RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA
);
867 #endif /* (WINVER >= 0x500) */
870 /* UNICODE defines for functions */
872 #define RasDial RasDialW
873 #define RasEnumConnections RasEnumConnectionsW
874 #define RasEnumEntries RasEnumEntriesW
875 #define RasGetConnectStatus RasGetConnectStatusW
876 #define RasGetErrorString RasGetErrorStringW
877 #define RasHangUp RasHangUpW
878 #define RasGetProjectionInfo RasGetProjectionInfoW
879 #define RasCreatePhonebookEntry RasCreatePhonebookEntryW
880 #define RasEditPhonebookEntry RasEditPhonebookEntryW
881 #define RasSetEntryDialParams RasSetEntryDialParamsW
882 #define RasGetEntryDialParams RasGetEntryDialParamsW
883 #define RasEnumDevices RasEnumDevicesW
884 #define RasGetCountryInfo RasGetCountryInfoW
885 #define RasGetEntryProperties RasGetEntryPropertiesW
886 #define RasSetEntryProperties RasSetEntryPropertiesW
887 #define RasRenameEntry RasRenameEntryW
888 #define RasDeleteEntry RasDeleteEntryW
889 #define RasValidateEntryName RasValidateEntryNameW
890 #if (WINVER >= 0x401)
891 #define RASADFUNC RASADFUNCW
892 #define RasGetSubEntryHandle RasGetSubEntryHandleW
893 #define RasConnectionNotification RasConnectionNotificationW
894 #define RasGetSubEntryProperties RasGetSubEntryPropertiesW
895 #define RasSetSubEntryProperties RasSetSubEntryPropertiesW
896 #define RasGetCredentials RasGetCredentialsW
897 #define RasSetCredentials RasSetCredentialsW
898 #define RasGetAutodialAddress RasGetAutodialAddressW
899 #define RasSetAutodialAddress RasSetAutodialAddressW
900 #define RasEnumAutodialAddresses RasEnumAutodialAddressesW
901 #define RasGetAutodialEnable RasGetAutodialEnableW
902 #define RasSetAutodialEnable RasSetAutodialEnableW
903 #define RasGetAutodialParam RasGetAutodialParamW
904 #define RasSetAutodialParam RasSetAutodialParamW
905 #endif /* (WINVER >= 0x401) */
906 #if (WINVER >= 0x500)
907 #define RasGetEapUserData RasGetEapUserDataW
908 #define RasSetEapUserData RasSetEapUserDataW
909 #define RasGetCustomAuthData RasGetCustomAuthDataW
910 #define RasSetCustomAuthData RasSetCustomAuthDataW
911 #define RasGetEapUserIdentity RasGetEapUserIdentityW
912 #define RasFreeEapUserIdentity RasFreeEapUserIdentityW
913 #endif /* (WINVER >= 0x500) */
915 #else /* ! defined UNICODE */
916 #define RasDial RasDialA
917 #define RasEnumConnections RasEnumConnectionsA
918 #define RasEnumEntries RasEnumEntriesA
919 #define RasGetConnectStatus RasGetConnectStatusA
920 #define RasGetErrorString RasGetErrorStringA
921 #define RasHangUp RasHangUpA
922 #define RasGetProjectionInfo RasGetProjectionInfoA
923 #define RasCreatePhonebookEntry RasCreatePhonebookEntryA
924 #define RasEditPhonebookEntry RasEditPhonebookEntryA
925 #define RasSetEntryDialParams RasSetEntryDialParamsA
926 #define RasGetEntryDialParams RasGetEntryDialParamsA
927 #define RasEnumDevices RasEnumDevicesA
928 #define RasGetCountryInfo RasGetCountryInfoA
929 #define RasGetEntryProperties RasGetEntryPropertiesA
930 #define RasSetEntryProperties RasSetEntryPropertiesA
931 #define RasRenameEntry RasRenameEntryA
932 #define RasDeleteEntry RasDeleteEntryA
933 #define RasValidateEntryName RasValidateEntryNameA
935 #if (WINVER >= 0x401)
936 #define RASADFUNC RASADFUNCA
937 #define RasGetSubEntryHandle RasGetSubEntryHandleA
938 #define RasConnectionNotification RasConnectionNotificationA
939 #define RasGetSubEntryProperties RasGetSubEntryPropertiesA
940 #define RasSetSubEntryProperties RasSetSubEntryPropertiesA
941 #define RasGetCredentials RasGetCredentialsA
942 #define RasSetCredentials RasSetCredentialsA
943 #define RasGetAutodialAddress RasGetAutodialAddressA
944 #define RasSetAutodialAddress RasSetAutodialAddressA
945 #define RasEnumAutodialAddressesRasEnumAutodialAddressesA
946 #define RasGetAutodialEnable RasGetAutodialEnableA
947 #define RasSetAutodialEnable RasSetAutodialEnableA
948 #define RasGetAutodialParam RasGetAutodialParamA
949 #define RasSetAutodialParam RasSetAutodialParamA
950 #endif /*(WINVER >= 0x401)*/
952 #if (WINVER >= 0x500)
953 #define RasGetEapUserData RasGetEapUserDataA
954 #define RasSetEapUserData RasSetEapUserDataA
955 #define RasGetCustomAuthData RasGetCustomAuthDataA
956 #define RasSetCustomAuthData RasSetCustomAuthDataA
957 #define RasGetEapUserIdentity RasGetEapUserIdentityA
958 #define RasFreeEapUserIdentity RasFreeEapUserIdentityA
959 #endif /* (WINVER >= 0x500) */
960 #endif /* ! UNICODE */