windows-nt/Source/XPSP1/NT/base/ntsetup/win95upg/inc/rascmn.h
2020-09-26 16:20:57 +08:00

229 lines
7.3 KiB
C

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
rascmn.h
Abstract:
Defines constants needed for both the Win9x and NT sides of
RAS migration.
Author:
Marc R. Whitten (marcw) 22-Nov-1998
Revision History:
<alias> <date> <comments>
--*/
#pragma once
// Whistler bug 34270 Win9x: Upgrade: Require Data Encryption setting for VPN
// connections is not migrated
//
// Session configuration options
//
// from win9x\TELECOM\rna\inc\rnaspi.h
//
#define SMMCFG_SW_COMPRESSION 0x00000001 // Software compression is on
#define SMMCFG_PW_ENCRYPTED 0x00000002 // Encrypted password only
#define SMMCFG_NW_LOGON 0x00000004 // Logon to the network
#define SMMCFG_UNUSED 0x00000010 // Not used, legacy
#define SMMCFG_LOGGING 0x00000100 // Record a log file
#define SMMCFG_SW_ENCRYPTION 0x00000200 // 40 bit encryption is required
#define SMMCFG_SW_ENCRYPTION_STRONG 0x00000400 // 128 bit encryption is required
#define SMMCFG_MULTILINK 0x80000000 // Use multilink
// 'DwDataEncryption' codes. These are now bitmask-ish for the convenience of
// the UI in building capability masks, though more than one bit will never be
// set in 'dwDataEncryption'.
///
// FYI - We store these are decimal values in the pbk
//
// from nt\net\rras\ras\ui\inc\pbk.h
//
#define DE_None TEXT("0") // Do not encrypt
#define DE_IfPossible TEXT("8") // Request encryption but none OK
#define DE_Require TEXT("256") // Require encryption of any strength
#define DE_RequireMax TEXT("512") // Require maximum strength encryption
// Base protocol definitions (see dwBaseProtocol).
//
// from nt\net\rras\ras\ui\inc\pbk.h
//
#define BP_Ppp TEXT("1")
#define BP_Slip TEXT("2")
#define BP_Ras TEXT("3")
// VPN Strategy
//
// from nt\net\published\inc\ras.w
//
#define VS_Default TEXT("0") // default (PPTP for now)
#define VS_PptpOnly TEXT("1") // Only PPTP is attempted.
#define VS_PptpFirst TEXT("2") // PPTP is tried first.
#define VS_L2tpOnly TEXT("3") // Only L2TP is attempted.
#define VS_L2tpFirst TEXT("4") // L2TP is tried first.
// The entry type used to determine which UI properties
// are to be presented to user. This generally corresponds
// to a Connections "add" wizard selection.
//
// from nt\net\rras\ras\ui\inc\pbk.h
//
#define RASET_Phone TEXT("1") // Phone lines: modem, ISDN, X.25, etc
#define RASET_Vpn TEXT("2") // Virtual private network
#define RASET_Direct TEXT("3") // Direct connect: serial, parallel
#define RASET_Internet TEXT("4") // BaseCamp internet
#define RASET_Broadband TEXT("5") // Broadband
// Media strings
//
#define RASMT_Rastapi TEXT("rastapi") // media for RASET_Vpn/RASET_Broadband
#define RASMT_Serial TEXT("serial") // media for RASET_Phone/RASET_Direct
#define RASMT_Vpn TEXT("WAN Miniport (PPTP)")
// RASENTRY 'szDeviceType' strings
//
// from win9x\TELECOM\rna\inc\rnaph.h
//
#define RASDT_Modem TEXT("modem") // Modem
#define RASDT_Isdn TEXT("isdn") // ISDN
//#define RASDT_X25 TEXT("x25") // X.25
#define RASDT_Vpn TEXT("vpn") // VPN
//#define RASDT_Pad TEXT("pad") // PAD
#define RASDT_Atm TEXT("atm") // ATM
// Internal, used to track what device type is being used
//
#define RASDT_Modem_V 1 // Modem
#define RASDT_Isdn_V 2 // ISDN
//#define RASDT_X25_V 3 // X.25
#define RASDT_Vpn_V 4 // VPN
//#define RASDT_Pad_V 5 // PAD
#define RASDT_Atm_V 6 // ATM
// RASENTRY 'szDeviceType' default strings
//
// from: nt\net\published\inc\ras.w
//
#define RASDT_Modem_NT TEXT("modem")
#define RASDT_Isdn_NT TEXT("isdn")
//#define RASDT_X25_NT TEXT("x25")
#define RASDT_Vpn_NT TEXT("vpn")
//#define RASDT_Pad_NT TEXT("pad")
#define RASDT_Generic_NT TEXT("GENERIC")
#define RASDT_Serial_NT TEXT("SERIAL")
#define RASDT_FrameRelay_NT TEXT("FRAMERELAY")
#define RASDT_Atm_NT TEXT("ATM")
#define RASDT_Sonet_NT TEXT("SONET")
#define RASDT_SW56_NT TEXT("SW56")
#define RASDT_Irda_NT TEXT("IRDA")
#define RASDT_Parallel_NT TEXT("PARALLEL")
#define RASDT_PPPoE_NT TEXT("PPPoE")
// from: nt\net\rras\ras\inc\rasmxs.h
//
#define MXS_SWITCH_TXT TEXT("switch")
#define MXS_NULL_TXT TEXT("null")
// Negotiated protocols
//
#define SMMPROT_NB 0x00000001 // NetBEUI
#define SMMPROT_IPX 0x00000002 // IPX
#define SMMPROT_IP 0x00000004 // TCP/IP
// from: win9x\TELECOM\rna\inc\rnap.h
//
#define DIALUI_NO_PROMPT 0x00000001 // Do not display connect prompt
#define DIALUI_NO_CONFIRM 0x00000002 // Do not display connect confirm
#define DIALUI_NO_TRAY 0x00000004 // No tray icon
#define DIALUI_NO_NW_LOGOFF 0x00000008 // Do not display NetWare logoff dialog
// "Typical" authentication setting masks.See 'dwAuthRestrictions'
//
// Values have been converted to decimal from nt\net\rras\ras\ui\inc\pbk.h
//
// AR_F_TypicalUnsecure = AR_F_AuthPAP | AR_F_AuthSPAP | AR_F_AuthMD5CHAP |
// AR_F_AuthMSCHAP | AR_F_AuthMSCHAP2
// AR_F_TypicalSecure = AR_F_AuthMD5CHAP | AR_F_AuthMSCHAP | AR_F_AuthMSCHAP2
//
#define AR_F_TypicalUnsecure TEXT("632")
#define AR_F_TypicalSecure TEXT("608")
// Flags for the fdwTCPIP field
//
// from: win9x\TELECOM\rna\inc\rnap.h
//
#define IPF_IP_SPECIFIED 0x00000001
#define IPF_NAME_SPECIFIED 0x00000002
#define IPF_NO_COMPRESS 0x00000004
#define IPF_NO_WAN_PRI 0x00000008
// IP address source definitions (see dwIpAddressSource)
//
// from: nt\net\rras\ras\ui\inc\pbk.h
//
#define ASRC_ServerAssigned TEXT("1") // For router means "the ones in NCPA"
#define ASRC_RequireSpecific TEXT("2")
#define ASRC_None TEXT("3") // Router only
// Entry Defaults
//
#define DEF_IpFrameSize TEXT("1006")
#define DEF_HangUpSeconds TEXT("120")
#define DEF_HangUpPercent TEXT("10")
#define DEF_DialSeconds TEXT("120")
#define DEF_DialPercent TEXT("75")
#define DEF_RedialAttempts TEXT("3")
#define DEF_RedialSeconds TEXT("60")
#define DEF_NetAddress TEXT("0.0.0.0")
#define DEF_CustomAuthKey TEXT("-1")
#define DEF_VPNPort TEXT("VPN2-0")
#define DEF_ATMPort TEXT("ATM1-0")
//
// 'OverridePref' bits. Set indicates the corresponding value read from the
// phonebook should be used. Clear indicates the global user preference
// should be used.
//
// from: nt\net\rras\ras\ui\inc\pbk.h
//
// RASOR_RedialAttempts | RASOR_RedialSeconds | RASOR_IdleDisconnectSeconds |
// RASOR_RedialOnLinkFailure
//
#define DEF_OverridePref TEXT("15")
//
// RASENTRY 'dwDialMode' values.
//
// from: nt\net\published\inc\ras.w
//
#define DEF_DialMode TEXT("1")
// "Typical" authentication setting constants. See 'dwTypicalAuth'.
//
// from: nt\net\rras\ras\ui\inc\pbk.h
//
#define TA_Unsecure TEXT("1")
#define TA_Secure TEXT("2")
#define TA_CardOrCert TEXT("3")
#define RAS_UI_FLAG_TERMBEFOREDIAL 0x1
#define RAS_UI_FLAG_TERMAFTERDIAL 0x2
#define RAS_UI_FLAG_OPERATORASSISTED 0x4
#define RAS_UI_FLAG_MODEMSTATUS 0x8
#define RAS_CFG_FLAG_HARDWARE_FLOW_CONTROL 0x00000010
#define RAS_CFG_FLAG_SOFTWARE_FLOW_CONTROL 0x00000020
#define RAS_CFG_FLAG_STANDARD_EMULATION 0x00000040
#define RAS_CFG_FLAG_COMPRESS_DATA 0x00000001
#define RAS_CFG_FLAG_USE_ERROR_CONTROL 0x00000002
#define RAS_CFG_FLAG_ERROR_CONTROL_REQUIRED 0x00000004
#define RAS_CFG_FLAG_USE_CELLULAR_PROTOCOL 0x00000008
#define RAS_CFG_FLAG_NO_WAIT_FOR_DIALTONE 0x00000200