1078 lines
23 KiB
C
1078 lines
23 KiB
C
|
//+----------------------------------------------------------------------------
|
||
|
//
|
||
|
// File: cmras.h
|
||
|
//
|
||
|
// Module: CMDIAL32.DLL, CMCFG32.DLL, CMMGR32.EXE, CMSTP.EXE, CMUTOA.DLL
|
||
|
//
|
||
|
// Synopsis: The Connection Manager version of the RAS header. Contains different
|
||
|
// versions of several RAS structs as well as constants/structs we cannot
|
||
|
// see when compiling with WinVer == 4.
|
||
|
//
|
||
|
// Copyright (c) 1998-1999 Microsoft Corporation
|
||
|
//
|
||
|
// Author: quintinb Created Header 08/19/99
|
||
|
//
|
||
|
//+----------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef _CM_RAS_H_
|
||
|
#define _CM_RAS_H_
|
||
|
|
||
|
//
|
||
|
// Make sure we pack on the same alignment as RAS for 64-bit Windows
|
||
|
//
|
||
|
|
||
|
#ifdef _WIN64
|
||
|
#include <pshpack4.h>
|
||
|
#endif
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////
|
||
|
// define's
|
||
|
///////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#if (WINVER < 0x401)
|
||
|
//
|
||
|
// RASENTRY 'dwDialMode' values.
|
||
|
//
|
||
|
|
||
|
#define RASEDM_DialAll 1
|
||
|
#define RASEDM_DialAsNeeded 2
|
||
|
|
||
|
#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*
|
||
|
|
||
|
//
|
||
|
// RASCREDENTIALS 'dwMask' values.
|
||
|
//
|
||
|
|
||
|
#define RASCM_UserName 0x00000001
|
||
|
#define RASCM_Password 0x00000002
|
||
|
#define RASCM_Domain 0x00000004
|
||
|
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// For global creds support. This is only used on WindowsXP,
|
||
|
// but we can't assume that RAS defined it since we compile with WINVER < WindowsXP
|
||
|
//
|
||
|
#ifndef RASCM_DefaultCreds
|
||
|
#define RASCM_DefaultCreds 0x00000008
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// This is from the W2K ras.h
|
||
|
//
|
||
|
|
||
|
#ifndef RDEOPT_CustomDial
|
||
|
#define RDEOPT_CustomDial 0x00001000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RDEOPT_UseCustomScripting
|
||
|
#define RDEOPT_UseCustomScripting 0x00002000
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// 5.00 RASEO Options
|
||
|
//
|
||
|
|
||
|
#ifndef RASEO_SecureLocalFiles
|
||
|
#define RASEO_SecureLocalFiles 0x00010000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_RequireEAP
|
||
|
#define RASEO_RequireEAP 0x00020000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_RequirePAP
|
||
|
#define RASEO_RequirePAP 0x00040000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_RequireSPAP
|
||
|
#define RASEO_RequireSPAP 0x00080000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_Custom
|
||
|
#define RASEO_Custom 0x00100000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_RequireCHAP
|
||
|
#define RASEO_RequireCHAP 0x08000000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_RequireMsCHAP
|
||
|
#define RASEO_RequireMsCHAP 0x10000000
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#ifndef RASEO_RequireMsCHAP2
|
||
|
#define RASEO_RequireMsCHAP2 0x20000000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_RequireW95MSCHAP
|
||
|
#define RASEO_RequireW95MSCHAP 0x40000000
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO_CustomScript
|
||
|
#define RASEO_CustomScript 0x80000000
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// 5.01 RASEO options for dwfOptions2
|
||
|
//
|
||
|
|
||
|
#ifndef RASEO2_SecureFileAndPrint
|
||
|
#define RASEO2_SecureFileAndPrint 0x00000001
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_SecureClientForMSNet
|
||
|
#define RASEO2_SecureClientForMSNet 0x00000002
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_DontNegotiateMultilink
|
||
|
#define RASEO2_DontNegotiateMultilink 0x00000004
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_DontUseRasCredentials
|
||
|
#define RASEO2_DontUseRasCredentials 0x00000008
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_UsePreSharedKey
|
||
|
#define RASEO2_UsePreSharedKey 0x00000010
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_Internet
|
||
|
#define RASEO2_Internet 0x00000020
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_DisableNbtOverIP
|
||
|
#define RASEO2_DisableNbtOverIP 0x00000040
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_UseGlobalDeviceSettings
|
||
|
#define RASEO2_UseGlobalDeviceSettings 0x00000080
|
||
|
#endif
|
||
|
|
||
|
#ifndef RASEO2_ReconnectIfDropped
|
||
|
#define RASEO2_ReconnectIfDropped 0x00000100
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// Encryption Types
|
||
|
//
|
||
|
#define ET_None 0 // No encryption
|
||
|
#define ET_Require 1 // Require Encryption
|
||
|
#define ET_RequireMax 2 // Require max encryption
|
||
|
#define ET_Optional 3 // Do encryption if possible. None Ok.
|
||
|
|
||
|
|
||
|
//
|
||
|
// RAS Custom Dial (RCD) flags
|
||
|
// Note: Re-defined here because RAS.H defines them in a WINVER > 0x500 section.
|
||
|
//
|
||
|
|
||
|
#define RCD_SingleUser 0
|
||
|
#define RCD_AllUsers 0x00000001
|
||
|
#define RCD_Eap 0x00000002
|
||
|
#define RCD_Logon 0x00000004
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////
|
||
|
// typedef's
|
||
|
///////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//
|
||
|
// From RAS\UI\COMMON\PBK\UTIL.C
|
||
|
//
|
||
|
|
||
|
#ifndef EAP_CUSTOM_DATA
|
||
|
|
||
|
typedef struct _EAP_CUSTOM_DATA
|
||
|
{
|
||
|
DWORD dwSignature;
|
||
|
DWORD dwCustomAuthKey;
|
||
|
DWORD dwSize;
|
||
|
BYTE abdata[1];
|
||
|
} EAP_CUSTOM_DATA;
|
||
|
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// From RASMAN.H
|
||
|
//
|
||
|
|
||
|
#ifndef EAPLOGONINFO
|
||
|
|
||
|
typedef struct _EAPLOGONINFO
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwLogonInfoSize;
|
||
|
DWORD dwOffsetLogonInfo;
|
||
|
DWORD dwPINInfoSize;
|
||
|
DWORD dwOffsetPINInfo;
|
||
|
BYTE abdata[1];
|
||
|
} EAPLOGONINFO, *PEAPLOGONINFO;
|
||
|
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// Private structure for use with DwSetEntryPropertiesPrivate on Win2k
|
||
|
//
|
||
|
typedef struct _tagRASENTRY_EX_0
|
||
|
{
|
||
|
DWORD dwTcpWindowSize;
|
||
|
} RASENTRY_EX_0;
|
||
|
|
||
|
//
|
||
|
// From raseapif.h
|
||
|
//
|
||
|
|
||
|
#ifndef RAS_EAP_FLAG_NON_INTERACTIVE
|
||
|
#define RAS_EAP_FLAG_NON_INTERACTIVE 0x00000002 // No UI should be displayed
|
||
|
#endif
|
||
|
|
||
|
#ifndef RAS_EAP_FLAG_LOGON
|
||
|
#define RAS_EAP_FLAG_LOGON 0x00000004 // The user data was obtained from Winlogon
|
||
|
#endif
|
||
|
|
||
|
#ifndef RAS_EAP_FLAG_PREVIEW
|
||
|
#define RAS_EAP_FLAG_PREVIEW 0x00000008 // User has checked "Prompt for information"
|
||
|
#endif
|
||
|
|
||
|
#if (WINVER < 0x401)
|
||
|
//
|
||
|
// define RASSUBENTRY here since it's only define for
|
||
|
// WINVER >= x0401
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// A RAS phone book multilinked sub-entry.
|
||
|
//
|
||
|
|
||
|
#define RASSUBENTRYA struct tagRASSUBENTRYA
|
||
|
RASSUBENTRYA
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfFlags;
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// Phone numbers
|
||
|
//
|
||
|
CHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
|
||
|
DWORD dwAlternateOffset;
|
||
|
};
|
||
|
|
||
|
#define RASSUBENTRYW struct tagRASSUBENTRYW
|
||
|
RASSUBENTRYW
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfFlags;
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// Phone numbers
|
||
|
//
|
||
|
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*
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
//Describes connection establishment parameters. (See RasDial)
|
||
|
//
|
||
|
|
||
|
#define RASDIALPARAMSW_V401 struct tagRASDIALPARAMSW_V401
|
||
|
RASDIALPARAMSW_V401
|
||
|
{
|
||
|
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_V401 struct tagRASDIALPARAMSA_V401
|
||
|
RASDIALPARAMSA_V401
|
||
|
{
|
||
|
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_V401 RASDIALPARAMSW_V401
|
||
|
#else
|
||
|
#define RASDIALPARAMS_V401 RASDIALPARAMSA_V401
|
||
|
#endif
|
||
|
|
||
|
#define LPRASDIALPARAMSW_V401 RASDIALPARAMSW_V401*
|
||
|
#define LPRASDIALPARAMSA_V401 RASDIALPARAMSA_V401*
|
||
|
#define LPRASDIALPARAMS_V401 RASDIALPARAMS_V401*
|
||
|
|
||
|
|
||
|
//
|
||
|
// A RAS phone book entry. - from ras.h for NT 4.0
|
||
|
//
|
||
|
|
||
|
#define RASENTRYA_V401 struct tagRASENTRYA_V401
|
||
|
RASENTRYA_V401
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfOptions;
|
||
|
//
|
||
|
// Location/phone number.
|
||
|
//
|
||
|
DWORD dwCountryID;
|
||
|
DWORD dwCountryCode;
|
||
|
CHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
|
||
|
CHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
|
||
|
DWORD dwAlternateOffset;
|
||
|
//
|
||
|
// PPP/Ip
|
||
|
//
|
||
|
RASIPADDR ipaddr;
|
||
|
RASIPADDR ipaddrDns;
|
||
|
RASIPADDR ipaddrDnsAlt;
|
||
|
RASIPADDR ipaddrWins;
|
||
|
RASIPADDR ipaddrWinsAlt;
|
||
|
//
|
||
|
// Framing
|
||
|
//
|
||
|
DWORD dwFrameSize;
|
||
|
DWORD dwfNetProtocols;
|
||
|
DWORD dwFramingProtocol;
|
||
|
//
|
||
|
// Scripting
|
||
|
//
|
||
|
CHAR szScript[ MAX_PATH ];
|
||
|
//
|
||
|
// AutoDial
|
||
|
//
|
||
|
CHAR szAutodialDll[ MAX_PATH ];
|
||
|
CHAR szAutodialFunc[ MAX_PATH ];
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// X.25
|
||
|
//
|
||
|
CHAR szX25PadType[ RAS_MaxPadType + 1 ];
|
||
|
CHAR szX25Address[ RAS_MaxX25Address + 1 ];
|
||
|
CHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
|
||
|
CHAR szX25UserData[ RAS_MaxUserData + 1 ];
|
||
|
DWORD dwChannels;
|
||
|
//
|
||
|
// Reserved
|
||
|
//
|
||
|
DWORD dwReserved1;
|
||
|
DWORD dwReserved2;
|
||
|
//
|
||
|
// Multilink
|
||
|
//
|
||
|
DWORD dwSubEntries;
|
||
|
DWORD dwDialMode;
|
||
|
DWORD dwDialExtraPercent;
|
||
|
DWORD dwDialExtraSampleSeconds;
|
||
|
DWORD dwHangUpExtraPercent;
|
||
|
DWORD dwHangUpExtraSampleSeconds;
|
||
|
//
|
||
|
// Idle timeout
|
||
|
//
|
||
|
DWORD dwIdleDisconnectSeconds;
|
||
|
};
|
||
|
|
||
|
#define RASENTRYW_V401 struct tagRASENTRYW_V401
|
||
|
RASENTRYW_V401
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfOptions;
|
||
|
//
|
||
|
// Location/phone number
|
||
|
//
|
||
|
DWORD dwCountryID;
|
||
|
DWORD dwCountryCode;
|
||
|
WCHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
|
||
|
WCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
|
||
|
DWORD dwAlternateOffset;
|
||
|
//
|
||
|
// PPP/Ip
|
||
|
//
|
||
|
RASIPADDR ipaddr;
|
||
|
RASIPADDR ipaddrDns;
|
||
|
RASIPADDR ipaddrDnsAlt;
|
||
|
RASIPADDR ipaddrWins;
|
||
|
RASIPADDR ipaddrWinsAlt;
|
||
|
//
|
||
|
// Framing
|
||
|
//
|
||
|
DWORD dwFrameSize;
|
||
|
DWORD dwfNetProtocols;
|
||
|
DWORD dwFramingProtocol;
|
||
|
//
|
||
|
// Scripting
|
||
|
//
|
||
|
WCHAR szScript[ MAX_PATH ];
|
||
|
//
|
||
|
// AutoDial
|
||
|
//
|
||
|
WCHAR szAutodialDll[ MAX_PATH ];
|
||
|
WCHAR szAutodialFunc[ MAX_PATH ];
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// X.25
|
||
|
//
|
||
|
WCHAR szX25PadType[ RAS_MaxPadType + 1 ];
|
||
|
WCHAR szX25Address[ RAS_MaxX25Address + 1 ];
|
||
|
WCHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
|
||
|
WCHAR szX25UserData[ RAS_MaxUserData + 1 ];
|
||
|
DWORD dwChannels;
|
||
|
//
|
||
|
// Reserved
|
||
|
//
|
||
|
DWORD dwReserved1;
|
||
|
DWORD dwReserved2;
|
||
|
//
|
||
|
// Multilink
|
||
|
//
|
||
|
DWORD dwSubEntries;
|
||
|
DWORD dwDialMode;
|
||
|
DWORD dwDialExtraPercent;
|
||
|
DWORD dwDialExtraSampleSeconds;
|
||
|
DWORD dwHangUpExtraPercent;
|
||
|
DWORD dwHangUpExtraSampleSeconds;
|
||
|
//
|
||
|
// Idle timeout
|
||
|
//
|
||
|
DWORD dwIdleDisconnectSeconds;
|
||
|
};
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define RASENTRY_V401 RASENTRYW_V401
|
||
|
#else
|
||
|
#define RASENTRY_V401 RASENTRYA_V401
|
||
|
#endif
|
||
|
|
||
|
#define LPRASENTRYW_V401 RASENTRYW_V401*
|
||
|
#define LPRASENTRYA_V401 RASENTRYA_V401*
|
||
|
#define LPRASENTRY_V401 RASENTRY_V401*
|
||
|
|
||
|
//
|
||
|
// A RAS phone book entry. - for NT5
|
||
|
//
|
||
|
|
||
|
#define RASENTRYA_V500 struct tagRASENTRYA_V500
|
||
|
RASENTRYA_V500
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfOptions;
|
||
|
//
|
||
|
// Location/phone number.
|
||
|
//
|
||
|
DWORD dwCountryID;
|
||
|
DWORD dwCountryCode;
|
||
|
CHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
|
||
|
CHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
|
||
|
DWORD dwAlternateOffset;
|
||
|
//
|
||
|
// PPP/Ip
|
||
|
//
|
||
|
RASIPADDR ipaddr;
|
||
|
RASIPADDR ipaddrDns;
|
||
|
RASIPADDR ipaddrDnsAlt;
|
||
|
RASIPADDR ipaddrWins;
|
||
|
RASIPADDR ipaddrWinsAlt;
|
||
|
//
|
||
|
// Framing
|
||
|
//
|
||
|
DWORD dwFrameSize;
|
||
|
DWORD dwfNetProtocols;
|
||
|
DWORD dwFramingProtocol;
|
||
|
//
|
||
|
// Scripting
|
||
|
//
|
||
|
CHAR szScript[ MAX_PATH ];
|
||
|
//
|
||
|
// AutoDial
|
||
|
//
|
||
|
CHAR szAutodialDll[ MAX_PATH ];
|
||
|
CHAR szAutodialFunc[ MAX_PATH ];
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// X.25
|
||
|
//
|
||
|
CHAR szX25PadType[ RAS_MaxPadType + 1 ];
|
||
|
CHAR szX25Address[ RAS_MaxX25Address + 1 ];
|
||
|
CHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
|
||
|
CHAR szX25UserData[ RAS_MaxUserData + 1 ];
|
||
|
DWORD dwChannels;
|
||
|
//
|
||
|
// Reserved
|
||
|
//
|
||
|
DWORD dwReserved1;
|
||
|
DWORD dwReserved2;
|
||
|
//
|
||
|
// Multilink
|
||
|
//
|
||
|
DWORD dwSubEntries;
|
||
|
DWORD dwDialMode;
|
||
|
DWORD dwDialExtraPercent;
|
||
|
DWORD dwDialExtraSampleSeconds;
|
||
|
DWORD dwHangUpExtraPercent;
|
||
|
DWORD dwHangUpExtraSampleSeconds;
|
||
|
//
|
||
|
// Idle timeout
|
||
|
//
|
||
|
DWORD dwIdleDisconnectSeconds;
|
||
|
|
||
|
//
|
||
|
// Entry Type
|
||
|
//
|
||
|
DWORD dwType;
|
||
|
|
||
|
//
|
||
|
// Encryption type
|
||
|
//
|
||
|
DWORD dwEncryptionType;
|
||
|
|
||
|
//
|
||
|
// CustomAuthKey to be used for EAP
|
||
|
//
|
||
|
DWORD dwCustomAuthKey;
|
||
|
|
||
|
//
|
||
|
// Guid of the connection
|
||
|
//
|
||
|
GUID guidId;
|
||
|
|
||
|
//
|
||
|
// Custom Dial DLL
|
||
|
//
|
||
|
CHAR szCustomDialDll[MAX_PATH];
|
||
|
|
||
|
//
|
||
|
// DwVpnStrategy
|
||
|
//
|
||
|
DWORD dwVpnStrategy;
|
||
|
};
|
||
|
|
||
|
#define RASENTRYW_V500 struct tagRASENTRYW_V500
|
||
|
RASENTRYW_V500
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfOptions;
|
||
|
//
|
||
|
// Location/phone number
|
||
|
//
|
||
|
DWORD dwCountryID;
|
||
|
DWORD dwCountryCode;
|
||
|
WCHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
|
||
|
WCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
|
||
|
DWORD dwAlternateOffset;
|
||
|
//
|
||
|
// PPP/Ip
|
||
|
//
|
||
|
RASIPADDR ipaddr;
|
||
|
RASIPADDR ipaddrDns;
|
||
|
RASIPADDR ipaddrDnsAlt;
|
||
|
RASIPADDR ipaddrWins;
|
||
|
RASIPADDR ipaddrWinsAlt;
|
||
|
//
|
||
|
// Framing
|
||
|
//
|
||
|
DWORD dwFrameSize;
|
||
|
DWORD dwfNetProtocols;
|
||
|
DWORD dwFramingProtocol;
|
||
|
//
|
||
|
// Scripting
|
||
|
//
|
||
|
WCHAR szScript[ MAX_PATH ];
|
||
|
//
|
||
|
// AutoDial
|
||
|
//
|
||
|
WCHAR szAutodialDll[ MAX_PATH ];
|
||
|
WCHAR szAutodialFunc[ MAX_PATH ];
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// X.25
|
||
|
//
|
||
|
WCHAR szX25PadType[ RAS_MaxPadType + 1 ];
|
||
|
WCHAR szX25Address[ RAS_MaxX25Address + 1 ];
|
||
|
WCHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
|
||
|
WCHAR szX25UserData[ RAS_MaxUserData + 1 ];
|
||
|
DWORD dwChannels;
|
||
|
//
|
||
|
// Reserved
|
||
|
//
|
||
|
DWORD dwReserved1;
|
||
|
DWORD dwReserved2;
|
||
|
//
|
||
|
// Multilink
|
||
|
//
|
||
|
DWORD dwSubEntries;
|
||
|
DWORD dwDialMode;
|
||
|
DWORD dwDialExtraPercent;
|
||
|
DWORD dwDialExtraSampleSeconds;
|
||
|
DWORD dwHangUpExtraPercent;
|
||
|
DWORD dwHangUpExtraSampleSeconds;
|
||
|
//
|
||
|
// Idle timeout
|
||
|
//
|
||
|
DWORD dwIdleDisconnectSeconds;
|
||
|
|
||
|
//
|
||
|
// Entry Type
|
||
|
//
|
||
|
DWORD dwType;
|
||
|
|
||
|
//
|
||
|
// Encryption type
|
||
|
//
|
||
|
DWORD dwEncryptionType;
|
||
|
|
||
|
//
|
||
|
// CustomAuthKey to be used for EAP
|
||
|
//
|
||
|
DWORD dwCustomAuthKey;
|
||
|
|
||
|
//
|
||
|
// Guid of the connection
|
||
|
//
|
||
|
GUID guidId;
|
||
|
|
||
|
//
|
||
|
// Custom Dial DLL
|
||
|
//
|
||
|
WCHAR szCustomDialDll[MAX_PATH];
|
||
|
|
||
|
//
|
||
|
// DwVpnStrategy
|
||
|
//
|
||
|
DWORD dwVpnStrategy;
|
||
|
};
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define RASENTRY_V500 RASENTRYW_V500
|
||
|
#else
|
||
|
#define RASENTRY_V500 RASENTRYA_V500
|
||
|
#endif
|
||
|
|
||
|
#define LPRASENTRYW_V500 RASENTRYW_V500*
|
||
|
#define LPRASENTRYA_V500 RASENTRYA_V500*
|
||
|
#define LPRASENTRY_V500 RASENTRY_V500*
|
||
|
|
||
|
//
|
||
|
// 501 (whistler)
|
||
|
//
|
||
|
#define RASENTRYA_V501 struct tagRASENTRYA_V501
|
||
|
RASENTRYA_V501
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfOptions;
|
||
|
//
|
||
|
// Location/phone number.
|
||
|
//
|
||
|
DWORD dwCountryID;
|
||
|
DWORD dwCountryCode;
|
||
|
CHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
|
||
|
CHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
|
||
|
DWORD dwAlternateOffset;
|
||
|
//
|
||
|
// PPP/Ip
|
||
|
//
|
||
|
RASIPADDR ipaddr;
|
||
|
RASIPADDR ipaddrDns;
|
||
|
RASIPADDR ipaddrDnsAlt;
|
||
|
RASIPADDR ipaddrWins;
|
||
|
RASIPADDR ipaddrWinsAlt;
|
||
|
//
|
||
|
// Framing
|
||
|
//
|
||
|
DWORD dwFrameSize;
|
||
|
DWORD dwfNetProtocols;
|
||
|
DWORD dwFramingProtocol;
|
||
|
//
|
||
|
// Scripting
|
||
|
//
|
||
|
CHAR szScript[ MAX_PATH ];
|
||
|
//
|
||
|
// AutoDial
|
||
|
//
|
||
|
CHAR szAutodialDll[ MAX_PATH ];
|
||
|
CHAR szAutodialFunc[ MAX_PATH ];
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// X.25
|
||
|
//
|
||
|
CHAR szX25PadType[ RAS_MaxPadType + 1 ];
|
||
|
CHAR szX25Address[ RAS_MaxX25Address + 1 ];
|
||
|
CHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
|
||
|
CHAR szX25UserData[ RAS_MaxUserData + 1 ];
|
||
|
DWORD dwChannels;
|
||
|
//
|
||
|
// Reserved
|
||
|
//
|
||
|
DWORD dwReserved1;
|
||
|
DWORD dwReserved2;
|
||
|
//
|
||
|
// Multilink
|
||
|
//
|
||
|
DWORD dwSubEntries;
|
||
|
DWORD dwDialMode;
|
||
|
DWORD dwDialExtraPercent;
|
||
|
DWORD dwDialExtraSampleSeconds;
|
||
|
DWORD dwHangUpExtraPercent;
|
||
|
DWORD dwHangUpExtraSampleSeconds;
|
||
|
//
|
||
|
// Idle timeout
|
||
|
//
|
||
|
DWORD dwIdleDisconnectSeconds;
|
||
|
|
||
|
//
|
||
|
// Entry Type
|
||
|
//
|
||
|
DWORD dwType;
|
||
|
|
||
|
//
|
||
|
// Encryption type
|
||
|
//
|
||
|
DWORD dwEncryptionType;
|
||
|
|
||
|
//
|
||
|
// CustomAuthKey to be used for EAP
|
||
|
//
|
||
|
DWORD dwCustomAuthKey;
|
||
|
|
||
|
//
|
||
|
// Guid of the connection
|
||
|
//
|
||
|
GUID guidId;
|
||
|
|
||
|
//
|
||
|
// Custom Dial DLL
|
||
|
//
|
||
|
CHAR szCustomDialDll[MAX_PATH];
|
||
|
|
||
|
//
|
||
|
// DwVpnStrategy
|
||
|
//
|
||
|
DWORD dwVpnStrategy;
|
||
|
|
||
|
//
|
||
|
// More RASEO_* options
|
||
|
//
|
||
|
DWORD dwfOptions2;
|
||
|
|
||
|
//
|
||
|
// For future use
|
||
|
//
|
||
|
DWORD dwfOptions3;
|
||
|
|
||
|
CHAR szDnsSuffix[RAS_MaxDnsSuffix];
|
||
|
|
||
|
DWORD dwTcpWindowSize;
|
||
|
CHAR szPrerequisitePbk[MAX_PATH];
|
||
|
CHAR szPrerequisiteEntry[RAS_MaxEntryName + 1];
|
||
|
|
||
|
DWORD dwRedialCount;
|
||
|
|
||
|
DWORD dwRedialPause;
|
||
|
|
||
|
};
|
||
|
|
||
|
#define RASENTRYW_V501 struct tagRASENTRYW_V501
|
||
|
RASENTRYW_V501
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfOptions;
|
||
|
//
|
||
|
// Location/phone number
|
||
|
//
|
||
|
DWORD dwCountryID;
|
||
|
DWORD dwCountryCode;
|
||
|
WCHAR szAreaCode[ RAS_MaxAreaCode + 1 ];
|
||
|
WCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
|
||
|
DWORD dwAlternateOffset;
|
||
|
//
|
||
|
// PPP/Ip
|
||
|
//
|
||
|
RASIPADDR ipaddr;
|
||
|
RASIPADDR ipaddrDns;
|
||
|
RASIPADDR ipaddrDnsAlt;
|
||
|
RASIPADDR ipaddrWins;
|
||
|
RASIPADDR ipaddrWinsAlt;
|
||
|
//
|
||
|
// Framing
|
||
|
//
|
||
|
DWORD dwFrameSize;
|
||
|
DWORD dwfNetProtocols;
|
||
|
DWORD dwFramingProtocol;
|
||
|
//
|
||
|
// Scripting
|
||
|
//
|
||
|
WCHAR szScript[ MAX_PATH ];
|
||
|
//
|
||
|
// AutoDial
|
||
|
//
|
||
|
WCHAR szAutodialDll[ MAX_PATH ];
|
||
|
WCHAR szAutodialFunc[ MAX_PATH ];
|
||
|
//
|
||
|
// Device
|
||
|
//
|
||
|
WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
|
||
|
WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
|
||
|
//
|
||
|
// X.25
|
||
|
//
|
||
|
WCHAR szX25PadType[ RAS_MaxPadType + 1 ];
|
||
|
WCHAR szX25Address[ RAS_MaxX25Address + 1 ];
|
||
|
WCHAR szX25Facilities[ RAS_MaxFacilities + 1 ];
|
||
|
WCHAR szX25UserData[ RAS_MaxUserData + 1 ];
|
||
|
DWORD dwChannels;
|
||
|
//
|
||
|
// Reserved
|
||
|
//
|
||
|
DWORD dwReserved1;
|
||
|
DWORD dwReserved2;
|
||
|
//
|
||
|
// Multilink
|
||
|
//
|
||
|
DWORD dwSubEntries;
|
||
|
DWORD dwDialMode;
|
||
|
DWORD dwDialExtraPercent;
|
||
|
DWORD dwDialExtraSampleSeconds;
|
||
|
DWORD dwHangUpExtraPercent;
|
||
|
DWORD dwHangUpExtraSampleSeconds;
|
||
|
//
|
||
|
// Idle timeout
|
||
|
//
|
||
|
DWORD dwIdleDisconnectSeconds;
|
||
|
|
||
|
//
|
||
|
// Entry Type
|
||
|
//
|
||
|
DWORD dwType;
|
||
|
|
||
|
//
|
||
|
// Encryption type
|
||
|
//
|
||
|
DWORD dwEncryptionType;
|
||
|
|
||
|
//
|
||
|
// CustomAuthKey to be used for EAP
|
||
|
//
|
||
|
DWORD dwCustomAuthKey;
|
||
|
|
||
|
//
|
||
|
// Guid of the connection
|
||
|
//
|
||
|
GUID guidId;
|
||
|
|
||
|
//
|
||
|
// Custom Dial DLL
|
||
|
//
|
||
|
WCHAR szCustomDialDll[MAX_PATH];
|
||
|
|
||
|
//
|
||
|
// DwVpnStrategy
|
||
|
//
|
||
|
DWORD dwVpnStrategy;
|
||
|
|
||
|
//
|
||
|
// More RASEO_* options
|
||
|
//
|
||
|
DWORD dwfOptions2;
|
||
|
|
||
|
//
|
||
|
// For future use
|
||
|
//
|
||
|
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_V501 RASENTRYW_V501
|
||
|
#else
|
||
|
#define RASENTRY_V501 RASENTRYA_V501
|
||
|
#endif
|
||
|
|
||
|
#define LPRASENTRYW_V501 RASENTRYW_V501*
|
||
|
#define LPRASENTRYA_V501 RASENTRYA_V501*
|
||
|
#define LPRASENTRY_V501 RASENTRY_V501*
|
||
|
|
||
|
// Describes EAP extended connection establishment option. For NT5.
|
||
|
|
||
|
#define RASEAPINFO struct tagRASEAPINFO
|
||
|
RASEAPINFO
|
||
|
{
|
||
|
DWORD dwSizeofEapInfo;
|
||
|
BYTE *pbEapInfo;
|
||
|
};
|
||
|
|
||
|
// Describes extended connection establishment options. For NT5. (See RasDial)
|
||
|
|
||
|
#define RASDIALEXTENSIONS_V500 struct tagRASDIALEXTENSIONS_V500
|
||
|
RASDIALEXTENSIONS_V500
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwfOptions;
|
||
|
HWND hwndParent;
|
||
|
ULONG_PTR reserved;
|
||
|
ULONG_PTR reserved1;
|
||
|
RASEAPINFO RasEapInfo;
|
||
|
};
|
||
|
|
||
|
#define LPRASDIALEXTENSIONS_V500 RASDIALEXTENSIONS_V500*
|
||
|
|
||
|
//
|
||
|
// New RAS Entry Name Structs for NT5
|
||
|
//
|
||
|
#define RASENTRYNAMEW_V500 struct tagRASENTRYNAMEW_V500
|
||
|
RASENTRYNAMEW_V500
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
|
||
|
|
||
|
//
|
||
|
// If this flag is RCD_AllUsers then its a
|
||
|
// system phonebook.
|
||
|
//
|
||
|
DWORD dwFlags;
|
||
|
WCHAR szPhonebookPath[MAX_PATH + 1];
|
||
|
|
||
|
};
|
||
|
|
||
|
#define RASENTRYNAMEA_V500 struct tagRASENTRYNAMEA_V500
|
||
|
RASENTRYNAMEA_V500
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
CHAR szEntryName[ RAS_MaxEntryName + 1 ];
|
||
|
|
||
|
DWORD dwFlags;
|
||
|
CHAR szPhonebookPath[MAX_PATH + 1];
|
||
|
};
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define RASENTRYNAME_V500 RASENTRYNAMEW_V500
|
||
|
#else
|
||
|
#define RASENTRYNAME_V500 RASENTRYNAMEA_V500
|
||
|
#endif
|
||
|
|
||
|
#define LPRASENTRYNAMEW_V500 RASENTRYNAMEW_V500*
|
||
|
#define LPRASENTRYNAME_V500A RASENTRYNAMEA_V500*
|
||
|
#define LPRASENTRYNAME_V500 RASENTRYNAME_V500*
|
||
|
|
||
|
|
||
|
// RasGetEapUserIdentity structure. - For NT5
|
||
|
|
||
|
#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*
|
||
|
|
||
|
#define LPRASEAPUSERIDENTITY RASEAPUSERIDENTITY*
|
||
|
|
||
|
#ifdef _WIN64
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
#endif // _CM_RAS_H_
|
||
|
|