|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the w64 mingw-runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef _RAS_H_ | 
|  | #define _RAS_H_ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #ifndef UNLEN | 
|  | #include <lmcons.h> | 
|  | #endif | 
|  |  | 
|  | #include <pshpack4.h> | 
|  |  | 
|  | #define RAS_MaxDeviceType 16 | 
|  | #define RAS_MaxPhoneNumber 128 | 
|  | #define RAS_MaxIpAddress 15 | 
|  | #define RAS_MaxIpxAddress 21 | 
|  |  | 
|  | #define RAS_MaxEntryName 256 | 
|  | #define RAS_MaxDeviceName 128 | 
|  | #define RAS_MaxCallbackNumber RAS_MaxPhoneNumber | 
|  | #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 | 
|  |  | 
|  | DECLARE_HANDLE(HRASCONN); | 
|  | #define LPHRASCONN HRASCONN* | 
|  |  | 
|  | #define RASCF_AllUsers 0x00000001 | 
|  | #define RASCF_GlobalCreds 0x00000002 | 
|  |  | 
|  | #define RASCONNW struct tagRASCONNW | 
|  | RASCONNW { | 
|  | DWORD dwSize; | 
|  | HRASCONN hrasconn; | 
|  | WCHAR szEntryName[RAS_MaxEntryName + 1 ]; | 
|  |  | 
|  | WCHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | WCHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | WCHAR szPhonebook [MAX_PATH ]; | 
|  | DWORD dwSubEntry; | 
|  | GUID guidEntry; | 
|  | DWORD dwFlags; | 
|  | LUID luid; | 
|  | }; | 
|  |  | 
|  | #define RASCONNA struct tagRASCONNA | 
|  | RASCONNA { | 
|  | DWORD dwSize; | 
|  | HRASCONN hrasconn; | 
|  | CHAR szEntryName[RAS_MaxEntryName + 1 ]; | 
|  | CHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | CHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | CHAR szPhonebook [MAX_PATH ]; | 
|  | DWORD dwSubEntry; | 
|  | GUID guidEntry; | 
|  | DWORD dwFlags; | 
|  | LUID luid; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASCONN RASCONNW | 
|  | #else | 
|  | #define RASCONN RASCONNA | 
|  | #endif | 
|  |  | 
|  | #define LPRASCONNW RASCONNW* | 
|  | #define LPRASCONNA RASCONNA* | 
|  | #define LPRASCONN RASCONN* | 
|  |  | 
|  | #define RASCS_PAUSED 0x1000 | 
|  | #define RASCS_DONE 0x2000 | 
|  |  | 
|  | #define RASCONNSTATE enum tagRASCONNSTATE | 
|  | RASCONNSTATE { | 
|  | RASCS_OpenPort = 0,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, | 
|  | RASCS_StartAuthentication,RASCS_CallbackComplete,RASCS_LogonNetwork,RASCS_SubEntryConnected, | 
|  | RASCS_SubEntryDisconnected,RASCS_Interactive = RASCS_PAUSED,RASCS_RetryAuthentication,RASCS_CallbackSetByCaller,RASCS_PasswordExpired, | 
|  | RASCS_InvokeEapUI,RASCS_Connected = RASCS_DONE,RASCS_Disconnected | 
|  | }; | 
|  |  | 
|  | #define LPRASCONNSTATE RASCONNSTATE* | 
|  |  | 
|  | #define RASCONNSTATUSW struct tagRASCONNSTATUSW | 
|  | RASCONNSTATUSW { | 
|  | DWORD dwSize; | 
|  | RASCONNSTATE rasconnstate; | 
|  | DWORD dwError; | 
|  | WCHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | WCHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1 ]; | 
|  | }; | 
|  |  | 
|  | #define RASCONNSTATUSA struct tagRASCONNSTATUSA | 
|  | RASCONNSTATUSA { | 
|  | DWORD dwSize; | 
|  | RASCONNSTATE rasconnstate; | 
|  | DWORD dwError; | 
|  | CHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | CHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1 ]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASCONNSTATUS RASCONNSTATUSW | 
|  | #else | 
|  | #define RASCONNSTATUS RASCONNSTATUSA | 
|  | #endif | 
|  |  | 
|  | #define LPRASCONNSTATUSW RASCONNSTATUSW* | 
|  | #define LPRASCONNSTATUSA RASCONNSTATUSA* | 
|  | #define LPRASCONNSTATUS RASCONNSTATUS* | 
|  |  | 
|  | #define RASDIALPARAMSW struct tagRASDIALPARAMSW | 
|  | RASDIALPARAMSW { | 
|  | 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 ]; | 
|  | DWORD dwSubEntry; | 
|  | ULONG_PTR dwCallbackId; | 
|  | }; | 
|  |  | 
|  | #define RASDIALPARAMSA struct tagRASDIALPARAMSA | 
|  | RASDIALPARAMSA { | 
|  | 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 ]; | 
|  | DWORD dwSubEntry; | 
|  | ULONG_PTR dwCallbackId; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASDIALPARAMS RASDIALPARAMSW | 
|  | #else | 
|  | #define RASDIALPARAMS RASDIALPARAMSA | 
|  | #endif | 
|  |  | 
|  | #define LPRASDIALPARAMSW RASDIALPARAMSW* | 
|  | #define LPRASDIALPARAMSA RASDIALPARAMSA* | 
|  | #define LPRASDIALPARAMS RASDIALPARAMS* | 
|  |  | 
|  | #define RASEAPINFO struct tagRASEAPINFO | 
|  | RASEAPINFO { | 
|  | DWORD dwSizeofEapInfo; | 
|  | BYTE *pbEapInfo; | 
|  | }; | 
|  |  | 
|  | #define RASDIALEXTENSIONS struct tagRASDIALEXTENSIONS | 
|  | RASDIALEXTENSIONS { | 
|  | DWORD dwSize; | 
|  | DWORD dwfOptions; | 
|  | HWND hwndParent; | 
|  | ULONG_PTR reserved; | 
|  | ULONG_PTR reserved1; | 
|  | RASEAPINFO RasEapInfo; | 
|  | }; | 
|  |  | 
|  | #define LPRASDIALEXTENSIONS RASDIALEXTENSIONS* | 
|  |  | 
|  | #define RDEOPT_UsePrefixSuffix 0x00000001 | 
|  | #define RDEOPT_PausedStates 0x00000002 | 
|  | #define RDEOPT_IgnoreModemSpeaker 0x00000004 | 
|  | #define RDEOPT_SetModemSpeaker 0x00000008 | 
|  | #define RDEOPT_IgnoreSoftwareCompression 0x00000010 | 
|  | #define RDEOPT_SetSoftwareCompression 0x00000020 | 
|  | #define RDEOPT_DisableConnectedUI 0x00000040 | 
|  | #define RDEOPT_DisableReconnectUI 0x00000080 | 
|  | #define RDEOPT_DisableReconnect 0x00000100 | 
|  | #define RDEOPT_NoUser 0x00000200 | 
|  | #define RDEOPT_PauseOnScript 0x00000400 | 
|  | #define RDEOPT_Router 0x00000800 | 
|  | #define RDEOPT_CustomDial 0x00001000 | 
|  | #define RDEOPT_UseCustomScripting 0x00002000 | 
|  |  | 
|  | #define REN_User 0x00000000 | 
|  | #define REN_AllUsers 0x00000001 | 
|  |  | 
|  | #define RASENTRYNAMEW struct tagRASENTRYNAMEW | 
|  | RASENTRYNAMEW { | 
|  | DWORD dwSize; | 
|  | WCHAR szEntryName[RAS_MaxEntryName + 1 ]; | 
|  | DWORD dwFlags; | 
|  | WCHAR szPhonebookPath[MAX_PATH + 1]; | 
|  | }; | 
|  |  | 
|  | #define RASENTRYNAMEA struct tagRASENTRYNAMEA | 
|  | RASENTRYNAMEA { | 
|  | DWORD dwSize; | 
|  | CHAR szEntryName[RAS_MaxEntryName + 1 ]; | 
|  | DWORD dwFlags; | 
|  | CHAR szPhonebookPath[MAX_PATH + 1]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASENTRYNAME RASENTRYNAMEW | 
|  | #else | 
|  | #define RASENTRYNAME RASENTRYNAMEA | 
|  | #endif | 
|  |  | 
|  | #define LPRASENTRYNAMEW RASENTRYNAMEW* | 
|  | #define LPRASENTRYNAMEA RASENTRYNAMEA* | 
|  | #define LPRASENTRYNAME RASENTRYNAME* | 
|  |  | 
|  | #define RASPROJECTION enum tagRASPROJECTION | 
|  | RASPROJECTION { | 
|  | RASP_Amb = 0x10000,RASP_PppNbf = 0x803F,RASP_PppIpx = 0x802B,RASP_PppIp = 0x8021, | 
|  | RASP_PppCcp = 0x80FD,RASP_PppLcp = 0xC021,RASP_Slip = 0x20000 | 
|  | }; | 
|  |  | 
|  | #define LPRASPROJECTION RASPROJECTION * | 
|  |  | 
|  | #define RASAMBW struct tagRASAMBW | 
|  | RASAMBW { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1 ]; | 
|  | BYTE bLana; | 
|  | }; | 
|  |  | 
|  | #define RASAMBA struct tagRASAMBA | 
|  | RASAMBA { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | CHAR szNetBiosError[NETBIOS_NAME_LEN + 1 ]; | 
|  | BYTE bLana; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASAMB RASAMBW | 
|  | #else | 
|  | #define RASAMB RASAMBA | 
|  | #endif | 
|  |  | 
|  | #define LPRASAMBW RASAMBW* | 
|  | #define LPRASAMBA RASAMBA* | 
|  | #define LPRASAMB RASAMB* | 
|  |  | 
|  | #define RASPPPNBFW struct tagRASPPPNBFW | 
|  | RASPPPNBFW { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | DWORD dwNetBiosError; | 
|  | WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1 ]; | 
|  | WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1 ]; | 
|  | BYTE bLana; | 
|  | }; | 
|  |  | 
|  | #define RASPPPNBFA struct tagRASPPPNBFA | 
|  | RASPPPNBFA { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | DWORD dwNetBiosError; | 
|  | CHAR szNetBiosError[NETBIOS_NAME_LEN + 1 ]; | 
|  | CHAR szWorkstationName[NETBIOS_NAME_LEN + 1 ]; | 
|  | BYTE bLana; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASPPPNBF RASPPPNBFW | 
|  | #else | 
|  | #define RASPPPNBF RASPPPNBFA | 
|  | #endif | 
|  |  | 
|  | #define LPRASPPPNBFW RASPPPNBFW* | 
|  | #define LPRASPPPNBFA RASPPPNBFA* | 
|  | #define LPRASPPPNBF RASPPPNBF* | 
|  |  | 
|  | #define RASPPPIPXW struct tagRASIPXW | 
|  | RASPPPIPXW { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | WCHAR szIpxAddress[RAS_MaxIpxAddress + 1 ]; | 
|  | }; | 
|  |  | 
|  | #define RASPPPIPXA struct tagRASPPPIPXA | 
|  | RASPPPIPXA { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | CHAR szIpxAddress[RAS_MaxIpxAddress + 1 ]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASPPPIPX RASPPPIPXW | 
|  | #else | 
|  | #define RASPPPIPX RASPPPIPXA | 
|  | #endif | 
|  |  | 
|  | #define LPRASPPPIPXW RASPPPIPXW * | 
|  | #define LPRASPPPIPXA RASPPPIPXA * | 
|  | #define LPRASPPPIPX RASPPPIPX * | 
|  |  | 
|  | #define RASIPO_VJ 0x00000001 | 
|  |  | 
|  | #define RASPPPIPW struct tagRASPPPIPW | 
|  | RASPPPIPW { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | WCHAR szIpAddress[RAS_MaxIpAddress + 1 ]; | 
|  |  | 
|  | #ifndef WINNT35COMPATIBLE | 
|  |  | 
|  | WCHAR szServerIpAddress[RAS_MaxIpAddress + 1 ]; | 
|  | #endif | 
|  | DWORD dwOptions; | 
|  | DWORD dwServerOptions; | 
|  | }; | 
|  |  | 
|  | #define RASPPPIPA struct tagRASPPPIPA | 
|  | RASPPPIPA { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | CHAR szIpAddress[RAS_MaxIpAddress + 1 ]; | 
|  | #ifndef WINNT35COMPATIBLE | 
|  | CHAR szServerIpAddress[RAS_MaxIpAddress + 1 ]; | 
|  | #endif | 
|  | DWORD dwOptions; | 
|  | DWORD dwServerOptions; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASPPPIP RASPPPIPW | 
|  | #else | 
|  | #define RASPPPIP RASPPPIPA | 
|  | #endif | 
|  |  | 
|  | #define LPRASPPPIPW RASPPPIPW* | 
|  | #define LPRASPPPIPA RASPPPIPA* | 
|  | #define LPRASPPPIP RASPPPIP* | 
|  |  | 
|  | #define RASLCPAP_PAP 0xC023 | 
|  | #define RASLCPAP_SPAP 0xC027 | 
|  | #define RASLCPAP_CHAP 0xC223 | 
|  | #define RASLCPAP_EAP 0xC227 | 
|  |  | 
|  | #define RASLCPAD_CHAP_MD5 0x05 | 
|  | #define RASLCPAD_CHAP_MS 0x80 | 
|  | #define RASLCPAD_CHAP_MSV2 0x81 | 
|  |  | 
|  | #define RASLCPO_PFC 0x00000001 | 
|  | #define RASLCPO_ACFC 0x00000002 | 
|  | #define RASLCPO_SSHF 0x00000004 | 
|  | #define RASLCPO_DES_56 0x00000008 | 
|  | #define RASLCPO_3_DES 0x00000010 | 
|  |  | 
|  | #define RASPPPLCPW struct tagRASPPPLCPW | 
|  | RASPPPLCPW { | 
|  | DWORD dwSize; | 
|  | WINBOOL fBundled; | 
|  | DWORD dwError; | 
|  | DWORD dwAuthenticationProtocol; | 
|  | DWORD dwAuthenticationData; | 
|  | DWORD dwEapTypeId; | 
|  | DWORD dwServerAuthenticationProtocol; | 
|  | DWORD dwServerAuthenticationData; | 
|  | DWORD dwServerEapTypeId; | 
|  | WINBOOL fMultilink; | 
|  | DWORD dwTerminateReason; | 
|  | DWORD dwServerTerminateReason; | 
|  | WCHAR szReplyMessage[RAS_MaxReplyMessage]; | 
|  | DWORD dwOptions; | 
|  | DWORD dwServerOptions; | 
|  | }; | 
|  |  | 
|  | #define RASPPPLCPA struct tagRASPPPLCPA | 
|  | RASPPPLCPA { | 
|  | DWORD dwSize; | 
|  | WINBOOL fBundled; | 
|  | DWORD dwError; | 
|  | DWORD dwAuthenticationProtocol; | 
|  | DWORD dwAuthenticationData; | 
|  | DWORD dwEapTypeId; | 
|  | DWORD dwServerAuthenticationProtocol; | 
|  | DWORD dwServerAuthenticationData; | 
|  | DWORD dwServerEapTypeId; | 
|  | WINBOOL fMultilink; | 
|  | DWORD dwTerminateReason; | 
|  | DWORD dwServerTerminateReason; | 
|  | CHAR szReplyMessage[RAS_MaxReplyMessage]; | 
|  | DWORD dwOptions; | 
|  | DWORD dwServerOptions; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASPPPLCP RASPPPLCPW | 
|  | #else | 
|  | #define RASPPPLCP RASPPPLCPA | 
|  | #endif | 
|  |  | 
|  | #define LPRASPPPLCPW RASPPPLCPW * | 
|  | #define LPRASPPPLCPA RASPPPLCPA * | 
|  | #define LPRASPPPLCP RASPPPLCP * | 
|  |  | 
|  | #define RASSLIPW struct tagRASSLIPW | 
|  | RASSLIPW { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | WCHAR szIpAddress[RAS_MaxIpAddress + 1 ]; | 
|  | }; | 
|  |  | 
|  | #define RASSLIPA struct tagRASSLIPA | 
|  | RASSLIPA { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | CHAR szIpAddress[RAS_MaxIpAddress + 1 ]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASSLIP RASSLIPW | 
|  | #else | 
|  | #define RASSLIP RASSLIPA | 
|  | #endif | 
|  |  | 
|  | #define LPRASSLIPW RASSLIPW* | 
|  | #define LPRASSLIPA RASSLIPA* | 
|  | #define LPRASSLIP RASSLIP* | 
|  |  | 
|  | #define RASCCPCA_MPPC 0x00000006 | 
|  | #define RASCCPCA_STAC 0x00000005 | 
|  |  | 
|  | #define RASCCPO_Compression 0x00000001 | 
|  | #define RASCCPO_HistoryLess 0x00000002 | 
|  | #define RASCCPO_Encryption56bit 0x00000010 | 
|  | #define RASCCPO_Encryption40bit 0x00000020 | 
|  | #define RASCCPO_Encryption128bit 0x00000040 | 
|  |  | 
|  | #define RASPPPCCP struct tagRASPPPCCP | 
|  | RASPPPCCP { | 
|  | DWORD dwSize; | 
|  | DWORD dwError; | 
|  | DWORD dwCompressionAlgorithm; | 
|  | DWORD dwOptions; | 
|  | DWORD dwServerCompressionAlgorithm; | 
|  | DWORD dwServerOptions; | 
|  | }; | 
|  |  | 
|  | #define LPRASPPPCCP RASPPPCCP * | 
|  |  | 
|  | #define RASDIALEVENT "RasDialEvent" | 
|  | #define WM_RASDIALEVENT 0xCCCD | 
|  |  | 
|  | 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); | 
|  |  | 
|  | #define RASDEVINFOW struct tagRASDEVINFOW | 
|  | RASDEVINFOW { | 
|  | DWORD dwSize; | 
|  | WCHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | WCHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | }; | 
|  |  | 
|  | #define RASDEVINFOA struct tagRASDEVINFOA | 
|  | RASDEVINFOA { | 
|  | DWORD dwSize; | 
|  | CHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | CHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASDEVINFO RASDEVINFOW | 
|  | #else | 
|  | #define RASDEVINFO RASDEVINFOA | 
|  | #endif | 
|  |  | 
|  | #define LPRASDEVINFOW RASDEVINFOW* | 
|  | #define LPRASDEVINFOA RASDEVINFOA* | 
|  | #define LPRASDEVINFO RASDEVINFO* | 
|  |  | 
|  | #define RASCTRYINFO struct RASCTRYINFO | 
|  | RASCTRYINFO { | 
|  | DWORD dwSize; | 
|  | DWORD dwCountryID; | 
|  | DWORD dwNextCountryID; | 
|  | DWORD dwCountryCode; | 
|  | DWORD dwCountryNameOffset; | 
|  | }; | 
|  |  | 
|  | #define RASCTRYINFOW RASCTRYINFO | 
|  | #define RASCTRYINFOA RASCTRYINFO | 
|  |  | 
|  | #define LPRASCTRYINFOW RASCTRYINFOW* | 
|  | #define LPRASCTRYINFOA RASCTRYINFOW* | 
|  | #define LPRASCTRYINFO RASCTRYINFO* | 
|  |  | 
|  | #define RASIPADDR struct RASIPADDR | 
|  | RASIPADDR { | 
|  | BYTE a; | 
|  | BYTE b; | 
|  | BYTE c; | 
|  | BYTE d; | 
|  | }; | 
|  |  | 
|  | #define ET_None 0 | 
|  | #define ET_Require 1 | 
|  | #define ET_RequireMax 2 | 
|  | #define ET_Optional 3 | 
|  |  | 
|  | #define VS_Default 0 | 
|  | #define VS_PptpOnly 1 | 
|  | #define VS_PptpFirst 2 | 
|  | #define VS_L2tpOnly 3 | 
|  | #define VS_L2tpFirst 4 | 
|  |  | 
|  | #define RASENTRYA struct tagRASENTRYA | 
|  | RASENTRYA { | 
|  | 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; | 
|  | DWORD dwSubEntries; | 
|  | DWORD dwDialMode; | 
|  | DWORD dwDialExtraPercent; | 
|  | DWORD dwDialExtraSampleSeconds; | 
|  | DWORD dwHangUpExtraPercent; | 
|  | DWORD dwHangUpExtraSampleSeconds; | 
|  | DWORD dwIdleDisconnectSeconds; | 
|  | DWORD dwType; | 
|  | DWORD dwEncryptionType; | 
|  | DWORD dwCustomAuthKey; | 
|  | GUID guidId; | 
|  | CHAR szCustomDialDll[MAX_PATH]; | 
|  | DWORD dwVpnStrategy; | 
|  | DWORD dwfOptions2; | 
|  | DWORD dwfOptions3; | 
|  | CHAR szDnsSuffix[RAS_MaxDnsSuffix]; | 
|  | DWORD dwTcpWindowSize; | 
|  | CHAR szPrerequisitePbk[MAX_PATH]; | 
|  | CHAR szPrerequisiteEntry[RAS_MaxEntryName + 1]; | 
|  | DWORD dwRedialCount; | 
|  | DWORD dwRedialPause; | 
|  | }; | 
|  |  | 
|  | #define RASENTRYW struct tagRASENTRYW | 
|  | RASENTRYW { | 
|  | 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; | 
|  | DWORD dwSubEntries; | 
|  | DWORD dwDialMode; | 
|  | DWORD dwDialExtraPercent; | 
|  | DWORD dwDialExtraSampleSeconds; | 
|  | DWORD dwHangUpExtraPercent; | 
|  | DWORD dwHangUpExtraSampleSeconds; | 
|  | DWORD dwIdleDisconnectSeconds; | 
|  | DWORD dwType; | 
|  | DWORD dwEncryptionType; | 
|  | DWORD dwCustomAuthKey; | 
|  | GUID guidId; | 
|  | WCHAR szCustomDialDll[MAX_PATH]; | 
|  | DWORD dwVpnStrategy; | 
|  | DWORD dwfOptions2; | 
|  | DWORD dwfOptions3; | 
|  | WCHAR szDnsSuffix[RAS_MaxDnsSuffix]; | 
|  | DWORD dwTcpWindowSize; | 
|  | WCHAR szPrerequisitePbk[MAX_PATH]; | 
|  | WCHAR szPrerequisiteEntry[RAS_MaxEntryName + 1]; | 
|  | DWORD dwRedialCount; | 
|  | DWORD dwRedialPause; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASENTRY RASENTRYW | 
|  | #else | 
|  | #define RASENTRY RASENTRYA | 
|  | #endif | 
|  |  | 
|  | #define LPRASENTRYW RASENTRYW* | 
|  | #define LPRASENTRYA RASENTRYA* | 
|  | #define LPRASENTRY RASENTRY* | 
|  |  | 
|  | #define RASEO_UseCountryAndAreaCodes 0x00000001 | 
|  | #define RASEO_SpecificIpAddr 0x00000002 | 
|  | #define RASEO_SpecificNameServers 0x00000004 | 
|  | #define RASEO_IpHeaderCompression 0x00000008 | 
|  | #define RASEO_RemoteDefaultGateway 0x00000010 | 
|  | #define RASEO_DisableLcpExtensions 0x00000020 | 
|  | #define RASEO_TerminalBeforeDial 0x00000040 | 
|  | #define RASEO_TerminalAfterDial 0x00000080 | 
|  | #define RASEO_ModemLights 0x00000100 | 
|  | #define RASEO_SwCompression 0x00000200 | 
|  | #define RASEO_RequireEncryptedPw 0x00000400 | 
|  | #define RASEO_RequireMsEncryptedPw 0x00000800 | 
|  | #define RASEO_RequireDataEncryption 0x00001000 | 
|  | #define RASEO_NetworkLogon 0x00002000 | 
|  | #define RASEO_UseLogonCredentials 0x00004000 | 
|  | #define RASEO_PromoteAlternates 0x00008000 | 
|  | #define RASEO_SecureLocalFiles 0x00010000 | 
|  | #define RASEO_RequireEAP 0x00020000 | 
|  | #define RASEO_RequirePAP 0x00040000 | 
|  | #define RASEO_RequireSPAP 0x00080000 | 
|  | #define RASEO_Custom 0x00100000 | 
|  | #define RASEO_PreviewPhoneNumber 0x00200000 | 
|  | #define RASEO_SharedPhoneNumbers 0x00800000 | 
|  | #define RASEO_PreviewUserPw 0x01000000 | 
|  | #define RASEO_PreviewDomain 0x02000000 | 
|  | #define RASEO_ShowDialingProgress 0x04000000 | 
|  | #define RASEO_RequireCHAP 0x08000000 | 
|  | #define RASEO_RequireMsCHAP 0x10000000 | 
|  | #define RASEO_RequireMsCHAP2 0x20000000 | 
|  | #define RASEO_RequireW95MSCHAP 0x40000000 | 
|  | #define RASEO_CustomScript 0x80000000 | 
|  |  | 
|  | #define RASEO2_SecureFileAndPrint 0x00000001 | 
|  | #define RASEO2_SecureClientForMSNet 0x00000002 | 
|  | #define RASEO2_DontNegotiateMultilink 0x00000004 | 
|  | #define RASEO2_DontUseRasCredentials 0x00000008 | 
|  | #define RASEO2_UsePreSharedKey 0x00000010 | 
|  | #define RASEO2_Internet 0x00000020 | 
|  | #define RASEO2_DisableNbtOverIP 0x00000040 | 
|  | #define RASEO2_UseGlobalDeviceSettings 0x00000080 | 
|  | #define RASEO2_ReconnectIfDropped 0x00000100 | 
|  | #define RASEO2_SharePhoneNumbers 0x00000200 | 
|  |  | 
|  | #define RASNP_NetBEUI 0x00000001 | 
|  | #define RASNP_Ipx 0x00000002 | 
|  | #define RASNP_Ip 0x00000004 | 
|  |  | 
|  | #define RASFP_Ppp 0x00000001 | 
|  | #define RASFP_Slip 0x00000002 | 
|  | #define RASFP_Ras 0x00000004 | 
|  |  | 
|  | #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") | 
|  | #define RASDT_PPPoE TEXT("PPPoE") | 
|  |  | 
|  | #define RASET_Phone 1 | 
|  | #define RASET_Vpn 2 | 
|  | #define RASET_Direct 3 | 
|  | #define RASET_Internet 4 | 
|  | #define RASET_Broadband 5 | 
|  |  | 
|  | typedef WINBOOL (WINAPI *ORASADFUNC)(HWND,LPSTR,DWORD,LPDWORD); | 
|  |  | 
|  | #define RASCN_Connection 0x00000001 | 
|  | #define RASCN_Disconnection 0x00000002 | 
|  | #define RASCN_BandwidthAdded 0x00000004 | 
|  | #define RASCN_BandwidthRemoved 0x00000008 | 
|  |  | 
|  | #define RASEDM_DialAll 1 | 
|  | #define RASEDM_DialAsNeeded 2 | 
|  |  | 
|  | #define RASIDS_Disabled 0xffffffff | 
|  | #define RASIDS_UseGlobalValue 0 | 
|  |  | 
|  | #define RASADPARAMS struct tagRASADPARAMS | 
|  | RASADPARAMS { | 
|  | DWORD dwSize; | 
|  | HWND hwndOwner; | 
|  | DWORD dwFlags; | 
|  | LONG xDlg; | 
|  | LONG yDlg; | 
|  | }; | 
|  |  | 
|  | #define LPRASADPARAMS RASADPARAMS* | 
|  |  | 
|  | #define RASADFLG_PositionDlg 0x00000001 | 
|  |  | 
|  | typedef WINBOOL (WINAPI *RASADFUNCA)(LPSTR,LPSTR,LPRASADPARAMS,LPDWORD); | 
|  | typedef WINBOOL (WINAPI *RASADFUNCW)(LPWSTR,LPWSTR,LPRASADPARAMS,LPDWORD); | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASADFUNC RASADFUNCW | 
|  | #else | 
|  | #define RASADFUNC RASADFUNCA | 
|  | #endif | 
|  |  | 
|  | #define RASSUBENTRYA struct tagRASSUBENTRYA | 
|  | RASSUBENTRYA { | 
|  | DWORD dwSize; | 
|  | DWORD dwfFlags; | 
|  | CHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | CHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1 ]; | 
|  | DWORD dwAlternateOffset; | 
|  | }; | 
|  |  | 
|  | #define RASSUBENTRYW struct tagRASSUBENTRYW | 
|  | RASSUBENTRYW { | 
|  | DWORD dwSize; | 
|  | DWORD dwfFlags; | 
|  | WCHAR szDeviceType[RAS_MaxDeviceType + 1 ]; | 
|  | WCHAR szDeviceName[RAS_MaxDeviceName + 1 ]; | 
|  | WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1 ]; | 
|  | DWORD dwAlternateOffset; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASSUBENTRY RASSUBENTRYW | 
|  | #else | 
|  | #define RASSUBENTRY RASSUBENTRYA | 
|  | #endif | 
|  |  | 
|  | #define LPRASSUBENTRYW RASSUBENTRYW* | 
|  | #define LPRASSUBENTRYA RASSUBENTRYA* | 
|  | #define LPRASSUBENTRY RASSUBENTRY* | 
|  |  | 
|  | #define RASCREDENTIALSA struct tagRASCREDENTIALSA | 
|  | RASCREDENTIALSA { | 
|  | DWORD dwSize; | 
|  | DWORD dwMask; | 
|  | CHAR szUserName[UNLEN + 1 ]; | 
|  | CHAR szPassword[PWLEN + 1 ]; | 
|  | CHAR szDomain[DNLEN + 1 ]; | 
|  | }; | 
|  |  | 
|  | #define RASCREDENTIALSW struct tagRASCREDENTIALSW | 
|  | RASCREDENTIALSW { | 
|  | DWORD dwSize; | 
|  | DWORD dwMask; | 
|  | WCHAR szUserName[UNLEN + 1 ]; | 
|  | WCHAR szPassword[PWLEN + 1 ]; | 
|  | WCHAR szDomain[DNLEN + 1 ]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASCREDENTIALS RASCREDENTIALSW | 
|  | #else | 
|  | #define RASCREDENTIALS RASCREDENTIALSA | 
|  | #endif | 
|  |  | 
|  | #define LPRASCREDENTIALSW RASCREDENTIALSW* | 
|  | #define LPRASCREDENTIALSA RASCREDENTIALSA* | 
|  | #define LPRASCREDENTIALS RASCREDENTIALS* | 
|  |  | 
|  | #define RASCM_UserName 0x00000001 | 
|  | #define RASCM_Password 0x00000002 | 
|  | #define RASCM_Domain 0x00000004 | 
|  | #define RASCM_DefaultCreds 0x00000008 | 
|  | #define RASCM_PreSharedKey 0x00000010 | 
|  | #define RASCM_ServerPreSharedKey 0x00000020 | 
|  | #define RASCM_DDMPreSharedKey 0x00000040 | 
|  |  | 
|  | #define RASAUTODIALENTRYA struct tagRASAUTODIALENTRYA | 
|  | RASAUTODIALENTRYA { | 
|  | DWORD dwSize; | 
|  | DWORD dwFlags; | 
|  | DWORD dwDialingLocation; | 
|  | CHAR szEntry[RAS_MaxEntryName + 1]; | 
|  | }; | 
|  |  | 
|  | #define RASAUTODIALENTRYW struct tagRASAUTODIALENTRYW | 
|  | RASAUTODIALENTRYW { | 
|  | DWORD dwSize; | 
|  | DWORD dwFlags; | 
|  | DWORD dwDialingLocation; | 
|  | WCHAR szEntry[RAS_MaxEntryName + 1]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASAUTODIALENTRY RASAUTODIALENTRYW | 
|  | #else | 
|  | #define RASAUTODIALENTRY RASAUTODIALENTRYA | 
|  | #endif | 
|  |  | 
|  | #define LPRASAUTODIALENTRYW RASAUTODIALENTRYW* | 
|  | #define LPRASAUTODIALENTRYA RASAUTODIALENTRYA* | 
|  | #define LPRASAUTODIALENTRY RASAUTODIALENTRY* | 
|  |  | 
|  | #define RASADP_DisableConnectionQuery 0 | 
|  | #define RASADP_LoginSessionDisable 1 | 
|  | #define RASADP_SavedAddressesLimit 2 | 
|  | #define RASADP_FailedConnectionTimeout 3 | 
|  | #define RASADP_ConnectionQueryTimeout 4 | 
|  |  | 
|  | #define RASEAPF_NonInteractive 0x00000002 | 
|  | #define RASEAPF_Logon 0x00000004 | 
|  | #define RASEAPF_Preview 0x00000008 | 
|  |  | 
|  | #define RASEAPUSERIDENTITYA struct tagRASEAPUSERIDENTITYA | 
|  | RASEAPUSERIDENTITYA { | 
|  | CHAR szUserName[UNLEN + 1 ]; | 
|  | DWORD dwSizeofEapInfo; | 
|  | BYTE pbEapInfo[1 ]; | 
|  | }; | 
|  |  | 
|  | #define RASEAPUSERIDENTITYW struct tagRASEAPUSERIDENTITYW | 
|  | RASEAPUSERIDENTITYW { | 
|  | WCHAR szUserName[UNLEN + 1 ]; | 
|  | DWORD dwSizeofEapInfo; | 
|  | BYTE pbEapInfo[1 ]; | 
|  | }; | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RASEAPUSERIDENTITY RASEAPUSERIDENTITYW | 
|  | #else | 
|  | #define RASEAPUSERIDENTITY RASEAPUSERIDENTITYA | 
|  | #endif | 
|  |  | 
|  | #define LPRASEAPUSERIDENTITYW RASEAPUSERIDENTITYW* | 
|  | #define LPRASEAPUSERIDENTITYA RASEAPUSERIDENTITYA* | 
|  |  | 
|  | typedef DWORD (WINAPI *PFNRASGETBUFFER) (PBYTE *ppBuffer,PDWORD pdwSize); | 
|  | typedef DWORD (WINAPI *PFNRASFREEBUFFER) (PBYTE pBufer); | 
|  | typedef DWORD (WINAPI *PFNRASSENDBUFFER) (HANDLE hPort,PBYTE pBuffer,DWORD dwSize); | 
|  | typedef DWORD (WINAPI *PFNRASRECEIVEBUFFER) (HANDLE hPort,PBYTE pBuffer,PDWORD pdwSize,DWORD dwTimeOut,HANDLE hEvent); | 
|  | typedef DWORD (WINAPI *PFNRASRETRIEVEBUFFER) (HANDLE hPort,PBYTE pBuffer,PDWORD pdwSize); | 
|  | 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); | 
|  |  | 
|  | #define RASCOMMSETTINGS struct tagRASCOMMSETTINGS | 
|  | RASCOMMSETTINGS { | 
|  | DWORD dwSize; | 
|  | BYTE bParity; | 
|  | BYTE bStop; | 
|  | BYTE bByteSize; | 
|  | BYTE bAlign; | 
|  | }; | 
|  |  | 
|  | typedef DWORD (WINAPI *PFNRASSETCOMMSETTINGS) (HANDLE hPort,RASCOMMSETTINGS *pRasCommSettings,PVOID pvReserved); | 
|  |  | 
|  | #define RASCUSTOMSCRIPTEXTENSIONS struct tagRASCUSTOMSCRIPTEXTENSIONS | 
|  | RASCUSTOMSCRIPTEXTENSIONS { | 
|  | DWORD dwSize; | 
|  | PFNRASSETCOMMSETTINGS pfnRasSetCommSettings; | 
|  | }; | 
|  |  | 
|  | DWORD WINAPI RasDialA(LPRASDIALEXTENSIONS,LPCSTR,LPRASDIALPARAMSA,DWORD,LPVOID,LPHRASCONN); | 
|  | DWORD WINAPI RasDialW(LPRASDIALEXTENSIONS,LPCWSTR,LPRASDIALPARAMSW,DWORD,LPVOID,LPHRASCONN); | 
|  | DWORD WINAPI RasEnumConnectionsA(LPRASCONNA,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasEnumConnectionsW(LPRASCONNW,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasEnumEntriesA(LPCSTR,LPCSTR,LPRASENTRYNAMEA,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasEnumEntriesW(LPCWSTR,LPCWSTR,LPRASENTRYNAMEW,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasGetConnectStatusA(HRASCONN,LPRASCONNSTATUSA); | 
|  | DWORD WINAPI RasGetConnectStatusW(HRASCONN,LPRASCONNSTATUSW); | 
|  | DWORD WINAPI RasGetErrorStringA(UINT,LPSTR,DWORD); | 
|  | DWORD WINAPI RasGetErrorStringW(UINT,LPWSTR,DWORD); | 
|  | DWORD WINAPI RasHangUpA(HRASCONN); | 
|  | DWORD WINAPI RasHangUpW(HRASCONN); | 
|  | DWORD WINAPI RasGetProjectionInfoA(HRASCONN,RASPROJECTION,LPVOID,LPDWORD); | 
|  | DWORD WINAPI RasGetProjectionInfoW(HRASCONN,RASPROJECTION,LPVOID,LPDWORD); | 
|  | DWORD WINAPI RasCreatePhonebookEntryA(HWND,LPCSTR); | 
|  | DWORD WINAPI RasCreatePhonebookEntryW(HWND,LPCWSTR); | 
|  | DWORD WINAPI RasEditPhonebookEntryA(HWND,LPCSTR,LPCSTR); | 
|  | DWORD WINAPI RasEditPhonebookEntryW(HWND,LPCWSTR,LPCWSTR); | 
|  | DWORD WINAPI RasSetEntryDialParamsA(LPCSTR,LPRASDIALPARAMSA,WINBOOL); | 
|  | DWORD WINAPI RasSetEntryDialParamsW(LPCWSTR,LPRASDIALPARAMSW,WINBOOL); | 
|  | DWORD WINAPI RasGetEntryDialParamsA(LPCSTR,LPRASDIALPARAMSA,LPBOOL); | 
|  | DWORD WINAPI RasGetEntryDialParamsW(LPCWSTR,LPRASDIALPARAMSW,LPBOOL); | 
|  | DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasEnumDevicesW(LPRASDEVINFOW,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasGetCountryInfoA(LPRASCTRYINFOA,LPDWORD); | 
|  | DWORD WINAPI RasGetCountryInfoW(LPRASCTRYINFOW,LPDWORD); | 
|  | DWORD WINAPI RasGetEntryPropertiesA(LPCSTR,LPCSTR,LPRASENTRYA,LPDWORD,LPBYTE,LPDWORD); | 
|  | DWORD WINAPI RasGetEntryPropertiesW(LPCWSTR,LPCWSTR,LPRASENTRYW,LPDWORD,LPBYTE,LPDWORD); | 
|  | DWORD WINAPI RasSetEntryPropertiesA(LPCSTR,LPCSTR,LPRASENTRYA,DWORD,LPBYTE,DWORD); | 
|  | DWORD WINAPI RasSetEntryPropertiesW(LPCWSTR,LPCWSTR,LPRASENTRYW,DWORD,LPBYTE,DWORD); | 
|  | DWORD WINAPI RasRenameEntryA(LPCSTR,LPCSTR,LPCSTR); | 
|  | DWORD WINAPI RasRenameEntryW(LPCWSTR,LPCWSTR,LPCWSTR); | 
|  | DWORD WINAPI RasDeleteEntryA(LPCSTR,LPCSTR); | 
|  | DWORD WINAPI RasDeleteEntryW(LPCWSTR,LPCWSTR); | 
|  | DWORD WINAPI RasValidateEntryNameA(LPCSTR,LPCSTR); | 
|  | DWORD WINAPI RasValidateEntryNameW(LPCWSTR,LPCWSTR); | 
|  | DWORD WINAPI RasConnectionNotificationA(HRASCONN,HANDLE,DWORD); | 
|  | DWORD WINAPI RasConnectionNotificationW(HRASCONN,HANDLE,DWORD); | 
|  | DWORD WINAPI RasGetSubEntryHandleA(HRASCONN,DWORD,LPHRASCONN); | 
|  | DWORD WINAPI RasGetSubEntryHandleW(HRASCONN,DWORD,LPHRASCONN); | 
|  | DWORD WINAPI RasGetCredentialsA(LPCSTR,LPCSTR,LPRASCREDENTIALSA); | 
|  | DWORD WINAPI RasGetCredentialsW(LPCWSTR,LPCWSTR,LPRASCREDENTIALSW); | 
|  | DWORD WINAPI RasSetCredentialsA(LPCSTR,LPCSTR,LPRASCREDENTIALSA,WINBOOL); | 
|  | DWORD WINAPI RasSetCredentialsW(LPCWSTR,LPCWSTR,LPRASCREDENTIALSW,WINBOOL); | 
|  | DWORD WINAPI RasGetSubEntryPropertiesA(LPCSTR,LPCSTR,DWORD,LPRASSUBENTRYA,LPDWORD,LPBYTE,LPDWORD); | 
|  | DWORD WINAPI RasGetSubEntryPropertiesW(LPCWSTR,LPCWSTR,DWORD,LPRASSUBENTRYW,LPDWORD,LPBYTE,LPDWORD); | 
|  | DWORD WINAPI RasSetSubEntryPropertiesA(LPCSTR,LPCSTR,DWORD,LPRASSUBENTRYA,DWORD,LPBYTE,DWORD); | 
|  | DWORD WINAPI RasSetSubEntryPropertiesW(LPCWSTR,LPCWSTR,DWORD,LPRASSUBENTRYW,DWORD,LPBYTE,DWORD); | 
|  | DWORD WINAPI RasGetAutodialAddressA(LPCSTR,LPDWORD,LPRASAUTODIALENTRYA,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasGetAutodialAddressW(LPCWSTR,LPDWORD,LPRASAUTODIALENTRYW,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasSetAutodialAddressA(LPCSTR,DWORD,LPRASAUTODIALENTRYA,DWORD,DWORD); | 
|  | DWORD WINAPI RasSetAutodialAddressW(LPCWSTR,DWORD,LPRASAUTODIALENTRYW,DWORD,DWORD); | 
|  | DWORD WINAPI RasEnumAutodialAddressesA(LPSTR *,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasEnumAutodialAddressesW(LPWSTR *,LPDWORD,LPDWORD); | 
|  | DWORD WINAPI RasGetAutodialEnableA(DWORD,LPBOOL); | 
|  | DWORD WINAPI RasGetAutodialEnableW(DWORD,LPBOOL); | 
|  | DWORD WINAPI RasSetAutodialEnableA(DWORD,WINBOOL); | 
|  | DWORD WINAPI RasSetAutodialEnableW(DWORD,WINBOOL); | 
|  | DWORD WINAPI RasGetAutodialParamA(DWORD,LPVOID,LPDWORD); | 
|  | DWORD WINAPI RasGetAutodialParamW(DWORD,LPVOID,LPDWORD); | 
|  | DWORD WINAPI RasSetAutodialParamA(DWORD,LPVOID,DWORD); | 
|  | DWORD WINAPI RasSetAutodialParamW(DWORD,LPVOID,DWORD); | 
|  |  | 
|  | 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,*PRAS_STATS; | 
|  |  | 
|  | typedef DWORD (WINAPI *RasCustomHangUpFn)(HRASCONN hRasConn); | 
|  | typedef DWORD (WINAPI *RasCustomDialFn)(HINSTANCE hInstDll,LPRASDIALEXTENSIONS lpRasDialExtensions,LPCWSTR lpszPhonebook,LPRASDIALPARAMS lpRasDialParams,DWORD dwNotifierType,LPVOID lpvNotifier,LPHRASCONN lphRasConn,DWORD dwFlags); | 
|  | typedef DWORD (WINAPI *RasCustomDeleteEntryNotifyFn)(LPCWSTR lpszPhonebook,LPCWSTR lpszEntry,DWORD dwFlags); | 
|  |  | 
|  | #define RCD_SingleUser 0 | 
|  | #define RCD_AllUsers 0x00000001 | 
|  | #define RCD_Eap 0x00000002 | 
|  | #define RCD_Logon 0x00000004 | 
|  |  | 
|  | DWORD WINAPI RasInvokeEapUI(HRASCONN,DWORD,LPRASDIALEXTENSIONS,HWND); | 
|  | DWORD WINAPI RasGetLinkStatistics(HRASCONN hRasConn,DWORD dwSubEntry,RAS_STATS *lpStatistics); | 
|  | DWORD WINAPI RasGetConnectionStatistics(HRASCONN hRasConn,RAS_STATS *lpStatistics); | 
|  | DWORD WINAPI RasClearLinkStatistics(HRASCONN hRasConn,DWORD dwSubEntry); | 
|  | DWORD WINAPI RasClearConnectionStatistics(HRASCONN hRasConn); | 
|  | DWORD WINAPI RasGetEapUserDataA(HANDLE hToken,LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbEapData,DWORD *pdwSizeofEapData); | 
|  | DWORD WINAPI RasGetEapUserDataW(HANDLE hToken,LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbEapData,DWORD *pdwSizeofEapData); | 
|  | DWORD WINAPI RasSetEapUserDataA(HANDLE hToken,LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbEapData,DWORD dwSizeofEapData); | 
|  | DWORD WINAPI RasSetEapUserDataW(HANDLE hToken,LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbEapData,DWORD dwSizeofEapData); | 
|  | DWORD WINAPI RasGetCustomAuthDataA(LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbCustomAuthData,DWORD *pdwSizeofCustomAuthData); | 
|  | DWORD WINAPI RasGetCustomAuthDataW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbCustomAuthData,DWORD *pdwSizeofCustomAuthData); | 
|  | DWORD WINAPI RasSetCustomAuthDataA(LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbCustomAuthData,DWORD dwSizeofCustomAuthData); | 
|  | DWORD WINAPI RasSetCustomAuthDataW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbCustomAuthData,DWORD dwSizeofCustomAuthData); | 
|  | DWORD WINAPI RasGetEapUserIdentityW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,DWORD dwFlags,HWND hwnd,LPRASEAPUSERIDENTITYW *ppRasEapUserIdentity); | 
|  | DWORD WINAPI RasGetEapUserIdentityA(LPCSTR pszPhonebook,LPCSTR pszEntry,DWORD dwFlags,HWND hwnd,LPRASEAPUSERIDENTITYA *ppRasEapUserIdentity); | 
|  | VOID WINAPI RasFreeEapUserIdentityW(LPRASEAPUSERIDENTITYW pRasEapUserIdentity); | 
|  | VOID WINAPI RasFreeEapUserIdentityA(LPRASEAPUSERIDENTITYA pRasEapUserIdentity); | 
|  | DWORD WINAPI RasDeleteSubEntryA(LPCSTR pszPhonebook,LPCSTR pszEntry,DWORD dwSubentryId); | 
|  | DWORD WINAPI RasDeleteSubEntryW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,DWORD dwSubEntryId); | 
|  |  | 
|  | #ifdef UNICODE | 
|  | #define RasDial RasDialW | 
|  | #define RasEnumConnections RasEnumConnectionsW | 
|  | #define RasEnumEntries RasEnumEntriesW | 
|  | #define RasGetConnectStatus RasGetConnectStatusW | 
|  | #define RasGetErrorString RasGetErrorStringW | 
|  | #define RasHangUp RasHangUpW | 
|  | #define RasGetProjectionInfo RasGetProjectionInfoW | 
|  | #define RasCreatePhonebookEntry RasCreatePhonebookEntryW | 
|  | #define RasEditPhonebookEntry RasEditPhonebookEntryW | 
|  | #define RasSetEntryDialParams RasSetEntryDialParamsW | 
|  | #define RasGetEntryDialParams RasGetEntryDialParamsW | 
|  | #define RasEnumDevices RasEnumDevicesW | 
|  | #define RasGetCountryInfo RasGetCountryInfoW | 
|  | #define RasGetEntryProperties RasGetEntryPropertiesW | 
|  | #define RasSetEntryProperties RasSetEntryPropertiesW | 
|  | #define RasRenameEntry RasRenameEntryW | 
|  | #define RasDeleteEntry RasDeleteEntryW | 
|  | #define RasValidateEntryName RasValidateEntryNameW | 
|  | #define RasGetSubEntryHandle RasGetSubEntryHandleW | 
|  | #define RasConnectionNotification RasConnectionNotificationW | 
|  | #define RasGetSubEntryProperties RasGetSubEntryPropertiesW | 
|  | #define RasSetSubEntryProperties RasSetSubEntryPropertiesW | 
|  | #define RasGetCredentials RasGetCredentialsW | 
|  | #define RasSetCredentials RasSetCredentialsW | 
|  | #define RasGetAutodialAddress RasGetAutodialAddressW | 
|  | #define RasSetAutodialAddress RasSetAutodialAddressW | 
|  | #define RasEnumAutodialAddresses RasEnumAutodialAddressesW | 
|  | #define RasGetAutodialEnable RasGetAutodialEnableW | 
|  | #define RasSetAutodialEnable RasSetAutodialEnableW | 
|  | #define RasGetAutodialParam RasGetAutodialParamW | 
|  | #define RasSetAutodialParam RasSetAutodialParamW | 
|  | #define RasGetEapUserData RasGetEapUserDataW | 
|  | #define RasSetEapUserData RasSetEapUserDataW | 
|  | #define RasGetCustomAuthData RasGetCustomAuthDataW | 
|  | #define RasSetCustomAuthData RasSetCustomAuthDataW | 
|  | #define RasGetEapUserIdentity RasGetEapUserIdentityW | 
|  | #define RasFreeEapUserIdentity RasFreeEapUserIdentityW | 
|  | #define RasDeleteSubEntry RasDeleteSubEntryW | 
|  | #else | 
|  | #define RasDial RasDialA | 
|  | #define RasEnumConnections RasEnumConnectionsA | 
|  | #define RasEnumEntries RasEnumEntriesA | 
|  | #define RasGetConnectStatus RasGetConnectStatusA | 
|  | #define RasGetErrorString RasGetErrorStringA | 
|  | #define RasHangUp RasHangUpA | 
|  | #define RasGetProjectionInfo RasGetProjectionInfoA | 
|  | #define RasCreatePhonebookEntry RasCreatePhonebookEntryA | 
|  | #define RasEditPhonebookEntry RasEditPhonebookEntryA | 
|  | #define RasSetEntryDialParams RasSetEntryDialParamsA | 
|  | #define RasGetEntryDialParams RasGetEntryDialParamsA | 
|  | #define RasEnumDevices RasEnumDevicesA | 
|  | #define RasGetCountryInfo RasGetCountryInfoA | 
|  | #define RasGetEntryProperties RasGetEntryPropertiesA | 
|  | #define RasSetEntryProperties RasSetEntryPropertiesA | 
|  | #define RasRenameEntry RasRenameEntryA | 
|  | #define RasDeleteEntry RasDeleteEntryA | 
|  | #define RasValidateEntryName RasValidateEntryNameA | 
|  | #define RasGetSubEntryHandle RasGetSubEntryHandleA | 
|  | #define RasConnectionNotification RasConnectionNotificationA | 
|  | #define RasGetSubEntryProperties RasGetSubEntryPropertiesA | 
|  | #define RasSetSubEntryProperties RasSetSubEntryPropertiesA | 
|  | #define RasGetCredentials RasGetCredentialsA | 
|  | #define RasSetCredentials RasSetCredentialsA | 
|  | #define RasGetAutodialAddress RasGetAutodialAddressA | 
|  | #define RasSetAutodialAddress RasSetAutodialAddressA | 
|  | #define RasEnumAutodialAddresses RasEnumAutodialAddressesA | 
|  | #define RasGetAutodialEnable RasGetAutodialEnableA | 
|  | #define RasSetAutodialEnable RasSetAutodialEnableA | 
|  | #define RasGetAutodialParam RasGetAutodialParamA | 
|  | #define RasSetAutodialParam RasSetAutodialParamA | 
|  | #define RasGetEapUserData RasGetEapUserDataA | 
|  | #define RasSetEapUserData RasSetEapUserDataA | 
|  | #define RasGetCustomAuthData RasGetCustomAuthDataA | 
|  | #define RasSetCustomAuthData RasSetCustomAuthDataA | 
|  | #define RasGetEapUserIdentity RasGetEapUserIdentityA | 
|  | #define RasFreeEapUserIdentity RasFreeEapUserIdentityA | 
|  | #define RasDeleteSubEntry RasDeleteSubEntryA | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #include <poppack.h> | 
|  | #endif |