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)
240 } RASCONNW
, *LPRASCONNW
;
242 typedef struct tagRASCONNA
{
245 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
246 #if (WINVER >= 0x400)
247 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
248 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
250 #if (WINVER >= 0x401)
251 CHAR szPhonebook
[MAX_PATH
];
254 #if (WINVER >= 0x500)
257 #if (WINVER >= 0x501)
261 } RASCONNA
, *LPRASCONNA
;
263 typedef struct tagRASCONNSTATUSW
{
265 RASCONNSTATE rasconnstate
;
267 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
268 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
269 #if (WINVER >= 0x401)
270 WCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
272 } RASCONNSTATUSW
, *LPRASCONNSTATUSW
;
274 typedef struct tagRASCONNSTATUSA
{
276 RASCONNSTATE rasconnstate
;
278 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
279 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
280 #if (WINVER >= 0x401)
281 CHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
283 } RASCONNSTATUSA
, *LPRASCONNSTATUSA
;
285 typedef struct tagRASDIALPARAMSW
{
287 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
288 WCHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
289 WCHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
290 WCHAR szUserName
[UNLEN
+ 1];
291 WCHAR szPassword
[PWLEN
+ 1];
292 WCHAR szDomain
[DNLEN
+ 1];
293 #if (WINVER >= 0x401)
295 ULONG_PTR dwCallbackId
;
297 } RASDIALPARAMSW
, *LPRASDIALPARAMSW
;
299 typedef struct tagRASDIALPARAMSA
{
301 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
302 CHAR szPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
303 CHAR szCallbackNumber
[RAS_MaxCallbackNumber
+ 1];
304 CHAR szUserName
[UNLEN
+ 1];
305 CHAR szPassword
[PWLEN
+ 1];
306 CHAR szDomain
[DNLEN
+ 1];
307 #if (WINVER >= 0x401)
309 ULONG_PTR dwCallbackId
;
311 } RASDIALPARAMSA
, *LPRASDIALPARAMSA
;
313 #if (WINVER >= 0x500)
314 typedef struct tagRASEAPINFO
{
315 DWORD dwSizeofEapInfo
;
320 typedef struct tagRASDIALEXTENSIONS
{
325 #if (WINVER >= 0x500)
327 RASEAPINFO RasEapInfo
;
329 } RASDIALEXTENSIONS
, *LPRASDIALEXTENSIONS
;
331 typedef struct tagRASENTRYNAMEW
{
333 WCHAR szEntryName
[RAS_MaxEntryName
+ 1];
334 #if (WINVER >= 0x500)
336 WCHAR szPhonebookPath
[MAX_PATH
+ 1];
338 } RASENTRYNAMEW
, *LPRASENTRYNAMEW
;
340 typedef struct tagRASENTRYNAMEA
{
342 CHAR szEntryName
[RAS_MaxEntryName
+ 1];
343 #if (WINVER >= 0x500)
345 CHAR szPhonebookPath
[MAX_PATH
+ 1];
347 } RASENTRYNAMEA
, *LPRASENTRYNAMEA
;
349 typedef struct tagRASAMBW
{
352 WCHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
354 } RASAMBW
, *LPRASAMBW
;
356 typedef struct tagRASAMBA
{
359 CHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
361 } RASAMBA
, *LPRASAMBA
;
363 typedef struct tagRASPPPNBFW
{
366 DWORD dwNetBiosError
;
367 WCHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
368 WCHAR szWorkstationName
[NETBIOS_NAME_LEN
+ 1];
370 } RASPPPNBFW
, *LPRASPPPNBFW
;
372 typedef struct tagRASPPPNBFA
{
375 DWORD dwNetBiosError
;
376 CHAR szNetBiosError
[NETBIOS_NAME_LEN
+ 1];
377 CHAR szWorkstationName
[NETBIOS_NAME_LEN
+ 1];
379 } RASPPPNBFA
, *LPRASPPPNBFA
;
381 typedef struct tagRASIPXW
{
384 WCHAR szIpxAddress
[RAS_MaxIpxAddress
+ 1];
385 } RASPPPIPXW
, *LPRASPPPIPXW
;
387 typedef struct tagRASIPXA
{
390 CHAR szIpxAddress
[RAS_MaxIpxAddress
+ 1];
391 } RASPPPIPXA
, *LPRASPPPIPXA
;
393 typedef struct tagRASPPPIPW
{
396 WCHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
397 #ifndef WINNT35COMPATIBLE
398 WCHAR szServerIpAddress
[RAS_MaxIpAddress
+ 1];
400 #if (WINVER >= 0x500)
402 DWORD dwServerOptions
;
404 } RASPPPIPW
, *LPRASPPPIPW
;
406 typedef struct tagRASPPPIPA
{
409 CHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
410 #ifndef WINNT35COMPATIBLE
411 CHAR szServerIpAddress
[RAS_MaxIpAddress
+ 1];
413 #if (WINVER >= 0x500)
415 DWORD dwServerOptions
;
417 } RASPPPIPA
, *LPRASPPPIPA
;
419 typedef struct tagRASPPPLCPW
{
422 #if (WINVER >= 0x500)
424 DWORD dwAuthenticationProtocol
;
425 DWORD dwAuthenticationData
;
427 DWORD dwServerAuthenticationProtocol
;
428 DWORD dwServerAuthenticationData
;
429 DWORD dwServerEapTypeId
;
431 DWORD dwTerminateReason
;
432 DWORD dwServerTerminateReason
;
433 WCHAR szReplyMessage
[RAS_MaxReplyMessage
];
435 DWORD dwServerOptions
;
437 } RASPPPLCPW
, *LPRASPPPLCPW
;
439 typedef struct tagRASPPPLCPA
{
442 #if (WINVER >= 0x500)
444 DWORD dwAuthenticationProtocol
;
445 DWORD dwAuthenticationData
;
447 DWORD dwServerAuthenticationProtocol
;
448 DWORD dwServerAuthenticationData
;
449 DWORD dwServerEapTypeId
;
451 DWORD dwTerminateReason
;
452 DWORD dwServerTerminateReason
;
453 CHAR szReplyMessage
[RAS_MaxReplyMessage
];
455 DWORD dwServerOptions
;
457 } RASPPPLCPA
, *LPRASPPPLCPA
;
459 typedef struct tagRASSLIPW
{
462 WCHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
463 } RASSLIPW
, *LPRASSLIPW
;
466 typedef struct tagRASSLIPA
{
469 CHAR szIpAddress
[RAS_MaxIpAddress
+ 1];
470 } RASSLIPA
, *LPRASSLIPA
;
472 typedef struct tagRASDEVINFOW
{
474 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
475 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
476 } RASDEVINFOW
, *LPRASDEVINFOW
;
478 typedef struct tagRASDEVINFOA
{
480 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
481 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
482 } RASDEVINFOA
, *LPRASDEVINFOA
;
484 typedef struct tagRASCTRYINFO
{
487 DWORD dwNextCountryID
;
489 DWORD dwCountryNameOffset
;
490 } RASCTRYINFO
, *LPRASCTRYINFO
;
492 typedef RASCTRYINFO RASCTRYINFOW
, *LPRASCTRYINFOW
;
493 typedef RASCTRYINFO RASCTRYINFOA
, *LPRASCTRYINFOA
;
495 typedef struct tagRASIPADDR
{
502 typedef struct tagRASENTRYW
{
507 WCHAR szAreaCode
[RAS_MaxAreaCode
+ 1];
508 WCHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
509 DWORD dwAlternateOffset
;
512 RASIPADDR ipaddrDnsAlt
;
513 RASIPADDR ipaddrWins
;
514 RASIPADDR ipaddrWinsAlt
;
516 DWORD dwfNetProtocols
;
517 DWORD dwFramingProtocol
;
518 WCHAR szScript
[MAX_PATH
];
519 WCHAR szAutodialDll
[MAX_PATH
];
520 WCHAR szAutodialFunc
[MAX_PATH
];
521 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
522 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
523 WCHAR szX25PadType
[RAS_MaxPadType
+ 1];
524 WCHAR szX25Address
[RAS_MaxX25Address
+ 1];
525 WCHAR szX25Facilities
[RAS_MaxFacilities
+ 1];
526 WCHAR szX25UserData
[RAS_MaxUserData
+ 1];
530 #if (WINVER >= 0x401)
533 DWORD dwDialExtraPercent
;
534 DWORD dwDialExtraSampleSeconds
;
535 DWORD dwHangUpExtraPercent
;
536 DWORD dwHangUpExtraSampleSeconds
;
537 DWORD dwIdleDisconnectSeconds
;
539 #if (WINVER >= 0x500)
541 DWORD dwEncryptionType
;
542 DWORD dwCustomAuthKey
;
544 WCHAR szCustomDialDll
[MAX_PATH
];
547 } RASENTRYW
, *LPRASENTRYW
;
549 typedef struct tagRASENTRYA
{
554 CHAR szAreaCode
[RAS_MaxAreaCode
+ 1];
555 CHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
556 DWORD dwAlternateOffset
;
559 RASIPADDR ipaddrDnsAlt
;
560 RASIPADDR ipaddrWins
;
561 RASIPADDR ipaddrWinsAlt
;
563 DWORD dwfNetProtocols
;
564 DWORD dwFramingProtocol
;
565 CHAR szScript
[MAX_PATH
];
566 CHAR szAutodialDll
[MAX_PATH
];
567 CHAR szAutodialFunc
[MAX_PATH
];
568 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
569 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
570 CHAR szX25PadType
[RAS_MaxPadType
+ 1];
571 CHAR szX25Address
[RAS_MaxX25Address
+ 1];
572 CHAR szX25Facilities
[RAS_MaxFacilities
+ 1];
573 CHAR szX25UserData
[RAS_MaxUserData
+ 1];
577 #if (WINVER >= 0x401)
580 DWORD dwDialExtraPercent
;
581 DWORD dwDialExtraSampleSeconds
;
582 DWORD dwHangUpExtraPercent
;
583 DWORD dwHangUpExtraSampleSeconds
;
584 DWORD dwIdleDisconnectSeconds
;
586 #if (WINVER >= 0x500)
588 DWORD dwEncryptionType
;
589 DWORD dwCustomAuthKey
;
591 CHAR szCustomDialDll
[MAX_PATH
];
594 } RASENTRYA
, *LPRASENTRYA
;
597 #if (WINVER >= 0x401)
598 typedef struct tagRASADPARAMS
{
604 } RASADPARAMS
, *LPRASADPARAMS
;
606 typedef struct tagRASSUBENTRYW
{
609 WCHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
610 WCHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
611 WCHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
612 DWORD dwAlternateOffset
;
613 } RASSUBENTRYW
, *LPRASSUBENTRYW
;
615 typedef struct tagRASSUBENTRYA
{
618 CHAR szDeviceType
[RAS_MaxDeviceType
+ 1];
619 CHAR szDeviceName
[RAS_MaxDeviceName
+ 1];
620 CHAR szLocalPhoneNumber
[RAS_MaxPhoneNumber
+ 1];
621 DWORD dwAlternateOffset
;
622 } RASSUBENTRYA
, *LPRASSUBENTRYA
;
624 typedef struct tagRASCREDENTIALSW
{
627 WCHAR szUserName
[UNLEN
+ 1];
628 WCHAR szPassword
[PWLEN
+ 1];
629 WCHAR szDomain
[DNLEN
+ 1];
630 } RASCREDENTIALSW
, *LPRASCREDENTIALSW
;
632 typedef struct tagRASCREDENTIALSA
{
635 CHAR szUserName
[UNLEN
+ 1];
636 CHAR szPassword
[PWLEN
+ 1];
637 CHAR szDomain
[DNLEN
+ 1];
638 } RASCREDENTIALSA
, *LPRASCREDENTIALSA
;
640 typedef struct tagRASAUTODIALENTRYW
{
643 DWORD dwDialingLocation
;
644 WCHAR szEntry
[RAS_MaxEntryName
+ 1];
645 } RASAUTODIALENTRYW
, *LPRASAUTODIALENTRYW
;
647 typedef struct tagRASAUTODIALENTRYA
{
650 DWORD dwDialingLocation
;
651 CHAR szEntry
[RAS_MaxEntryName
+ 1];
652 } RASAUTODIALENTRYA
, *LPRASAUTODIALENTRYA
;
653 #endif /* (WINVER >= 0x401) */
655 #if (WINVER >= 0x500)
656 typedef struct tagRASPPPCCP
{
659 DWORD dwCompressionAlgorithm
;
661 DWORD dwServerCompressionAlgorithm
;
662 DWORD dwServerOptions
;
663 } RASPPPCCP
, *LPRASPPPCCP
;
665 typedef struct tagRASEAPUSERIDENTITYW
{
666 WCHAR szUserName
[UNLEN
+ 1];
667 DWORD dwSizeofEapInfo
;
669 } RASEAPUSERIDENTITYW
, *LPRASEAPUSERIDENTITYW
;
671 typedef struct tagRASEAPUSERIDENTITYA
{
672 CHAR szUserName
[UNLEN
+ 1];
673 DWORD dwSizeofEapInfo
;
675 } RASEAPUSERIDENTITYA
, *LPRASEAPUSERIDENTITYA
;
677 typedef struct tagRAS_STATS
{
681 DWORD dwFramesXmited
;
685 DWORD dwAlignmentErr
;
686 DWORD dwHardwareOverrunErr
;
688 DWORD dwBufferOverrunErr
;
689 DWORD dwCompressionRatioIn
;
690 DWORD dwCompressionRatioOut
;
692 DWORD dwConnectDuration
;
693 } RAS_STATS
, *PRAS_STATS
;
694 #endif /* (WINVER >= 0x500) */
697 /* UNICODE typedefs for structures*/
699 typedef RASCONNW RASCONN
, *LPRASCONN
;
700 typedef RASENTRYW RASENTRY
, *LPRASENTRY
;
701 typedef RASCONNSTATUSW RASCONNSTATUS
, *LPRASCONNSTATUS
;
702 typedef RASDIALPARAMSW RASDIALPARAMS
, *LPRASDIALPARAMS
;
703 typedef RASAMBW RASAMB
, *LPRASAM
;
704 typedef RASPPPNBFW RASPPPNBF
, *LPRASPPPNBF
;
705 typedef RASPPPIPXW RASPPPIPX
, *LPRASPPPIPX
;
706 typedef RASPPPIPW RASPPPIP
, *LPRASPPPIP
;
707 typedef RASPPPLCPW RASPPPLCP
, *LPRASPPPLCP
;
708 typedef RASSLIPW RASSLIP
, *LPRASSLIP
;
709 typedef RASDEVINFOW RASDEVINFO
, *LPRASDEVINFO
;
710 typedef RASENTRYNAMEW RASENTRYNAME
, *LPRASENTRYNAME
;
712 #if (WINVER >= 0x401)
713 typedef RASSUBENTRYW RASSUBENTRY
, *LPRASSUBENTRY
;
714 typedef RASCREDENTIALSW RASCREDENTIALS
, *LPRASCREDENTIALS
;
715 typedef RASAUTODIALENTRYW RASAUTODIALENTRY
, *LPRASAUTODIALENTRY
;
716 #endif /* (WINVER >= 0x401) */
718 #if (WINVER >= 0x500)
719 typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY
, *LPRASEAPUSERIDENTITY
;
720 #endif /* (WINVER >= 0x500) */
722 #else /* ! defined UNICODE */
723 typedef RASCONNA RASCONN
, *LPRASCONN
;
724 typedef RASENTRYA RASENTRY
, *LPRASENTRY
;
725 typedef RASCONNSTATUSA RASCONNSTATUS
, *LPRASCONNSTATUS
;
726 typedef RASDIALPARAMSA RASDIALPARAMS
, *LPRASDIALPARAMS
;
727 typedef RASAMBA RASAMB
, *LPRASAM
;
728 typedef RASPPPNBFA RASPPPNBF
, *LPRASPPPNBF
;
729 typedef RASPPPIPXA RASPPPIPX
, *LPRASPPPIPX
;
730 typedef RASPPPIPA RASPPPIP
, *LPRASPPPIP
;
731 typedef RASPPPLCPA RASPPPLCP
, *LPRASPPPLCP
;
732 typedef RASSLIPA RASSLIP
, *LPRASSLIP
;
733 typedef RASDEVINFOA RASDEVINFO
, *LPRASDEVINFO
;
734 typedef RASENTRYNAMEA RASENTRYNAME
, *LPRASENTRYNAME
;
736 #if (WINVER >= 0x401)
737 typedef RASSUBENTRYA RASSUBENTRY
, *LPRASSUBENTRY
;
738 typedef RASCREDENTIALSA RASCREDENTIALS
, *LPRASCREDENTIALS
;
739 typedef RASAUTODIALENTRYA RASAUTODIALENTRY
, *LPRASAUTODIALENTRY
;
740 #endif /*(WINVER >= 0x401)*/
741 #if (WINVER >= 0x500)
742 typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY
, *LPRASEAPUSERIDENTITY
;
743 #endif /* (WINVER >= 0x500) */
744 #endif /* ! UNICODE */
746 /* Callback prototypes */
747 typedef BOOL (WINAPI
* ORASADFUNC
) (HWND
, LPSTR
, DWORD
, LPDWORD
); /* deprecated */
748 typedef VOID (WINAPI
* RASDIALFUNC
) (UINT
, RASCONNSTATE
, DWORD
);
749 typedef VOID (WINAPI
* RASDIALFUNC1
) (HRASCONN
, UINT
, RASCONNSTATE
, DWORD
,
751 typedef DWORD (WINAPI
* RASDIALFUNC2
) (ULONG_PTR
, DWORD
, HRASCONN
, UINT
,
752 RASCONNSTATE
, DWORD
, DWORD
);
754 /* External functions */
755 DWORD APIENTRY
RasDialA (LPRASDIALEXTENSIONS
, LPCSTR
, LPRASDIALPARAMSA
,
756 DWORD
, LPVOID
, LPHRASCONN
);
757 DWORD APIENTRY
RasDialW (LPRASDIALEXTENSIONS
, LPCWSTR
, LPRASDIALPARAMSW
,
758 DWORD
, LPVOID
, LPHRASCONN
);
759 DWORD APIENTRY
RasEnumConnectionsA (LPRASCONNA
, LPDWORD
, LPDWORD
);
760 DWORD APIENTRY
RasEnumConnectionsW (LPRASCONNW
, LPDWORD
, LPDWORD
);
761 DWORD APIENTRY
RasEnumEntriesA (LPCSTR
, LPCSTR
, LPRASENTRYNAMEA
, LPDWORD
,
763 DWORD APIENTRY
RasEnumEntriesW (LPCWSTR
, LPCWSTR
, LPRASENTRYNAMEW
, LPDWORD
,
765 DWORD APIENTRY
RasGetConnectStatusA (HRASCONN
, LPRASCONNSTATUSA
);
766 DWORD APIENTRY
RasGetConnectStatusW (HRASCONN
, LPRASCONNSTATUSW
);
767 DWORD APIENTRY
RasGetErrorStringA (UINT
, LPSTR
, DWORD
);
768 DWORD APIENTRY
RasGetErrorStringW (UINT
, LPWSTR
, DWORD
);
769 DWORD APIENTRY
RasHangUpA (HRASCONN
);
770 DWORD APIENTRY
RasHangUpW (HRASCONN
);
771 DWORD APIENTRY
RasGetProjectionInfoA (HRASCONN
, RASPROJECTION
, LPVOID
,
773 DWORD APIENTRY
RasGetProjectionInfoW (HRASCONN
, RASPROJECTION
, LPVOID
,
775 DWORD APIENTRY
RasCreatePhonebookEntryA (HWND
, LPCSTR
);
776 DWORD APIENTRY
RasCreatePhonebookEntryW (HWND
, LPCWSTR
);
777 DWORD APIENTRY
RasEditPhonebookEntryA (HWND
, LPCSTR
, LPCSTR
);
778 DWORD APIENTRY
RasEditPhonebookEntryW (HWND
, LPCWSTR
, LPCWSTR
);
779 DWORD APIENTRY
RasSetEntryDialParamsA (LPCSTR
, LPRASDIALPARAMSA
, BOOL
);
780 DWORD APIENTRY
RasSetEntryDialParamsW (LPCWSTR
, LPRASDIALPARAMSW
, BOOL
);
781 DWORD APIENTRY
RasGetEntryDialParamsA (LPCSTR
, LPRASDIALPARAMSA
, LPBOOL
);
782 DWORD APIENTRY
RasGetEntryDialParamsW (LPCWSTR
, LPRASDIALPARAMSW
, LPBOOL
);
783 DWORD APIENTRY
RasEnumDevicesA (LPRASDEVINFOA
, LPDWORD
, LPDWORD
);
784 DWORD APIENTRY
RasEnumDevicesW (LPRASDEVINFOW
, LPDWORD
, LPDWORD
);
785 DWORD APIENTRY
RasGetCountryInfoA (LPRASCTRYINFOA
, LPDWORD
);
786 DWORD APIENTRY
RasGetCountryInfoW (LPRASCTRYINFOW
, LPDWORD
);
787 DWORD APIENTRY
RasGetEntryPropertiesA (LPCSTR
, LPCSTR
, LPRASENTRYA
, LPDWORD
,
789 DWORD APIENTRY
RasGetEntryPropertiesW (LPCWSTR
, LPCWSTR
, LPRASENTRYW
,
790 LPDWORD
, LPBYTE
, LPDWORD
);
791 DWORD APIENTRY
RasSetEntryPropertiesA (LPCSTR
, LPCSTR
, LPRASENTRYA
, DWORD
,
793 DWORD APIENTRY
RasSetEntryPropertiesW (LPCWSTR
, LPCWSTR
, LPRASENTRYW
, DWORD
,
795 DWORD APIENTRY
RasRenameEntryA (LPCSTR
, LPCSTR
, LPCSTR
);
796 DWORD APIENTRY
RasRenameEntryW (LPCWSTR
, LPCWSTR
, LPCWSTR
);
797 DWORD APIENTRY
RasDeleteEntryA (LPCSTR
, LPCSTR
);
798 DWORD APIENTRY
RasDeleteEntryW (LPCWSTR
, LPCWSTR
);
799 DWORD APIENTRY
RasValidateEntryNameA (LPCSTR
, LPCSTR
);
800 DWORD APIENTRY
RasValidateEntryNameW (LPCWSTR
, LPCWSTR
);
802 #if (WINVER >= 0x401)
803 typedef BOOL (WINAPI
* RASADFUNCA
) (LPSTR
, LPSTR
, LPRASADPARAMS
, LPDWORD
);
804 typedef BOOL (WINAPI
* RASADFUNCW
) (LPWSTR
, LPWSTR
, LPRASADPARAMS
, LPDWORD
);
806 DWORD APIENTRY
RasGetSubEntryHandleA (HRASCONN
, DWORD
, LPHRASCONN
);
807 DWORD APIENTRY
RasGetSubEntryHandleW (HRASCONN
, DWORD
, LPHRASCONN
);
808 DWORD APIENTRY
RasGetCredentialsA (LPCSTR
, LPCSTR
, LPRASCREDENTIALSA
);
809 DWORD APIENTRY
RasGetCredentialsW (LPCWSTR
, LPCWSTR
, LPRASCREDENTIALSW
);
810 DWORD APIENTRY
RasSetCredentialsA (LPCSTR
, LPCSTR
, LPRASCREDENTIALSA
, BOOL
);
811 DWORD APIENTRY
RasSetCredentialsW (LPCWSTR
, LPCWSTR
, LPRASCREDENTIALSW
, BOOL
);
812 DWORD APIENTRY
RasConnectionNotificationA (HRASCONN
, HANDLE
, DWORD
);
813 DWORD APIENTRY
RasConnectionNotificationW (HRASCONN
, HANDLE
, DWORD
);
814 DWORD APIENTRY
RasGetSubEntryPropertiesA (LPCSTR
, LPCSTR
, DWORD
,
815 LPRASSUBENTRYA
, LPDWORD
, LPBYTE
, LPDWORD
);
816 DWORD APIENTRY
RasGetSubEntryPropertiesW (LPCWSTR
, LPCWSTR
, DWORD
,
817 LPRASSUBENTRYW
, LPDWORD
, LPBYTE
, LPDWORD
);
818 DWORD APIENTRY
RasSetSubEntryPropertiesA (LPCSTR
, LPCSTR
, DWORD
,
819 LPRASSUBENTRYA
, DWORD
, LPBYTE
, DWORD
);
820 DWORD APIENTRY
RasSetSubEntryPropertiesW (LPCWSTR
, LPCWSTR
, DWORD
,
821 LPRASSUBENTRYW
, DWORD
, LPBYTE
, DWORD
);
822 DWORD APIENTRY
RasGetAutodialAddressA (LPCSTR
, LPDWORD
, LPRASAUTODIALENTRYA
,
824 DWORD APIENTRY
RasGetAutodialAddressW (LPCWSTR
, LPDWORD
,
825 LPRASAUTODIALENTRYW
, LPDWORD
, LPDWORD
);
826 DWORD APIENTRY
RasSetAutodialAddressA (LPCSTR
, DWORD
, LPRASAUTODIALENTRYA
,
828 DWORD APIENTRY
RasSetAutodialAddressW (LPCWSTR
, DWORD
, LPRASAUTODIALENTRYW
,
830 DWORD APIENTRY
RasEnumAutodialAddressesA (LPSTR
*, LPDWORD
, LPDWORD
);
831 DWORD APIENTRY
RasEnumAutodialAddressesW (LPWSTR
*, LPDWORD
, LPDWORD
);
832 DWORD APIENTRY
RasGetAutodialEnableA (DWORD
, LPBOOL
);
833 DWORD APIENTRY
RasGetAutodialEnableW (DWORD
, LPBOOL
);
834 DWORD APIENTRY
RasSetAutodialEnableA (DWORD
, BOOL
);
835 DWORD APIENTRY
RasSetAutodialEnableW (DWORD
, BOOL
);
836 DWORD APIENTRY
RasGetAutodialParamA (DWORD
, LPVOID
, LPDWORD
);
837 DWORD APIENTRY
RasGetAutodialParamW (DWORD
, LPVOID
, LPDWORD
);
838 DWORD APIENTRY
RasSetAutodialParamA (DWORD
, LPVOID
, DWORD
);
839 DWORD APIENTRY
RasSetAutodialParamW (DWORD
, LPVOID
, DWORD
);
842 #if (WINVER >= 0x500)
843 typedef DWORD (WINAPI
* RasCustomHangUpFn
) (HRASCONN
);
844 typedef DWORD (WINAPI
* RasCustomDeleteEntryNotifyFn
) (LPCTSTR
, LPCTSTR
, DWORD
);
845 typedef DWORD (WINAPI
* RasCustomDialFn
) (HINSTANCE
, LPRASDIALEXTENSIONS
,
846 LPCTSTR
, LPRASDIALPARAMS
, DWORD
, LPVOID
, LPHRASCONN
, DWORD
);
848 DWORD APIENTRY
RasInvokeEapUI (HRASCONN
, DWORD
, LPRASDIALEXTENSIONS
, HWND
);
849 DWORD APIENTRY
RasGetLinkStatistics (HRASCONN
, DWORD
, RAS_STATS
*);
850 DWORD APIENTRY
RasGetConnectionStatistics (HRASCONN
, RAS_STATS
*);
851 DWORD APIENTRY
RasClearLinkStatistics (HRASCONN
, DWORD
);
852 DWORD APIENTRY
RasClearConnectionStatistics (HRASCONN
);
853 DWORD APIENTRY
RasGetEapUserDataA (HANDLE
, LPCSTR
, LPCSTR
, BYTE
*, DWORD
*);
854 DWORD APIENTRY
RasGetEapUserDataW (HANDLE
, LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
*);
855 DWORD APIENTRY
RasSetEapUserDataA (HANDLE
, LPCSTR
, LPCSTR
, BYTE
*, DWORD
);
856 DWORD APIENTRY
RasSetEapUserDataW (HANDLE
, LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
);
857 DWORD APIENTRY
RasGetCustomAuthDataA (LPCSTR
, LPCSTR
, BYTE
*, DWORD
*);
858 DWORD APIENTRY
RasGetCustomAuthDataW (LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
*);
859 DWORD APIENTRY
RasSetCustomAuthDataA (LPCSTR
, LPCSTR
, BYTE
*, DWORD
);
860 DWORD APIENTRY
RasSetCustomAuthDataW (LPCWSTR
, LPCWSTR
, BYTE
*, DWORD
);
861 DWORD APIENTRY
RasGetEapUserIdentityW (LPCWSTR
, LPCWSTR
, DWORD
, HWND
, LPRASEAPUSERIDENTITYW
*);
862 DWORD APIENTRY
RasGetEapUserIdentityA (LPCSTR
, LPCSTR
, DWORD
, HWND
, LPRASEAPUSERIDENTITYA
*);
863 VOID APIENTRY
RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW
);
864 VOID APIENTRY
RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA
);
865 #endif /* (WINVER >= 0x500) */
868 /* UNICODE defines for functions */
870 #define RasDial RasDialW
871 #define RasEnumConnections RasEnumConnectionsW
872 #define RasEnumEntries RasEnumEntriesW
873 #define RasGetConnectStatus RasGetConnectStatusW
874 #define RasGetErrorString RasGetErrorStringW
875 #define RasHangUp RasHangUpW
876 #define RasGetProjectionInfo RasGetProjectionInfoW
877 #define RasCreatePhonebookEntry RasCreatePhonebookEntryW
878 #define RasEditPhonebookEntry RasEditPhonebookEntryW
879 #define RasSetEntryDialParams RasSetEntryDialParamsW
880 #define RasGetEntryDialParams RasGetEntryDialParamsW
881 #define RasEnumDevices RasEnumDevicesW
882 #define RasGetCountryInfo RasGetCountryInfoW
883 #define RasGetEntryProperties RasGetEntryPropertiesW
884 #define RasSetEntryProperties RasSetEntryPropertiesW
885 #define RasRenameEntry RasRenameEntryW
886 #define RasDeleteEntry RasDeleteEntryW
887 #define RasValidateEntryName RasValidateEntryNameW
888 #if (WINVER >= 0x401)
889 #define RASADFUNC RASADFUNCW
890 #define RasGetSubEntryHandle RasGetSubEntryHandleW
891 #define RasConnectionNotification RasConnectionNotificationW
892 #define RasGetSubEntryProperties RasGetSubEntryPropertiesW
893 #define RasSetSubEntryProperties RasSetSubEntryPropertiesW
894 #define RasGetCredentials RasGetCredentialsW
895 #define RasSetCredentials RasSetCredentialsW
896 #define RasGetAutodialAddress RasGetAutodialAddressW
897 #define RasSetAutodialAddress RasSetAutodialAddressW
898 #define RasEnumAutodialAddresses RasEnumAutodialAddressesW
899 #define RasGetAutodialEnable RasGetAutodialEnableW
900 #define RasSetAutodialEnable RasSetAutodialEnableW
901 #define RasGetAutodialParam RasGetAutodialParamW
902 #define RasSetAutodialParam RasSetAutodialParamW
903 #endif /* (WINVER >= 0x401) */
904 #if (WINVER >= 0x500)
905 #define RasGetEapUserData RasGetEapUserDataW
906 #define RasSetEapUserData RasSetEapUserDataW
907 #define RasGetCustomAuthData RasGetCustomAuthDataW
908 #define RasSetCustomAuthData RasSetCustomAuthDataW
909 #define RasGetEapUserIdentity RasGetEapUserIdentityW
910 #define RasFreeEapUserIdentity RasFreeEapUserIdentityW
911 #endif /* (WINVER >= 0x500) */
913 #else /* ! defined UNICODE */
914 #define RasDial RasDialA
915 #define RasEnumConnections RasEnumConnectionsA
916 #define RasEnumEntries RasEnumEntriesA
917 #define RasGetConnectStatus RasGetConnectStatusA
918 #define RasGetErrorString RasGetErrorStringA
919 #define RasHangUp RasHangUpA
920 #define RasGetProjectionInfo RasGetProjectionInfoA
921 #define RasCreatePhonebookEntry RasCreatePhonebookEntryA
922 #define RasEditPhonebookEntry RasEditPhonebookEntryA
923 #define RasSetEntryDialParams RasSetEntryDialParamsA
924 #define RasGetEntryDialParams RasGetEntryDialParamsA
925 #define RasEnumDevices RasEnumDevicesA
926 #define RasGetCountryInfo RasGetCountryInfoA
927 #define RasGetEntryProperties RasGetEntryPropertiesA
928 #define RasSetEntryProperties RasSetEntryPropertiesA
929 #define RasRenameEntry RasRenameEntryA
930 #define RasDeleteEntry RasDeleteEntryA
931 #define RasValidateEntryName RasValidateEntryNameA
933 #if (WINVER >= 0x401)
934 #define RASADFUNC RASADFUNCA
935 #define RasGetSubEntryHandle RasGetSubEntryHandleA
936 #define RasConnectionNotification RasConnectionNotificationA
937 #define RasGetSubEntryProperties RasGetSubEntryPropertiesA
938 #define RasSetSubEntryProperties RasSetSubEntryPropertiesA
939 #define RasGetCredentials RasGetCredentialsA
940 #define RasSetCredentials RasSetCredentialsA
941 #define RasGetAutodialAddress RasGetAutodialAddressA
942 #define RasSetAutodialAddress RasSetAutodialAddressA
943 #define RasEnumAutodialAddressesRasEnumAutodialAddressesA
944 #define RasGetAutodialEnable RasGetAutodialEnableA
945 #define RasSetAutodialEnable RasSetAutodialEnableA
946 #define RasGetAutodialParam RasGetAutodialParamA
947 #define RasSetAutodialParam RasSetAutodialParamA
948 #endif /*(WINVER >= 0x401)*/
950 #if (WINVER >= 0x500)
951 #define RasGetEapUserData RasGetEapUserDataA
952 #define RasSetEapUserData RasSetEapUserDataA
953 #define RasGetCustomAuthData RasGetCustomAuthDataA
954 #define RasSetCustomAuthData RasSetCustomAuthDataA
955 #define RasGetEapUserIdentity RasGetEapUserIdentityA
956 #define RasFreeEapUserIdentity RasFreeEapUserIdentityA
957 #endif /* (WINVER >= 0x500) */
958 #endif /* ! UNICODE */