1*c2c66affSColin Finck #ifndef _RAS_H 2*c2c66affSColin Finck #define _RAS_H 3*c2c66affSColin Finck 4*c2c66affSColin Finck #ifdef __cplusplus 5*c2c66affSColin Finck extern "C" 6*c2c66affSColin Finck { 7*c2c66affSColin Finck #endif 8*c2c66affSColin Finck 9*c2c66affSColin Finck #ifndef _LMCONS_H 10*c2c66affSColin Finck #include <lmcons.h> 11*c2c66affSColin Finck #endif 12*c2c66affSColin Finck 13*c2c66affSColin Finck /* TODO 14*c2c66affSColin Finck include <basetsd.h> from winnt.h so that this typedef is not necessary 15*c2c66affSColin Finck */ 16*c2c66affSColin Finck #ifndef _BASETSD_H_ 17*c2c66affSColin Finck typedef unsigned long ULONG_PTR, *PULONG_PTR; 18*c2c66affSColin Finck #endif 19*c2c66affSColin Finck 20*c2c66affSColin Finck #include <pshpack4.h> 21*c2c66affSColin Finck 22*c2c66affSColin Finck #define RAS_MaxDeviceType 16 23*c2c66affSColin Finck #define RAS_MaxPhoneNumber 128 24*c2c66affSColin Finck #define RAS_MaxIpAddress 15 25*c2c66affSColin Finck #define RAS_MaxIpxAddress 21 26*c2c66affSColin Finck #define RAS_MaxEntryName 256 27*c2c66affSColin Finck #define RAS_MaxDeviceName 128 28*c2c66affSColin Finck #define RAS_MaxCallbackNumber RAS_MaxPhoneNumber 29*c2c66affSColin Finck #define RAS_MaxAreaCode 10 30*c2c66affSColin Finck #define RAS_MaxPadType 32 31*c2c66affSColin Finck #define RAS_MaxX25Address 200 32*c2c66affSColin Finck #define RAS_MaxFacilities 200 33*c2c66affSColin Finck #define RAS_MaxUserData 200 34*c2c66affSColin Finck #define RAS_MaxReplyMessage 1024 35*c2c66affSColin Finck #define RAS_MaxDnsSuffix 256 36*c2c66affSColin Finck #if (WINVER >= 0x501) 37*c2c66affSColin Finck #define RASCF_AllUsers 0x00000001 38*c2c66affSColin Finck #define RASCF_GlobalCreds 0x00000002 39*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 40*c2c66affSColin Finck #define RDEOPT_UsePrefixSuffix 0x00000001 41*c2c66affSColin Finck #define RDEOPT_PausedStates 0x00000002 42*c2c66affSColin Finck #define RDEOPT_IgnoreModemSpeaker 0x00000004 43*c2c66affSColin Finck #define RDEOPT_SetModemSpeaker 0x00000008 44*c2c66affSColin Finck #define RDEOPT_IgnoreSoftwareCompression 0x00000010 45*c2c66affSColin Finck #define RDEOPT_SetSoftwareCompression 0x00000020 46*c2c66affSColin Finck #define RDEOPT_DisableConnectedUI 0x00000040 47*c2c66affSColin Finck #define RDEOPT_DisableReconnectUI 0x00000080 48*c2c66affSColin Finck #define RDEOPT_DisableReconnect 0x00000100 49*c2c66affSColin Finck #define RDEOPT_NoUser 0x00000200 50*c2c66affSColin Finck #define RDEOPT_PauseOnScript 0x00000400 51*c2c66affSColin Finck #define RDEOPT_Router 0x00000800 52*c2c66affSColin Finck #define REN_User 0x00000000 53*c2c66affSColin Finck #define REN_AllUsers 0x00000001 54*c2c66affSColin Finck #define VS_Default 0 55*c2c66affSColin Finck #define VS_PptpOnly 1 56*c2c66affSColin Finck #define VS_PptpFirst 2 57*c2c66affSColin Finck #define VS_L2tpOnly 3 58*c2c66affSColin Finck #define VS_L2tpFirst 4 59*c2c66affSColin Finck #define RASDIALEVENT "RasDialEvent" 60*c2c66affSColin Finck #define WM_RASDIALEVENT 0xCCCD 61*c2c66affSColin Finck #define RASEO_UseCountryAndAreaCodes 0x00000001 62*c2c66affSColin Finck #define RASEO_SpecificIpAddr 0x00000002 63*c2c66affSColin Finck #define RASEO_SpecificNameServers 0x00000004 64*c2c66affSColin Finck #define RASEO_IpHeaderCompression 0x00000008 65*c2c66affSColin Finck #define RASEO_RemoteDefaultGateway 0x00000010 66*c2c66affSColin Finck #define RASEO_DisableLcpExtensions 0x00000020 67*c2c66affSColin Finck #define RASEO_TerminalBeforeDial 0x00000040 68*c2c66affSColin Finck #define RASEO_TerminalAfterDial 0x00000080 69*c2c66affSColin Finck #define RASEO_ModemLights 0x00000100 70*c2c66affSColin Finck #define RASEO_SwCompression 0x00000200 71*c2c66affSColin Finck #define RASEO_RequireEncryptedPw 0x00000400 72*c2c66affSColin Finck #define RASEO_RequireMsEncryptedPw 0x00000800 73*c2c66affSColin Finck #define RASEO_RequireDataEncryption 0x00001000 74*c2c66affSColin Finck #define RASEO_NetworkLogon 0x00002000 75*c2c66affSColin Finck #define RASEO_UseLogonCredentials 0x00004000 76*c2c66affSColin Finck #define RASEO_PromoteAlternates 0x00008000 77*c2c66affSColin Finck #define RASNP_NetBEUI 0x00000001 78*c2c66affSColin Finck #define RASNP_Ipx 0x00000002 79*c2c66affSColin Finck #define RASNP_Ip 0x00000004 80*c2c66affSColin Finck #define RASFP_Ppp 0x00000001 81*c2c66affSColin Finck #define RASFP_Slip 0x00000002 82*c2c66affSColin Finck #define RASFP_Ras 0x00000004 83*c2c66affSColin Finck #define RASDT_Direct TEXT("direct") 84*c2c66affSColin Finck #define RASDT_Modem TEXT("modem") 85*c2c66affSColin Finck #define RASDT_Isdn TEXT("isdn") 86*c2c66affSColin Finck #define RASDT_X25 TEXT("x25") 87*c2c66affSColin Finck #define RASDT_Vpn TEXT("vpn") 88*c2c66affSColin Finck #define RASDT_Pad TEXT("pad") 89*c2c66affSColin Finck #define RASDT_Generic TEXT("GENERIC") 90*c2c66affSColin Finck #define RASDT_Serial TEXT("SERIAL") 91*c2c66affSColin Finck #define RASDT_FrameRelay TEXT("FRAMERELAY") 92*c2c66affSColin Finck #define RASDT_Atm TEXT("ATM") 93*c2c66affSColin Finck #define RASDT_Sonet TEXT("SONET") 94*c2c66affSColin Finck #define RASDT_SW56 TEXT("SW56") 95*c2c66affSColin Finck #define RASDT_Irda TEXT("IRDA") 96*c2c66affSColin Finck #define RASDT_Parallel TEXT("PARALLEL") 97*c2c66affSColin Finck #if (WINVER >= 0x501) 98*c2c66affSColin Finck #define RASDT_PPPoE TEXT("PPPoE") 99*c2c66affSColin Finck #endif 100*c2c66affSColin Finck #define RASET_Phone 1 101*c2c66affSColin Finck #define RASET_Vpn 2 102*c2c66affSColin Finck #define RASET_Direct 3 103*c2c66affSColin Finck #define RASET_Internet 4 104*c2c66affSColin Finck #if (WINVER >= 0x501) 105*c2c66affSColin Finck #define RASET_Broadband 5 106*c2c66affSColin Finck #endif 107*c2c66affSColin Finck #if (WINVER >= 0x401) 108*c2c66affSColin Finck #define RASEO_SecureLocalFiles 0x00010000 109*c2c66affSColin Finck #define RASCN_Connection 0x00000001 110*c2c66affSColin Finck #define RASCN_Disconnection 0x00000002 111*c2c66affSColin Finck #define RASCN_BandwidthAdded 0x00000004 112*c2c66affSColin Finck #define RASCN_BandwidthRemoved 0x00000008 113*c2c66affSColin Finck #define RASEDM_DialAll 1 114*c2c66affSColin Finck #define RASEDM_DialAsNeeded 2 115*c2c66affSColin Finck #define RASIDS_Disabled 0xffffffff 116*c2c66affSColin Finck #define RASIDS_UseGlobalValue 0 117*c2c66affSColin Finck #define RASADFLG_PositionDlg 0x00000001 118*c2c66affSColin Finck #define RASCM_UserName 0x00000001 119*c2c66affSColin Finck #define RASCM_Password 0x00000002 120*c2c66affSColin Finck #define RASCM_Domain 0x00000004 121*c2c66affSColin Finck #define RASADP_DisableConnectionQuery 0 122*c2c66affSColin Finck #define RASADP_LoginSessionDisable 1 123*c2c66affSColin Finck #define RASADP_SavedAddressesLimit 2 124*c2c66affSColin Finck #define RASADP_FailedConnectionTimeout 3 125*c2c66affSColin Finck #define RASADP_ConnectionQueryTimeout 4 126*c2c66affSColin Finck #endif /* (WINVER >= 0x401) */ 127*c2c66affSColin Finck #if (WINVER >= 0x500) 128*c2c66affSColin Finck #define RDEOPT_CustomDial 0x00001000 129*c2c66affSColin Finck #if (WINVER >= 0x501) 130*c2c66affSColin Finck #define RDEOPT_UseCustomScripting 0x00002000 131*c2c66affSColin Finck #define RASCM_DefaultCreds 0x00000008 132*c2c66affSColin Finck #define RASCM_PreSharedKey 0x00000010 133*c2c66affSColin Finck #define RASCM_ServerPreSharedKey 0x00000020 134*c2c66affSColin Finck #define RASCM_DDMPreSharedKey 0x00000040 135*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 136*c2c66affSColin Finck #define RASLCPAP_PAP 0xC023 137*c2c66affSColin Finck #define RASLCPAP_SPAP 0xC027 138*c2c66affSColin Finck #define RASLCPAP_CHAP 0xC223 139*c2c66affSColin Finck #define RASLCPAP_EAP 0xC227 140*c2c66affSColin Finck #define RASLCPAD_CHAP_MD5 0x05 141*c2c66affSColin Finck #define RASLCPAD_CHAP_MS 0x80 142*c2c66affSColin Finck #define RASLCPAD_CHAP_MSV2 0x81 143*c2c66affSColin Finck #define RASLCPO_PFC 0x00000001 144*c2c66affSColin Finck #define RASLCPO_ACFC 0x00000002 145*c2c66affSColin Finck #define RASLCPO_SSHF 0x00000004 146*c2c66affSColin Finck #define RASLCPO_DES_56 0x00000008 147*c2c66affSColin Finck #define RASLCPO_3_DES 0x00000010 148*c2c66affSColin Finck #define RASCCPCA_MPPC 0x00000006 149*c2c66affSColin Finck #define RASCCPCA_STAC 0x00000005 150*c2c66affSColin Finck #define RASCCPO_Compression 0x00000001 151*c2c66affSColin Finck #define RASCCPO_HistoryLess 0x00000002 152*c2c66affSColin Finck #define RASCCPO_Encryption56bit 0x00000010 153*c2c66affSColin Finck #define RASCCPO_Encryption40bit 0x00000020 154*c2c66affSColin Finck #define RASCCPO_Encryption128bit 0x00000040 155*c2c66affSColin Finck #define RASEO_RequireEAP 0x00020000 156*c2c66affSColin Finck #define RASEO_RequirePAP 0x00040000 157*c2c66affSColin Finck #define RASEO_RequireSPAP 0x00080000 158*c2c66affSColin Finck #define RASEO_Custom 0x00100000 159*c2c66affSColin Finck #define RASEO_PreviewPhoneNumber 0x00200000 160*c2c66affSColin Finck #define RASEO_SharedPhoneNumbers 0x00800000 161*c2c66affSColin Finck #define RASEO_PreviewUserPw 0x01000000 162*c2c66affSColin Finck #define RASEO_PreviewDomain 0x02000000 163*c2c66affSColin Finck #define RASEO_ShowDialingProgress 0x04000000 164*c2c66affSColin Finck #define RASEO_RequireCHAP 0x08000000 165*c2c66affSColin Finck #define RASEO_RequireMsCHAP 0x10000000 166*c2c66affSColin Finck #define RASEO_RequireMsCHAP2 0x20000000 167*c2c66affSColin Finck #define RASEO_RequireW95MSCHAP 0x40000000 168*c2c66affSColin Finck #define RASEO_CustomScript 0x80000000 169*c2c66affSColin Finck #define RASIPO_VJ 0x00000001 170*c2c66affSColin Finck #define RCD_SingleUser 0 171*c2c66affSColin Finck #define RCD_AllUsers 0x00000001 172*c2c66affSColin Finck #define RCD_Eap 0x00000002 173*c2c66affSColin Finck #define RASEAPF_NonInteractive 0x00000002 174*c2c66affSColin Finck #define RASEAPF_Logon 0x00000004 175*c2c66affSColin Finck #define RASEAPF_Preview 0x00000008 176*c2c66affSColin Finck #define ET_40Bit 1 177*c2c66affSColin Finck #define ET_128Bit 2 178*c2c66affSColin Finck #define ET_None 0 179*c2c66affSColin Finck #define ET_Require 1 180*c2c66affSColin Finck #define ET_RequireMax 2 181*c2c66affSColin Finck #define ET_Optional 3 182*c2c66affSColin Finck #endif /* (WINVER >= 0x500) */ 183*c2c66affSColin Finck #if (WINVER >= 0x501) 184*c2c66affSColin Finck #define RASEO2_SecureFileAndPrint 0x00000001 185*c2c66affSColin Finck #define RASEO2_SecureClientForMSNet 0x00000002 186*c2c66affSColin Finck #define RASEO2_DontNegotiateMultilink 0x00000004 187*c2c66affSColin Finck #define RASEO2_DontUseRasCredentials 0x00000008 188*c2c66affSColin Finck #define RASEO2_UsePreSharedKey 0x00000010 189*c2c66affSColin Finck #define RASEO2_Internet 0x00000020 190*c2c66affSColin Finck #define RASEO2_DisableNbtOverIP 0x00000040 191*c2c66affSColin Finck #define RASEO2_UseGlobalDeviceSettings 0x00000080 192*c2c66affSColin Finck #define RASEO2_ReconnectIfDropped 0x00000100 193*c2c66affSColin Finck #define RASEO2_SharePhoneNumbers 0x00000200 194*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 195*c2c66affSColin Finck 196*c2c66affSColin Finck #define RASCS_PAUSED 0x1000 197*c2c66affSColin Finck #define RASCS_DONE 0x2000 198*c2c66affSColin Finck typedef enum tagRASCONNSTATE { 199*c2c66affSColin Finck RASCS_OpenPort = 0, 200*c2c66affSColin Finck RASCS_PortOpened, 201*c2c66affSColin Finck RASCS_ConnectDevice, 202*c2c66affSColin Finck RASCS_DeviceConnected, 203*c2c66affSColin Finck RASCS_AllDevicesConnected, 204*c2c66affSColin Finck RASCS_Authenticate, 205*c2c66affSColin Finck RASCS_AuthNotify, 206*c2c66affSColin Finck RASCS_AuthRetry, 207*c2c66affSColin Finck RASCS_AuthCallback, 208*c2c66affSColin Finck RASCS_AuthChangePassword, 209*c2c66affSColin Finck RASCS_AuthProject, 210*c2c66affSColin Finck RASCS_AuthLinkSpeed, 211*c2c66affSColin Finck RASCS_AuthAck, 212*c2c66affSColin Finck RASCS_ReAuthenticate, 213*c2c66affSColin Finck RASCS_Authenticated, 214*c2c66affSColin Finck RASCS_PrepareForCallback, 215*c2c66affSColin Finck RASCS_WaitForModemReset, 216*c2c66affSColin Finck RASCS_WaitForCallback, 217*c2c66affSColin Finck RASCS_Projected, 218*c2c66affSColin Finck RASCS_StartAuthentication, 219*c2c66affSColin Finck RASCS_CallbackComplete, 220*c2c66affSColin Finck RASCS_LogonNetwork, 221*c2c66affSColin Finck RASCS_SubEntryConnected, 222*c2c66affSColin Finck RASCS_SubEntryDisconnected, 223*c2c66affSColin Finck RASCS_Interactive = RASCS_PAUSED, 224*c2c66affSColin Finck RASCS_RetryAuthentication, 225*c2c66affSColin Finck RASCS_CallbackSetByCaller, 226*c2c66affSColin Finck RASCS_PasswordExpired, 227*c2c66affSColin Finck #if (WINVER >= 0x500) 228*c2c66affSColin Finck RASCS_InvokeEapUI, 229*c2c66affSColin Finck #endif 230*c2c66affSColin Finck RASCS_Connected = RASCS_DONE, 231*c2c66affSColin Finck RASCS_Disconnected 232*c2c66affSColin Finck } RASCONNSTATE, *LPRASCONNSTATE; 233*c2c66affSColin Finck 234*c2c66affSColin Finck typedef enum tagRASPROJECTION { 235*c2c66affSColin Finck RASP_Amb = 0x10000, 236*c2c66affSColin Finck RASP_PppNbf = 0x803F, 237*c2c66affSColin Finck RASP_PppIpx = 0x802B, 238*c2c66affSColin Finck RASP_PppIp = 0x8021, 239*c2c66affSColin Finck #if (WINVER >= 0x500) 240*c2c66affSColin Finck RASP_PppCcp = 0x80FD, 241*c2c66affSColin Finck #endif 242*c2c66affSColin Finck RASP_PppLcp = 0xC021, 243*c2c66affSColin Finck RASP_Slip = 0x20000 244*c2c66affSColin Finck } RASPROJECTION, *LPRASPROJECTION; 245*c2c66affSColin Finck 246*c2c66affSColin Finck DECLARE_HANDLE (HRASCONN); 247*c2c66affSColin Finck typedef HRASCONN* LPHRASCONN; 248*c2c66affSColin Finck 249*c2c66affSColin Finck typedef struct tagRASCONNW { 250*c2c66affSColin Finck DWORD dwSize; 251*c2c66affSColin Finck HRASCONN hrasconn; 252*c2c66affSColin Finck WCHAR szEntryName[RAS_MaxEntryName + 1]; 253*c2c66affSColin Finck #if (WINVER >= 0x400) 254*c2c66affSColin Finck WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 255*c2c66affSColin Finck WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 256*c2c66affSColin Finck #endif 257*c2c66affSColin Finck #if (WINVER >= 0x401) 258*c2c66affSColin Finck WCHAR szPhonebook[MAX_PATH]; 259*c2c66affSColin Finck DWORD dwSubEntry; 260*c2c66affSColin Finck #endif 261*c2c66affSColin Finck #if (WINVER >= 0x500) 262*c2c66affSColin Finck GUID guidEntry; 263*c2c66affSColin Finck #endif 264*c2c66affSColin Finck #if (WINVER >= 0x501) 265*c2c66affSColin Finck DWORD dwSessionId; 266*c2c66affSColin Finck DWORD dwFlags; 267*c2c66affSColin Finck LUID luid; 268*c2c66affSColin Finck #endif 269*c2c66affSColin Finck } RASCONNW, *LPRASCONNW; 270*c2c66affSColin Finck 271*c2c66affSColin Finck typedef struct tagRASCONNA { 272*c2c66affSColin Finck DWORD dwSize; 273*c2c66affSColin Finck HRASCONN hrasconn; 274*c2c66affSColin Finck CHAR szEntryName[RAS_MaxEntryName + 1]; 275*c2c66affSColin Finck #if (WINVER >= 0x400) 276*c2c66affSColin Finck CHAR szDeviceType[RAS_MaxDeviceType + 1]; 277*c2c66affSColin Finck CHAR szDeviceName[RAS_MaxDeviceName + 1]; 278*c2c66affSColin Finck #endif 279*c2c66affSColin Finck #if (WINVER >= 0x401) 280*c2c66affSColin Finck CHAR szPhonebook[MAX_PATH]; 281*c2c66affSColin Finck DWORD dwSubEntry; 282*c2c66affSColin Finck #endif 283*c2c66affSColin Finck #if (WINVER >= 0x500) 284*c2c66affSColin Finck GUID guidEntry; 285*c2c66affSColin Finck #endif 286*c2c66affSColin Finck #if (WINVER >= 0x501) 287*c2c66affSColin Finck DWORD dwSessionId; 288*c2c66affSColin Finck DWORD dwFlags; 289*c2c66affSColin Finck LUID luid; 290*c2c66affSColin Finck #endif 291*c2c66affSColin Finck } RASCONNA, *LPRASCONNA; 292*c2c66affSColin Finck 293*c2c66affSColin Finck typedef struct tagRASCONNSTATUSW { 294*c2c66affSColin Finck DWORD dwSize; 295*c2c66affSColin Finck RASCONNSTATE rasconnstate; 296*c2c66affSColin Finck DWORD dwError; 297*c2c66affSColin Finck WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 298*c2c66affSColin Finck WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 299*c2c66affSColin Finck #if (WINVER >= 0x401) 300*c2c66affSColin Finck WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 301*c2c66affSColin Finck #endif 302*c2c66affSColin Finck } RASCONNSTATUSW, *LPRASCONNSTATUSW; 303*c2c66affSColin Finck 304*c2c66affSColin Finck typedef struct tagRASCONNSTATUSA { 305*c2c66affSColin Finck DWORD dwSize; 306*c2c66affSColin Finck RASCONNSTATE rasconnstate; 307*c2c66affSColin Finck DWORD dwError; 308*c2c66affSColin Finck CHAR szDeviceType[RAS_MaxDeviceType + 1]; 309*c2c66affSColin Finck CHAR szDeviceName[RAS_MaxDeviceName + 1]; 310*c2c66affSColin Finck #if (WINVER >= 0x401) 311*c2c66affSColin Finck CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 312*c2c66affSColin Finck #endif 313*c2c66affSColin Finck } RASCONNSTATUSA, *LPRASCONNSTATUSA; 314*c2c66affSColin Finck 315*c2c66affSColin Finck typedef struct tagRASDIALPARAMSW { 316*c2c66affSColin Finck DWORD dwSize; 317*c2c66affSColin Finck WCHAR szEntryName[RAS_MaxEntryName + 1]; 318*c2c66affSColin Finck WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 319*c2c66affSColin Finck WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1]; 320*c2c66affSColin Finck WCHAR szUserName[UNLEN + 1]; 321*c2c66affSColin Finck WCHAR szPassword[PWLEN + 1]; 322*c2c66affSColin Finck WCHAR szDomain[DNLEN + 1]; 323*c2c66affSColin Finck #if (WINVER >= 0x401) 324*c2c66affSColin Finck DWORD dwSubEntry; 325*c2c66affSColin Finck ULONG_PTR dwCallbackId; 326*c2c66affSColin Finck #endif 327*c2c66affSColin Finck } RASDIALPARAMSW, *LPRASDIALPARAMSW; 328*c2c66affSColin Finck 329*c2c66affSColin Finck typedef struct tagRASDIALPARAMSA { 330*c2c66affSColin Finck DWORD dwSize; 331*c2c66affSColin Finck CHAR szEntryName[RAS_MaxEntryName + 1]; 332*c2c66affSColin Finck CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 333*c2c66affSColin Finck CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1]; 334*c2c66affSColin Finck CHAR szUserName[UNLEN + 1]; 335*c2c66affSColin Finck CHAR szPassword[PWLEN + 1]; 336*c2c66affSColin Finck CHAR szDomain[DNLEN + 1]; 337*c2c66affSColin Finck #if (WINVER >= 0x401) 338*c2c66affSColin Finck DWORD dwSubEntry; 339*c2c66affSColin Finck ULONG_PTR dwCallbackId; 340*c2c66affSColin Finck #endif 341*c2c66affSColin Finck } RASDIALPARAMSA, *LPRASDIALPARAMSA; 342*c2c66affSColin Finck 343*c2c66affSColin Finck #if (WINVER >= 0x500) 344*c2c66affSColin Finck typedef struct tagRASEAPINFO { 345*c2c66affSColin Finck DWORD dwSizeofEapInfo; 346*c2c66affSColin Finck BYTE *pbEapInfo; 347*c2c66affSColin Finck } RASEAPINFO; 348*c2c66affSColin Finck #endif 349*c2c66affSColin Finck 350*c2c66affSColin Finck typedef struct tagRASDIALEXTENSIONS { 351*c2c66affSColin Finck DWORD dwSize; 352*c2c66affSColin Finck DWORD dwfOptions; 353*c2c66affSColin Finck HWND hwndParent; 354*c2c66affSColin Finck ULONG_PTR reserved; 355*c2c66affSColin Finck #if (WINVER >= 0x500) 356*c2c66affSColin Finck ULONG_PTR reserved1; 357*c2c66affSColin Finck RASEAPINFO RasEapInfo; 358*c2c66affSColin Finck #endif 359*c2c66affSColin Finck } RASDIALEXTENSIONS, *LPRASDIALEXTENSIONS; 360*c2c66affSColin Finck 361*c2c66affSColin Finck typedef struct tagRASENTRYNAMEW { 362*c2c66affSColin Finck DWORD dwSize; 363*c2c66affSColin Finck WCHAR szEntryName[RAS_MaxEntryName + 1]; 364*c2c66affSColin Finck #if (WINVER >= 0x500) 365*c2c66affSColin Finck DWORD dwFlags; 366*c2c66affSColin Finck WCHAR szPhonebookPath[MAX_PATH + 1]; 367*c2c66affSColin Finck #endif 368*c2c66affSColin Finck } RASENTRYNAMEW, *LPRASENTRYNAMEW; 369*c2c66affSColin Finck 370*c2c66affSColin Finck typedef struct tagRASENTRYNAMEA { 371*c2c66affSColin Finck DWORD dwSize; 372*c2c66affSColin Finck CHAR szEntryName[RAS_MaxEntryName + 1]; 373*c2c66affSColin Finck #if (WINVER >= 0x500) 374*c2c66affSColin Finck DWORD dwFlags; 375*c2c66affSColin Finck CHAR szPhonebookPath[MAX_PATH + 1]; 376*c2c66affSColin Finck #endif 377*c2c66affSColin Finck } RASENTRYNAMEA, *LPRASENTRYNAMEA; 378*c2c66affSColin Finck 379*c2c66affSColin Finck typedef struct tagRASAMBW { 380*c2c66affSColin Finck DWORD dwSize; 381*c2c66affSColin Finck DWORD dwError; 382*c2c66affSColin Finck WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 383*c2c66affSColin Finck BYTE bLana; 384*c2c66affSColin Finck } RASAMBW, *LPRASAMBW; 385*c2c66affSColin Finck 386*c2c66affSColin Finck typedef struct tagRASAMBA { 387*c2c66affSColin Finck DWORD dwSize; 388*c2c66affSColin Finck DWORD dwError; 389*c2c66affSColin Finck CHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 390*c2c66affSColin Finck BYTE bLana; 391*c2c66affSColin Finck } RASAMBA, *LPRASAMBA; 392*c2c66affSColin Finck 393*c2c66affSColin Finck typedef struct tagRASPPPNBFW { 394*c2c66affSColin Finck DWORD dwSize; 395*c2c66affSColin Finck DWORD dwError; 396*c2c66affSColin Finck DWORD dwNetBiosError; 397*c2c66affSColin Finck WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 398*c2c66affSColin Finck WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1]; 399*c2c66affSColin Finck BYTE bLana; 400*c2c66affSColin Finck } RASPPPNBFW, *LPRASPPPNBFW; 401*c2c66affSColin Finck 402*c2c66affSColin Finck typedef struct tagRASPPPNBFA { 403*c2c66affSColin Finck DWORD dwSize; 404*c2c66affSColin Finck DWORD dwError; 405*c2c66affSColin Finck DWORD dwNetBiosError; 406*c2c66affSColin Finck CHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 407*c2c66affSColin Finck CHAR szWorkstationName[NETBIOS_NAME_LEN + 1]; 408*c2c66affSColin Finck BYTE bLana; 409*c2c66affSColin Finck } RASPPPNBFA, *LPRASPPPNBFA; 410*c2c66affSColin Finck 411*c2c66affSColin Finck typedef struct tagRASIPXW { 412*c2c66affSColin Finck DWORD dwSize; 413*c2c66affSColin Finck DWORD dwError; 414*c2c66affSColin Finck WCHAR szIpxAddress[RAS_MaxIpxAddress + 1]; 415*c2c66affSColin Finck } RASPPPIPXW, *LPRASPPPIPXW; 416*c2c66affSColin Finck 417*c2c66affSColin Finck typedef struct tagRASIPXA { 418*c2c66affSColin Finck DWORD dwSize; 419*c2c66affSColin Finck DWORD dwError; 420*c2c66affSColin Finck CHAR szIpxAddress[RAS_MaxIpxAddress + 1]; 421*c2c66affSColin Finck } RASPPPIPXA, *LPRASPPPIPXA; 422*c2c66affSColin Finck 423*c2c66affSColin Finck typedef struct tagRASPPPIPW { 424*c2c66affSColin Finck DWORD dwSize; 425*c2c66affSColin Finck DWORD dwError; 426*c2c66affSColin Finck WCHAR szIpAddress[RAS_MaxIpAddress + 1]; 427*c2c66affSColin Finck #ifndef WINNT35COMPATIBLE 428*c2c66affSColin Finck WCHAR szServerIpAddress[RAS_MaxIpAddress + 1]; 429*c2c66affSColin Finck #endif 430*c2c66affSColin Finck #if (WINVER >= 0x500) 431*c2c66affSColin Finck DWORD dwOptions; 432*c2c66affSColin Finck DWORD dwServerOptions; 433*c2c66affSColin Finck #endif 434*c2c66affSColin Finck } RASPPPIPW, *LPRASPPPIPW; 435*c2c66affSColin Finck 436*c2c66affSColin Finck typedef struct tagRASPPPIPA { 437*c2c66affSColin Finck DWORD dwSize; 438*c2c66affSColin Finck DWORD dwError; 439*c2c66affSColin Finck CHAR szIpAddress[RAS_MaxIpAddress + 1]; 440*c2c66affSColin Finck #ifndef WINNT35COMPATIBLE 441*c2c66affSColin Finck CHAR szServerIpAddress[RAS_MaxIpAddress + 1]; 442*c2c66affSColin Finck #endif 443*c2c66affSColin Finck #if (WINVER >= 0x500) 444*c2c66affSColin Finck DWORD dwOptions; 445*c2c66affSColin Finck DWORD dwServerOptions; 446*c2c66affSColin Finck #endif 447*c2c66affSColin Finck } RASPPPIPA, *LPRASPPPIPA; 448*c2c66affSColin Finck 449*c2c66affSColin Finck typedef struct tagRASPPPLCPW { 450*c2c66affSColin Finck DWORD dwSize; 451*c2c66affSColin Finck BOOL fBundled; 452*c2c66affSColin Finck #if (WINVER >= 0x500) 453*c2c66affSColin Finck DWORD dwError; 454*c2c66affSColin Finck DWORD dwAuthenticationProtocol; 455*c2c66affSColin Finck DWORD dwAuthenticationData; 456*c2c66affSColin Finck DWORD dwEapTypeId; 457*c2c66affSColin Finck DWORD dwServerAuthenticationProtocol; 458*c2c66affSColin Finck DWORD dwServerAuthenticationData; 459*c2c66affSColin Finck DWORD dwServerEapTypeId; 460*c2c66affSColin Finck BOOL fMultilink; 461*c2c66affSColin Finck DWORD dwTerminateReason; 462*c2c66affSColin Finck DWORD dwServerTerminateReason; 463*c2c66affSColin Finck WCHAR szReplyMessage[RAS_MaxReplyMessage]; 464*c2c66affSColin Finck DWORD dwOptions; 465*c2c66affSColin Finck DWORD dwServerOptions; 466*c2c66affSColin Finck #endif 467*c2c66affSColin Finck } RASPPPLCPW, *LPRASPPPLCPW; 468*c2c66affSColin Finck 469*c2c66affSColin Finck typedef struct tagRASPPPLCPA { 470*c2c66affSColin Finck DWORD dwSize; 471*c2c66affSColin Finck BOOL fBundled; 472*c2c66affSColin Finck #if (WINVER >= 0x500) 473*c2c66affSColin Finck DWORD dwError; 474*c2c66affSColin Finck DWORD dwAuthenticationProtocol; 475*c2c66affSColin Finck DWORD dwAuthenticationData; 476*c2c66affSColin Finck DWORD dwEapTypeId; 477*c2c66affSColin Finck DWORD dwServerAuthenticationProtocol; 478*c2c66affSColin Finck DWORD dwServerAuthenticationData; 479*c2c66affSColin Finck DWORD dwServerEapTypeId; 480*c2c66affSColin Finck BOOL fMultilink; 481*c2c66affSColin Finck DWORD dwTerminateReason; 482*c2c66affSColin Finck DWORD dwServerTerminateReason; 483*c2c66affSColin Finck CHAR szReplyMessage[RAS_MaxReplyMessage]; 484*c2c66affSColin Finck DWORD dwOptions; 485*c2c66affSColin Finck DWORD dwServerOptions; 486*c2c66affSColin Finck #endif 487*c2c66affSColin Finck } RASPPPLCPA, *LPRASPPPLCPA; 488*c2c66affSColin Finck 489*c2c66affSColin Finck typedef struct tagRASSLIPW { 490*c2c66affSColin Finck DWORD dwSize; 491*c2c66affSColin Finck DWORD dwError; 492*c2c66affSColin Finck WCHAR szIpAddress[RAS_MaxIpAddress + 1]; 493*c2c66affSColin Finck } RASSLIPW, *LPRASSLIPW; 494*c2c66affSColin Finck 495*c2c66affSColin Finck 496*c2c66affSColin Finck typedef struct tagRASSLIPA { 497*c2c66affSColin Finck DWORD dwSize; 498*c2c66affSColin Finck DWORD dwError; 499*c2c66affSColin Finck CHAR szIpAddress[RAS_MaxIpAddress + 1]; 500*c2c66affSColin Finck } RASSLIPA, *LPRASSLIPA; 501*c2c66affSColin Finck 502*c2c66affSColin Finck typedef struct tagRASDEVINFOW { 503*c2c66affSColin Finck DWORD dwSize; 504*c2c66affSColin Finck WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 505*c2c66affSColin Finck WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 506*c2c66affSColin Finck } RASDEVINFOW, *LPRASDEVINFOW; 507*c2c66affSColin Finck 508*c2c66affSColin Finck typedef struct tagRASDEVINFOA { 509*c2c66affSColin Finck DWORD dwSize; 510*c2c66affSColin Finck CHAR szDeviceType[RAS_MaxDeviceType + 1]; 511*c2c66affSColin Finck CHAR szDeviceName[RAS_MaxDeviceName + 1]; 512*c2c66affSColin Finck } RASDEVINFOA, *LPRASDEVINFOA; 513*c2c66affSColin Finck 514*c2c66affSColin Finck typedef struct tagRASCTRYINFO { 515*c2c66affSColin Finck DWORD dwSize; 516*c2c66affSColin Finck DWORD dwCountryID; 517*c2c66affSColin Finck DWORD dwNextCountryID; 518*c2c66affSColin Finck DWORD dwCountryCode; 519*c2c66affSColin Finck DWORD dwCountryNameOffset; 520*c2c66affSColin Finck } RASCTRYINFO, *LPRASCTRYINFO; 521*c2c66affSColin Finck 522*c2c66affSColin Finck typedef RASCTRYINFO RASCTRYINFOW, *LPRASCTRYINFOW; 523*c2c66affSColin Finck typedef RASCTRYINFO RASCTRYINFOA, *LPRASCTRYINFOA; 524*c2c66affSColin Finck 525*c2c66affSColin Finck typedef struct tagRASIPADDR { 526*c2c66affSColin Finck BYTE a; 527*c2c66affSColin Finck BYTE b; 528*c2c66affSColin Finck BYTE c; 529*c2c66affSColin Finck BYTE d; 530*c2c66affSColin Finck } RASIPADDR; 531*c2c66affSColin Finck 532*c2c66affSColin Finck typedef struct tagRASENTRYW { 533*c2c66affSColin Finck DWORD dwSize; 534*c2c66affSColin Finck DWORD dwfOptions; 535*c2c66affSColin Finck DWORD dwCountryID; 536*c2c66affSColin Finck DWORD dwCountryCode; 537*c2c66affSColin Finck WCHAR szAreaCode[RAS_MaxAreaCode + 1]; 538*c2c66affSColin Finck WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 539*c2c66affSColin Finck DWORD dwAlternateOffset; 540*c2c66affSColin Finck RASIPADDR ipaddr; 541*c2c66affSColin Finck RASIPADDR ipaddrDns; 542*c2c66affSColin Finck RASIPADDR ipaddrDnsAlt; 543*c2c66affSColin Finck RASIPADDR ipaddrWins; 544*c2c66affSColin Finck RASIPADDR ipaddrWinsAlt; 545*c2c66affSColin Finck DWORD dwFrameSize; 546*c2c66affSColin Finck DWORD dwfNetProtocols; 547*c2c66affSColin Finck DWORD dwFramingProtocol; 548*c2c66affSColin Finck WCHAR szScript[MAX_PATH]; 549*c2c66affSColin Finck WCHAR szAutodialDll[MAX_PATH]; 550*c2c66affSColin Finck WCHAR szAutodialFunc[MAX_PATH]; 551*c2c66affSColin Finck WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 552*c2c66affSColin Finck WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 553*c2c66affSColin Finck WCHAR szX25PadType[RAS_MaxPadType + 1]; 554*c2c66affSColin Finck WCHAR szX25Address[RAS_MaxX25Address + 1]; 555*c2c66affSColin Finck WCHAR szX25Facilities[RAS_MaxFacilities + 1]; 556*c2c66affSColin Finck WCHAR szX25UserData[RAS_MaxUserData + 1]; 557*c2c66affSColin Finck DWORD dwChannels; 558*c2c66affSColin Finck DWORD dwReserved1; 559*c2c66affSColin Finck DWORD dwReserved2; 560*c2c66affSColin Finck #if (WINVER >= 0x401) 561*c2c66affSColin Finck DWORD dwSubEntries; 562*c2c66affSColin Finck DWORD dwDialMode; 563*c2c66affSColin Finck DWORD dwDialExtraPercent; 564*c2c66affSColin Finck DWORD dwDialExtraSampleSeconds; 565*c2c66affSColin Finck DWORD dwHangUpExtraPercent; 566*c2c66affSColin Finck DWORD dwHangUpExtraSampleSeconds; 567*c2c66affSColin Finck DWORD dwIdleDisconnectSeconds; 568*c2c66affSColin Finck #endif 569*c2c66affSColin Finck #if (WINVER >= 0x500) 570*c2c66affSColin Finck DWORD dwType; 571*c2c66affSColin Finck DWORD dwEncryptionType; 572*c2c66affSColin Finck DWORD dwCustomAuthKey; 573*c2c66affSColin Finck GUID guidId; 574*c2c66affSColin Finck WCHAR szCustomDialDll[MAX_PATH]; 575*c2c66affSColin Finck DWORD dwVpnStrategy; 576*c2c66affSColin Finck #endif 577*c2c66affSColin Finck #if (WINVER >= 0x501) 578*c2c66affSColin Finck DWORD dwfOptions2; 579*c2c66affSColin Finck DWORD dwfOptions3; 580*c2c66affSColin Finck WCHAR szDnsSuffix[RAS_MaxDnsSuffix]; 581*c2c66affSColin Finck DWORD dwTcpWindowSize; 582*c2c66affSColin Finck WCHAR szPrerequisitePbk[MAX_PATH]; 583*c2c66affSColin Finck WCHAR szPrerequisiteEntry[RAS_MaxEntryName + 1]; 584*c2c66affSColin Finck DWORD dwRedialCount; 585*c2c66affSColin Finck DWORD dwRedialPause; 586*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 587*c2c66affSColin Finck } RASENTRYW, *LPRASENTRYW; 588*c2c66affSColin Finck 589*c2c66affSColin Finck typedef struct tagRASENTRYA { 590*c2c66affSColin Finck DWORD dwSize; 591*c2c66affSColin Finck DWORD dwfOptions; 592*c2c66affSColin Finck DWORD dwCountryID; 593*c2c66affSColin Finck DWORD dwCountryCode; 594*c2c66affSColin Finck CHAR szAreaCode[RAS_MaxAreaCode + 1]; 595*c2c66affSColin Finck CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 596*c2c66affSColin Finck DWORD dwAlternateOffset; 597*c2c66affSColin Finck RASIPADDR ipaddr; 598*c2c66affSColin Finck RASIPADDR ipaddrDns; 599*c2c66affSColin Finck RASIPADDR ipaddrDnsAlt; 600*c2c66affSColin Finck RASIPADDR ipaddrWins; 601*c2c66affSColin Finck RASIPADDR ipaddrWinsAlt; 602*c2c66affSColin Finck DWORD dwFrameSize; 603*c2c66affSColin Finck DWORD dwfNetProtocols; 604*c2c66affSColin Finck DWORD dwFramingProtocol; 605*c2c66affSColin Finck CHAR szScript[MAX_PATH]; 606*c2c66affSColin Finck CHAR szAutodialDll[MAX_PATH]; 607*c2c66affSColin Finck CHAR szAutodialFunc[MAX_PATH]; 608*c2c66affSColin Finck CHAR szDeviceType[RAS_MaxDeviceType + 1]; 609*c2c66affSColin Finck CHAR szDeviceName[RAS_MaxDeviceName + 1]; 610*c2c66affSColin Finck CHAR szX25PadType[RAS_MaxPadType + 1]; 611*c2c66affSColin Finck CHAR szX25Address[RAS_MaxX25Address + 1]; 612*c2c66affSColin Finck CHAR szX25Facilities[RAS_MaxFacilities + 1]; 613*c2c66affSColin Finck CHAR szX25UserData[RAS_MaxUserData + 1]; 614*c2c66affSColin Finck DWORD dwChannels; 615*c2c66affSColin Finck DWORD dwReserved1; 616*c2c66affSColin Finck DWORD dwReserved2; 617*c2c66affSColin Finck #if (WINVER >= 0x401) 618*c2c66affSColin Finck DWORD dwSubEntries; 619*c2c66affSColin Finck DWORD dwDialMode; 620*c2c66affSColin Finck DWORD dwDialExtraPercent; 621*c2c66affSColin Finck DWORD dwDialExtraSampleSeconds; 622*c2c66affSColin Finck DWORD dwHangUpExtraPercent; 623*c2c66affSColin Finck DWORD dwHangUpExtraSampleSeconds; 624*c2c66affSColin Finck DWORD dwIdleDisconnectSeconds; 625*c2c66affSColin Finck #endif 626*c2c66affSColin Finck #if (WINVER >= 0x500) 627*c2c66affSColin Finck DWORD dwType; 628*c2c66affSColin Finck DWORD dwEncryptionType; 629*c2c66affSColin Finck DWORD dwCustomAuthKey; 630*c2c66affSColin Finck GUID guidId; 631*c2c66affSColin Finck CHAR szCustomDialDll[MAX_PATH]; 632*c2c66affSColin Finck DWORD dwVpnStrategy; 633*c2c66affSColin Finck #endif 634*c2c66affSColin Finck #if (WINVER >= 0x501) 635*c2c66affSColin Finck DWORD dwfOptions2; 636*c2c66affSColin Finck DWORD dwfOptions3; 637*c2c66affSColin Finck CHAR szDnsSuffix[RAS_MaxDnsSuffix]; 638*c2c66affSColin Finck DWORD dwTcpWindowSize; 639*c2c66affSColin Finck CHAR szPrerequisitePbk[MAX_PATH]; 640*c2c66affSColin Finck CHAR szPrerequisiteEntry[RAS_MaxEntryName + 1]; 641*c2c66affSColin Finck DWORD dwRedialCount; 642*c2c66affSColin Finck DWORD dwRedialPause; 643*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 644*c2c66affSColin Finck } RASENTRYA, *LPRASENTRYA; 645*c2c66affSColin Finck 646*c2c66affSColin Finck 647*c2c66affSColin Finck #if (WINVER >= 0x401) 648*c2c66affSColin Finck typedef struct tagRASADPARAMS { 649*c2c66affSColin Finck DWORD dwSize; 650*c2c66affSColin Finck HWND hwndOwner; 651*c2c66affSColin Finck DWORD dwFlags; 652*c2c66affSColin Finck LONG xDlg; 653*c2c66affSColin Finck LONG yDlg; 654*c2c66affSColin Finck } RASADPARAMS, *LPRASADPARAMS; 655*c2c66affSColin Finck 656*c2c66affSColin Finck typedef struct tagRASSUBENTRYW { 657*c2c66affSColin Finck DWORD dwSize; 658*c2c66affSColin Finck DWORD dwfFlags; 659*c2c66affSColin Finck WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 660*c2c66affSColin Finck WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 661*c2c66affSColin Finck WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 662*c2c66affSColin Finck DWORD dwAlternateOffset; 663*c2c66affSColin Finck } RASSUBENTRYW, *LPRASSUBENTRYW; 664*c2c66affSColin Finck 665*c2c66affSColin Finck typedef struct tagRASSUBENTRYA { 666*c2c66affSColin Finck DWORD dwSize; 667*c2c66affSColin Finck DWORD dwfFlags; 668*c2c66affSColin Finck CHAR szDeviceType[RAS_MaxDeviceType + 1]; 669*c2c66affSColin Finck CHAR szDeviceName[RAS_MaxDeviceName + 1]; 670*c2c66affSColin Finck CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 671*c2c66affSColin Finck DWORD dwAlternateOffset; 672*c2c66affSColin Finck } RASSUBENTRYA, *LPRASSUBENTRYA; 673*c2c66affSColin Finck 674*c2c66affSColin Finck typedef struct tagRASCREDENTIALSW { 675*c2c66affSColin Finck DWORD dwSize; 676*c2c66affSColin Finck DWORD dwMask; 677*c2c66affSColin Finck WCHAR szUserName[UNLEN + 1]; 678*c2c66affSColin Finck WCHAR szPassword[PWLEN + 1]; 679*c2c66affSColin Finck WCHAR szDomain[DNLEN + 1]; 680*c2c66affSColin Finck } RASCREDENTIALSW, *LPRASCREDENTIALSW; 681*c2c66affSColin Finck 682*c2c66affSColin Finck typedef struct tagRASCREDENTIALSA { 683*c2c66affSColin Finck DWORD dwSize; 684*c2c66affSColin Finck DWORD dwMask; 685*c2c66affSColin Finck CHAR szUserName[UNLEN + 1]; 686*c2c66affSColin Finck CHAR szPassword[PWLEN + 1]; 687*c2c66affSColin Finck CHAR szDomain[DNLEN + 1]; 688*c2c66affSColin Finck } RASCREDENTIALSA, *LPRASCREDENTIALSA; 689*c2c66affSColin Finck 690*c2c66affSColin Finck typedef struct tagRASAUTODIALENTRYW { 691*c2c66affSColin Finck DWORD dwSize; 692*c2c66affSColin Finck DWORD dwFlags; 693*c2c66affSColin Finck DWORD dwDialingLocation; 694*c2c66affSColin Finck WCHAR szEntry[RAS_MaxEntryName + 1]; 695*c2c66affSColin Finck } RASAUTODIALENTRYW, *LPRASAUTODIALENTRYW; 696*c2c66affSColin Finck 697*c2c66affSColin Finck typedef struct tagRASAUTODIALENTRYA { 698*c2c66affSColin Finck DWORD dwSize; 699*c2c66affSColin Finck DWORD dwFlags; 700*c2c66affSColin Finck DWORD dwDialingLocation; 701*c2c66affSColin Finck CHAR szEntry[RAS_MaxEntryName + 1]; 702*c2c66affSColin Finck } RASAUTODIALENTRYA, *LPRASAUTODIALENTRYA; 703*c2c66affSColin Finck #endif /* (WINVER >= 0x401) */ 704*c2c66affSColin Finck 705*c2c66affSColin Finck #if (WINVER >= 0x500) 706*c2c66affSColin Finck typedef struct tagRASPPPCCP { 707*c2c66affSColin Finck DWORD dwSize; 708*c2c66affSColin Finck DWORD dwError; 709*c2c66affSColin Finck DWORD dwCompressionAlgorithm; 710*c2c66affSColin Finck DWORD dwOptions; 711*c2c66affSColin Finck DWORD dwServerCompressionAlgorithm; 712*c2c66affSColin Finck DWORD dwServerOptions; 713*c2c66affSColin Finck } RASPPPCCP, *LPRASPPPCCP; 714*c2c66affSColin Finck 715*c2c66affSColin Finck typedef struct tagRASEAPUSERIDENTITYW { 716*c2c66affSColin Finck WCHAR szUserName[UNLEN + 1]; 717*c2c66affSColin Finck DWORD dwSizeofEapInfo; 718*c2c66affSColin Finck BYTE pbEapInfo[1]; 719*c2c66affSColin Finck } RASEAPUSERIDENTITYW, *LPRASEAPUSERIDENTITYW; 720*c2c66affSColin Finck 721*c2c66affSColin Finck typedef struct tagRASEAPUSERIDENTITYA { 722*c2c66affSColin Finck CHAR szUserName[UNLEN + 1]; 723*c2c66affSColin Finck DWORD dwSizeofEapInfo; 724*c2c66affSColin Finck BYTE pbEapInfo[1]; 725*c2c66affSColin Finck } RASEAPUSERIDENTITYA, *LPRASEAPUSERIDENTITYA; 726*c2c66affSColin Finck 727*c2c66affSColin Finck typedef struct tagRAS_STATS { 728*c2c66affSColin Finck DWORD dwSize; 729*c2c66affSColin Finck DWORD dwBytesXmited; 730*c2c66affSColin Finck DWORD dwBytesRcved; 731*c2c66affSColin Finck DWORD dwFramesXmited; 732*c2c66affSColin Finck DWORD dwFramesRcved; 733*c2c66affSColin Finck DWORD dwCrcErr; 734*c2c66affSColin Finck DWORD dwTimeoutErr; 735*c2c66affSColin Finck DWORD dwAlignmentErr; 736*c2c66affSColin Finck DWORD dwHardwareOverrunErr; 737*c2c66affSColin Finck DWORD dwFramingErr; 738*c2c66affSColin Finck DWORD dwBufferOverrunErr; 739*c2c66affSColin Finck DWORD dwCompressionRatioIn; 740*c2c66affSColin Finck DWORD dwCompressionRatioOut; 741*c2c66affSColin Finck DWORD dwBps; 742*c2c66affSColin Finck DWORD dwConnectDuration; 743*c2c66affSColin Finck } RAS_STATS, *PRAS_STATS; 744*c2c66affSColin Finck #endif /* (WINVER >= 0x500) */ 745*c2c66affSColin Finck 746*c2c66affSColin Finck 747*c2c66affSColin Finck /* UNICODE typedefs for structures*/ 748*c2c66affSColin Finck #ifdef UNICODE 749*c2c66affSColin Finck typedef RASCONNW RASCONN, *LPRASCONN; 750*c2c66affSColin Finck typedef RASENTRYW RASENTRY, *LPRASENTRY; 751*c2c66affSColin Finck typedef RASCONNSTATUSW RASCONNSTATUS, *LPRASCONNSTATUS; 752*c2c66affSColin Finck typedef RASDIALPARAMSW RASDIALPARAMS, *LPRASDIALPARAMS; 753*c2c66affSColin Finck typedef RASAMBW RASAMB, *LPRASAM; 754*c2c66affSColin Finck typedef RASPPPNBFW RASPPPNBF, *LPRASPPPNBF; 755*c2c66affSColin Finck typedef RASPPPIPXW RASPPPIPX, *LPRASPPPIPX; 756*c2c66affSColin Finck typedef RASPPPIPW RASPPPIP, *LPRASPPPIP; 757*c2c66affSColin Finck typedef RASPPPLCPW RASPPPLCP, *LPRASPPPLCP; 758*c2c66affSColin Finck typedef RASSLIPW RASSLIP, *LPRASSLIP; 759*c2c66affSColin Finck typedef RASDEVINFOW RASDEVINFO, *LPRASDEVINFO; 760*c2c66affSColin Finck typedef RASENTRYNAMEW RASENTRYNAME, *LPRASENTRYNAME; 761*c2c66affSColin Finck 762*c2c66affSColin Finck #if (WINVER >= 0x401) 763*c2c66affSColin Finck typedef RASSUBENTRYW RASSUBENTRY, *LPRASSUBENTRY; 764*c2c66affSColin Finck typedef RASCREDENTIALSW RASCREDENTIALS, *LPRASCREDENTIALS; 765*c2c66affSColin Finck typedef RASAUTODIALENTRYW RASAUTODIALENTRY, *LPRASAUTODIALENTRY; 766*c2c66affSColin Finck #endif /* (WINVER >= 0x401) */ 767*c2c66affSColin Finck 768*c2c66affSColin Finck #if (WINVER >= 0x500) 769*c2c66affSColin Finck typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY; 770*c2c66affSColin Finck typedef DWORD (WINAPI *PFNRASGETBUFFER) (PBYTE *ppBuffer, PDWORD pdwSize); 771*c2c66affSColin Finck typedef DWORD (WINAPI *PFNRASFREEBUFFER) (PBYTE pBuffer); 772*c2c66affSColin Finck typedef DWORD (WINAPI *PFNRASSENDBUFFER) (HANDLE hPort, PBYTE pBuffer, DWORD dwSize); 773*c2c66affSColin Finck typedef DWORD (WINAPI *PFNRASRECEIVEBUFFER) (HANDLE hPort, PBYTE pBuffer, PDWORD pdwSize, DWORD dwTimeOut, HANDLE hEvent); 774*c2c66affSColin Finck typedef DWORD (WINAPI *PFNRASRETRIEVEBUFFER) (HANDLE hPort, PBYTE pBuffer, PDWORD pdwSize); 775*c2c66affSColin Finck typedef DWORD (WINAPI *RasCustomScriptExecuteFn) (HANDLE hPort, LPCWSTR lpszPhonebook, LPCWSTR lpszEntryName, PFNRASGETBUFFER pfnRasGetBuffer, PFNRASFREEBUFFER pfnRasFreeBuffer, PFNRASSENDBUFFER pfnRasSendBuffer, PFNRASRECEIVEBUFFER pfnRasReceiveBuffer, PFNRASRETRIEVEBUFFER pfnRasRetrieveBuffer, HWND hWnd, RASDIALPARAMS *pRasDialParams, PVOID pvReserved); 776*c2c66affSColin Finck #endif /* (WINVER >= 0x500) */ 777*c2c66affSColin Finck 778*c2c66affSColin Finck #if (WINVER >= 0x501) 779*c2c66affSColin Finck typedef struct tagRASCOMMSETTINGS 780*c2c66affSColin Finck { 781*c2c66affSColin Finck DWORD dwSize; 782*c2c66affSColin Finck BYTE bParity; 783*c2c66affSColin Finck BYTE bStop; 784*c2c66affSColin Finck BYTE bByteSize; 785*c2c66affSColin Finck BYTE bAlign; 786*c2c66affSColin Finck } RASCOMMSETTINGS; 787*c2c66affSColin Finck typedef DWORD (WINAPI *PFNRASSETCOMMSETTINGS) (HANDLE hPort,RASCOMMSETTINGS *pRasCommSettings,PVOID pvReserved); 788*c2c66affSColin Finck typedef struct tagRASCUSTOMSCRIPTEXTENSIONS 789*c2c66affSColin Finck { 790*c2c66affSColin Finck DWORD dwSize; 791*c2c66affSColin Finck PFNRASSETCOMMSETTINGS pfnRasSetCommSettings; 792*c2c66affSColin Finck } RASCUSTOMSCRIPTEXTENSIONS; 793*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 794*c2c66affSColin Finck 795*c2c66affSColin Finck #else /* ! defined UNICODE */ 796*c2c66affSColin Finck typedef RASCONNA RASCONN, *LPRASCONN; 797*c2c66affSColin Finck typedef RASENTRYA RASENTRY, *LPRASENTRY; 798*c2c66affSColin Finck typedef RASCONNSTATUSA RASCONNSTATUS, *LPRASCONNSTATUS; 799*c2c66affSColin Finck typedef RASDIALPARAMSA RASDIALPARAMS, *LPRASDIALPARAMS; 800*c2c66affSColin Finck typedef RASAMBA RASAMB, *LPRASAM; 801*c2c66affSColin Finck typedef RASPPPNBFA RASPPPNBF, *LPRASPPPNBF; 802*c2c66affSColin Finck typedef RASPPPIPXA RASPPPIPX, *LPRASPPPIPX; 803*c2c66affSColin Finck typedef RASPPPIPA RASPPPIP, *LPRASPPPIP; 804*c2c66affSColin Finck typedef RASPPPLCPA RASPPPLCP, *LPRASPPPLCP; 805*c2c66affSColin Finck typedef RASSLIPA RASSLIP, *LPRASSLIP; 806*c2c66affSColin Finck typedef RASDEVINFOA RASDEVINFO, *LPRASDEVINFO; 807*c2c66affSColin Finck typedef RASENTRYNAMEA RASENTRYNAME, *LPRASENTRYNAME; 808*c2c66affSColin Finck 809*c2c66affSColin Finck #if (WINVER >= 0x401) 810*c2c66affSColin Finck typedef RASSUBENTRYA RASSUBENTRY, *LPRASSUBENTRY; 811*c2c66affSColin Finck typedef RASCREDENTIALSA RASCREDENTIALS, *LPRASCREDENTIALS; 812*c2c66affSColin Finck typedef RASAUTODIALENTRYA RASAUTODIALENTRY, *LPRASAUTODIALENTRY; 813*c2c66affSColin Finck #endif /*(WINVER >= 0x401)*/ 814*c2c66affSColin Finck #if (WINVER >= 0x500) 815*c2c66affSColin Finck typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY; 816*c2c66affSColin Finck #endif /* (WINVER >= 0x500) */ 817*c2c66affSColin Finck #endif /* ! UNICODE */ 818*c2c66affSColin Finck 819*c2c66affSColin Finck /* Callback prototypes */ 820*c2c66affSColin Finck typedef BOOL (WINAPI * ORASADFUNC) (HWND, LPSTR, DWORD, LPDWORD); /* deprecated */ 821*c2c66affSColin Finck typedef VOID (WINAPI * RASDIALFUNC) (UINT, RASCONNSTATE, DWORD); 822*c2c66affSColin Finck typedef VOID (WINAPI * RASDIALFUNC1) (HRASCONN, UINT, RASCONNSTATE, DWORD, DWORD); 823*c2c66affSColin Finck typedef DWORD (WINAPI * RASDIALFUNC2) (ULONG_PTR, DWORD, HRASCONN, UINT, RASCONNSTATE, DWORD, DWORD); 824*c2c66affSColin Finck 825*c2c66affSColin Finck /* External functions */ 826*c2c66affSColin Finck DWORD APIENTRY RasDialA (LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA, DWORD, LPVOID, LPHRASCONN); 827*c2c66affSColin Finck DWORD APIENTRY RasDialW (LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW, DWORD, LPVOID, LPHRASCONN); 828*c2c66affSColin Finck DWORD APIENTRY RasEnumConnectionsA (LPRASCONNA, LPDWORD, LPDWORD); 829*c2c66affSColin Finck DWORD APIENTRY RasEnumConnectionsW (LPRASCONNW, LPDWORD, LPDWORD); 830*c2c66affSColin Finck DWORD APIENTRY RasEnumEntriesA (LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD, LPDWORD); 831*c2c66affSColin Finck DWORD APIENTRY RasEnumEntriesW (LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD, LPDWORD); 832*c2c66affSColin Finck DWORD APIENTRY RasGetConnectStatusA (HRASCONN, LPRASCONNSTATUSA); 833*c2c66affSColin Finck DWORD APIENTRY RasGetConnectStatusW (HRASCONN, LPRASCONNSTATUSW); 834*c2c66affSColin Finck DWORD APIENTRY RasGetErrorStringA (UINT, LPSTR, DWORD); 835*c2c66affSColin Finck DWORD APIENTRY RasGetErrorStringW (UINT, LPWSTR, DWORD); 836*c2c66affSColin Finck DWORD APIENTRY RasHangUpA (HRASCONN); 837*c2c66affSColin Finck DWORD APIENTRY RasHangUpW (HRASCONN); 838*c2c66affSColin Finck DWORD APIENTRY RasGetProjectionInfoA (HRASCONN, RASPROJECTION, LPVOID, LPDWORD); 839*c2c66affSColin Finck DWORD APIENTRY RasGetProjectionInfoW (HRASCONN, RASPROJECTION, LPVOID, LPDWORD); 840*c2c66affSColin Finck DWORD APIENTRY RasCreatePhonebookEntryA (HWND, LPCSTR); 841*c2c66affSColin Finck DWORD APIENTRY RasCreatePhonebookEntryW (HWND, LPCWSTR); 842*c2c66affSColin Finck DWORD APIENTRY RasEditPhonebookEntryA (HWND, LPCSTR, LPCSTR); 843*c2c66affSColin Finck DWORD APIENTRY RasEditPhonebookEntryW (HWND, LPCWSTR, LPCWSTR); 844*c2c66affSColin Finck DWORD APIENTRY RasSetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, BOOL); 845*c2c66affSColin Finck DWORD APIENTRY RasSetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, BOOL); 846*c2c66affSColin Finck DWORD APIENTRY RasGetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, LPBOOL); 847*c2c66affSColin Finck DWORD APIENTRY RasGetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, LPBOOL); 848*c2c66affSColin Finck DWORD APIENTRY RasEnumDevicesA (LPRASDEVINFOA, LPDWORD, LPDWORD); 849*c2c66affSColin Finck DWORD APIENTRY RasEnumDevicesW (LPRASDEVINFOW, LPDWORD, LPDWORD); 850*c2c66affSColin Finck DWORD APIENTRY RasGetCountryInfoA (LPRASCTRYINFOA, LPDWORD); 851*c2c66affSColin Finck DWORD APIENTRY RasGetCountryInfoW (LPRASCTRYINFOW, LPDWORD); 852*c2c66affSColin Finck DWORD APIENTRY RasGetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD, LPBYTE, LPDWORD); 853*c2c66affSColin Finck DWORD APIENTRY RasGetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW, LPDWORD, LPBYTE, LPDWORD); 854*c2c66affSColin Finck DWORD APIENTRY RasSetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, DWORD, LPBYTE, DWORD); 855*c2c66affSColin Finck DWORD APIENTRY RasSetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD, LPBYTE, DWORD); 856*c2c66affSColin Finck DWORD APIENTRY RasRenameEntryA (LPCSTR, LPCSTR, LPCSTR); 857*c2c66affSColin Finck DWORD APIENTRY RasRenameEntryW (LPCWSTR, LPCWSTR, LPCWSTR); 858*c2c66affSColin Finck DWORD APIENTRY RasDeleteEntryA (LPCSTR, LPCSTR); 859*c2c66affSColin Finck DWORD APIENTRY RasDeleteEntryW (LPCWSTR, LPCWSTR); 860*c2c66affSColin Finck DWORD APIENTRY RasValidateEntryNameA (LPCSTR, LPCSTR); 861*c2c66affSColin Finck DWORD APIENTRY RasValidateEntryNameW (LPCWSTR, LPCWSTR); 862*c2c66affSColin Finck 863*c2c66affSColin Finck #if (WINVER >= 0x401) 864*c2c66affSColin Finck typedef BOOL (WINAPI * RASADFUNCA) (LPSTR, LPSTR, LPRASADPARAMS, LPDWORD); 865*c2c66affSColin Finck typedef BOOL (WINAPI * RASADFUNCW) (LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD); 866*c2c66affSColin Finck 867*c2c66affSColin Finck DWORD APIENTRY RasGetSubEntryHandleA (HRASCONN, DWORD, LPHRASCONN); 868*c2c66affSColin Finck DWORD APIENTRY RasGetSubEntryHandleW (HRASCONN, DWORD, LPHRASCONN); 869*c2c66affSColin Finck DWORD APIENTRY RasGetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA); 870*c2c66affSColin Finck DWORD APIENTRY RasGetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW); 871*c2c66affSColin Finck DWORD APIENTRY RasSetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL); 872*c2c66affSColin Finck DWORD APIENTRY RasSetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL); 873*c2c66affSColin Finck DWORD APIENTRY RasConnectionNotificationA (HRASCONN, HANDLE, DWORD); 874*c2c66affSColin Finck DWORD APIENTRY RasConnectionNotificationW (HRASCONN, HANDLE, DWORD); 875*c2c66affSColin Finck DWORD APIENTRY RasGetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD, 876*c2c66affSColin Finck LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD); 877*c2c66affSColin Finck DWORD APIENTRY RasGetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD, 878*c2c66affSColin Finck LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD); 879*c2c66affSColin Finck DWORD APIENTRY RasSetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD, 880*c2c66affSColin Finck LPRASSUBENTRYA, DWORD, LPBYTE, DWORD); 881*c2c66affSColin Finck DWORD APIENTRY RasSetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD, 882*c2c66affSColin Finck LPRASSUBENTRYW, DWORD, LPBYTE, DWORD); 883*c2c66affSColin Finck DWORD APIENTRY RasGetAutodialAddressA (LPCSTR, LPDWORD, LPRASAUTODIALENTRYA, 884*c2c66affSColin Finck LPDWORD, LPDWORD); 885*c2c66affSColin Finck DWORD APIENTRY RasGetAutodialAddressW (LPCWSTR, LPDWORD, 886*c2c66affSColin Finck LPRASAUTODIALENTRYW, LPDWORD, LPDWORD); 887*c2c66affSColin Finck DWORD APIENTRY RasSetAutodialAddressA (LPCSTR, DWORD, LPRASAUTODIALENTRYA, 888*c2c66affSColin Finck DWORD, DWORD); 889*c2c66affSColin Finck DWORD APIENTRY RasSetAutodialAddressW (LPCWSTR, DWORD, LPRASAUTODIALENTRYW, 890*c2c66affSColin Finck DWORD, DWORD); 891*c2c66affSColin Finck DWORD APIENTRY RasEnumAutodialAddressesA (LPSTR *, LPDWORD, LPDWORD); 892*c2c66affSColin Finck DWORD APIENTRY RasEnumAutodialAddressesW (LPWSTR *, LPDWORD, LPDWORD); 893*c2c66affSColin Finck DWORD APIENTRY RasGetAutodialEnableA (DWORD, LPBOOL); 894*c2c66affSColin Finck DWORD APIENTRY RasGetAutodialEnableW (DWORD, LPBOOL); 895*c2c66affSColin Finck DWORD APIENTRY RasSetAutodialEnableA (DWORD, BOOL); 896*c2c66affSColin Finck DWORD APIENTRY RasSetAutodialEnableW (DWORD, BOOL); 897*c2c66affSColin Finck DWORD APIENTRY RasGetAutodialParamA (DWORD, LPVOID, LPDWORD); 898*c2c66affSColin Finck DWORD APIENTRY RasGetAutodialParamW (DWORD, LPVOID, LPDWORD); 899*c2c66affSColin Finck DWORD APIENTRY RasSetAutodialParamA (DWORD, LPVOID, DWORD); 900*c2c66affSColin Finck DWORD APIENTRY RasSetAutodialParamW (DWORD, LPVOID, DWORD); 901*c2c66affSColin Finck #endif 902*c2c66affSColin Finck 903*c2c66affSColin Finck #if (WINVER >= 0x500) 904*c2c66affSColin Finck typedef DWORD (WINAPI * RasCustomHangUpFn) (HRASCONN); 905*c2c66affSColin Finck typedef DWORD (WINAPI * RasCustomDeleteEntryNotifyFn) (LPCTSTR, LPCTSTR, DWORD); 906*c2c66affSColin Finck typedef DWORD (WINAPI * RasCustomDialFn) (HINSTANCE, LPRASDIALEXTENSIONS, 907*c2c66affSColin Finck LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD); 908*c2c66affSColin Finck 909*c2c66affSColin Finck DWORD APIENTRY RasInvokeEapUI (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND); 910*c2c66affSColin Finck DWORD APIENTRY RasGetLinkStatistics (HRASCONN, DWORD, RAS_STATS*); 911*c2c66affSColin Finck DWORD APIENTRY RasGetConnectionStatistics (HRASCONN, RAS_STATS*); 912*c2c66affSColin Finck DWORD APIENTRY RasClearLinkStatistics (HRASCONN, DWORD); 913*c2c66affSColin Finck DWORD APIENTRY RasClearConnectionStatistics (HRASCONN); 914*c2c66affSColin Finck DWORD APIENTRY RasGetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD*); 915*c2c66affSColin Finck DWORD APIENTRY RasGetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD*); 916*c2c66affSColin Finck DWORD APIENTRY RasSetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD); 917*c2c66affSColin Finck DWORD APIENTRY RasSetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD); 918*c2c66affSColin Finck DWORD APIENTRY RasGetCustomAuthDataA (LPCSTR, LPCSTR, BYTE*, DWORD*); 919*c2c66affSColin Finck DWORD APIENTRY RasGetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD*); 920*c2c66affSColin Finck DWORD APIENTRY RasSetCustomAuthDataA (LPCSTR, LPCSTR, BYTE*, DWORD); 921*c2c66affSColin Finck DWORD APIENTRY RasSetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD); 922*c2c66affSColin Finck DWORD APIENTRY RasGetEapUserIdentityW (LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW*); 923*c2c66affSColin Finck DWORD APIENTRY RasGetEapUserIdentityA (LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA*); 924*c2c66affSColin Finck VOID APIENTRY RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW); 925*c2c66affSColin Finck VOID APIENTRY RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA); 926*c2c66affSColin Finck #endif /* (WINVER >= 0x500) */ 927*c2c66affSColin Finck #if (WINVER >=0x501) 928*c2c66affSColin Finck DWORD APIENTRY RasDeleteSubEntryA(LPCSTR pszPhonebook, LPCSTR pszEntry, DWORD dwSubentryId); 929*c2c66affSColin Finck DWORD APIENTRY RasDeleteSubEntryW(LPCWSTR pszPhonebook, LPCWSTR pszEntry, DWORD dwSubEntryId); 930*c2c66affSColin Finck #endif // (WINVER >=0x501) 931*c2c66affSColin Finck 932*c2c66affSColin Finck 933*c2c66affSColin Finck /* UNICODE defines for functions */ 934*c2c66affSColin Finck #ifdef UNICODE 935*c2c66affSColin Finck #define RasDial RasDialW 936*c2c66affSColin Finck #define RasEnumConnections RasEnumConnectionsW 937*c2c66affSColin Finck #define RasEnumEntries RasEnumEntriesW 938*c2c66affSColin Finck #define RasGetConnectStatus RasGetConnectStatusW 939*c2c66affSColin Finck #define RasGetErrorString RasGetErrorStringW 940*c2c66affSColin Finck #define RasHangUp RasHangUpW 941*c2c66affSColin Finck #define RasGetProjectionInfo RasGetProjectionInfoW 942*c2c66affSColin Finck #define RasCreatePhonebookEntry RasCreatePhonebookEntryW 943*c2c66affSColin Finck #define RasEditPhonebookEntry RasEditPhonebookEntryW 944*c2c66affSColin Finck #define RasSetEntryDialParams RasSetEntryDialParamsW 945*c2c66affSColin Finck #define RasGetEntryDialParams RasGetEntryDialParamsW 946*c2c66affSColin Finck #define RasEnumDevices RasEnumDevicesW 947*c2c66affSColin Finck #define RasGetCountryInfo RasGetCountryInfoW 948*c2c66affSColin Finck #define RasGetEntryProperties RasGetEntryPropertiesW 949*c2c66affSColin Finck #define RasSetEntryProperties RasSetEntryPropertiesW 950*c2c66affSColin Finck #define RasRenameEntry RasRenameEntryW 951*c2c66affSColin Finck #define RasDeleteEntry RasDeleteEntryW 952*c2c66affSColin Finck #define RasValidateEntryName RasValidateEntryNameW 953*c2c66affSColin Finck #if (WINVER >= 0x401) 954*c2c66affSColin Finck #define RASADFUNC RASADFUNCW 955*c2c66affSColin Finck #define RasGetSubEntryHandle RasGetSubEntryHandleW 956*c2c66affSColin Finck #define RasConnectionNotification RasConnectionNotificationW 957*c2c66affSColin Finck #define RasGetSubEntryProperties RasGetSubEntryPropertiesW 958*c2c66affSColin Finck #define RasSetSubEntryProperties RasSetSubEntryPropertiesW 959*c2c66affSColin Finck #define RasGetCredentials RasGetCredentialsW 960*c2c66affSColin Finck #define RasSetCredentials RasSetCredentialsW 961*c2c66affSColin Finck #define RasGetAutodialAddress RasGetAutodialAddressW 962*c2c66affSColin Finck #define RasSetAutodialAddress RasSetAutodialAddressW 963*c2c66affSColin Finck #define RasEnumAutodialAddresses RasEnumAutodialAddressesW 964*c2c66affSColin Finck #define RasGetAutodialEnable RasGetAutodialEnableW 965*c2c66affSColin Finck #define RasSetAutodialEnable RasSetAutodialEnableW 966*c2c66affSColin Finck #define RasGetAutodialParam RasGetAutodialParamW 967*c2c66affSColin Finck #define RasSetAutodialParam RasSetAutodialParamW 968*c2c66affSColin Finck #endif /* (WINVER >= 0x401) */ 969*c2c66affSColin Finck #if (WINVER >= 0x500) 970*c2c66affSColin Finck #define RasGetEapUserData RasGetEapUserDataW 971*c2c66affSColin Finck #define RasSetEapUserData RasSetEapUserDataW 972*c2c66affSColin Finck #define RasGetCustomAuthData RasGetCustomAuthDataW 973*c2c66affSColin Finck #define RasSetCustomAuthData RasSetCustomAuthDataW 974*c2c66affSColin Finck #define RasGetEapUserIdentity RasGetEapUserIdentityW 975*c2c66affSColin Finck #define RasFreeEapUserIdentity RasFreeEapUserIdentityW 976*c2c66affSColin Finck #endif /* (WINVER >= 0x500) */ 977*c2c66affSColin Finck #if (WINVER >= 0x501) 978*c2c66affSColin Finck #define RasDeleteSubEntry RasDeleteSubEntryW 979*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 980*c2c66affSColin Finck 981*c2c66affSColin Finck #else /* ! defined UNICODE */ 982*c2c66affSColin Finck #define RasDial RasDialA 983*c2c66affSColin Finck #define RasEnumConnections RasEnumConnectionsA 984*c2c66affSColin Finck #define RasEnumEntries RasEnumEntriesA 985*c2c66affSColin Finck #define RasGetConnectStatus RasGetConnectStatusA 986*c2c66affSColin Finck #define RasGetErrorString RasGetErrorStringA 987*c2c66affSColin Finck #define RasHangUp RasHangUpA 988*c2c66affSColin Finck #define RasGetProjectionInfo RasGetProjectionInfoA 989*c2c66affSColin Finck #define RasCreatePhonebookEntry RasCreatePhonebookEntryA 990*c2c66affSColin Finck #define RasEditPhonebookEntry RasEditPhonebookEntryA 991*c2c66affSColin Finck #define RasSetEntryDialParams RasSetEntryDialParamsA 992*c2c66affSColin Finck #define RasGetEntryDialParams RasGetEntryDialParamsA 993*c2c66affSColin Finck #define RasEnumDevices RasEnumDevicesA 994*c2c66affSColin Finck #define RasGetCountryInfo RasGetCountryInfoA 995*c2c66affSColin Finck #define RasGetEntryProperties RasGetEntryPropertiesA 996*c2c66affSColin Finck #define RasSetEntryProperties RasSetEntryPropertiesA 997*c2c66affSColin Finck #define RasRenameEntry RasRenameEntryA 998*c2c66affSColin Finck #define RasDeleteEntry RasDeleteEntryA 999*c2c66affSColin Finck #define RasValidateEntryName RasValidateEntryNameA 1000*c2c66affSColin Finck 1001*c2c66affSColin Finck #if (WINVER >= 0x401) 1002*c2c66affSColin Finck #define RASADFUNC RASADFUNCA 1003*c2c66affSColin Finck #define RasGetSubEntryHandle RasGetSubEntryHandleA 1004*c2c66affSColin Finck #define RasConnectionNotification RasConnectionNotificationA 1005*c2c66affSColin Finck #define RasGetSubEntryProperties RasGetSubEntryPropertiesA 1006*c2c66affSColin Finck #define RasSetSubEntryProperties RasSetSubEntryPropertiesA 1007*c2c66affSColin Finck #define RasGetCredentials RasGetCredentialsA 1008*c2c66affSColin Finck #define RasSetCredentials RasSetCredentialsA 1009*c2c66affSColin Finck #define RasGetAutodialAddress RasGetAutodialAddressA 1010*c2c66affSColin Finck #define RasSetAutodialAddress RasSetAutodialAddressA 1011*c2c66affSColin Finck #define RasEnumAutodialAddressesRasEnumAutodialAddressesA 1012*c2c66affSColin Finck #define RasGetAutodialEnable RasGetAutodialEnableA 1013*c2c66affSColin Finck #define RasSetAutodialEnable RasSetAutodialEnableA 1014*c2c66affSColin Finck #define RasGetAutodialParam RasGetAutodialParamA 1015*c2c66affSColin Finck #define RasSetAutodialParam RasSetAutodialParamA 1016*c2c66affSColin Finck #endif /*(WINVER >= 0x401)*/ 1017*c2c66affSColin Finck 1018*c2c66affSColin Finck #if (WINVER >= 0x500) 1019*c2c66affSColin Finck #define RasGetEapUserData RasGetEapUserDataA 1020*c2c66affSColin Finck #define RasSetEapUserData RasSetEapUserDataA 1021*c2c66affSColin Finck #define RasGetCustomAuthData RasGetCustomAuthDataA 1022*c2c66affSColin Finck #define RasSetCustomAuthData RasSetCustomAuthDataA 1023*c2c66affSColin Finck #define RasGetEapUserIdentity RasGetEapUserIdentityA 1024*c2c66affSColin Finck #define RasFreeEapUserIdentity RasFreeEapUserIdentityA 1025*c2c66affSColin Finck #endif /* (WINVER >= 0x500) */ 1026*c2c66affSColin Finck #if (WINVER >= 0x501) 1027*c2c66affSColin Finck #define RasDeleteSubEntry RasDeleteSubEntryA 1028*c2c66affSColin Finck #endif /*(WINVER >= 0x501)*/ 1029*c2c66affSColin Finck #endif /* ! UNICODE */ 1030*c2c66affSColin Finck 1031*c2c66affSColin Finck #ifdef __cplusplus 1032*c2c66affSColin Finck } 1033*c2c66affSColin Finck #endif 1034*c2c66affSColin Finck #include <poppack.h> 1035*c2c66affSColin Finck #endif /* _RAS_H */ 1036