1573 lines
51 KiB
C
1573 lines
51 KiB
C
/*
|
|
* ras.h Remote Access Service (RAS) functions
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
|
|
#ifndef _RAS_H_
|
|
#define _RAS_H_
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#include <lmcons.h>
|
|
#include <inaddr.h>
|
|
#include <in6addr.h>
|
|
#ifdef USES_RAS_QUARANTINE_APIS
|
|
#include <naptypes.h>
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* RAS connection handle */
|
|
DECLARE_HANDLE( HRASCONN );
|
|
typedef HRASCONN *LPHRASCONN;
|
|
|
|
/* RAS NAP flags */
|
|
#ifdef USES_RAS_QUARANTINE_APIS
|
|
#define RASNAP_ProbationTime 0x00000001L
|
|
#endif
|
|
|
|
/* RAS tunnel endpoint types */
|
|
#if (WINVER >= 0x0601)
|
|
#define RASTUNNELENDPOINT_UNKNOWN 0L
|
|
#define RASTUNNELENDPOINT_IPv4 1L
|
|
#define RASTUNNELENDPOINT_IPv6 2L
|
|
#endif
|
|
|
|
/* RAS maximum sizes */
|
|
#define RAS_MaxDeviceType 16
|
|
#define RAS_MaxPhoneNumber 128
|
|
#define RAS_MaxIpAddress 15
|
|
#define RAS_MaxIpxAddress 21
|
|
#if (WINVER >= 0x0400)
|
|
#define RAS_MaxEntryName 256
|
|
#define RAS_MaxDeviceName 128
|
|
#define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
|
|
#else
|
|
#define RAS_MaxEntryName 20
|
|
#define RAS_MaxDeviceName 32
|
|
#define RAS_MAxCallbackNumber 48
|
|
#endif
|
|
#define RAS_MaxAreaCode 10
|
|
#define RAS_MaxPadType 32
|
|
#define RAS_MaxX25Address 200
|
|
#define RAS_MaxFacilities 200
|
|
#define RAS_MaxUserData 200
|
|
#define RAS_MaxReplyMessage 1024
|
|
#define RAS_MaxDnsSuffix 256
|
|
|
|
/* RAS connection flags */
|
|
#if (WINVER >= 0x0501)
|
|
#define RASCF_AllUsers 0x00000001L
|
|
#define RASCF_GlobalCreds 0x00000002L
|
|
#define RASCF_OwnerKnown 0x00000004L
|
|
#define RASCF_OwnerMatch 0x00000008L
|
|
#endif
|
|
|
|
/* Macros to manipulate RAS connection flags */
|
|
#if (WINVER >= 0x0501)
|
|
#define RASCF_IsOwner( x ) \
|
|
(((x) & (RASCF_OwnerKnown | RASCF_OwnerMatch)) == (RASCF_OwnerKnown | \
|
|
RASCF_OwnerMatch)
|
|
#define RASCF_IsNotOwner( x ) \
|
|
(((x) & (RASCF_OwnerKnown | RASCF_OwnerMatch)) == RASCF_OwnerKnown)
|
|
#endif
|
|
|
|
/* RAS connection state flags */
|
|
#define RASCS_PAUSED 0x00001000L
|
|
#define RASCS_DONE 0x00002000L
|
|
|
|
/* RAS connection substate flags */
|
|
#if (WINVER >= 0x0601)
|
|
#define RASCSS_DONE 0x00002000L
|
|
#endif
|
|
|
|
/* RasDial() extended options */
|
|
#define RDEOPT_UsePrefixSuffix 0x00000001L
|
|
#define RDEOPT_PausedStates 0x00000002L
|
|
#define RDEOPT_IgnoreModemSpeaker 0x00000004L
|
|
#define RDEOPT_SetModemSpeaker 0x00000008L
|
|
#define RDEOPT_IgnoreSoftwareCompression 0x00000010L
|
|
#define RDEOPT_SetSoftwareCompression 0x00000020L
|
|
#define RDEOPT_DisableConnectedUI 0x00000040L
|
|
#define RDEOPT_DisableReconnectUI 0x00000080L
|
|
#define RDEOPT_DisableReconnect 0x00000100L
|
|
#define RDEOPT_NoUser 0x00000200L
|
|
#define RDEOPT_PauseOnScript 0x00000400L
|
|
#define RDEOPT_Router 0x00000800L
|
|
#if (WINVER >= 0x0500)
|
|
#define RDEOPT_CustomDial 0x00001000L
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
#define RDEOPT_UseCustomScripting 0x00002000L
|
|
#endif
|
|
|
|
/* RAS entry name flags */
|
|
#define REN_User 0x00000000L
|
|
#define REN_AllUsers 0x00000001L
|
|
|
|
/* RAS IP options */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASIPO_VJ 0x00000001L
|
|
#endif
|
|
|
|
/* LCP authentication protocols */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASLCPAP_PAP 0x0000C023L
|
|
#define RASLCPAP_SPAP 0x0000C027L
|
|
#define RASLCPAP_CHAP 0x0000C223L
|
|
#define RASLCPAP_EAP 0x0000C227L
|
|
#endif
|
|
|
|
/* LCP authentication data */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASLCPAD_CHAP_MD5 0x00000005L
|
|
#define RASLCPAD_CHAP_MS 0x00000080L
|
|
#define RASLCPAD_CHAP_MSV2 0x00000081L
|
|
#endif
|
|
|
|
/* LCP options */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASLCPO_PFC 0x00000001L
|
|
#define RASLCPO_ACFC 0x00000002L
|
|
#define RASLCPO_SSHF 0x00000004L
|
|
#define RASLCPO_DES_56 0x00000008L
|
|
#define RASLCPO_3_DES 0x00000010L
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
#define RASLCPO_AES_128 0x00000020L
|
|
#define RASLCPO_AES_256 0x00000040L
|
|
#endif
|
|
|
|
/* CCP compression algorithms */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASCCPCA_MPPC 0x00000006L
|
|
#define RASCCPCA_STAC 0x00000005L
|
|
#endif
|
|
|
|
/* CCP options */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASCCPO_Compression 0x00000001L
|
|
#define RASCCPO_HistoryLess 0x00000002L
|
|
#define RASCCPO_Encryption56bit 0x00000010L
|
|
#define RASCCPO_Encryption40bit 0x00000020L
|
|
#define RASCCPO_Encryption128bit 0x00000100L
|
|
#endif
|
|
|
|
/* RAS IKEv2 flags */
|
|
#if (WINVER >= 0x0601)
|
|
#define RASIKEv2_FLAGS_MOBIKESUPPORTED 0x00000001L
|
|
#define RASIKEv2_FLAGS_BEHIND_NAT 0x00000002L
|
|
#define RASIKEv2_FLAGS_SERVERBEHIND_NAT 0x00000004L
|
|
#endif
|
|
|
|
/* RAS IKEv2 authentication protocols */
|
|
#if (WINVER >= 0x0601)
|
|
#define RASIKEv2_AUTH_MACHINECERTIFICATES 1L
|
|
#define RASIKEv2_AUTH_EAP 2L
|
|
#endif
|
|
|
|
/* RAS registered message */
|
|
#define RASDIALEVENT "RasDialEvent"
|
|
|
|
/* RAS message */
|
|
#define WM_RASDIALEVENT 0xCCCD
|
|
|
|
/* Encryption types */
|
|
#if (WINVER >= 0x0500)
|
|
#define ET_None 0L
|
|
#define ET_Require 1L
|
|
#define ET_RequireMax 2L
|
|
#define ET_Optional 3L
|
|
#endif
|
|
|
|
/* VPN strategies */
|
|
#define VS_Default 0L
|
|
#define VS_PptpOnly 1L
|
|
#define VS_PptpFirst 2L
|
|
#define VS_L2tpOnly 3L
|
|
#define VS_L2tpFirst 4L
|
|
#if (WINVER >= 0x0600)
|
|
#define VS_SstpOnly 5L
|
|
#define VS_SstpFirst 6L
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
#define VS_Ikev2Only 7L
|
|
#define VS_Ikev2First 8L
|
|
#define VS_PptpSstp 12L
|
|
#define VS_L2tpSstp 13L
|
|
#define VS_Ikev2Sstp 14L
|
|
#endif
|
|
|
|
/* RAS entry options */
|
|
#define RASEO_UseCountryAndAreaCodes 0x00000001L
|
|
#define RASEO_SpecificIpAddr 0x00000002L
|
|
#define RASEO_SpecificNameServers 0x00000004L
|
|
#define RASEO_IpHeaderCompression 0x00000008L
|
|
#define RASEO_RemoteDefaultGateway 0x00000010L
|
|
#define RASEO_DisableLcpExtensions 0x00000020L
|
|
#define RASEO_TerminalBeforeDial 0x00000040L
|
|
#define RASEO_TerminalAfterDial 0x00000080L
|
|
#define RASEO_ModemLights 0x00000100L
|
|
#define RASEO_SwCompression 0x00000200L
|
|
#define RASEO_RequireEncryptedPw 0x00000400L
|
|
#define RASEO_RequireMsEncryptedPw 0x00000800L
|
|
#define RASEO_RequireDataEncryption 0x00001000L
|
|
#define RASEO_NetworkLogon 0x00002000L
|
|
#define RASEO_UseLogonCredentials 0x00004000L
|
|
#define RASEO_PromoteAlternates 0x00008000L
|
|
#if (WINVER >= 0x0401)
|
|
#define RASEO_SecureLocalFiles 0x00010000L
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
#define RASEO_RequireEAP 0x00020000L
|
|
#define RASEO_RequirePAP 0x00040000L
|
|
#define RASEO_RequireSPAP 0x00080000L
|
|
#define RASEO_Custom 0x00100000L
|
|
#define RASEO_PreviewPhoneNumber 0x00200000L
|
|
#define RASEO_SharedPhoneNumbers 0x00800000L
|
|
#define RASEO_PreviewUserPw 0x01000000L
|
|
#define RASEO_PreviewDomain 0x02000000L
|
|
#define RASEO_ShowDialingProgress 0x04000000L
|
|
#define RASEO_RequireCHAP 0x08000000L
|
|
#define RASEO_RequireMsCHAP 0x10000000L
|
|
#define RASEO_RequireMsCHAP2 0x20000000L
|
|
#define RASEO_RequireW95MSCHAP 0x40000000L
|
|
#define RASEO_CustomScript 0x80000000L
|
|
#endif
|
|
|
|
/* RAS entry secondary options */
|
|
#if (WINVER >= 0x0501)
|
|
#define RASEO2_SecureFileAndPrint 0x00000001L
|
|
#define RASEO2_SecureClientForMSNet 0x00000002L
|
|
#define RASEO2_DontNegotiateMultilink 0x00000004L
|
|
#define RASEO2_DontUseRasCredentials 0x00000008L
|
|
#define RASEO2_UsePreSharedKey 0x00000010L
|
|
#define RASEO2_Internet 0x00000020L
|
|
#define RASEO2_DisableNbtOverIP 0x00000040L
|
|
#define RASEO2_UseGlobalDeviceSettings 0x00000080L
|
|
#define RASEO2_ReconnectIfDropped 0x00000100L
|
|
#define RASEO2_SharePhoneNumbers 0x00000200L
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
#define RASEO2_SecureRoutingCompartment 0x00000400L
|
|
#define RASEO2_UseTypicalSettings 0x00000800L
|
|
#define RASEO2_IPv6SpecificNameServers 0x00001000L
|
|
#define RASEO2_IPv6RemoteDefaultGateway 0x00002000L
|
|
#define RASEO2_RegisterIpWithDNS 0x00004000L
|
|
#define RASEO2_UseDNSSuffixForRegistration 0x00008000L
|
|
#define RASEO2_IPv4ExplicitMetric 0x00010000L
|
|
#define RASEO2_IPv6ExplicitMetric 0x00020000L
|
|
#define RASEO2_DisableIKENameEkuCheck 0x00040000L
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
#define RASEO2_DisableClassBasedStaticRoute 0x00080000L
|
|
#define RASEO2_SpecificIPv6Addr 0x00100000L
|
|
#define RASEO2_DisableMobility 0x00200000L
|
|
#define RASEO2_RequireMachineCertificates 0x00400000L
|
|
#endif
|
|
|
|
/* RAS entry protocols */
|
|
#define RASNP_NetBEUI 0x00000001L
|
|
#define RASNP_Ipx 0x00000002L
|
|
#define RASNP_Ip 0x00000004L
|
|
#if (WINVER >= 0x0600)
|
|
#define RASNP_Ipv6 0x00000008L
|
|
#endif
|
|
|
|
/* RAS entry framing protocols */
|
|
#define RASFP_Ppp 0x00000001L
|
|
#define RASFP_Slip 0x00000002L
|
|
#define RASFP_Ras 0x00000004L
|
|
|
|
/* RAS entry device types */
|
|
#define RASDT_Modem TEXT( "modem" )
|
|
#define RASDT_Isdn TEXT( "isdn" )
|
|
#define RASDT_X25 TEXT( "x25" )
|
|
#define RASDT_Vpn TEXT( "vpn" )
|
|
#define RASDT_Pad TEXT( "pad" )
|
|
#define RASDT_Generic TEXT( "GENERIC" )
|
|
#define RASDT_Serial TEXT( "SERIAL" )
|
|
#define RASDT_FrameRelay TEXT( "FRAMERELAY" )
|
|
#define RASDT_Atm TEXT( "ATM" )
|
|
#define RASDT_Sonet TEXT( "SONET" )
|
|
#define RASDT_SW56 TEXT( "SW56" )
|
|
#define RASDT_Irda TEXT( "IRDA" )
|
|
#define RASDT_Parallel TEXT( "PARALLEL" )
|
|
#if (WINVER >= 0x0501)
|
|
#define RASDT_PPPoE TEXT( "PPPoE" )
|
|
#endif
|
|
|
|
/* RAS entry types */
|
|
#define RASET_Phone 1L
|
|
#define RASET_Vpn 2L
|
|
#if (WINVER < 0x0600)
|
|
#define RASET_Direct 3L
|
|
#endif
|
|
#define RASET_Internet 4L
|
|
#if (WINVER >= 0x0501)
|
|
#define RASET_Broadband 5L
|
|
#endif
|
|
|
|
/* RasConnectionNotification() flags */
|
|
#if (WINVER >= 0x0400)
|
|
#define RASCN_Connection 0x00000001L
|
|
#define RASCN_Disconnection 0x00000002L
|
|
#define RASCN_BandwidthAdded 0x00000004L
|
|
#define RASCN_BandwidthRemoved 0x00000008L
|
|
#define RASCN_Dormant 0x00000010L
|
|
#define RASCN_ReConnection 0x00000020L
|
|
#endif
|
|
|
|
/* RAS entry dial modes */
|
|
#if (WINVER >= 0x0401)
|
|
#define RASEDM_DialAll 1L
|
|
#define RASEDM_DialAsNeeded 2L
|
|
#endif
|
|
|
|
/* RAS entry idle disconnect seconds special values */
|
|
#if (WINVER >= 0x0401)
|
|
#define RASIDS_Disabled 0xFFFFFFFFL
|
|
#define RASIDS_UseGlobalValues 0x00000000L
|
|
#endif
|
|
|
|
/* RAS autodial flags */
|
|
#if (WINVER >= 0x0401)
|
|
#define RASADFLG_PositionDlg 0x00000001L
|
|
#endif
|
|
|
|
/* RAS credential masks */
|
|
#if (WINVER >= 0x0401)
|
|
#define RASCM_UserName 0x00000001L
|
|
#define RASCM_Password 0x00000002L
|
|
#define RASCM_Domain 0x00000004L
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
#define RASCM_DefaultCreds 0x00000008L
|
|
#define RASCM_PreSharedKey 0x00000010L
|
|
#define RASCM_ServerPreSharedKey 0x00000020L
|
|
#define RASCM_DDMPreSharedKey 0x00000040L
|
|
#endif
|
|
|
|
/* RasGetAutodialParam() control parameter values */
|
|
#if (WINVER >= 0x0401)
|
|
#define RASADP_DisableConnectionQuery 0L
|
|
#define RASADP_LoginSessionDisable 1L
|
|
#define RASADP_SavedAddressesLimit 2L
|
|
#define RASADP_FailedConnectionTimeout 3L
|
|
#define RASADP_ConnectionQueryTimeout 4L
|
|
#endif
|
|
|
|
/* RasGetEapUserIdentity() flags */
|
|
#if (WINVER >= 0x0500)
|
|
#define RASEAPF_NonInteractive 0x00000002L
|
|
#define RASEAPF_Logon 0x00000004L
|
|
#define RASEAPF_Preview 0x00000008L
|
|
#endif
|
|
|
|
/* RAS custom delete flags */
|
|
#if (WINVER >= 0x0500)
|
|
#define RCD_SingleUser 0x00000000L
|
|
#define RCD_AllUsers 0x00000001L
|
|
#define RCD_Eap 0x00000002L
|
|
#define RCD_Logon 0x00000004L
|
|
#endif
|
|
|
|
/* RAS NAP state */
|
|
#ifdef USES_RAS_QUARANTINE_APIS
|
|
typedef struct _tagRasNapState {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
IsolationState isolationState;
|
|
ProbationTime probationTime;
|
|
} RASNAPSTATE;
|
|
typedef RASNAPSTATE *LPRASNAPSTATE;
|
|
#endif
|
|
|
|
/* RAS API version numbers */
|
|
typedef enum RASAPIVERSION {
|
|
RASAPIVERSION_500 = 1,
|
|
RASAPIVERSION_501 = 2,
|
|
RASAPIVERSION_600 = 3,
|
|
RASAPIVERSION_601 = 4
|
|
} RASAPIVERSION;
|
|
#define RASAPIVERSION_CURRENT RASAPIVERSION_601
|
|
|
|
/* RAS IP address */
|
|
typedef struct RASIPADDR {
|
|
BYTE a;
|
|
BYTE b;
|
|
BYTE c;
|
|
BYTE d;
|
|
} RASIPADDR;
|
|
|
|
/* RAS IPv4 and IPv6 addresses */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct in_addr RASIPV4ADDR;
|
|
typedef struct in6_addr RASIPV6ADDR;
|
|
#endif
|
|
|
|
/* RAS tunnel endpoint */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct RASTUNNELENDPOINT {
|
|
DWORD dwType;
|
|
union {
|
|
RASIPV4ADDR ipv4;
|
|
RASIPV6ADDR ipv6;
|
|
};
|
|
} RASTUNNELENDPOINT;
|
|
#endif
|
|
|
|
/* RAS connection */
|
|
typedef struct tagRASCONNA {
|
|
DWORD dwSize;
|
|
HRASCONN hrasconn;
|
|
CHAR szEntryName[RAS_MaxEntryName + 1];
|
|
#if (WINVER >= 0x0400)
|
|
CHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
CHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
#endif
|
|
#if (WINVER >= 0x0401)
|
|
CHAR szPhonebook[MAX_PATH];
|
|
DWORD dwSubEntry;
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
GUID guidEntry;
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
DWORD dwFlags;
|
|
LUID luid;
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
GUID guidCorrelationId;
|
|
#endif
|
|
} RASCONNA;
|
|
typedef RASCONNA *LPRASCONNA;
|
|
typedef struct tagRASCONNW {
|
|
DWORD dwSize;
|
|
HRASCONN hrasconn;
|
|
WCHAR szEntryName[RAS_MaxEntryName + 1];
|
|
#if (WINVER >= 0x0400)
|
|
WCHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
#endif
|
|
#if (WINVER >= 0x0401)
|
|
WCHAR szPhonebook[MAX_PATH];
|
|
DWORD dwSubEntry;
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
GUID guidEntry;
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
DWORD dwFlags;
|
|
LUID luid;
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
GUID guidCorrelationId;
|
|
#endif
|
|
} RASCONNW;
|
|
typedef RASCONNW *LPRASCONNW;
|
|
#ifdef UNICODE
|
|
typedef RASCONNW RASCONN;
|
|
typedef LPRASCONNW LPRASCONN;
|
|
#else
|
|
typedef RASCONNA RASCONN;
|
|
typedef LPRASCONNA LPRASCONN;
|
|
#endif
|
|
|
|
/* RAS connection states */
|
|
typedef enum tagRASCONNSTATE {
|
|
RASCS_OpenPort,
|
|
RASCS_PortOpened,
|
|
RASCS_ConnectDevice,
|
|
RASCS_DeviceConnected,
|
|
RASCS_AllDevicesConnected,
|
|
RASCS_Authenticate,
|
|
RASCS_AuthNotify,
|
|
RASCS_AuthRetry,
|
|
RASCS_AuthCallback,
|
|
RASCS_AuthChangePassword,
|
|
RASCS_AuthProject,
|
|
RASCS_AuthLinkSpeed,
|
|
RASCS_AuthAck,
|
|
RASCS_ReAuthenticate,
|
|
RASCS_Authenticated,
|
|
RASCS_PrepareForCallback,
|
|
RASCS_WaitForModemReset,
|
|
RASCS_WaitForCallback,
|
|
RASCS_Projected,
|
|
#if (WINVER >= 0x0400)
|
|
RASCS_StartAuthentication,
|
|
RASCS_CallbackComplete,
|
|
RASCS_LogonNetwork,
|
|
#endif
|
|
RASCS_SubEntryConnected,
|
|
RASCS_SubEntryDisconnected,
|
|
#if (WINVER >= 0x0601)
|
|
RASCS_ApplySettings,
|
|
#endif
|
|
RASCS_Interactive = RASCS_PAUSED,
|
|
RASCS_RetryAuthentication,
|
|
RASCS_CallbackSetByCaller,
|
|
RASCS_PasswordExpired,
|
|
#if (WINVER >= 0x0500)
|
|
RASCS_InvokeEapUI,
|
|
#endif
|
|
RASCS_Connected = RASCS_DONE,
|
|
RASCS_Disconnected
|
|
} RASCONNSTATE;
|
|
typedef RASCONNSTATE *LPRASCONNSTATE;
|
|
|
|
/* RAS connection substates */
|
|
#if (WINVER >= 0x0601)
|
|
typedef enum tagRASCONNSUBSTATE {
|
|
RASCSS_None = 0,
|
|
RASCSS_Dormant = 1,
|
|
RASCSS_Reconnecting = 2,
|
|
RASCSS_Reconnected = RASCSS_DONE
|
|
} RASCONNSUBSTATE;
|
|
typedef RASCONNSUBSTATE *LPRASCONNSUBSTATE;
|
|
#endif
|
|
|
|
/* RAS connection status */
|
|
typedef struct tagRASCONNSTATUSA {
|
|
DWORD dwSize;
|
|
RASCONNSTATE rasconnstate;
|
|
DWORD dwError;
|
|
CHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
CHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
#if (WINVER >= 0x0401)
|
|
CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
RASTUNNELENDPOINT localEndPoint;
|
|
RASTUNNELENDPOINT remoteEndPoint;
|
|
RASCONNSUBSTATE rasconnsubstate;
|
|
#endif
|
|
} RASCONNSTATUSA;
|
|
typedef RASCONNSTATUSA *LPRASCONNSTATUSA;
|
|
typedef struct tagRASCONNSTATUSW {
|
|
DWORD dwSize;
|
|
RASCONNSTATE rasconnstate;
|
|
DWORD dwError;
|
|
WCHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
#if (WINVER >= 0x0401)
|
|
WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
RASTUNNELENDPOINT localEndPoint;
|
|
RASTUNNELENDPOINT remoteEndPoint;
|
|
RASCONNSUBSTATE rasconnsubstate;
|
|
#endif
|
|
} RASCONNSTATUSW;
|
|
typedef RASCONNSTATUSW *LPRASCONNSTATUSW;
|
|
#ifdef UNICODE
|
|
typedef RASCONNSTATUSW RASCONNSTATUS;
|
|
typedef LPRASCONNSTATUSW LPRASCONNSTATUS;
|
|
#else
|
|
typedef RASCONNSTATUSA RASCONNSTATUS;
|
|
typedef LPRASCONNSTATUSA LPRASCONNSTATUS;
|
|
#endif
|
|
|
|
/* RasDial() parameters */
|
|
typedef struct tagRASDIALPARAMSA {
|
|
DWORD dwSize;
|
|
CHAR szEntryName[RAS_MaxEntryName + 1];
|
|
CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
|
|
CHAR szUserName[UNLEN + 1];
|
|
CHAR szPassword[PWLEN + 1];
|
|
CHAR szDomain[DNLEN + 1];
|
|
#if (WINVER >= 0x0401)
|
|
DWORD dwSubEntry;
|
|
ULONG_PTR dwCallbackId;
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
DWORD dwIfIndex;
|
|
#endif
|
|
} RASDIALPARAMSA;
|
|
typedef RASDIALPARAMSA *LPRASDIALPARAMSA;
|
|
typedef struct tagRASDIALPARAMSW {
|
|
DWORD dwSize;
|
|
WCHAR szEntryName[RAS_MaxEntryName + 1];
|
|
WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
|
|
WCHAR szUserName[UNLEN + 1];
|
|
WCHAR szPassword[PWLEN + 1];
|
|
WCHAR szDomain[DNLEN + 1];
|
|
#if (WINVER >= 0x0401)
|
|
DWORD dwSubEntry;
|
|
ULONG_PTR dwCallbackId;
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
DWORD dwIfIndex;
|
|
#endif
|
|
} RASDIALPARAMSW;
|
|
typedef RASDIALPARAMSW *LPRASDIALPARAMSW;
|
|
#ifdef UNICODE
|
|
typedef RASDIALPARAMSW RASDIALPARAMS;
|
|
typedef LPRASDIALPARAMSW LPRASDIALPARAMS;
|
|
#else
|
|
typedef RASDIALPARAMSA RASDIALPARAMS;
|
|
typedef LPRASDIALPARAMSA LPRASDIALPARAMS;
|
|
#endif
|
|
|
|
/* RAS Extensible Authentication Protocol (EAP) information */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct tagRASEAPINFO {
|
|
DWORD dwSizeofEapInfo;
|
|
BYTE *pbEapInfo;
|
|
} RASEAPINFO;
|
|
#endif
|
|
|
|
/* RAS device-specific information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct tagRASDEVSPECIFICINFO {
|
|
DWORD dwSize;
|
|
BYTE *pbDevSpecificInfo;
|
|
} RASDEVSPECIFICINFO;
|
|
typedef RASDEVSPECIFICINFO *PRASDEVSPECIFICINFO;
|
|
#endif
|
|
|
|
/* RasDial() extensions */
|
|
typedef struct tagRASDIALEXTENSIONS {
|
|
DWORD dwSize;
|
|
DWORD dwfOptions;
|
|
HWND hwndParent;
|
|
ULONG_PTR reserved;
|
|
#if (WINVER >= 0x0500)
|
|
ULONG_PTR reserved1;
|
|
RASEAPINFO RasEapInfo;
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
BOOL fSkipPppAuth;
|
|
RASDEVSPECIFICINFO RasDevSpecificInfo;
|
|
#endif
|
|
} RASDIALEXTENSIONS;
|
|
typedef RASDIALEXTENSIONS *LPRASDIALEXTENSIONS;
|
|
|
|
/* RAS entry name */
|
|
typedef struct tagRASENTRYNAMEA {
|
|
DWORD dwSize;
|
|
CHAR szEntryName[RAS_MaxEntryName + 1];
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwFlags;
|
|
CHAR szPhonebookPath[MAX_PATH + 1];
|
|
#endif
|
|
} RASENTRYNAMEA;
|
|
typedef RASENTRYNAMEA *LPRASENTRYNAMEA;
|
|
typedef struct tagRASENTRYNAMEW {
|
|
DWORD dwSize;
|
|
WCHAR szEntryName[RAS_MaxEntryName + 1];
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwFlags;
|
|
WCHAR szPhonebookPath[MAX_PATH + 1];
|
|
#endif
|
|
} RASENTRYNAMEW;
|
|
typedef RASENTRYNAMEW *LPRASENTRYNAMEW;
|
|
#ifdef UNICODE
|
|
typedef RASENTRYNAMEW RASENTRYNAME;
|
|
typedef LPRASENTRYNAMEW LPRASENTRYNAME;
|
|
#else
|
|
typedef RASENTRYNAMEA RASENTRYNAME;
|
|
typedef LPRASENTRYNAMEA LPRASENTRYNAME;
|
|
#endif
|
|
|
|
/* RAS projections */
|
|
typedef enum tagRASPROJECTION {
|
|
RASP_Amb = 0x00010000,
|
|
RASP_PppNbf = 0x0000803F,
|
|
RASP_PppIpx = 0x0000802B,
|
|
RASP_PppIp = 0x00008021,
|
|
#if (WINVER >= 0x0500)
|
|
RASP_PppCcp = 0x000080FD,
|
|
#endif
|
|
RASP_PppLcp = 0x0000C021,
|
|
#if (WINVER >= 0x0600)
|
|
RASP_PppIpv6 = 0x00008057
|
|
#else
|
|
RASP_Slip = 0x00020000
|
|
#endif
|
|
} RASPROJECTION;
|
|
typedef RASPROJECTION *LPRASPROJECTION;
|
|
|
|
/* RAS Authentication Message Block (AMB) */
|
|
typedef struct tagRASAMBA {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
|
|
BYTE bLana;
|
|
} RASAMBA;
|
|
typedef RASAMBA *LPRASAMBA;
|
|
typedef struct tagRASAMBW {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
|
|
BYTE bLana;
|
|
} RASAMBW;
|
|
typedef RASAMBW *LPRASAMBW;
|
|
#ifdef UNICODE
|
|
typedef RASAMBW RASAMB;
|
|
typedef LPRASAMBW LPRASAMB;
|
|
#else
|
|
typedef RASAMBA RASAMB;
|
|
typedef LPRASAMBA LPRASAMB;
|
|
#endif
|
|
|
|
/* RAS PPP NBF */
|
|
typedef struct tagRASPPPNBFA {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
DWORD dwNetBiosError;
|
|
CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
|
|
CHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
|
|
BYTE bLana;
|
|
} RASPPPNBFA;
|
|
typedef RASPPPNBFA *LPRASPPPNBFA;
|
|
typedef struct tagRASPPPNBFW {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
DWORD dwNetBiosError;
|
|
WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
|
|
WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
|
|
BYTE bLana;
|
|
} RASPPPNBFW;
|
|
typedef RASPPPNBFW *LPRASPPPNBFW;
|
|
#ifdef UNICODE
|
|
typedef RASPPPNBFW RASPPPNBF;
|
|
typedef LPRASPPPNBFW LPRASPPPNBF;
|
|
#else
|
|
typedef RASPPPNBFA RASPPPNBF;
|
|
typedef LPRASPPPNBFA LPRASPPPNBF;
|
|
#endif
|
|
|
|
/* RAS Internetwork Packet Exchange (IPX) */
|
|
typedef struct tagRASIPXA {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
CHAR szIpxAddress[RAS_MaxIpxAddress + 1];
|
|
} RASIPXA;
|
|
typedef RASIPXA *LPRASIPXA;
|
|
typedef struct tagRASIPXW {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
WCHAR szIpxAddress[RAS_MaxIpxAddress + 1];
|
|
} RASIPXW;
|
|
typedef RASIPXW *LPRASIPXW;
|
|
#ifdef UNICODE
|
|
typedef RASIPXW RASIPX;
|
|
typedef LPRASIPXW LPRASIPX;
|
|
#else
|
|
typedef RASIPXA RASIPX;
|
|
typedef LPRASIPXA LPRASIPX;
|
|
#endif
|
|
|
|
/* RAS PPP IP */
|
|
typedef struct tagRASPPPIPA {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
CHAR szIpAddress[RAS_MaxIpAddress + 1];
|
|
#ifndef WINNT35COMPATIBLE
|
|
CHAR szServerIpAddress[RAS_MaxIpAddress + 1];
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwOptions;
|
|
DWORD dwServerOptions;
|
|
#endif
|
|
} RASPPPIPA;
|
|
typedef RASPPPIPA *LPRASPPPIPA;
|
|
typedef struct tagRASPPPIPW {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
WCHAR szIpAddress[RAS_MaxIpAddress + 1];
|
|
#ifndef WINNT35COMPATIBLE
|
|
WCHAR szServerIpAddress[RAS_MaxIpAddress + 1];
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwOptions;
|
|
DWORD dwServerOptions;
|
|
#endif
|
|
} RASPPPIPW;
|
|
typedef RASPPPIPW *LPRASPPPIPW;
|
|
#ifdef UNICODE
|
|
typedef RASPPPIPW RASPPPIP;
|
|
typedef LPRASPPPIPW LPRASPPPIP;
|
|
#else
|
|
typedef RASPPPIPA RASPPPIP;
|
|
typedef LPRASPPPIPA LPRASPPPIP;
|
|
#endif
|
|
|
|
/* RAS PPP IPv6 */
|
|
#if (WINVER >= 0x0600)
|
|
typedef struct tagRASPPPIPV6 {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
BYTE bLocalInterfaceIdentifier[8];
|
|
BYTE bPeerInterfaceIdentifier[8];
|
|
BYTE bLocalCompressionProtocol[2];
|
|
BYTE bPeerCompressionProtocol[2];
|
|
} RASPPPIPV6;
|
|
typedef RASPPPIPV6 *LPRASPPPIPV6;
|
|
#endif
|
|
|
|
/* RAS PPP LCP */
|
|
typedef struct tagRASPPPLCPA {
|
|
DWORD dwSize;
|
|
BOOL fBundled;
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwError;
|
|
DWORD dwAuthenticationProtocol;
|
|
DWORD dwAuthenticationData;
|
|
DWORD dwEapTypeId;
|
|
DWORD dwServerAuthenticationProtocol;
|
|
DWORD dwServerAuthenticationData;
|
|
DWORD dwServerEapTypeId;
|
|
BOOL fMultilink;
|
|
DWORD dwTerminateReason;
|
|
DWORD dwServerTerminateReason;
|
|
CHAR szReplyMessage[RAS_MaxReplyMessage];
|
|
DWORD dwOptions;
|
|
DWORD dwServerOptions;
|
|
#endif
|
|
} RASPPPLCPA;
|
|
typedef RASPPPLCPA *LPRASPPPLCPA;
|
|
typedef struct tagRASPPPLCPW {
|
|
DWORD dwSize;
|
|
BOOL fBundled;
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwError;
|
|
DWORD dwAuthenticationProtocol;
|
|
DWORD dwAuthenticationData;
|
|
DWORD dwEapTypeId;
|
|
DWORD dwServerAuthenticationProtocol;
|
|
DWORD dwServerAuthenticationData;
|
|
DWORD dwServerEapTypeId;
|
|
BOOL fMultilink;
|
|
DWORD dwTerminateReason;
|
|
DWORD dwServerTerminateReason;
|
|
WCHAR szReplyMessage[RAS_MaxReplyMessage];
|
|
DWORD dwOptions;
|
|
DWORD dwServerOptions;
|
|
#endif
|
|
} RASPPPLCPW;
|
|
typedef RASPPPLCPW *LPRASPPPLCPW;
|
|
#ifdef UNICODE
|
|
typedef RASPPPLCPW RASPPPLCP;
|
|
typedef LPRASPPPLCPW LPRASPPPLCP;
|
|
#else
|
|
typedef RASPPPLCPA RASPPPLCP;
|
|
typedef LPRASPPPLCPA LPRASPPPLCP;
|
|
#endif
|
|
|
|
/* RAS Serial Line IP (SLIP) */
|
|
#if (WINVER < 0x0600)
|
|
typedef struct tagRASSLIPA {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
CHAR szIpAddress[RAS_MaxIpAddress + 1];
|
|
} RASSLIPA;
|
|
typedef RASSLIPA *LPRASSLIPA;
|
|
typedef struct tagRASSLIPW {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
WCHAR szIpAddress[RAS_MaxIpAddress + 1];
|
|
} RASSLIPW;
|
|
typedef RASSLIPW *LPRASSLIPW;
|
|
#ifdef UNICODE
|
|
typedef RASSLIPW RASSLIP;
|
|
typedef LPRASSLIPW LPRASSLIP;
|
|
#else
|
|
typedef RASSLIPA RASSLIP;
|
|
typedef LPRASSLIPA LPRASSLIP;
|
|
#endif
|
|
#endif
|
|
|
|
/* RAS PPP Compression Control Protocol (CCP) */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct tagRASPPPCCP {
|
|
DWORD dwSize;
|
|
DWORD dwError;
|
|
DWORD dwCompressionAlgorithm;
|
|
DWORD dwOptions;
|
|
DWORD dwServerCompressionAlgorithm;
|
|
DWORD dwServerOptions;
|
|
} RASPPPCCP;
|
|
typedef RASPPPCCP *LPRASPPPCCP;
|
|
#endif
|
|
|
|
/* RAS PPP projection information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _RASPPP_PROJECTION_INFO {
|
|
DWORD dwIPv4NegotiationError;
|
|
RASIPV4ADDR ipv4Address;
|
|
RASIPV4ADDR ipv4ServerAddress;
|
|
DWORD dwIPv4Options;
|
|
DWORD dwIPv4ServerOptions;
|
|
DWORD dwIPv6NegotiationError;
|
|
BYTE bInterfaceIdentifier[8];
|
|
BYTE bServerInterfaceIdentifier[8];
|
|
BOOL fBundled;
|
|
BOOL fMultilink;
|
|
DWORD dwAuthenticationProtocol;
|
|
DWORD dwAuthenticationData;
|
|
DWORD dwServerAuthenticationProtocol;
|
|
DWORD dwServerAuthenticationData;
|
|
DWORD dwEapTypeId;
|
|
DWORD dwServerEapTypeId;
|
|
DWORD dwLcpOptions;
|
|
DWORD dwLcpServerOptions;
|
|
DWORD dwCcpError;
|
|
DWORD dwCcpCompressionAlgorithm;
|
|
DWORD dwCcpServerCompressionAlgorithm;
|
|
DWORD dwCcpOptions;
|
|
DWORD dwCcpServerOptions;
|
|
} RASPPP_PROJECTION_INFO;
|
|
typedef RASPPP_PROJECTION_INFO *PRASPPP_PROJECTION_INFO;
|
|
#endif
|
|
|
|
/* RAS IKEv2 projection information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _RASIKEV2_PROJECTION_INFO {
|
|
DWORD dwIPv4NegotiationError;
|
|
RASIPV4ADDR ipv4Address;
|
|
RASIPV4ADDR ipv4ServerAddress;
|
|
DWORD dwIPv6NegotiationError;
|
|
RASIPV6ADDR ipv6Address;
|
|
RASIPV6ADDR ipv6ServerAddress;
|
|
DWORD dwPrefixLength;
|
|
DWORD dwAuthenticationProtocol;
|
|
DWORD dwEapTypeId;
|
|
DWORD dwFlags;
|
|
DWORD dwEncryptionMethod;
|
|
DWORD numIPv4ServerAddresses;
|
|
RASIPV4ADDR *ipv4ServerAddresses;
|
|
DWORD numIPv6ServerAddresses;
|
|
RASIPV6ADDR *ipv6ServerAddresses;
|
|
} RASIKEV2_PROJECTION_INFO;
|
|
typedef RASIKEV2_PROJECTION_INFO *PRASIKEV2_PROJECTION_INFO;
|
|
#endif
|
|
|
|
/* RAS projection information types */
|
|
#if (WINVER >= 0x0601)
|
|
typedef enum _RASPROJECTION_INFO_TYPE {
|
|
PROJECTION_INFO_TYPE_PPP = 1,
|
|
PROJECTION_INFO_TYPE_IKEv2 = 2
|
|
} RASPROJECTION_INFO_TYPE;
|
|
#endif
|
|
|
|
/* RAS projection information */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct _RAS_PROJECTION_INFO {
|
|
RASAPIVERSION verison;
|
|
RASPROJECTION_INFO_TYPE type;
|
|
union {
|
|
RASPPP_PROJECTION_INFO ppp;
|
|
RASIKEV2_PROJECTION_INFO ikev2;
|
|
};
|
|
} RAS_PROJECTION_INFO;
|
|
typedef RAS_PROJECTION_INFO *PRAS_PROJECTION_INFO;
|
|
#endif
|
|
|
|
/* RAS callbacks */
|
|
typedef VOID (WINAPI *RASDIALFUNC)( UINT, RASCONNSTATE, DWORD );
|
|
typedef VOID (WINAPI *RASDIALFUNC1)( HRASCONN, UINT, RASCONNSTATE, DWORD, DWORD );
|
|
typedef DWORD (WINAPI *RASDIALFUNC2)( ULONG_PTR, DWORD, HRASCONN, UINT, RASCONNSTATE, DWORD, DWORD );
|
|
|
|
/* RAS device information */
|
|
typedef struct tagRASDEVINFOA {
|
|
DWORD dwSize;
|
|
CHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
CHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
} RASDEVINFOA;
|
|
typedef RASDEVINFOA *LPRASDEVINFOA;
|
|
typedef struct tagRASDEVINFOW {
|
|
DWORD dwSize;
|
|
WCHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
} RASDEVINFOW;
|
|
typedef RASDEVINFOW *LPRASDEVINFOW;
|
|
#ifdef UNICODE
|
|
typedef RASDEVINFOW RASDEVINFO;
|
|
typedef LPRASDEVINFOW LPRASDEVINFO;
|
|
#else
|
|
typedef RASDEVINFOA RASDEVINFO;
|
|
typedef LPRASDEVINFOA LPRASDEVINFO;
|
|
#endif
|
|
|
|
/* RAS country information */
|
|
typedef struct tagRASCTRYINFO {
|
|
DWORD dwSize;
|
|
DWORD dwCountryID;
|
|
DWORD dwNextCountryID;
|
|
DWORD dwCountryCode;
|
|
DWORD dwCountryNameOffset;
|
|
} RASCTRYINFO;
|
|
typedef RASCTRYINFO *LPRASCTRYINFO;
|
|
typedef RASCTRYINFO RASCTRYINFOA;
|
|
typedef RASCTRYINFO RASCTRYINFOW;
|
|
typedef RASCTRYINFOA *LPRASCTRYINFOA;
|
|
typedef RASCTRYINFOW *LPRASCTRYINFOW;
|
|
|
|
/* RAS entry */
|
|
typedef struct tagRASENTRYA {
|
|
DWORD dwSize;
|
|
DWORD dwfOptions;
|
|
DWORD dwCountryID;
|
|
DWORD dwCountryCode;
|
|
CHAR szAreaCode[RAS_MaxAreaCode + 1];
|
|
CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
DWORD dwAlternateOffset;
|
|
RASIPADDR ipaddr;
|
|
RASIPADDR ipaddrDns;
|
|
RASIPADDR ipaddrDnsAlt;
|
|
RASIPADDR ipaddrWins;
|
|
RASIPADDR ipaddrWinsAlt;
|
|
DWORD dwFrameSize;
|
|
DWORD dwfNetProtocols;
|
|
DWORD dwFramingProtocol;
|
|
CHAR szScript[MAX_PATH];
|
|
CHAR szAutodialDll[MAX_PATH];
|
|
CHAR szAutodialFunc[MAX_PATH];
|
|
CHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
CHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
CHAR szX25PadType[RAS_MaxPadType + 1];
|
|
CHAR szX25Address[RAS_MaxX25Address + 1];
|
|
CHAR szX25Facilities[RAS_MaxFacilities + 1];
|
|
CHAR szX25UserData[RAS_MaxUserData + 1];
|
|
DWORD dwChannels;
|
|
DWORD dwReserved1;
|
|
DWORD dwReserved2;
|
|
#if (WINVER >= 0x0401)
|
|
DWORD dwSubEntries;
|
|
DWORD dwDialMode;
|
|
DWORD dwDialExtraPercent;
|
|
DWORD dwDialExtraSampleSeconds;
|
|
DWORD dwHangUpExtraPercent;
|
|
DWORD dwHangUpExtraSampleSeconds;
|
|
DWORD dwIdleDisconnectSeconds;
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwType;
|
|
DWORD dwEncryptionType;
|
|
DWORD dwCustomAuthKey;
|
|
GUID guidId;
|
|
CHAR szCustomDialDll[MAX_PATH];
|
|
DWORD dwVpnStrategy;
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
DWORD dwfOptions2;
|
|
DWORD dwfOptions3;
|
|
CHAR szDnsSuffix[RAS_MaxDnsSuffix];
|
|
DWORD dwTcpWindowSize;
|
|
CHAR szPrerequisitePbk[MAX_PATH];
|
|
CHAR szPrerequisiteEntry[RAS_MaxEntryName + 1];
|
|
DWORD dwRedialCount;
|
|
DWORD dwRedialPause;
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
RASIPV6ADDR ipv6addrDns;
|
|
RASIPV6ADDR ipv6addrDnsAlt;
|
|
DWORD dwIPv4InterfaceMetric;
|
|
DWORD dwIPv6InterfaceMetric;
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
RASIPV6ADDR ipv6addr;
|
|
DWORD dwIPv6PrefixLength;
|
|
DWORD dwNetworkOutageTime;
|
|
#endif
|
|
} RASENTRYA;
|
|
typedef RASENTRYA *LPRASENTRYA;
|
|
typedef struct tagRASENTRYW {
|
|
DWORD dwSize;
|
|
DWORD dwfOptions;
|
|
DWORD dwCountryID;
|
|
DWORD dwCountryCode;
|
|
WCHAR szAreaCode[RAS_MaxAreaCode + 1];
|
|
WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
DWORD dwAlternateOffset;
|
|
RASIPADDR ipaddr;
|
|
RASIPADDR ipaddrDns;
|
|
RASIPADDR ipaddrDnsAlt;
|
|
RASIPADDR ipaddrWins;
|
|
RASIPADDR ipaddrWinsAlt;
|
|
DWORD dwFrameSize;
|
|
DWORD dwfNetProtocols;
|
|
DWORD dwFramingProtocol;
|
|
WCHAR szScript[MAX_PATH];
|
|
WCHAR szAutodialDll[MAX_PATH];
|
|
WCHAR szAutodialFunc[MAX_PATH];
|
|
WCHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
WCHAR szX25PadType[RAS_MaxPadType + 1];
|
|
WCHAR szX25Address[RAS_MaxX25Address + 1];
|
|
WCHAR szX25Facilities[RAS_MaxFacilities + 1];
|
|
WCHAR szX25UserData[RAS_MaxUserData + 1];
|
|
DWORD dwChannels;
|
|
DWORD dwReserved1;
|
|
DWORD dwReserved2;
|
|
#if (WINVER >= 0x0401)
|
|
DWORD dwSubEntries;
|
|
DWORD dwDialMode;
|
|
DWORD dwDialExtraPercent;
|
|
DWORD dwDialExtraSampleSeconds;
|
|
DWORD dwHangUpExtraPercent;
|
|
DWORD dwHangUpExtraSampleSeconds;
|
|
DWORD dwIdleDisconnectSeconds;
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
DWORD dwType;
|
|
DWORD dwEncryptionType;
|
|
DWORD dwCustomAuthKey;
|
|
GUID guidId;
|
|
WCHAR szCustomDialDll[MAX_PATH];
|
|
DWORD dwVpnStrategy;
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
DWORD dwfOptions2;
|
|
DWORD dwfOptions3;
|
|
WCHAR szDnsSuffix[RAS_MaxDnsSuffix];
|
|
DWORD dwTcpWindowSize;
|
|
WCHAR szPrerequisitePbk[MAX_PATH];
|
|
WCHAR szPrerequisiteEntry[RAS_MaxEntryName + 1];
|
|
DWORD dwRedialCount;
|
|
DWORD dwRedialPause;
|
|
#endif
|
|
#if (WINVER >= 0x0600)
|
|
RASIPV6ADDR ipv6addrDns;
|
|
RASIPV6ADDR ipv6addrDnsAlt;
|
|
DWORD dwIPv4InterfaceMetric;
|
|
DWORD dwIPv6InterfaceMetric;
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
RASIPV6ADDR ipv6addr;
|
|
DWORD dwIPv6PrefixLength;
|
|
DWORD dwNetworkOutageTime;
|
|
#endif
|
|
} RASENTRYW;
|
|
typedef RASENTRYW *LPRASENTRYW;
|
|
#ifdef UNICODE
|
|
typedef RASENTRYW RASENTRY;
|
|
typedef LPRASENTRYW LPRASENTRY;
|
|
#else
|
|
typedef RASENTRYA RASENTRY;
|
|
typedef LPRASENTRYA LPRASENTRY;
|
|
#endif
|
|
|
|
/* Old autodial function */
|
|
typedef BOOL (WINAPI *ORASADFUNC)( HWND, LPSTR, DWORD, LPDWORD );
|
|
|
|
/* RAS autodial parameters */
|
|
#if (WINVER >= 0x0401)
|
|
typedef struct tagRASADPARAMS {
|
|
DWORD dwSize;
|
|
HWND hwndOwner;
|
|
DWORD dwFlags;
|
|
LONG xDlg;
|
|
LONG yDlg;
|
|
} RASADPARAMS;
|
|
typedef RASADPARAMS *LPRASADPARAMS;
|
|
#endif
|
|
|
|
/* RAS autodial function */
|
|
#if (WINVER >= 0x0401)
|
|
typedef BOOL (WINAPI *RASADFUNCA)( LPSTR, LPSTR, LPRASADPARAMS, LPDWORD );
|
|
typedef BOOL (WINAPI *RASADFUNCW)( LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD );
|
|
#ifdef UNICODE
|
|
#define RASADFUNC RASADFUNCW
|
|
#else
|
|
#define RASADFUNC RASADFUNCA
|
|
#endif
|
|
#endif
|
|
|
|
/* RAS subentry */
|
|
#if (WINVER >= 0x0401)
|
|
typedef struct tagRASSUBENTRYA {
|
|
DWORD dwSize;
|
|
DWORD dwfFlags;
|
|
CHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
CHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
DWORD dwAlternateOffset;
|
|
} RASSUBENTRYA;
|
|
typedef RASSUBENTRYA *LPRASSUBENTRYA;
|
|
typedef struct tagRASSUBENTRYW {
|
|
DWORD dwSize;
|
|
DWORD dwfFlags;
|
|
WCHAR szDeviceType[RAS_MaxDeviceType + 1];
|
|
WCHAR szDeviceName[RAS_MaxDeviceName + 1];
|
|
WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
|
|
DWORD dwAlternateOffset;
|
|
} RASSUBENTRYW;
|
|
typedef RASSUBENTRYW *LPRASSUBENTRYW;
|
|
#ifdef UNICODE
|
|
typedef RASSUBENTRYW RASSUBENTRY;
|
|
typedef LPRASSUBENTRYW LPRASSUBENTRY;
|
|
#else
|
|
typedef RASSUBENTRYA RASSUBENTRY;
|
|
typedef LPRASSUBENTRYA LPRASSUBENTRY;
|
|
#endif
|
|
#endif
|
|
|
|
/* RAS credentials */
|
|
#if (WINVER >= 0x0401)
|
|
typedef struct tagRASCREDENTIALSA {
|
|
DWORD dwSize;
|
|
DWORD dwMask;
|
|
CHAR szUserName[UNLEN + 1];
|
|
CHAR szPassword[PWLEN + 1];
|
|
CHAR szDomain[DNLEN + 1];
|
|
} RASCREDENTIALSA;
|
|
typedef RASCREDENTIALSA *LPRASCREDENTIALSA;
|
|
typedef struct tagRASCREDENTIALSW {
|
|
DWORD dwSize;
|
|
DWORD dwMask;
|
|
WCHAR szUserName[UNLEN + 1];
|
|
WCHAR szPassword[PWLEN + 1];
|
|
WCHAR szDomain[DNLEN + 1];
|
|
} RASCREDENTIALSW;
|
|
typedef RASCREDENTIALSW *LPRASCREDENTIALSW;
|
|
#ifdef UNICODE
|
|
typedef RASCREDENTIALSW RASCREDENTIALS;
|
|
typedef LPRASCREDENTIALSW LPRASCREDENTIALS;
|
|
#else
|
|
typedef RASCREDENTIALSA RASCREDENTIALS;
|
|
typedef LPRASCREDENTIALSA LPRASCREDENTIALS;
|
|
#endif
|
|
#endif
|
|
|
|
/* RAS autodial entry */
|
|
#if (WINVER >= 0x0401)
|
|
typedef struct tagRASAUTODIALENTRYA {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwDialingLocation;
|
|
CHAR szEntry[RAS_MaxEntryName + 1];
|
|
} RASAUTODIALENTRYA;
|
|
typedef RASAUTODIALENTRYA *LPRASAUTODIALENTRYA;
|
|
typedef struct tagRASAUTODIALENTRYW {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwDialingLocation;
|
|
WCHAR szEntry[RAS_MaxEntryName + 1];
|
|
} RASAUTODIALENTRYW;
|
|
typedef RASAUTODIALENTRYW *LPRASAUTODIALENTRYW;
|
|
#ifdef UNICODE
|
|
typedef RASAUTODIALENTRYW RASAUTODIALENTRY;
|
|
typedef LPRASAUTODIALENTRYW LPRASAUTODIALENTRY;
|
|
#else
|
|
typedef RASAUTODIALENTRYA RASAUTODIALENTRY;
|
|
typedef LPRASAUTODIALENTRYA LPRASAUTODIALENTRY;
|
|
#endif
|
|
#endif
|
|
|
|
/* RAS EAP user identity */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct tagRASEAPUSERIDENTITYA {
|
|
CHAR szUserName[UNLEN + 1];
|
|
DWORD dwSizeofEapInfo;
|
|
BYTE pbEapInfo[1];
|
|
} RASEAPUSERIDENTITYA;
|
|
typedef RASEAPUSERIDENTITYA *LPRASEAPUSERIDENTITYA;
|
|
typedef struct tagRASEAPUSERIDENTITYW {
|
|
WCHAR szUserName[UNLEN + 1];
|
|
DWORD dwSizeofEapInfo;
|
|
BYTE pbEapInfo[1];
|
|
} RASEAPUSERIDENTITYW;
|
|
typedef RASEAPUSERIDENTITYW *LPRASEAPUSERIDENTITYW;
|
|
#ifdef UNICODE
|
|
typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY;
|
|
typedef LPRASEAPUSERIDENTITYW LPRASEAPUSERIDENTITY;
|
|
#else
|
|
typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY;
|
|
typedef LPRASEAPUSERIDENTITYA LPRASEAPUSERIDENTITY;
|
|
#endif
|
|
#endif
|
|
|
|
/* RAS buffer callbacks */
|
|
#if (WINVER >= 0x0500)
|
|
typedef DWORD (WINAPI *PFNRASGETBUFFER)( PBYTE *, PDWORD );
|
|
typedef DWORD (WINAPI *PFNRASFREEBUFFER)( PBYTE );
|
|
typedef DWORD (WINAPI *PFNRASSENDBUFFER)( HANDLE, PBYTE, DWORD );
|
|
typedef DWORD (WINAPI *PFNRASRECEIVEBUFFER)( HANDLE, PBYTE, PDWORD, DWORD, HANDLE );
|
|
typedef DWORD (WINAPI *PFNRASRETRIEVEBUFFER)( HANDLE, PBYTE, PDWORD );
|
|
#endif
|
|
|
|
/* RAS custom script execute function */
|
|
#if (WINVER >= 0x0500)
|
|
typedef DWORD (WINAPI *RasCustomScriptExecuteFn)( HANDLE, LPCWSTR, LPCWSTR, PFNRASGETBUFFER, PFNRASFREEBUFFER, PFNRASSENDBUFFER, PFNRASRECEIVEBUFFER, PFNRASRETRIEVEBUFFER, HWND, RASDIALPARAMS *, PVOID );
|
|
#endif
|
|
|
|
/* RAS communication settings */
|
|
#if (WINVER >= 0x0501)
|
|
typedef struct tagRASCOMMSETTINGS {
|
|
DWORD dwSize;
|
|
BYTE bParity;
|
|
BYTE bStop;
|
|
BYTE bByteSize;
|
|
BYTE bAlign;
|
|
} RASCOMMSETTINGS;
|
|
#endif
|
|
|
|
/* RAS communication settings callback */
|
|
#if (WINVER >= 0x0501)
|
|
typedef DWORD (WINAPI *PFNRASSETCOMMSETTINGS)( HANDLE, RASCOMMSETTINGS *, PVOID );
|
|
#endif
|
|
|
|
/* RAS custom script extensions */
|
|
#if (WINVER >= 0x0501)
|
|
typedef struct tagRASCUSTOMSCRIPTEXTENSIONS {
|
|
DWORD dwSize;
|
|
PFNRASSETCOMMSETTINGS pfnRasSetCommSettings;
|
|
} RASCUSTOMSCRIPTEXTENSIONS;
|
|
#endif
|
|
|
|
/* RAS statistics */
|
|
#if (WINVER >= 0x0500)
|
|
typedef struct _RAS_STATS {
|
|
DWORD dwSize;
|
|
DWORD dwBytesXmited;
|
|
DWORD dwBytesRcved;
|
|
DWORD dwFramesXmited;
|
|
DWORD dwFramesRcved;
|
|
DWORD dwCrcErr;
|
|
DWORD dwTimeoutErr;
|
|
DWORD dwAlignmentErr;
|
|
DWORD dwHardwareOverrunErr;
|
|
DWORD dwFramingErr;
|
|
DWORD dwBufferOverrunErr;
|
|
DWORD dwCompressionRatioIn;
|
|
DWORD dwCompressionRatioOut;
|
|
DWORD dwBps;
|
|
DWORD dwConnectDuration;
|
|
} RAS_STATS;
|
|
typedef RAS_STATS *PRAS_STATS;
|
|
#endif
|
|
|
|
/* RAS custom functions */
|
|
#if (WINVER >= 0x0500)
|
|
typedef DWORD (WINAPI *RasCustomHangUpFn)( HRASCONN );
|
|
typedef DWORD (WINAPI *RasCustomDialFn)( HINSTANCE, LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD );
|
|
typedef DWORD (WINAPI *RasCustomDeleteEntryNotifyFn)( LPCWSTR, LPCWSTR, DWORD );
|
|
#endif
|
|
|
|
/* RasUpdateConnection() parameters */
|
|
#if (WINVER >= 0x0601)
|
|
typedef struct tagRASUPDATECONN {
|
|
RASAPIVERSION version;
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwIfIndex;
|
|
RASTUNNELENDPOINT localEndPoint;
|
|
RASTUNNELENDPOINT remoteEndPoint;
|
|
} RASUPDATECONN;
|
|
typedef RASUPDATECONN *LPRASUPDATECONN;
|
|
#endif
|
|
|
|
/* Functions in RASAPI32.DLL */
|
|
DWORD APIENTRY RasConnectionNotificationA( HRASCONN, HANDLE, DWORD );
|
|
DWORD APIENTRY RasConnectionNotificationW( HRASCONN, HANDLE, DWORD );
|
|
DWORD APIENTRY RasCreatePhonebookEntryA( HWND, LPCSTR );
|
|
DWORD APIENTRY RasCreatePhonebookEntryW( HWND, LPCWSTR );
|
|
DWORD APIENTRY RasDeleteEntryA( LPCSTR, LPCSTR );
|
|
DWORD APIENTRY RasDeleteEntryW( LPCWSTR, LPCWSTR );
|
|
DWORD APIENTRY RasDialA( LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA, DWORD, LPVOID, LPHRASCONN );
|
|
DWORD APIENTRY RasDialW( LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW, DWORD, LPVOID, LPHRASCONN );
|
|
DWORD APIENTRY RasEditPhonebookEntryA( HWND, LPCSTR, LPCSTR );
|
|
DWORD APIENTRY RasEditPhonebookEntryW( HWND, LPCWSTR, LPCWSTR );
|
|
DWORD APIENTRY RasEnumConnectionsA( LPRASCONNA, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasEnumConnectionsW( LPRASCONNW, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasEnumDevicesA( LPRASDEVINFOA, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasEnumDevicesW( LPRASDEVINFOW, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasEnumEntriesA( LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasEnumEntriesW( LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasGetConnectStatusA( HRASCONN, LPRASCONNSTATUSA );
|
|
DWORD APIENTRY RasGetConnectStatusW( HRASCONN, LPRASCONNSTATUSW );
|
|
DWORD APIENTRY RasGetCountryInfoA( LPRASCTRYINFOA, LPDWORD );
|
|
DWORD APIENTRY RasGetCountryInfoW( LPRASCTRYINFOW, LPDWORD );
|
|
DWORD APIENTRY RasGetEntryDialParamsA( LPCSTR, LPRASDIALPARAMSA, LPBOOL );
|
|
DWORD APIENTRY RasGetEntryDialParamsW( LPCWSTR, LPRASDIALPARAMSW, LPBOOL );
|
|
DWORD APIENTRY RasGetEntryPropertiesA( LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD, LPBYTE, LPDWORD );
|
|
DWORD APIENTRY RasGetEntryPropertiesW( LPCWSTR, LPCWSTR, LPRASENTRYW, LPDWORD, LPBYTE, LPDWORD );
|
|
DWORD APIENTRY RasGetErrorStringA( UINT, LPSTR, DWORD );
|
|
DWORD APIENTRY RasGetErrorStringW( UINT, LPWSTR, DWORD );
|
|
DWORD APIENTRY RasGetProjectionInfoA( HRASCONN, RASPROJECTION, LPVOID, LPDWORD );
|
|
DWORD APIENTRY RasGetProjectionInfoW( HRASCONN, RASPROJECTION, LPVOID, LPDWORD );
|
|
DWORD APIENTRY RasHangUpA( HRASCONN );
|
|
DWORD APIENTRY RasHangUpW( HRASCONN );
|
|
DWORD APIENTRY RasRenameEntryA( LPCSTR, LPCSTR, LPCSTR );
|
|
DWORD APIENTRY RasRenameEntryW( LPCWSTR, LPCWSTR, LPCWSTR );
|
|
DWORD APIENTRY RasSetEntryDialParamsA( LPCSTR, LPRASDIALPARAMSA, BOOL );
|
|
DWORD APIENTRY RasSetEntryDialParamsW( LPCWSTR, LPRASDIALPARAMSW, BOOL );
|
|
DWORD APIENTRY RasSetEntryPropertiesA( LPCSTR, LPCSTR, LPRASENTRYA, DWORD, LPBYTE, DWORD );
|
|
DWORD APIENTRY RasSetEntryPropertiesW( LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD, LPBYTE, DWORD );
|
|
DWORD APIENTRY RasValidateEntryNameA( LPCSTR, LPCSTR );
|
|
DWORD APIENTRY RasValidateEntryNameW( LPCWSTR, LPCWSTR );
|
|
#if (WINVER >= 0x0401)
|
|
DWORD APIENTRY RasEnumAutodialAddressesA( LPSTR *, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasEnumAutodialAddressesW( LPWSTR *, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasGetAutodialAddressA( LPCSTR, LPDWORD, LPRASAUTODIALENTRYA, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasGetAutodialAddressW( LPCWSTR, LPDWORD, LPRASAUTODIALENTRYW, LPDWORD, LPDWORD );
|
|
DWORD APIENTRY RasGetAutodialEnableA( DWORD, LPBOOL );
|
|
DWORD APIENTRY RasGetAutodialEnableW( DWORD, LPBOOL );
|
|
DWORD APIENTRY RasGetAutodialParamA( DWORD, LPVOID, LPDWORD );
|
|
DWORD APIENTRY RasGetAutodialParamW( DWORD, LPVOID, LPDWORD );
|
|
DWORD APIENTRY RasGetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA );
|
|
DWORD APIENTRY RasGetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW );
|
|
DWORD APIENTRY RasGetSubEntryHandleA( HRASCONN, DWORD, LPHRASCONN );
|
|
DWORD APIENTRY RasGetSubEntryHandleW( HRASCONN, DWORD, LPHRASCONN );
|
|
DWORD APIENTRY RasGetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD );
|
|
DWORD APIENTRY RasGetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD );
|
|
DWORD APIENTRY RasSetAutodialAddressA( LPCSTR, DWORD, LPRASAUTODIALENTRYA, DWORD, DWORD );
|
|
DWORD APIENTRY RasSetAutodialAddressW( LPCWSTR, DWORD, LPRASAUTODIALENTRYW, DWORD, DWORD );
|
|
DWORD APIENTRY RasSetAutodialEnableA( DWORD, BOOL );
|
|
DWORD APIENTRY RasSetAutodialEnableW( DWORD, BOOL );
|
|
DWORD APIENTRY RasSetAutodialParamA( DWORD, LPVOID, DWORD );
|
|
DWORD APIENTRY RasSetAutodialParamW( DWORD, LPVOID, DWORD );
|
|
DWORD APIENTRY RasSetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL );
|
|
DWORD APIENTRY RasSetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL );
|
|
DWORD APIENTRY RasSetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, LPRASSUBENTRYA, DWORD, LPBYTE, DWORD );
|
|
DWORD APIENTRY RasSetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, LPRASSUBENTRYW, DWORD, LPBYTE, DWORD );
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
DWORD APIENTRY RasClearConnectionStatistics( HRASCONN );
|
|
DWORD APIENTRY RasClearLinkStatistics( HRASCONN, DWORD );
|
|
VOID APIENTRY RasFreeEapUserIdentityA( LPRASEAPUSERIDENTITYA );
|
|
VOID APIENTRY RasFreeEapUserIdentityW( LPRASEAPUSERIDENTITYW );
|
|
DWORD APIENTRY RasGetConnectionStatistics( HRASCONN, RAS_STATS * );
|
|
DWORD APIENTRY RasGetCustomAuthDataA( LPCSTR, LPCSTR, BYTE *, DWORD * );
|
|
DWORD APIENTRY RasGetCustomAuthDataW( LPCWSTR, LPCWSTR, BYTE *, DWORD * );
|
|
DWORD APIENTRY RasGetEapUserDataA( HANDLE, LPCSTR, LPCSTR, BYTE *, DWORD * );
|
|
DWORD APIENTRY RasGetEapUserDataW( HANDLE, LPCWSTR, LPCWSTR, BYTE *, DWORD * );
|
|
DWORD APIENTRY RasGetEapUserIdentityA( LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA * );
|
|
DWORD APIENTRY RasGetEapUserIdentityW( LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW * );
|
|
DWORD APIENTRY RasGetLinkStatistics( HRASCONN, DWORD, RAS_STATS * );
|
|
DWORD APIENTRY RasInvokeEapUI( HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND );
|
|
DWORD APIENTRY RasSetCustomAuthDataA( LPCSTR, LPCSTR, BYTE *, DWORD );
|
|
DWORD APIENTRY RasSetCustomAuthDataW( LPCWSTR, LPCWSTR, BYTE *, DWORD );
|
|
DWORD APIENTRY RasSetEapUserDataA( HANDLE, LPCSTR, LPCSTR, BYTE *, DWORD );
|
|
DWORD APIENTRY RasSetEapUserDataW( HANDLE, LPCWSTR, LPCWSTR, BYTE *, DWORD );
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
DWORD APIENTRY RasDeleteSubEntryA( LPCSTR, LPCSTR, DWORD );
|
|
DWORD APIENTRY RasDeleteSubEntryW( LPCWSTR, LPCWSTR, DWORD );
|
|
#ifdef USES_RAS_QUARANTINE_APIS
|
|
DWORD APIENTRY RasGetNapStatus( HRASCONN, LPRASNAPSTATE );
|
|
#endif
|
|
#endif
|
|
#if (WINVER >= 0x0601)
|
|
DWORD APIENTRY RasGetProjectionInfoEx( HRASCONN, PRAS_PROJECTION_INFO, LPDWORD );
|
|
DWORD APIENTRY RasUpdateConnection( HRASCONN, LPRASUPDATECONN );
|
|
#endif
|
|
|
|
/* Map generic function names to the appropriate ANSI or Unicode version. */
|
|
#ifdef UNICODE
|
|
#define RasConnectionNotification RasConnectionNotificationW
|
|
#define RasCreatePhonebookEntry RasCreatePhonebookEntryW
|
|
#define RasDeleteEntry RasDeleteEntryW
|
|
#define RasDial RasDialW
|
|
#define RasEditPhonebookEntry RasEditPhonebookEntryW
|
|
#define RasEnumConnections RasEnumConnectionsW
|
|
#define RasEnumDevices RasEnumDevicesW
|
|
#define RasEnumEntries RasEnumEntriesW
|
|
#define RasGetConnectStatus RasGetConnectStatusW
|
|
#define RasGetCountryInfo RasGetCountryInfoW
|
|
#define RasGetEntryDialParams RasGetEntryDialParamsW
|
|
#define RasGetEntryProperties RasGetEntryPropertiesW
|
|
#define RasGetErrorString RasGetErrorStringW
|
|
#define RasGetProjectionInfo RasGetProjectionInfoW
|
|
#define RasHangUp RasHangUpW
|
|
#define RasRenameEntry RasRenameEntryW
|
|
#define RasSetEntryDialParams RasSetEntryDialParamsW
|
|
#define RasSetEntryProperties RasSetEntryPropertiesW
|
|
#define RasValidateEntryName RasValidateEntryNameW
|
|
#if (WINVER >= 0x0401)
|
|
#define RasEnumAutodialAddresses RasEnumAutodialAddressesW
|
|
#define RasGetAutodialAddress RasGetAutodialAddressW
|
|
#define RasGetAutodialEnable RasGetAutodialEnableW
|
|
#define RasGetAutodialParam RasGetAutodialParamW
|
|
#define RasGetCredentials RasGetCredentialsW
|
|
#define RasGetSubEntryHandle RasGetSubEntryHandleW
|
|
#define RasGetSubEntryProperties RasGetSubEntryPropertiesW
|
|
#define RasSetAutodialAddress RasSetAutodialAddressW
|
|
#define RasSetAutodialEnable RasSetAutodialEnableW
|
|
#define RasSetAutodialParam RasSetAutodialParamW
|
|
#define RasSetCredentials RasSetCredentialsW
|
|
#define RasSetSubEntryProperties RasSetSubEntryPropertiesW
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
#define RasFreeEapUserIdentity RasFreeEapUserIdentityW
|
|
#define RasGetCustomAuthData RasGetCustomAuthDataW
|
|
#define RasGetEapUserData RasGetEapUserDataW
|
|
#define RasGetEapUserIdentity RasGetEapUserIdentityW
|
|
#define RasSetCustomAuthData RasSetCustomAuthDataW
|
|
#define RasSetEapUserData RasSetEapUserDataW
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
#define RasDeleteSubEntry RasDeleteSubEntryW
|
|
#endif
|
|
#else
|
|
#define RasConnectionNotification RasConnectionNotificationA
|
|
#define RasCreatePhonebookEntry RasCreatePhonebookEntryA
|
|
#define RasDeleteEntry RasDeleteEntryA
|
|
#define RasDial RasDialA
|
|
#define RasEditPhonebookEntry RasEditPhonebookEntryA
|
|
#define RasEnumConnections RasEnumConnectionsA
|
|
#define RasEnumDevices RasEnumDevicesA
|
|
#define RasEnumEntries RasEnumEntriesA
|
|
#define RasGetConnectStatus RasGetConnectStatusA
|
|
#define RasGetCountryInfo RasGetCountryInfoA
|
|
#define RasGetEntryDialParams RasGetEntryDialParamsA
|
|
#define RasGetEntryProperties RasGetEntryPropertiesA
|
|
#define RasGetErrorString RasGetErrorStringA
|
|
#define RasGetProjectionInfo RasGetProjectionInfoA
|
|
#define RasHangUp RasHangUpA
|
|
#define RasRenameEntry RasRenameEntryA
|
|
#define RasSetEntryDialParams RasSetEntryDialParamsA
|
|
#define RasSetEntryProperties RasSetEntryPropertiesA
|
|
#define RasValidateEntryName RasValidateEntryNameA
|
|
#if (WINVER >= 0x0401)
|
|
#define RasEnumAutodialAddresses RasEnumAutodialAddressesA
|
|
#define RasGetAutodialAddress RasGetAutodialAddressA
|
|
#define RasGetAutodialEnable RasGetAutodialEnableA
|
|
#define RasGetAutodialParam RasGetAutodialParamA
|
|
#define RasGetCredentials RasGetCredentialsA
|
|
#define RasGetSubEntryHandle RasGetSubEntryHandleA
|
|
#define RasGetSubEntryProperties RasGetSubEntryPropertiesA
|
|
#define RasSetAutodialAddress RasSetAutodialAddressA
|
|
#define RasSetAutodialEnable RasSetAutodialEnableA
|
|
#define RasSetAutodialParam RasSetAutodialParamA
|
|
#define RasSetCredentials RasSetCredentialsA
|
|
#define RasSetSubEntryProperties RasSetSubEntryPropertiesA
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
#define RasFreeEapUserIdentity RasFreeEapUserIdentityA
|
|
#define RasGetCustomAuthData RasGetCustomAuthDataA
|
|
#define RasGetEapUserData RasGetEapUserDataA
|
|
#define RasGetEapUserIdentity RasGetEapUserIdentityA
|
|
#define RasSetCustomAuthData RasSetCustomAuthDataA
|
|
#define RasSetEapUserData RasSetEapUserDataA
|
|
#endif
|
|
#if (WINVER >= 0x0501)
|
|
#define RasDeleteSubEntry RasDeleteSubEntryA
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* _RAS_H_ */
|