/*
*******************************************************************************
* Copyright (c) 1996-97 Digi International Inc., All Rights Reserved          *
*                                                                             *
* This  software  contains  proprietary  and  confidential   information   of *
* Digi International  Inc.   By  accepting  transfer  of this copy, Recipient *
* agrees to retain this software in  confidence,  to  prevent  disclosure  to *
* others,  and  to make no  use of this software other than that for which it *
* was delivered.  This is an unpublished copyright work  Digi   International *
* Inc.    Except   as   permitted   by  federal  law,  17 USC 117, copying is *
* strictly prohibited.                                                        *
*                                                                             *
* Digi  International  Inc.  CONFIDENTIAL  -   (Digi    International    Inc. *
* Confidential  when   combined   with   the   aggregated  modules  for  this *
* product) OBJECT CODE ONLY SOURCE MATERIALS                                  *
*                                                                             *
* (C) COPYRIGHT Digi International Inc. 1996-97                               *
*                                                                             *
* All Rights Reserved                                                         *
*                                                                             *
* US   Government   Users   Restricted   Rights   -   Use,   duplication   or *
* disclosure  restricted by GSA ADP Schedule Contract with Digi International *
* Inc.                                                                        *
*                                                                             *
*******************************************************************************

Revision History:

   $History: RegNames.h $
 * 
 * *****************  Version 26  *****************
 * User: Mikez        Date: 5/22/97    Time: 10:12a
 * Branched in $/Components/Windows/NT/Sync/Build/Inc
 * 
 * *****************  Version 25  *****************
 * User: Rodgerb      Date: 1/27/97    Time: 1:19p
 * Updated in $/Components/Windows/NT/Sync/rev2diag
 * 1) documentation
 * 2) added some new params to Physical layer stats
*/

#ifdef _cplusplus
extern "C" {
#endif

/* Frame Relay/X.25 Reg key and value names */

// Becareful changing the right hand side of a constant since it could be in the INF
// Reg always start with c_pszKey

// Reg values start with c_pszValue
// Reg values start with c_pszGUIValue if only the GUI uses it

// Reg always start with c_pszNTKey if it's a key defined by Windows NT
// Reg values start with c_pszNTValue if it's a value defined by Windows NT


// call RegisterWindowMessage with this string
// When the config DLL is writting reg values it will send this
// system message to all apps and net drivers
// the HIWORD of WPARAM will be the adapter number 1, 2
// the LOWORD of WPARAM will be the Port Letter : 'A', 'B'
// this will specify which adapter <c_pszKeyServiceName><HIWORD(WPARAM)><LOWORD(WPARAM)
// has changed configs i.e. DigiSxb2A
// this message will be posted for each adapter changed
#define WM_ConfigChange								TEXT("ConfigChange")

// call RegisterWindowMessage with this string
// When the config DLL is writting reg values it will send this
// system message to all apps and net drivers
// WPARAM will be the c_dwValue<FR | X25 | etc..>Protocol DWORD
// this message will be posted for each routing adapter changed
#define WM_RouteChange								TEXT("RouteChange")

//////////////////////////////////////////////////////////////
// SNMP stuff

// System/CurrentControlSet/Services/SNMP/Parameters
#define c_pszSNMP_RS232								TEXT("WANLinksHDLCMIB")
#define c_pszSNMP_FR									TEXT("WANLinksFRMIB")
#define c_pszSNMP_LAPB								TEXT("WANLinksLAPBMIB")
#define c_pszSNMP_X25									TEXT("WANLinksX25MIB")

//#define c_pszKeyServiceName					TEXT("DigiSxb")
// SYSTEM/CurrentControlSet/Services/SNMP/Parameters/<c_pszSNMP_RS232>/<c_pszKeyServiceName>#/[A|B|etc...]
// # is the adapter number from Software/Microsoft/Windows NT/CurrentVersion/Networkcards/#
#define c_pszSNMP_ProtocolIdentifier	TEXT("ProtocolIdentifier")
//#define c_pszValueFRProtocol				TEXT("Frame Relay")
//#define c_pszValueX25Protocol				TEXT("X.25")

#define c_pszSNMP_Circuits						TEXT("Circuits")
//
//////////////////////////////////////////////////////////////

#define c_pszNTServiceBase						TEXT("System\\CurrentControlSet\\Services")
#define c_pszNTNetcardBase						TEXT("SOFTWARE\\MicroSoft\\Windows NT\\CurrentVersion\\NetworkCards")
#define c_pszValueManufacturer				TEXT("Digi")
#define c_pszNTDigiSoftwareBase				TEXT("SOFTWARE\\Digi")

// System/CurrentControlSet/Services = ServiceBase
// <ServiceBase>/
// name of SXB driver service
#define c_pszKeyServiceName						TEXT("SraDxb")

// <c_pszNTServiceBase>/<c_pszKeyServiceName>#/Parameters
// # is the adapter number from <c_pszNTNetcardBase>/#
// values for GUI initialization and general adapter params
#define c_pszGUIValueDigiSupport			TEXT("DigiSupport")
#define c_pszGUIValueDigiNumPorts			TEXT("DigiNumPorts")
#define c_pszValueBusType							TEXT("BusType")
#define c_pszValueIOBaseAddress				TEXT("IOBaseAddress")
#define c_pszValueMemBaseAddress			TEXT("MemoryMappedBaseAddress")
#define c_pszValueIRQ									TEXT("InterruptNumber")
#define c_pszValueFepName							TEXT("SxbImagePath")
#define c_pszValueBiosName						TEXT("BiosImagePath")
#define c_pszValueDosDevice						TEXT("DosDevices")

// <c_pszNTServiceBase>/<c_pszKeyServiceName>#/Parameters/
// # is the adapter number from <c_pszNTNetcardBase>/#
#define c_pszKeyPortName							TEXT("Port")
#define c_pszGUIValueSZ_PortType			TEXT("PortType")
#define c_pszValueDWORD_PortType			TEXT("LineProtocol")
#define c_pszValueSNID								TEXT("SNID")

/**************************************************************************/
//
// None is configured on a line

// when no protocol is configured on a line
#define c_pszKeyProtocolNone					TEXT("None")
const DWORD c_dwValueNoneProtocol =		'enoN';

/**************************************************************************/
//
// Frame Relay stuff

// <c_pszNTServiceBase>/
// name of driver service for Frame Relay PVC's
#define c_pszKeyFR_PVC_ServiceName		TEXT("DigiLan")

#define c_pszValueFRProtocol					TEXT("Frame Relay")
const DWORD c_dwValueFRProtocol =			'  RF';

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/
// # is the adapter number from Software/Microsoft/Windows NT/CurrentVersion/Networkcards/#
// ## is a line number 1..<Number of lines>
#define c_pszKeyWan										TEXT("Wan")
#define c_pszGUIValueBaud							TEXT("Ext_Baud") // Line speed for external clocking in GUI
#define c_pszValueBaud								TEXT("Wan_baud")
#define c_pszValueInterface						TEXT("Wan_interface")
#define c_pszValueMaxFrame						TEXT("Wan_maxframe")

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/

#define c_pszKeyFR_ProtocolMain				TEXT("FR")
#define c_pszValueFlags								TEXT("Flags")
#define c_pszValueLMI_DLCI						TEXT("lmi_dlci")
#define c_pszValueFRMaxFrame					TEXT("max_frsize")
#define c_pszValueN1									TEXT("mN1")
#define c_pszValueN2									TEXT("mN2")
#define c_pszValueN3									TEXT("mN3")
#define c_pszValueN4									TEXT("mN4")
#define c_pszValueP1									TEXT("mP1")
#define c_pszValueP10									TEXT("mP10")
#define c_pszValueT1									TEXT("mT1")
#define c_pszValueT2									TEXT("mT2")
#define c_pszValueT3									TEXT("mT3")
#define c_pszValueModeOneRRPeriod			TEXT("ModeOneRRPeriod")
#define c_pszValueModeOneRRMax				TEXT("ModeOneRRMax")

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/<c_pszKeyFR_ProtocolMain>/
// when a PVC is configured or created the values below are in the PVC's adapter key
// the PVC adapter key is named something like <c_pszKeyFR_PVC_ServiceName>*
// * is am adapter number starting at 1000 from Software/Microsoft/Windows NT/CurrentVersion/Networkcards/*

#define c_pszGUIKeyFR_PVC							TEXT("PVC")
#define c_pszValueDLCI								TEXT("DLCI")
#define c_pszValueCIR									TEXT("CIR")
#define c_pszValueBcMax								TEXT("BcMax")
#define c_pszGUIValueAutoManage				TEXT("AutoManage")
#define c_pszValueBcMin								TEXT("BcMin")
#define c_pszValueBe									TEXT("Be")
#define c_pszValueCMP									TEXT("CMP")
#define c_pszValueTCPIP								TEXT("TCPIP")
#define c_pszValueIPX									TEXT("IPX")
#define c_pszValueEthernet						TEXT("Ethernet")
#define c_pszGUIValueDescription			TEXT("Desc")
#define c_pszValueNetworkAddress			TEXT("NetworkAddress")
//#define c_pszValueSNID							TEXT("SNID")
//#define c_pszValueDevice						TEXT("Device")

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/<c_pszKeyFR_ProtocolMain>/<c_pszKeyFR_PVC>###/
// ### is a number 1..<Number of PVC configured/installed>
// key of configure Window NT TCP/IP protocol
#define c_pszNTKeyTCPIP								TEXT("Tcpip")
#define c_pszNTValueIPAddress					TEXT("IPAddress")
#define c_pszNTValueSubnetMask				TEXT("SubnetMask")

//
/*************************************************************************/

/**************************************************************************/
//
// X.25 stuff

// <ServiceBase>/
// name of driver service for X.25 SVC's
#define c_pszKeyX25_SVC_ServiceName		TEXT("DigiWanX")
// name of driver service for X.25 PVC's
#define c_pszKeyX25_PVC_ServiceName		TEXT("DigiLan") 

#define c_pszValueX25Protocol					TEXT("X.25")
const DWORD c_dwValueX25Protocol =		' 52X';

// Wan key stuff is same as Frame Relay
/*
// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/
#define c_pszKeyPortName							TEXT("Port")

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/
// # is the adapter number from Software/Microsoft/Windows NT/CurrentVersion/Networkcards/#
// ## is a line number 1..<Number of lines>
#define c_pszKeyWan										TEXT("Wan")
#define c_pszGUIValueBaud							TEXT("Ext_Baud") // Line speed for external clocking in GUI
#define c_pszValueBaud								TEXT("Wan_baud")
#define c_pszValueInterface						TEXT("Wan_interface")
#define c_pszValueMaxFrame						TEXT("Wan_maxframe")
*/

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/

#define c_pszKeyX25_ProtocolMain			TEXT("X25")
#define c_pszValueNetMode							TEXT("Net_Mode")
#define c_pszValueVersion							TEXT("X25_VSN")
#define c_pszValueMode								TEXT("L3PLPMODE")
#define c_pszValueLPC									TEXT("LPC")
#define c_pszValueHPC									TEXT("HPC")
#define c_pszValueLIC									TEXT("LIC")
#define c_pszValueHIC									TEXT("HIC")
#define c_pszValueLOC									TEXT("LOC")
#define c_pszValueHOC									TEXT("HOC")
#define c_pszValueLTC									TEXT("LTC")
#define c_pszValueHTC									TEXT("HTC")
#define c_pszValueGFI									TEXT("THISGFI")
#define c_pszValueLocMaxPkt						TEXT("LOCMAXPKTSIZE")
#define c_pszValueLocDefPkt						TEXT("LOCDEFPKTSIZE")
#define c_pszValueRemMaxPkt						TEXT("REMMAXPKTSIZE")
#define c_pszValueRemDefPkt						TEXT("REMDEFPKTSIZE")
#define c_pszValueLocMaxWnd						TEXT("LOCMAXWSIZE")
#define c_pszValueLocDefWnd						TEXT("LOCDEFWSIZE")
#define c_pszValueRemMaxWnd						TEXT("REMMAXWSIZE")
#define c_pszValueRemDefWnd						TEXT("REMDEFWSIZE")
#define c_pszValueMaxNSDU							TEXT("MAXNSDULEN")
#define c_pszValueAckDelay						TEXT("ACKDELAY")
#define c_pszValueT20									TEXT("T20value")
#define c_pszValueT21									TEXT("T21value")
#define c_pszValueT22									TEXT("T22value")
#define c_pszValueT23									TEXT("T23value")
#define c_pszValueT25									TEXT("T25value")
#define c_pszValueT26									TEXT("T26value")
#define c_pszValueT										TEXT("Tvalue")
#define c_pszValueIdle								TEXT("idlevalue")
#define c_pszValueConnect							TEXT("connectvalue")
#define c_pszValueR20									TEXT("R20value")
#define c_pszValueR22									TEXT("R22value")
#define c_pszValueR23									TEXT("R23value")
#define c_pszValueLocalDelay					TEXT("localdelay")
#define c_pszValueAccessDelay					TEXT("accessdelay")
#define c_pszValueLocMaxThClass				TEXT("locmaxthclass")
#define c_pszValueLocDefThClass				TEXT("locdefthclass")
#define c_pszValueLocMinThClass				TEXT("locminthclass")
#define c_pszValueRemMaxThClass				TEXT("remmaxthclass")
#define c_pszValueRemDefThClass				TEXT("remdefthclass")
#define c_pszValueRemMinThClass				TEXT("remminthclass")
#define c_pszValueCUG									TEXT("CUG_CONTROL")
#define c_pszValueSubModes						TEXT("SUB_MODES")
#define c_pszValueSNModes							TEXT("SNMODES")
#define c_pszValueIntlAddrRec					TEXT("intl_addr_recogn")
#define c_pszValueIntlPriority				TEXT("intl_prioritised")
#define c_pszValueIntlDNIC1						TEXT("dnic1")
#define c_pszValueIntlDNIC2						TEXT("dnic2")
#define c_pszValueIntlEncodeControl		TEXT("prty_encode_control")
#define c_pszValueIntlPktForcedVal		TEXT("prty_pkt_forced_value")
#define c_pszValueIntlSrcAddrCtrl			TEXT("src_addr_control")
#define c_pszValueDBit								TEXT("dbit_control")
#define c_pszValueThClassNeg					TEXT("thclass_neg_to_def")
#define c_pszValueThClassType					TEXT("thclass_type")
#define c_pszValueThClassPktMap				TEXT("thclass_pmap")
#define c_pszValueThClassWndMap				TEXT("thclass_wmap")
#define c_pszValueX25Address					TEXT("lsap_address")
#define c_pszValueLLClass							TEXT("ll_class")
#define c_pszGUIValueTotalRASPorts		TEXT("TotalRASPorts")
#define c_pszGUIValueAlias						TEXT("Alias")

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/

#define c_pszKeyLAPB									TEXT("LAPB")
#define c_pszValueLAPBN2							TEXT("N2")
#define c_pszValueLAPBT1							TEXT("T1")
#define c_pszValueTPF									TEXT("Tpf")
#define c_pszValueTRej								TEXT("Trej")
#define c_pszValueTBusy								TEXT("Tbusy")
#define c_pszValueTIdle								TEXT("Tidle")
#define c_pszValueLAPBAckDelay				TEXT("ack_delay")
#define c_pszValueNotAckMax						TEXT("notack_max")
#define c_pszValueTXWindow						TEXT("tx_window")
#define c_pszValueTXProbe							TEXT("tx_probe")
#define c_pszValueMaxILen							TEXT("max_I_len")
#define c_pszValueLLConform						TEXT("llconform")

// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/<c_pszKeyX25_ProtocolMain>/
// when a PVC is configured or created the values below are in the PVC's adapter key
// the PVC adapter key is named something like <c_pszKeyX25_PVC_ServiceName>*
// * is am adapter number starting at 1000 from Software/Microsoft/Windows NT/CurrentVersion/Networkcards/*

#define c_pszGUIKeyX25_PVC						TEXT("PVC")
#define c_pszValueChannel							TEXT("Channel")
#define c_pszValuePVCRemWnd						TEXT("REMDEFWSIZE")
#define c_pszValuePVCLocWnd						TEXT("LOCDEFWSIZE")
#define c_pszValuePVCRemPkt						TEXT("REMDEFPKTSIZE")
#define c_pszValuePVCLocPkt						TEXT("LOCDEFPKTSIZE")
/*
#define c_pszGUIValueAutoManage				TEXT("AutoManage")
#define c_pszValueTCPIP								TEXT("TCPIP")
#define c_pszValueIPX									TEXT("IPX")
#define c_pszValueEthernet						TEXT("Ethernet")
#define c_pszGUIValueDescription			TEXT("Desc")
#define c_pszValueNetworkAddress			TEXT("NetworkAddress")
#define c_pszValueSNID								TEXT("SNID")
#define c_pszValueDevice							TEXT("Device")
*/

/*
// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyPortName>##/<c_pszKeyX25_ProtocolMain>/<c_pszGUIKeyX25_PVC>###/
// ### is a number 1..<Number of PVC configured/installed>
// key of configure Window NT TCP/IP protocol
#define c_pszNTKeyTCPIP								TEXT("Tcpip")
#define c_pszNTValueIPAddress					TEXT("IPAddress")
#define c_pszNTValueSubnetMask				TEXT("SubnetMask")
*/

// X.25 virtual adapter values
// values are copied from the virtual adapter key from
// <ServiceBase>/<c_pszKeyX25_SVC_ServiceName>##/Parameters/ to 
// <ServiceBase>/<c_pszKeyServiceName>#/Parameters/<c_pszKeyX25_SVC_ServiceName>
// # is am adapter number starting at 1000 from Software/Microsoft/Windows NT/CurrentVersion/Networkcards/#
// ## is am adapter number starting at 1000 from Software/Microsoft/Windows NT/CurrentVersion/Networkcards/##
// after the GUI finished the values are copied back

#define c_pszValueNumRASPorts					TEXT("NumRASPorts")
#define c_pszValueRouteAlias					TEXT("RouteAlias")
#define c_pszValueRouteAddress				TEXT("RouteAddress")
#define c_pszValueAlias								TEXT("Alias")
#define c_pszValueDevice							TEXT("Device")
//#define c_pszValueSNID							TEXT("SNID")
#define c_pszValueNumVC								TEXT("NumVC")


#ifdef _cplusplus
}
#endif