/*++
*******************************************************************************
* Copyright (c) 1990-98 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 copyrighted work of Digi International   *
* Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly   *
* prohibited.                                                                 *
*                                                                             *
* Restricted Rights Legend                                                    *
*                                                                             *
* Use, duplication, or disclosure by the Government is subject to             *
* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in         *
* Technical Data and Computer Software clause at DFARS 252.227-7031 or        *
* subparagraphs (c)(1) and (2) of the Commercial Computer Software -          *
* Restricted Rights at 48 CFR 52.227-19, as applicable.                       *
*                                                                             *
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343          *
*                                                                             *
*******************************************************************************

Module Name:

   dxbreg.h

Abstract:

   This file defines all registry keys and values used by WAN Links drivers
   and applications.

Author:

   Michael Zarns

--*/

#ifndef _DXBREG_
#define _DXBREG_

#ifndef TEXT
#define TEXT __T
#endif

#include "buildver.h"
#include "buildctrl.h"

///////////////////////////////////////////////////////////////////////////////
//
// PCI Vendor and Device IDs
//

#define DIGI_PCI_VENDORID                          4431      // 0x114F
#define DIGI_PCI_SUBVENDORID                       4431      // 0x114F

#define DIGI_PCI_DEVICEID_SYNCPORT                 13        // 0x000D
#define DIGI_PCI_SUBDEVICEID_SYNCPORT              0         // 0x0000

#define DIGI_PCI_DEVICEID_PRIME                    12        // 0x000C
#define DIGI_PCI_DEVICEID_PRIME_T1_SINGLE          DIGI_PCI_DEVICEID_PRIME
#define DIGI_PCI_SUBDEVICEID_PRIME_T1_SINGLE       0         // 0x0000
#define DIGI_PCI_DEVICEID_PRIME_E1_SINGLE          26        // 0x001A
#define DIGI_PCI_SUBDEVICEID_PRIME_E1_SINGLE       0         // 0x0000

#define DIGI_PCI_DEVICEID_HOUSTON                  29        // 0x001D
#define DIGI_PCI_DEVICEID_HOUSTON_T1_SINGLE        DIGI_PCI_DEVICEID_HOUSTON
#define DIGI_PCI_SUBDEVICEID_HOUSTON_T1_SINGLE     82        // 0x0052
#define DIGI_PCI_DEVICEID_HOUSTON_T1_DUAL          DIGI_PCI_DEVICEID_HOUSTON
#define DIGI_PCI_SUBDEVICEID_HOUSTON_T1_DUAL       83        // 0x0053
#define DIGI_PCI_DEVICEID_HOUSTON_E1_SINGLE        DIGI_PCI_DEVICEID_HOUSTON
#define DIGI_PCI_SUBDEVICEID_HOUSTON_E1_SINGLE     80        // 0x0050
#define DIGI_PCI_DEVICEID_HOUSTON_E1_DUAL          DIGI_PCI_DEVICEID_HOUSTON
#define DIGI_PCI_SUBDEVICEID_HOUSTON_E1_DUAL       81        // 0x0051

#define DIGI_CPCI_DEVICEID_HOUSTON                 53        // 0x0035
#define DIGI_CPCI_DEVICEID_HOUSTON_T1_SINGLE       DIGI_CPCI_DEVICEID_HOUSTON
#define DIGI_CPCI_SUBDEVICEID_HOUSTON_T1_SINGLE    86        // 0x0056
#define DIGI_CPCI_DEVICEID_HOUSTON_T1_DUAL         DIGI_CPCI_DEVICEID_HOUSTON
#define DIGI_CPCI_SUBDEVICEID_HOUSTON_T1_DUAL      87        // 0x0057
#define DIGI_CPCI_DEVICEID_HOUSTON_E1_SINGLE       DIGI_CPCI_DEVICEID_HOUSTON
#define DIGI_CPCI_SUBDEVICEID_HOUSTON_E1_SINGLE    84        // 0x0054
#define DIGI_CPCI_DEVICEID_HOUSTON_E1_DUAL         DIGI_CPCI_DEVICEID_HOUSTON
#define DIGI_CPCI_SUBDEVICEID_HOUSTON_E1_DUAL      85        // 0x0055

#define DIGI_PCI_DEVICEID_LONDON                   36        // 0x0024
#define DIGI_PCI_DEVICEID_LONDON_ST                DIGI_PCI_DEVICEID_LONDON
#define DIGI_PCI_SUBDEVICEID_LONDON_ST             49        // 0x0031
#define DIGI_PCI_DEVICEID_LONDON_U                 DIGI_PCI_DEVICEID_LONDON
#define DIGI_PCI_SUBDEVICEID_LONDON_U              48        // 0x0030

#define DIGI_PCI_DEVICEID_CHASKA                   35        // 0x0023
#define DIGI_PCI_SUBDEVICEID_CHASKA_40             97        // 0x0061
#define DIGI_PCI_SUBDEVICEID_CHASKA_41             99        // 0x0063
#define DIGI_PCI_SUBDEVICEID_CHASKA_42             101       // 0x0065
#define DIGI_PCI_SUBDEVICEID_CHASKA_43             103       // 0x0067
#define DIGI_PCI_SUBDEVICEID_CHASKA_44             105       // 0x0069
#define DIGI_PCI_SUBDEVICEID_CHASKA_45             107       // 0x006B
#define DIGI_PCI_SUBDEVICEID_CHASKA_80             96        // 0x0060
#define DIGI_PCI_SUBDEVICEID_CHASKA_81             98        // 0x0062
#define DIGI_PCI_SUBDEVICEID_CHASKA_82             100       // 0x0064
#define DIGI_PCI_SUBDEVICEID_CHASKA_83             102       // 0x0066
#define DIGI_PCI_SUBDEVICEID_CHASKA_84             104       // 0x0068
#define DIGI_PCI_SUBDEVICEID_CHASKA_85             106       // 0x006A

#define DIGI_PCI_DEVICEID_CLYDE_NON_CSU_603_4      31        // 0x001F
#define DIGI_PCI_SUBDEVICEID_CLYDE_NON_CSU_603_4   DIGI_PCI_DEVICEID_CLYDE_NON_CSU_603_4
#define DIGI_PCI_DEVICEID_CLYDE_NON_CSU_603_2      32        // 0x0020
#define DIGI_PCI_SUBDEVICEID_CLYDE_NON_CSU_603_2   DIGI_PCI_DEVICEID_CLYDE_NON_CSU_603_2
#define DIGI_PCI_DEVICEID_CLYDE_NON_CSU_4          33        // 0x0021
#define DIGI_PCI_SUBDEVICEID_CLYDE_NON_CSU_4       DIGI_PCI_DEVICEID_CLYDE_NON_CSU_4
#define DIGI_PCI_DEVICEID_CLYDE_NON_CSU_2          34        // 0x0022
#define DIGI_PCI_SUBDEVICEID_CLYDE_NON_CSU_2       DIGI_PCI_DEVICEID_CLYDE_NON_CSU_2

#define DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_603_4     58        // 0x003A
#define DIGI_CPCI_SUBDEVICEID_CLYDE_NON_CSU_603_4  DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_603_4
#define DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_603_2     59        // 0x003B
#define DIGI_CPCI_SUBDEVICEID_CLYDE_NON_CSU_603_2  DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_603_2
#define DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_4         60        // 0x003C
#define DIGI_CPCI_SUBDEVICEID_CLYDE_NON_CSU_4      DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_4
#define DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_2         61        // 0x003D
#define DIGI_CPCI_SUBDEVICEID_CLYDE_NON_CSU_2      DIGI_CPCI_DEVICEID_CLYDE_NON_CSU_2

#define DIGI_PMC_DEVICEID_CLYDE_NON_CSU_603_2     128        // 0x0080
#define DIGI_PMC_SUBDEVICEID_CLYDE_NON_CSU_603_2  DIGI_PMC_DEVICEID_CLYDE_NON_CSU_603_2

#define DIGI_PMC_DEVICEID_CLYDE_NON_CSU_2         129        // 0x0081
#define DIGI_PMC_SUBDEVICEID_CLYDE_NON_CSU_2      DIGI_PMC_DEVICEID_CLYDE_NON_CSU_2

// Sub Device ID Zero for CPCI cards should go away when the SYNC2000
// CPCI card is released.
// All future CPCI cards should have s Sub Device ID.  This define is here
// to support pre-production version of SYNC2000 CPCI cards.
//
// Sub Device ID Zero for PCI cards will remain to support previously
// released PCI adapters.
#define DIGI_CPCI_SUBDEVICEID_NONE               0         // 0x0000
#define DIGI_PCI_SUBDEVICEID_NONE                0         // 0x0000

#define DIGI_PCI_DEVICEID_SYNC570_PCI_2PORT        20498     // 0x5012
#define DIGI_PCI_SUBDEVICEID_SYNC570_PCI_2PORT     0         // 0x0000
#define DIGI_PCI_DEVICEID_SYNC570_PCI_4PORT        20499     // 0x5013
#define DIGI_PCI_SUBDEVICEID_SYNC570_PCI_4PORT     0         // 0x0000


#define DIGI_PCI_DEVICEID_ACCELEPORT_2000          64        // 0x0040
#define DIGI_PCI_DEVICEID_HERCULES_TEST            DIGI_PCI_DEVICEID_ACCELEPORT_2000
#define DIGI_PCI_SUBDEVICEID_HERCULES_TEST         65        // 0x0041
#define DIGI_PCI_DEVICEID_ACCELEPORT_2R_2000       DIGI_PCI_DEVICEID_ACCELEPORT_2000
#define DIGI_PCI_SUBDEVICEID_ACCELEPORT_2R_2000    66        // 0x0042
#define DIGI_PCI_DEVICEID_ACCELEPORT_4R_2000       DIGI_PCI_DEVICEID_ACCELEPORT_2000
#define DIGI_PCI_SUBDEVICEID_ACCELEPORT_4R_2000    67        // 0x0043
#define DIGI_PCI_DEVICEID_ACCELEPORT_8R_2000       DIGI_PCI_DEVICEID_ACCELEPORT_2000
#define DIGI_PCI_SUBDEVICEID_ACCELEPORT_8R_2000    68        // 0x0044
#define DIGI_PCI_DEVICEID_ACCELEPORT_16R_2000      DIGI_PCI_DEVICEID_ACCELEPORT_2000
#define DIGI_PCI_SUBDEVICEID_ACCELEPORT_16R_2000   69        // 0x0045


//
// Patton IDs
//
#define PATTON_PCI_VENDORID                          0x17d1
#define PATTON_PCI_SUBVENDORID                       0x17d1


//
// IBM IDs
//
#define IBM_PCI_VENDORID                           4116      // 0x1014
#define IBM_PCI_SUBVENDORID                        4116      // 0x1014

#define IBM_PCI_DEVICEID_HOUSTON                   193       // 0x00C1
#define IBM_PCI_DEVICEID_HOUSTON_T1_SINGLE         IBM_PCI_DEVICEID_HOUSTON
#define IBM_PCI_SUBDEVICEID_HOUSTON_T1_SINGLE      194       // 0x00C2
#define IBM_PCI_DEVICEID_HOUSTON_T1_DUAL           IBM_PCI_DEVICEID_HOUSTON
#define IBM_PCI_SUBDEVICEID_HOUSTON_T1_DUAL        244       // 0x00F4
#define IBM_PCI_DEVICEID_HOUSTON_E1_SINGLE         IBM_PCI_DEVICEID_HOUSTON
#define IBM_PCI_SUBDEVICEID_HOUSTON_E1_SINGLE      243       // 0x00F3
#define IBM_PCI_DEVICEID_HOUSTON_E1_DUAL           IBM_PCI_DEVICEID_HOUSTON
#define IBM_PCI_SUBDEVICEID_HOUSTON_E1_DUAL        245       // 0x00F5

#define IBM_PCI_DEVICEID_LONDON                    191       // 0x00BF
#define IBM_PCI_DEVICEID_LONDON_ST                 IBM_PCI_DEVICEID_LONDON
#define IBM_PCI_SUBDEVICEID_LONDON_ST              192       // 0x00C0
#define IBM_PCI_DEVICEID_LONDON_U                  IBM_PCI_DEVICEID_LONDON
#define IBM_PCI_SUBDEVICEID_LONDON_U               241       // 0x00F1

#define IBM_PCI_DEVICEID_CHASKA                    195       // 0x00C3
#define IBM_PCI_SUBDEVICEID_CHASKA_40              242       // 0x00F2
#define IBM_PCI_SUBDEVICEID_CHASKA_41              294       // 0x0126
#define IBM_PCI_SUBDEVICEID_CHASKA_42              296       // 0x0128
#define IBM_PCI_SUBDEVICEID_CHASKA_43              298       // 0x012A
#define IBM_PCI_SUBDEVICEID_CHASKA_44              300       // 0x012C
#define IBM_PCI_SUBDEVICEID_CHASKA_45              302       // 0x012E
#define IBM_PCI_SUBDEVICEID_CHASKA_80              196       // 0x00C4
#define IBM_PCI_SUBDEVICEID_CHASKA_81              295       // 0x0127
#define IBM_PCI_SUBDEVICEID_CHASKA_82              297       // 0x0129
#define IBM_PCI_SUBDEVICEID_CHASKA_83              299       // 0x012B
#define IBM_PCI_SUBDEVICEID_CHASKA_84              301       // 0x012D
#define IBM_PCI_SUBDEVICEID_CHASKA_85              303       // 0x012F


///////////////////////////////////////////////////////////////////////////////
//
// Registry Keys, values, and defaults
//

#define DXB_REGKEY_PARAMETERS                      TEXT( "Parameters" )
#define DXB_REGKEY_NDI                             TEXT( "Ndi" )

#define DXB_REGVAL_ADAPTER_ENUM_SYNCPORT_ISA       TEXT( "DigiSyncportIsa" )
#define DXB_REGVAL_ADAPTER_ENUM_SYNCPORT_PCI       TEXT( "DigiSyncportPci" )
#define DXB_REGVAL_ADAPTER_ENUM_PRIME_ISA          TEXT( "DigiDatafirePrimeIsa" )
#define DXB_REGVAL_ADAPTER_ENUM_PRIME_T1_PCI       TEXT( "DigiDatafirePrimeT1Pci" )
#define DXB_REGVAL_ADAPTER_ENUM_PRIME_E1_PCI       TEXT( "DigiDatafirePrimeE1Pci" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_T1_SINGLE  TEXT( "DigiHoustonT1Single" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_T1_DUAL    TEXT( "DigiHoustonT1Dual" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_E1_SINGLE  TEXT( "DigiHoustonE1Single" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_E1_DUAL    TEXT( "DigiHoustonE1Dual" )
#define DXB_REGVAL_ADAPTER_ENUM_LONDON_ST          TEXT( "DigiLondonST" )
#define DXB_REGVAL_ADAPTER_ENUM_LONDON_U           TEXT( "DigiLondonU" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_T1_SINGLE_CPCI  TEXT( "cPciDigiHoustonT1Single" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_T1_DUAL_CPCI    TEXT( "cPciDigiHoustonT1Dual" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_E1_SINGLE_CPCI  TEXT( "cPciDigiHoustonE1Single" )
#define DXB_REGVAL_ADAPTER_ENUM_HOUSTON_E1_DUAL_CPCI    TEXT( "cPciDigiHoustonE1Dual" )

// NT4
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_4           TEXT( "DigiChaska4" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_8           TEXT( "DigiChaska8" )

// W2K
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_40          TEXT( "DigiChaska40" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_41          TEXT( "DigiChaska41" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_42          TEXT( "DigiChaska42" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_43          TEXT( "DigiChaska43" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_44          TEXT( "DigiChaska44" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_45          TEXT( "DigiChaska45" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_80          TEXT( "DigiChaska80" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_81          TEXT( "DigiChaska81" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_82          TEXT( "DigiChaska82" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_83          TEXT( "DigiChaska83" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_84          TEXT( "DigiChaska84" )
#define DXB_REGVAL_ADAPTER_ENUM_CHASKA_85          TEXT( "DigiChaska85" )

#define DXB_REGVAL_ADAPTER_ENUM_CLYDE_NONCSU_4     TEXT( "DigiClydeNonCsu4" )
#define DXB_REGVAL_ADAPTER_ENUM_CLYDE_NONCSU_2     TEXT( "DigiClydeNonCsu2" )
#define DXB_REGVAL_ADAPTER_ENUM_CLYDE_NONCSU_603_4 TEXT( "DigiClydeNonCsu6034" )
#define DXB_REGVAL_ADAPTER_ENUM_CLYDE_NONCSU_603_2 TEXT( "DigiClydeNonCsu6032" )
#define DXB_REGVAL_ADAPTER_ENUM_SYNC570_PCI_2PORT  TEXT( "DigiSync570Port2Pci" )
#define DXB_REGVAL_ADAPTER_ENUM_SYNC570_PCI_4PORT  TEXT( "DigiSync570Port4Pci" )
#define DXB_REGVAL_ADAPTER_ENUM_SYNC570_ISA_2PORT  TEXT( "DigiSync570Port2Isa" )
#define DXB_REGVAL_ADAPTER_ENUM_SYNC570_ISA_4PORT  TEXT( "DigiSync570Port4Isa" )

#define DXB_REGVAL_ADAPTER_ENUM_ACCELEPORT_2R_2000    TEXT( "DigiAccelePort2r2000")
#define DXB_REGVAL_ADAPTER_ENUM_ACCELEPORT_4R_2000    TEXT( "DigiAccelePort4r2000")
#define DXB_REGVAL_ADAPTER_ENUM_ACCELEPORT_8R_2000    TEXT( "DigiAccelePort8r2000")
#define DXB_REGVAL_ADAPTER_ENUM_ACCELEPORT_16R_2000   TEXT( "DigiAccelePort16r2000")

#define DXB_REGVAL_IDENTITY                        TEXT( "Identity" )
#define DXB_REGVAL_OPTION                          TEXT( "Option" )
#define DXB_REGVAL_OPTION_TYPE                     REG_SZ
#define DXB_REGVAL_OPTION_ENUM_SYNCPORT            TEXT( "SyncPort" )
#define DXB_REGVAL_OPTION_ENUM_PRIME               TEXT( "Prime" )
#define DXB_REGVAL_OPTION_ENUM_HOUSTON             TEXT( "Houston" )
#define DXB_REGVAL_OPTION_ENUM_LONDON              TEXT( "London" )
#define DXB_REGVAL_OPTION_ENUM_CHASKA              TEXT( "Chaska" )
#define DXB_REGVAL_OPTION_ENUM_CLYDE               TEXT( "Clydesdale" )
#define DXB_REGVAL_OPTION_ENUM_SYNC570             TEXT( "Sync570" )
#define DXB_REGVAL_OPTION_ENUM_ACCELEPORT_2000        TEXT( "AccelePort2000" )

#define DXB_REGVAL_INTERRUPT                       TEXT( "InterruptNumber" )
#define DXB_REGVAL_INTERRUPT_TYPE                  REG_DWORD
#define DXB_REGVAL_INTERRUPT_DEFAULT               0

#define DXB_REGVAL_MEMORY_ADDRESS                  TEXT( "MemoryMappedBaseAddress" )
#define DXB_REGVAL_MEMORY_ADDRESS_TYPE             REG_DWORD
#define DXB_REGVAL_MEMORY_ADDRESS_DEFAULT_EPC      0xD0000
#define DXB_REGVAL_MEMORY_ADDRESS_ENUM_SYNCPORT    DXB_REGVAL_MEMORY_ADDRESS_DEFAULT_EPC
#define DXB_REGVAL_MEMORY_ADDRESS_ENUM_PRIME       DXB_REGVAL_MEMORY_ADDRESS_DEFAULT_EPC

#define DXB_REGVAL_MEMORY_LENGTH                   TEXT( "WindowSize" )
#define DXB_REGVAL_MEMORY_LENGTH_TYPE              REG_DWORD
#define DXB_REGVAL_MEMORY_LENGTH_DEFAULT_EPC       0x8000
#define DXB_REGVAL_MEMORY_LENGTH_ENUM_SYNCPORT     DXB_REGVAL_MEMORY_LENGTH_DEFAULT_EPC
#define DXB_REGVAL_MEMORY_LENGTH_ENUM_PRIME        DXB_REGVAL_MEMORY_LENGTH_DEFAULT_EPC

#define DXB_REGVAL_IO_ADDRESS                      TEXT( "IOBaseAddress" )
#define DXB_REGVAL_IO_ADDRESS_TYPE                 REG_DWORD
#define DXB_REGVAL_IO_ADDRESS_ENUM_SYNCPORT        0x324
#define DXB_REGVAL_IO_ADDRESS_ENUM_PRIME           0x32C

#define DXB_REGVAL_IO_LENGTH                       TEXT( "IoSpan" )
#define DXB_REGVAL_IO_LENGTH_TYPE                  REG_DWORD
#define DXB_REGVAL_IO_LENGTH_ENUM_EPC              0x04
#define DXB_REGVAL_IO_LENGTH_ENUM_SYNCPORT         DXB_REGVAL_IO_LENGTH_ENUM_EPC
#define DXB_REGVAL_IO_LENGTH_ENUM_PRIME            DXB_REGVAL_IO_LENGTH_ENUM_EPC

#define DXB_REGVAL_IO_CHOICES                      TEXT( "IoAddressChoices")
#define DXB_REGVAL_IO_CHOICES_TYPE                 REG_MULTISZ
#define DXB_REGVAL_MEM_CHOICES                     TEXT( "MemAddressChoices")
#define DXB_REGVAL_MEM_CHOICES_TYPE                REG_MULTISZ
#define DXB_REGVAL_IRQ_CHOICES                     TEXT( "InterruptNumberChoices")
#define DXB_REGVAL_IRQ_CHOICES_TYPE                REG_MULTISZ

#define DXB_REGVAL_BUS_TYPE                        TEXT( "BusType" )
#define DXB_REGVAL_BUS_TYPE_TYPE                   REG_DWORD

#define DXB_REGVAL_BUS_NAME                        TEXT( "BusName" )
#define DXB_REGVAL_BUS_NAME_TYPE                   REG_SZ

#define DXB_REGVAL_BUS_NUMBER                      TEXT( "BusNumber" )
#define DXB_REGVAL_BUS_NUMBER_TYPE                 REG_DWORD

#define DXB_REGVAL_SLOT_NUMBER                     TEXT( "SlotNumber" )
#define DXB_REGVAL_SLOT_NUMBER_TYPE                REG_DWORD

#define DXB_REGVAL_PCI_ID                          TEXT( "PciId" )
#define DXB_REGVAL_PCI_ID_TYPE                     REG_DWORD

#define DXB_REGVAL_DEVICE_ID                       DXB_REGVAL_PCI_ID
#define DXB_REGVAL_DEVICE_ID_TYPE                  DXB_REGVAL_PCI_ID_TYPE

#define DXB_REGVAL_SUBDEVICE_ID                    TEXT( "SubDeviceId" )
#define DXB_REGVAL_SUBDEVICE_ID_TYPE               REG_DWORD

#define DXB_REGVAL_VENDOR_ID                       TEXT( "VendorId" )
#define DXB_REGVAL_VENDOR_ID_TYPE                  REG_DWORD

#define DXB_REGVAL_SUBVENDOR_ID                    TEXT( "SubVendorId" )
#define DXB_REGVAL_SUBVENDOR_ID_TYPE               REG_DWORD

#define DXB_REGVAL_REVISION_ID                     TEXT( "RevisionId" )
#define DXB_REGVAL_REVISION_ID_TYPE                REG_DWORD

#define DXB_REGVAL_BIOS                            TEXT( "BiosImagePath" )
#define DXB_REGVAL_BIOS_TYPE                       REG_SZ
#define DXB_REGVAL_BIOS_ENUM_SYNCPORT_ISA          TEXT( "BioSpIsa.Bin" )
#define DXB_REGVAL_BIOS_ENUM_SYNCPORT_PCI          TEXT( "BioSpPci.Bin" )
#define DXB_REGVAL_BIOS_ENUM_PRIME                 TEXT( "BioPrime.Bin" )

#define DXB_REGVAL_FEP                             TEXT( "FepImagePath" )
#define DXB_REGVAL_FEP_TYPE                        REG_SZ
#define DXB_REGVAL_FEP_ENUM_SYNCPORT_ISA           TEXT( "FepSpIsa.Bin" )
#define DXB_REGVAL_FEP_ENUM_SYNCPORT_PCI           TEXT( "FepSpPci.Bin" )
#define DXB_REGVAL_FEP_ENUM_PRIME                  TEXT( "FepPrime.Bin" )
#define DXB_REGVAL_FEP_ENUM_HOUSTON                TEXT( "dgdrfep.bin" )
#define DXB_REGVAL_FEP_ENUM_HOUSTON_CPCI           TEXT( "dgdrfep.bin" )
#define DXB_REGVAL_FEP_ENUM_LONDON                 TEXT( "dgdrfep.bin" )
#define DXB_REGVAL_FEP_ENUM_CHASKA                 TEXT( "dgarfep.bin" )
#define DXB_REGVAL_FEP_ENUM_CLYDE                  TEXT( "dgdsfep.bin" )
#define DXB_REGVAL_FEP_ENUM_ACCELEPORT_2000        TEXT( "dgaxfep.bin")

// Fep testing backdoor.  Dxb will leave adapter instance in memory to allow
// kme access to the card memory.  Attempts to use dxb APIs (Open,Ioctl,PutMsg,etc.)
// may cause bugchecks!
#define DXB_REGVAL_IGNORE_FEP_FAILURE              TEXT( "IgnoreFepFailure" )
#define DXB_REGVAL_IGNORE_FEP_FAILURE_TYPE         REG_DWORD

// Production Testing Back door
#define DXB_REGVAL_IGNORE_POST_ERRORS              TEXT( "IgnorePostErrors" )
#define DXB_REGVAL_IGNORE_POST_ERRORS_TYPE         REG_DWORD
// POST Error surfacing mechanism
#define DXB_REGVAL_POST_ERRORS                     TEXT( "PostErrors" )
#define DXB_REGVAL_POST_ERRORS_TYPE                REG_DWORD
#define DXB_REGVAL_POST_ERROR_REPORT               TEXT( "PostErrorReport" )
#define DXB_REGVAL_POST_ERROR_REPORT_TYPE          REG_BINARY

// PRIme firmware now supports two flavors of BusModes on PCI cards.  The older
// "legacy" mode leaves queue pointers in shared memory.  The newer optimized mode
// uses PLX MAILBOX registers for queue pointers.  Default is to use new mailbox mode
// but setting this value to non-zero allows override for compatible mode.
// Value found in <adapter_key>\Parameters.
#define DXB_REGVAL_LEGACY_BUSMODE                  TEXT( "LegacyBusMode" )
#define DXB_REGVAL_LEGACY_BUSMODE_TYPE             REG_DWORD

#define DXB_REGVAL_PROTOCOL                        TEXT( "LineProtocol" )
#define DXB_REGVAL_PROTOCOL_TYPE                   REG_SZ
#define DXB_REGVAL_PROTOCOL_ENUM_X25               TEXT( "X25" )
#define DXB_REGVAL_PROTOCOL_ENUM_FRAMERELAY        TEXT( "FR" )
#define DXB_REGVAL_PROTOCOL_ENUM_ISDN              TEXT( "ISDN" )
#define DXB_REGVAL_PROTOCOL_ENUM_PRI               TEXT( "PRI" )
#define DXB_REGVAL_PROTOCOL_ENUM_PRI_NFAS_MASTER   TEXT( "PRI-NFAS-MASTER" )
#define DXB_REGVAL_PROTOCOL_ENUM_PRI_NFAS_SLAVE    TEXT( "PRI-NFAS-SLAVE" )
#define DXB_REGVAL_PROTOCOL_ENUM_BRI               TEXT( "BRI" )
#define DXB_REGVAL_PROTOCOL_ENUM_T1                TEXT( "T1" )
#define DXB_REGVAL_PROTOCOL_ENUM_E1                TEXT( "E1 PRI" ) // Modified on: 8-7-00
#define DXB_REGVAL_PROTOCOL_ENUM_E1R2              TEXT( "E1R2" )   // Modified on: 8-1-00
#define DXB_REGVAL_PROTOCOL_ENUM_POTS              TEXT( "POTS" )
#define DXB_REGVAL_PROTOCOL_ENUM_PPP               TEXT( "PPP" )
#define DXB_REGVAL_PROTOCOL_ENUM_NONE              TEXT( "None" )
#define DXB_REGVAL_PROTOCOL_ENUM_SNA               TEXT( "SNA" )
#define DXB_REGVAL_PROTOCOL_ENUM_SERIAL            TEXT( "SERIAL" )
#define DXB_REGVAL_PROTOCOL_ENUM_RAWIP             TEXT( "RAWIP" )

#define DXB_REGVAL_PROTOCOL_DEFAULT                DXB_REGVAL_PROTOCOL_ENUM_NONE

#define DXB_REGVAL_PROTOCOLS_ALLOWED               TEXT( "ProtocolsAllowed" )
#define DXB_REGVAL_PROTOCOLS_ALLOWED_TYPE          REG_MULTI_SZ

// Adapter Config Params

#define DXB_REGVAL_ASKMULTILINES                   TEXT( "AskMultiLines" )
#define DXB_REGVAL_ASKMULTILINES_TYPE              REG_DWORD

#define DXB_REGVAL_CANDONFAS                       TEXT( "CanDoNFAS" )
#define DXB_REGVAL_CANDONFAS_TYPE                  REG_DWORD

#define DXB_REGVAL_BUSMODE                         TEXT( "DxbBusMode" )
#define DXB_REGVAL_BUSMODE_TYPE                    REG_DWORD

#define DXB_REGVAL_MAX_LOGICAL_CHANS_PER_LINE      TEXT( "MaxLogicalChannelsPerLine" )
#define DXB_REGVAL_MAX_LOGICAL_CHANS_PER_LINE_TYPE REG_DWORD

#define DXB_REGVAL_PRODUCT_NAME                    TEXT( "ProductName" )
#define DXB_REGVAL_PRODUCT_NAME_TYPE               REG_SZ

#define DXB_REGVAL_HAS_WIZARD                      TEXT( "HasWizard" )
#define DXB_REGVAL_HAS_WIZARD_TYPE                 REG_DWORD
#define DXB_REGVAL_HAS_WIZARD_DEFAULT              0x1

//
// DigiSOH Config Values
//
#define DXB_REGVAL_SNID_PREFIX_REQUIRED            TEXT( "SnidPrefixRequired" )
#define DXB_REGVAL_STREAMS_DRIVER                  WANLINKS_SOH_NAME_TEXT
#define DXB_REGVAL_SNA_LINENAME                    TEXT( "SnaWanDevice" )
#define DXB_REGVAL_PPP_LINENAME                    TEXT( "PPPWanDevice" )
#define DXB_REGVAL_LINENAME_XWAN                   TEXT( "XWAN" )
#define DXB_REGVAL_LINENAME_WAN                    TEXT( "WAN%d" )
#define DXB_REGVAL_LINENAME                        TEXT( "LineName" )

//
// SNA Defines
//
// The SNA Device is used by the SNA configuration Programs to expose a SNADS interface
// Device Name for a Port
#define DXB_REGVAL_SNA_DEVICE                      TEXT( "SnaDevice" )
#define DXB_REGVAL_SNA_DEVICE_TYPE                 REG_SZ

//
// Client Driver Values (DigiIsdn and DigiAsyn use these)
//
#define DXB_REGVAL_REGPATH                         TEXT( "RegPath" )
#define DXB_REGVAL_REGPATH_TYPE                    REG_SZ

#define DXB_REGVAL_SERVICENAME                     TEXT( "ServiceName" )
#define DXB_REGVAL_SERVICENAME_TYPE                REG_SZ

#define DXB_REGVAL_SERVICE                         TEXT( "Service" )
#define DXB_REGVAL_SERVICE_TYPE                    REG_SZ

// Adapter is Physical device the DSAPI provider will communicate with..
#define DXB_REGVAL_ADAPTER                         TEXT( "Adapter" )
#define DXB_REGVAL_ADAPTER_TYPE                    REG_SZ

// Device is written to dxb client drivers (asyn, isdn, etc.) to identify the dxb
// devicename to use to access the adapter.  Of the form, "DigiDxb3".
#define DXB_REGVAL_DEVICE                          TEXT( "Device" )
#define DXB_REGVAL_DEVICE_TYPE                     REG_SZ

#define DXB_REGVAL_DESCRIPTION                     TEXT( "Desc" )
#define DXB_REGVAL_DESCRIPTION_TYPE                REG_SZ

#define DXB_REGVAL_DRIVER_DESCRIPTION              TEXT( "DriverDesc" )
#define DXB_REGVAL_DRIVER_DESCRIPTION_TYPE         REG_SZ

// Ndis adapter instance is a string representation of the NCPA adapter instance
// number assigned to our virtual lan or wan adapters.
#define DXB_REGVAL_NDIS_ADAPTER_INSTANCE           TEXT( "VAdapterNum" )
#define DXB_REGVAL_NDIS_ADAPTER_INSTANCE_TYPE      REG_SZ

// Endpoints == Number of Tapi devices to expose.  Used by DigiIsdn client driver.
#define DXB_REGVAL_ENDPOINTS                       TEXT( "Endpoints" )
#define DXB_REGVAL_ENDPOINTS_TYPE                  REG_DWORD

// LegacyApi is the Isdn firmware version 1 API used by DataFire PRIme
#define DXB_REGVAL_LEGACY_API                      TEXT( "LegacyApi" )
#define DXB_REGVAL_LEGACY_API_TYPE                 REG_DWORD

// DxbVersion2 is the used for Clydesdale firmware modified to support Dxb version 2
#define DXB_REGVAL_DXBVERSION2                      TEXT( "DxbVersion2" )
#define DXB_REGVAL_DXBVERSION2_TYPE                 REG_DWORD

// added for NT5
#define DXB_REGCLASS_VALUE                         TEXT("System\\CurrentControlSet\\Control\\Class\\")
// Spoof flag allows bus driver (DXB) to load without registry parameters
#define DXB_REGVAL_SPOOF                           TEXT( "Spoof" )
#define DXB_REGVAL_SPOOF_TYPE                      REG_DWORD
#define DXB_REGVAL_SPOOF_ON                        1
#define DXB_REGVAL_SPOOF_OFF                       0
#define DXB_REGVAL_REGINSTANCE                     TEXT("RegInstance")
// Multi protocol adapters have this bit set to indicate that the protocol wiz page
// should be displayed by the coinstaller. Normally, no UI is allowed.
#define DXB_REGVAL_QUERY_FOR_PROTOCOL              TEXT( "QueryUserForProtocol" )
#define DXB_REGVAL_QUERY_FOR_PROTOCOL_TYPE         REG_DWORD
// Query the user for these protocols if DXB_REGVAL_QUERY_FOR_PROTOCOL is set
#define DXB_REGVAL_PROTOCOLS_TO_QUERY              TEXT( "ProtocolsToQuery" )
#define DXB_REGVAL_PROTOCOLS_TO_QUERY_TYPE         MULTI_SZ

// NT5 ISDN Wizard values
#define DXB_REGVAL_ISDNWIZ_SWITCH_TYPE             TEXT("IsdnSwitchType")
#define DXB_REGVAL_ISDNWIZ_NUM_DCHANNELS           TEXT("IsdnNumDChannels")
#define DXB_REGVAL_ISDNWIZ_NUM_BCHANNELS           TEXT("IsdnNumBChannels")
#define DXB_REGVAL_ISDNWIZ_MSN                     TEXT("IsdnMultiSubscriberNumbers")
#define DXB_REGVAL_ISDNWIZ_NUMBER                  TEXT("IsdnPhoneNumber")
#define DXB_REGVAL_ISDNWIZ_SPID                    TEXT("IsdnSpid")
#define DXB_REGVAL_ISDNWIZ_SUBADDRESS              TEXT("IsdnSubaddress")

// NT5 ISDN Wizard SwitchTypes, not yet defined in DDK headers!
// ISDN Switch type flags from http://www.microsoft.com/hwdev/network/nt5netinf.htm
#define ISDN_SWITCH_NONE  0x00000000
#define ISDN_SWITCH_AUTO  0x00000001    // Auto Detect
#define ISDN_SWITCH_ATT   0x00000002    // AT&T 5ESS
#define ISDN_SWITCH_NI1   0x00000004    // National ISDN 1
#define ISDN_SWITCH_NTI   0x00000008    // Northern Telecom DMS 100 (NT-1)
#define ISDN_SWITCH_INS64 0x00000010    // NTT INS64 (Japan)
#define ISDN_SWITCH_1TR6  0x00000020    // German National
#define ISDN_SWITCH_VN3   0x00000040    // French National (VN3)
#define ISDN_SWITCH_NET3  0x00000080    // European ISDN
#define ISDN_SWITCH_DSS1  0x00000080    // European ISDN
#define ISDN_SWITCH_AUS   0x00000100    // Australian National
#define ISDN_SWITCH_BEL   0x00000200    // Belgium National
#define ISDN_SWITCH_VN4   0x00000400    // French National (VN4)
#define ISDN_SWITCH_NI2   0x00000800    // National ISDN 2

#define DXB_REGVAL_PDO_HDWID                       TEXT("HardwareID")
#define DXB_REGVAL_PDO_HDWID_TYPE                  REG_SZ
//
// various hardware ID's. These strings have to match exactly to the ones
// being used by various INF's. We can't use preprocessing and have quoted strings in
// the INF. Also stay within 8 chars without underscores
//
#define DXB_ORIG_HDWID_ISDNT1                      TEXT("DIGIT1")
#define DXB_ORIG_HDWID_ISDNE1                      TEXT("DIGIE1")
#define DXB_ORIG_HDWID_ISDNBRI                     TEXT("DIGIBRI")
#define DXB_ORIG_HDWID_ASYN                        TEXT("DIGIASYN")
#define DXB_ORIG_HDWID_PVCFR                       TEXT("DIGIPFR")
#define DXB_ORIG_HDWID_PVCX25                      TEXT("DIGIPX25")
#define DXB_ORIG_HDWID_SVC                         TEXT("DIGISVC")
#define DXB_ORIG_HDWID_SVC1                        TEXT("DIGISVC1")
#define DXB_ORIG_HDWID_SVC2                        TEXT("DIGISVC2")
#define DXB_ORIG_HDWID_PPP                         TEXT("DIGIPPP")
#define DXB_ORIG_HDWID_SNA                         TEXT("DIGISNA")
#define DXB_ORIG_HDWID_PPP_CSU                     TEXT("DIGIPPPC")
#if defined(ACCELEPORT_RAS_BUILD)
#define DXB_HDWID_ISDNT1                           TEXT("DGART1")
#define DXB_HDWID_ISDNE1                           TEXT("DGARE1")
#define DXB_HDWID_ISDNBRI                          TEXT("DGARBRI")
#define DXB_HDWID_ASYN                             TEXT("DGARASYN")
#define DXB_HDWID_4ASYN                            TEXT("DGAR4ASYN")
#define DXB_HDWID_8ASYN                            TEXT("DGAR8ASYN")
#define DXB_HDWID_PVCFR                            TEXT("DGARPFR")
#define DXB_HDWID_PVCX25                           TEXT("DGARPX25")
#define DXB_HDWID_SVC                              TEXT("DGARSVC")
#define DXB_HDWID_SVC1                             TEXT("DGARSVC1")
#define DXB_HDWID_SVC2                             TEXT("DGARSVC2")
#define DXB_HDWID_PPP                              TEXT("DGARPPP")
#define DXB_HDWID_SNA                              TEXT("DGARSNA")
#define DXB_HDWID_PPP_CSU                          TEXT("DGARPPPC")
#endif
#if defined(ACCELEPORT_XP_BUILD)
#define DXB_HDWID_ISDNT1                           TEXT("DGAXT1")
#define DXB_HDWID_ISDNE1                           TEXT("DGAXE1")
#define DXB_HDWID_ISDNBRI                          TEXT("DGAXBRI")
#define DXB_HDWID_ASYN                             TEXT("DGAXASYN")
#define DXB_HDWID_2ASYN                            TEXT("DGAX2ASYN")
#define DXB_HDWID_4ASYN                            TEXT("DGAX4ASYN")
#define DXB_HDWID_8ASYN                            TEXT("DGAX8ASYN")
#define DXB_HDWID_16ASYN                           TEXT("DGAX16ASYN")
#define DXB_HDWID_PVCFR                            TEXT("DGAXPFR")
#define DXB_HDWID_PVCX25                           TEXT("DGAXPX25")
#define DXB_HDWID_SVC                              TEXT("DGAXSVC")
#define DXB_HDWID_SVC1                             TEXT("DGAXSVC1")
#define DXB_HDWID_SVC2                             TEXT("DGAXSVC2")
#define DXB_HDWID_PPP                              TEXT("DGAXPPP")
#define DXB_HDWID_SNA                              TEXT("DGAXSNA")
#define DXB_HDWID_PPP_CSU                          TEXT("DGAXPPPC")
#endif
#if defined(DATAFIRE_RAS_BUILD)
#define DXB_HDWID_ISDNT1                           TEXT("DGDRT1")
#define DXB_HDWID_ISDNE1                           TEXT("DGDRE1")
#define DXB_HDWID_ISDNBRI                          TEXT("DGDRBRI")
#define DXB_HDWID_ASYN                             TEXT("DGDRASYN")
#define DXB_HDWID_PVCFR                            TEXT("DGDRPFR")
#define DXB_HDWID_PVCX25                           TEXT("DGDRPX25")
#define DXB_HDWID_SVC                              TEXT("DGDRSVC")
#define DXB_HDWID_SVC1                             TEXT("DGDRSVC1")
#define DXB_HDWID_SVC2                             TEXT("DGDRSVC2")
#define DXB_HDWID_PPP                              TEXT("DGDRPPP")
#define DXB_HDWID_SNA                              TEXT("DGDRSNA")
#define DXB_HDWID_PPP_CSU                          TEXT("DGDRPPPC")
#endif
#if defined(DATAFIRE_SYNC_BUILD)
#define DXB_HDWID_ISDNT1                           TEXT("DGDST1")
#define DXB_HDWID_ISDNE1                           TEXT("DGDSE1")
#define DXB_HDWID_ISDNBRI                          TEXT("DGDSBRI")
#define DXB_HDWID_ASYN                             TEXT("DGDSASYN")
#define DXB_HDWID_PVCFR                            TEXT("DGDSPFR")
#define DXB_HDWID_PVCX25                           TEXT("DGDSPX25")
#define DXB_HDWID_SVC                              TEXT("DGDSSVC")
#define DXB_HDWID_SVC1                             TEXT("DGDSSVC1")
#define DXB_HDWID_SVC2                             TEXT("DGDSSVC2")
#define DXB_HDWID_PPP                              TEXT("DGDSPPP")
#define DXB_HDWID_SNA                              TEXT("DGDSSNA")
#define DXB_HDWID_PPP_CSU                          TEXT("DGDSPPPC")
#endif

#define DXB_REGVAL_PDO_DEVTYPE                     TEXT("DeviceType")
#define DXB_REGVAL_PDO_DEVTYPE_TYPE                REG_DWORD
// various device types that get translated to appropriate FILE_DEVICE_TYPE by dxb
#define DXB_DEVICE_NETCARD                         0
#define DXB_DEVICE_SERIAL                          1

//
// MGMTHLC.H: modem_nationality_t
//
#define DXB_REGVAL_MODEM_NATIONALITY               TEXT( "country_code" )
#define DXB_REGVAL_MODEM_NATIONALITY_TYPE          REG_DWORD
#ifdef MGMTCC_H_DEFINED
#define DXB_REGVAL_MODEM_NATIONALITY_DEFAULT       COUNTRY_CODE_UNITED_STATES
#endif

//
// Number of lines the adapter has
//
#define DXB_REGVAL_NUMBEROFLINES                   TEXT( "NumberOfLines" )
#define DXB_REGVAL_NUMBEROFLINES_TYPE              REG_DWORD
#define DXB_REGVAL_NUMBEROFLINES_DEFAULT           0

//
// DXB_REGKEY_LINE_BASE and DXB_REGKEY_LINE_ENUM_FIRST are used to build the Line keynames, i.e. 0, 1, etc.
//
#define DXB_REGKEY_LINE_BASE                       TEXT( "" )
#define DXB_REGKEY_LINE_ENUM_FIRST                 '0'

#define DXB_REGVAL_LINE_SNID                       TEXT( "Snid" )
#define DXB_REGVAL_LINE_SNID_TYPE                  REG_DWORD
#define DXB_REGVAL_LINE_SNID_ENUM_FIRST            1

//
// MGMTHLC.H: ds1_config_t
//
#define DXB_REGKEY_DS1                             TEXT( "DS1" )                    // used to be CSUDSU
#define DXB_REGVAL_DS1_CODING                      TEXT( "coding" )
#define DXB_REGVAL_DS1_CODING_TYPE                 REG_DWORD
#define DXB_REGVAL_DS1_FRAMING                     TEXT( "framing" )
#define DXB_REGVAL_DS1_FRAMING_TYPE                REG_DWORD
#define DXB_REGVAL_DS1_IF_TYPE                     TEXT( "if_type" )
#define DXB_REGVAL_DS1_IF_TYPE_TYPE                REG_DWORD
#define DXB_REGVAL_DS1_LONG_HAUL_LBO               TEXT( "long_haul_lbo" )
#define DXB_REGVAL_DS1_LONG_HAUL_LBO_TYPE          REG_DWORD
#define DXB_REGVAL_DS1_SHORT_HAUL_LEN              TEXT( "short_haul_len" )
#define DXB_REGVAL_DS1_SHORT_HAUL_LEN_TYPE         REG_DWORD
#define DXB_REGVAL_DS1_SIGNALLING                  TEXT( "signalling" )
#define DXB_REGVAL_DS1_SIGNALLING_TYPE             REG_DWORD
#define DXB_REGVAL_DS1_WINK_DIGITS                 TEXT( "wink_digits" )
#define DXB_REGVAL_DS1_WINK_DIGITS_TYPE            REG_DWORD
#define DXB_REGVAL_DS1_CLOCKING                    TEXT( "clocking" )
#define DXB_REGVAL_DS1_CLOCKING_TYPE               REG_DWORD
#define DXB_REGVAL_DS1_JITTER_ATTEN                TEXT( "jitter_atten" )
#define DXB_REGVAL_DS1_JITTER_ATTEN_TYPE           REG_DWORD
#define DXB_REGVAL_DS1_EQ_GAIN_LIMIT               TEXT( "eq_gain_limit" )
#define DXB_REGVAL_DS1_EQ_GAIN_LIMIT_TYPE          REG_DWORD
#define DXB_REGVAL_DS1_LEASED_MASK                 TEXT( "leased_mask" )
#define DXB_REGVAL_DS1_LEASED_MASK_TYPE            REG_DWORD
#define DXB_REGVAL_DS1_NFAS_MASTER_PORT            TEXT( "nfas_master_port" )
#define DXB_REGVAL_DS1_NFAS_MASTER_PORT_TYPE       REG_DWORD
#define DXB_REGVAL_DS1_NFAS_INTERFACE_ID           TEXT( "nfas_interface_id" )
#define DXB_REGVAL_DS1_NFAS_INTERFACE_ID_TYPE      REG_DWORD

//
// MGMTHLC.H: dchan_ext_config_t
//
#define DXB_REGKEY_DCHAN                           TEXT( "DChannel" )
#define DXB_REGVAL_DCHAN_MODE                      TEXT( "mode" )
#define DXB_REGVAL_DCHAN_MODE_TYPE                 REG_DWORD
#define DXB_REGVAL_DCHAN_ADDRESS_TYPE              TEXT( "address_type" )
#define DXB_REGVAL_DCHAN_ADDRESS_TYPE_TYPE         REG_DWORD
#define DXB_REGVAL_DCHAN_NUMBERING_PLAN            TEXT( "numbering_plan" )
#define DXB_REGVAL_DCHAN_NUMBERING_PLAN_TYPE       REG_DWORD
#define DXB_REGVAL_DCHAN_SUBADDRESS_TYPE           TEXT( "subaddress_type" )
#define DXB_REGVAL_DCHAN_SUBADDRESS_TYPE_TYPE      REG_DWORD

//
// MGMTHLC.H: ds1_e1r2_config_t
//
#define DXB_REGKEY_E1R2                            TEXT( "E1R2" )
#define DXB_REGVAL_E1R2_SIGNALLING                 TEXT( "reserved_0" )
#define DXB_REGVAL_E1R2_SIGNALLING_TYPE            REG_DWORD
#define DXB_REGVAL_E1R2_SWITCH_TYPE                TEXT( "r2_switch_type" )
#define DXB_REGVAL_E1R2_SWITCH_TYPE_TYPE           REG_DWORD
#define DXB_REGVAL_E1R2_METHOD                     TEXT( "r2_method" )
#define DXB_REGVAL_E1R2_METHOD_TYPE                REG_DWORD
#define DXB_REGVAL_E1R2_CD_BITS                    TEXT( "r2_cd_bits" )
#define DXB_REGVAL_E1R2_CD_BITS_TYPE               REG_DWORD
#define DXB_REGVAL_E1R2_MIN_DNIS                   TEXT( "min_dnis_digits" )
#define DXB_REGVAL_E1R2_MIN_DNIS_TYPE              REG_DWORD
#define DXB_REGVAL_E1R2_MAX_DNIS                   TEXT( "max_dnis_digits" )
#define DXB_REGVAL_E1R2_MAX_DNIS_TYPE              REG_DWORD
#define DXB_REGVAL_E1R2_MIN_ANI                    TEXT( "min_ani_digits" )
#define DXB_REGVAL_E1R2_MIN_ANI_TYPE               REG_DWORD
#define DXB_REGVAL_E1R2_MAX_ANI                    TEXT( "max_ani_digits" )
#define DXB_REGVAL_E1R2_MAX_ANI_TYPE               REG_DWORD
#define DXB_REGVAL_E1R2_SEND_ANI                   TEXT( "send_ani_digits" )
#define DXB_REGVAL_E1R2_SEND_ANI_TYPE              REG_DWORD
#define DXB_REGVAL_E1R2_ANI_SIGNAL                 TEXT( "ani_digit_signal" )
#define DXB_REGVAL_E1R2_ANI_SIGNAL_TYPE            REG_DWORD
#define DXB_REGVAL_E1R2_ANSWER_SIGNAL              TEXT( "answer_signal" )
#define DXB_REGVAL_E1R2_ANSWER_SIGNAL_TYPE         REG_DWORD
#define DXB_REGVAL_E1R2_END_DNIS_SIGNAL            TEXT( "end_dnis_signal" )
#define DXB_REGVAL_E1R2_END_DNIS_SIGNAL_TYPE       REG_DWORD
#define DXB_REGVAL_E1R2_BUSY_SIGNAL                TEXT( "busy_signal" )
#define DXB_REGVAL_E1R2_BUSY_SIGNAL_TYPE           REG_DWORD
#define DXB_REGVAL_E1R2_OUTGOING_TYPE              TEXT( "outgoing_type" )
#define DXB_REGVAL_E1R2_OUTGOING_TYPE_TYPE         REG_DWORD
#define DXB_REGVAL_E1R2_CONGESTION_SIGNAL          TEXT( "congestion_signal" )
#define DXB_REGVAL_E1R2_CONGESTION_SIGNAL_TYPE     REG_DWORD

//
// MGMTHLC.H: bri_config_t
//
#define DXB_REGKEY_BRI                             TEXT( "BRI" )
#define DXB_REGVAL_BRI_SWITCH_TYPE                 TEXT( "switch_type" )
#define DXB_REGVAL_BRI_SWITCH_TYPE_TYPE            REG_DWORD
#define DXB_REGVAL_BRI_AUTO_SPID                   TEXT( "auto_spid" )
#define DXB_REGVAL_BRI_AUTO_SPID_TYPE              REG_DWORD
#define DXB_REGVAL_BRI_LEASED_MASK                 TEXT( "leased_mask" )
#define DXB_REGVAL_BRI_LEASED_MASK_TYPE            REG_DWORD

#define DXB_REGKEY_BRI_DIRECTORY_BASE              TEXT( "" )
#define DXB_REGKEY_BRI_DIRECTORY_ENUM_FIRST        '0'
#define DXB_REGVAL_BRI_DIRECTORY_NUMBER            TEXT( "number" )
#define DXB_REGVAL_BRI_DIRECTORY_NUMBER_TYPE       REG_SZ
#define DXB_REGVAL_BRI_DIRECTORY_SUB_ADDRESS       TEXT( "sub_address" )
#define DXB_REGVAL_BRI_DIRECTORY_SUB_ADDRESS_TYPE  REG_SZ
#define DXB_REGVAL_BRI_DIRECTORY_SPID              TEXT( "spid" )
#define DXB_REGVAL_BRI_DIRECTORY_SPID_TYPE         REG_SZ

#define DXB_REGVAL_BRI_DIR_COUNT                   TEXT( "dir_count" )
#define DXB_REGVAL_BRI_DIR_COUNT_TYPE              REG_DWORD
#define DXB_REGVAL_BRI_MSN                         TEXT( "msn" )
#define DXB_REGVAL_BRI_MSN_TYPE                    REG_DWORD
#define DXB_REGVAL_BRI_AUTOALERT                   TEXT( "autoalert" )
#define DXB_REGVAL_BRI_AUTOALERT_TYPE              REG_DWORD

//
// MGMTHLC.H: serial_config_t
//
#define DXB_REGKEY_SERIAL                          TEXT( "Serial" )
#define DXB_REGVAL_SERIAL_PORT_TYPE                TEXT( "port_type" )
#define DXB_REGVAL_SERIAL_PORT_TYPE_TYPE           REG_DWORD
#define DXB_REGVAL_SERIAL_CLOCK_SOURCE             TEXT( "clock_source" )
#define DXB_REGVAL_SERIAL_CLOCK_SOURCE_TYPE        REG_DWORD
#define DXB_REGVAL_SERIAL_ALT_PIN                  TEXT( "alt_pin" )
#define DXB_REGVAL_SERIAL_ALT_PIN_TYPE             REG_DWORD
#define DXB_REGVAL_SERIAL_ALT_PIN_DEFAULT          0x0


// Old-style config...shouldn't be used by HLC family
#define DXB_REGKEY_IL3                             TEXT( "IL3" )                    // used to be ISDN
#define DXB_REGVAL_IL3_INFO_TRANSFER_CAP_IN        TEXT( "info_transfer_cap_in" )
#define DXB_REGVAL_IL3_INFO_TRANSFER_CAP_IN_TYPE   REG_DWORD
#define DXB_REGVAL_IL3_INFO_TRANSFER_CAP_OUT       TEXT( "info_transfer_cap_out" )
#define DXB_REGVAL_IL3_INFO_TRANSFER_CAP_OUT_TYPE  REG_DWORD
#define DXB_REGVAL_IL3_NATIONALITY                 TEXT( "nationality" )
#define DXB_REGVAL_IL3_NATIONALITY_TYPE            REG_DWORD
#define DXB_REGVAL_IL3_NUMBERING_PLAN              TEXT( "numbering_plan" )
#define DXB_REGVAL_IL3_NUMBERING_PLAN_TYPE         REG_DWORD
#define DXB_REGVAL_IL3_NUMBEROFBCHANNELS           TEXT( "NumberOfBChannels" )
#define DXB_REGVAL_IL3_NUMBEROFBCHANNELS_TYPE      REG_DWORD
#define DXB_REGVAL_IL3_OPTIONS                     TEXT( "options" )
#define DXB_REGVAL_IL3_OPTIONS_TYPE                REG_DWORD
#define DXB_REGVAL_IL3_OPTIONS_EXTRA               TEXT( "options_extra" )
#define DXB_REGVAL_IL3_OPTIONS_EXTRA_TYPE          REG_DWORD
#define DXB_REGVAL_IL3_RATE                        TEXT( "rate" )
#define DXB_REGVAL_IL3_RATE_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T301                        TEXT( "T301" )
#define DXB_REGVAL_IL3_T301_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T303                        TEXT( "T303" )
#define DXB_REGVAL_IL3_T303_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T305                        TEXT( "T305" )
#define DXB_REGVAL_IL3_T305_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T308                        TEXT( "T308" )
#define DXB_REGVAL_IL3_T308_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T310                        TEXT( "T310" )
#define DXB_REGVAL_IL3_T310_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T313                        TEXT( "T313" )
#define DXB_REGVAL_IL3_T313_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T316                        TEXT( "T316" )
#define DXB_REGVAL_IL3_T316_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_T322                        TEXT( "T322" )
#define DXB_REGVAL_IL3_T322_TYPE                   REG_DWORD
#define DXB_REGVAL_IL3_TYPE_OF_ADDRESS             TEXT( "type_of_address" )
#define DXB_REGVAL_IL3_TYPE_OF_ADDRESS_TYPE        REG_DWORD
#define DXB_REGVAL_IL3_TYPE_OF_SUB_ADDRESS         TEXT( "type_of_sub_address" )
#define DXB_REGVAL_IL3_TYPE_OF_SUB_ADDRESS_TYPE    REG_DWORD


#define DXB_REGKEY_IWAN                            TEXT( "IWAN" )
#define DXB_REGVAL_IWAN_MAX_BUF_LEN                TEXT( "max_buf_len" )
#define DXB_REGVAL_IWAN_MAX_BUF_LEN_TYPE           REG_DWORD
#define DXB_REGVAL_IWAN_MAX_FRAME_LEN              TEXT( "max_frame_len" )
#define DXB_REGVAL_IWAN_MAX_FRAME_LEN_TYPE         REG_DWORD

#define DXB_REGKEY_LAPD                            TEXT( "LAPD" )
#define DXB_REGVAL_LAPD_ACK_DELAY                  TEXT( "ack_delay" )
#define DXB_REGVAL_LAPD_ACK_DELAY_TYPE             REG_DWORD
#define DXB_REGVAL_LAPD_LC_LAPD_SELECT             TEXT( "LC_LAPD_Select" )
#define DXB_REGVAL_LAPD_LC_LAPD_SELECT_TYPE        REG_DWORD
#define DXB_REGVAL_LAPD_LLCONFORM                  TEXT( "llconform" )
#define DXB_REGVAL_LAPD_LLCONFORM_TYPE             REG_DWORD
#define DXB_REGVAL_LAPD_LME_ENABLED                TEXT( "lme_enabled" )
#define DXB_REGVAL_LAPD_LME_ENABLED_TYPE           REG_DWORD
#define DXB_REGVAL_LAPD_MULTIPLE_TEI               TEXT( "multiple_tei" )
#define DXB_REGVAL_LAPD_MULTIPLE_TEI_TYPE          REG_DWORD
#define DXB_REGVAL_LAPD_N200                       TEXT( "N200" )
#define DXB_REGVAL_LAPD_N200_TYPE                  REG_DWORD
#define DXB_REGVAL_LAPD_N201                       TEXT( "N201" )
#define DXB_REGVAL_LAPD_N201_TYPE                  REG_DWORD
#define DXB_REGVAL_LAPD_N202                       TEXT( "N202" )
#define DXB_REGVAL_LAPD_N202_TYPE                  REG_DWORD
#define DXB_REGVAL_LAPD_NOTACK_MAX                 TEXT( "notack_max" )
#define DXB_REGVAL_LAPD_NOTACK_MAX_TYPE            REG_DWORD
#define DXB_REGVAL_LAPD_REM_BUSY_POLL              TEXT( "rem_busy_poll" )
#define DXB_REGVAL_LAPD_REM_BUSY_POLL_TYPE         REG_DWORD
#define DXB_REGVAL_LAPD_T200                       TEXT( "T200" )
#define DXB_REGVAL_LAPD_T200_TYPE                  REG_DWORD
#define DXB_REGVAL_LAPD_T202                       TEXT( "T202" )
#define DXB_REGVAL_LAPD_T202_TYPE                  REG_DWORD
#define DXB_REGVAL_LAPD_T203                       TEXT( "T203" )
#define DXB_REGVAL_LAPD_T203_TYPE                  REG_DWORD
#define DXB_REGVAL_LAPD_TX_WINDOW                  TEXT( "tx_window" )
#define DXB_REGVAL_LAPD_TX_WINDOW_TYPE             REG_DWORD


/*++

   DXB Adapter Registry Layout:

   NT 4.0:

      HKLM\SYSTEM\CurrentControlSet\Services\DigiDxbN    (where N = adapter instance)
         Parameters
            0
               Contains DigiDxb specific line settings, for example:

               DS1
                  coding: REG_DWORD: 1

               0
                  Contains DigiDxb specific port settings, if any
               1
               ...
               N                                         (where N = # of ports)
            1
            ...
            N                                            (where N = # of lines)

            ASYN
               Contains DigiAsyn specific settings for this adapter

               0
                  0
                  1
                  ...
                  N                                      (where N = # of ports)
               1
               ...
               N                                         (where N = # of lines)

            ISDN
               Contains DigiIsdn specific settings for this adapter

               0
                  0
                  1
                  ...
                  N                                      (where N = # of ports)
               1
               ...
               N                                         (where N = # of lines)


      HKLM\SYSTEM\CurrentControlSet\Services\DigiAsyn
         Parameters
            DigiDxbN                                     (where N = adapter instance)
               Adapter: REG_SZ: DigiDxbN                 (where N = adapter instance)
               RegPath: REG_SZ: SYSTEM\CurrentControlSet\Services\DigiDxbN\Parameters\ASYN

      HKLM\SYSTEM\CurrentControlSet\Services\DigiIsdnN   (where N = instance of the ISDN driver)
         Parameters
            Adapter: REG_SZ: DigiDxbN                    (where N = adapter instance)
            RegPath: REG_SZ: SYSTEM\CurrentControlSet\Services\DigiDxbN\Parameters\ISDN


   NOTE: The RegPath value above is used to redirect supporting drivers
          to the DigiDxb instance to which they are attached.

--*/

//
// Static config data area
//

#define DXB_REGKEY_SOFTWARE                     TEXT("SOFTWARE")
#define DXB_REGKEY_DIGI                         TEXT("Digi")
#define DXB_REGKEY_CURRENTVERSION               TEXT("CurrentVersion")
#define DXB_REGKEY_CONFIG                       TEXT("Config")

// i.e., SOFTWARE\Digi
#define DXB_REGKEY_SOFTWARE_DIGI                DXB_REGKEY_SOFTWARE TEXT("\\") DXB_REGKEY_DIGI
// i.e., SOFTWARE\Digi\DataFire_SYNC
#define DXB_REGKEY_SOFTWARE_WANLINKS            DXB_REGKEY_SOFTWARE_DIGI TEXT("\\") WANLINKS_PROJECT_NAME_TEXT
// i.e., SOFTWARE\Digi\DataFire_SYNC\CurrentVersion
#define DXB_REGKEY_SOFTWARE_CURRENTVERSION      DXB_REGKEY_SOFTWARE_WANLINKS TEXT("\\") DXB_REGKEY_CURRENTVERSION
// i.e., SOFTWARE\Digi\DataFire_SYNC\CurrentVersion\Config
#define DXB_REGKEY_CONFIG_DATA                  DXB_REGKEY_SOFTWARE_CURRENTVERSION TEXT("\\") DXB_REGKEY_CONFIG

// i.e., SOFTWARE\Digi\WAN Links
#define DXB_ORIGINAL_REGKEY_SOFTWARE_WANLINKS                                         \
                                                DXB_REGKEY_SOFTWARE TEXT("\\")        \
                                                DXB_REGKEY_DIGI TEXT("\\")            \
                                                WANLINKS_ORIGINAL_PROJECT_NAME_TEXT
// i.e., SOFTWARE\Digi\WAN Links\CurrentVersion
#define DXB_ORIGINAL_REGKEY_SOFTWARE_CURRENTVERSION                                   \
                                                DXB_ORIGINAL_REGKEY_SOFTWARE_WANLINKS \
												TEXT("\\")                            \
                                                DXB_REGKEY_CURRENTVERSION

#define DXB_REGVAL_MAJOR                        TEXT("Major")
#define DXB_REGVAL_MAJOR_TYPE                   REG_DWORD
#define DXB_REGVAL_MINOR                        TEXT("Minor")
#define DXB_REGVAL_MINOR_TYPE                   REG_DWORD
#define DXB_REGVAL_BUILD                        TEXT("Build")
#define DXB_REGVAL_BUILD_TYPE                   REG_DWORD
#define DXB_REGVAL_DATE                         TEXT("Date")
#define DXB_REGVAL_DATE_TYPE                    REG_MULTI_SZ

//
// Line Services Parameters
//
#define DXB_REGVAL_LINE_SERVICES                   TEXT( "LineServices" )
#define DXB_REGVAL_LINE_SERVICES_TYPE              REG_MULTI_SZ

#define DXB_REGVAL_LINE_SERVICES_ALLOWED           TEXT( "ServicesAllowed" )
#define DXB_REGVAL_LINE_SERVICES_ALLOWED_TYPE      REG_MULTI_SZ

#define DXB_REGVAL_LINE_SERVICE_ASYN               TEXT( "ASYN" )
#define DXB_REGVAL_LINE_SERVICE_ISDN               TEXT( "ISDN" )
#define DXB_REGVAL_LINE_SERVICE_PRI                TEXT( "PRI" )
#define DXB_REGVAL_LINE_SERVICE_BRI                TEXT( "BRI" )
#define DXB_REGVAL_LINE_SERVICE_FR                 TEXT( "FRService" )
#define DXB_REGVAL_LINE_SERVICE_X25                TEXT( "X25Service" )
#define DXB_REGVAL_LINE_SERVICE_X25_SVC            TEXT( "X25SvcService" )
#define DXB_REGVAL_LINE_SERVICE_SNA                TEXT( "SNAService" )
#define DXB_REGVAL_LINE_SERVICE_PPP                TEXT( "PPPService" )
#define DXB_REGVAL_LINE_SERVICE_NONE               TEXT( "NoneService" )
#define DXB_REGVAL_LINE_SERVICE_DEFAULT            DXB_REGVAL_LINE_SERVICE_NONE

//
// Port Parameters
//
#define DXB_REGVAL_PORT_TYPE                       TEXT( "PortType" )
#define DXB_REGVAL_PORT_TYPE_TYPE                  REG_SZ

#define DXB_REGVAL_MAX_PORTS                       TEXT( "MaxPorts" )
#define DXB_REGVAL_MAX_PORTS_TYPE                  REG_DWORD

#define DXB_REGVAL_PORT_TYPE_SERIAL                TEXT( "Serial" )
#define DXB_REGVAL_PORT_TYPE_STD_COM               TEXT( "StdCom" )
#define DXB_REGVAL_PORT_TYPE_BCHANNEL              TEXT( "BChannel" )
#define DXB_REGVAL_PORT_TYPE_FR                    TEXT( "FRPVC" )
#define DXB_REGVAL_PORT_TYPE_X25                   TEXT( "X25PVC" )
#define DXB_REGVAL_PORT_TYPE_NONE                  TEXT( "None" )
#define DXB_REGVAL_PORT_TYPE_DEFAULT               DXB_REGVAL_PORT_TYPE_NONE

//
// Router Parameters
//
#define DXB_REGVAL_ROUTER_TYPE                     TEXT("RouterType")
#define DXB_REGVAL_ROUTER_TYPE_TYPE                REG_SZ
#define DXB_REGVAL_ROUTER_TYPE_WANX                TEXT("WanX")
#define DXB_REGVAL_ROUTER_TYPE_NONE                TEXT( "None" )
#define DXB_REGVAL_ROUTER_TYPE_DEFAULT             DXB_REGVAL_ROUTER_TYPE_NONE
#define DXB_REGVAL_ROUTER_INSTANCE                 TEXT("RouterInstance")
#define DXB_REGVAL_ROUTER_INSTANCE_TYPE            REG_SZ

//
// Async Line/Port Configuration Parameters
//
#define DXB_REGKEY_ASYN                            DXB_REGVAL_LINE_SERVICE_ASYN

#define DXB_REGVAL_ASYN_CLOSETIMEOUT               TEXT( "CloseTimeOut" )
#define DXB_REGVAL_ASYN_CLOSETIMEOUT_TYPE          REG_DWORD
#define DXB_REGVAL_ASYN_CLOSETIMEOUT_DEFAULT       25
// 0x0 - do not wait, >0x0 - wait seconds, 0xffffffff - wait infinite
#define DXB_REGVAL_ASYN_COMPLETEWHENSENT           TEXT( "CompleteWhenSent" )
#define DXB_REGVAL_ASYN_COMPLETEWHENSENT_TYPE      REG_DWORD
#define DXB_REGVAL_ASYN_COMPLETEWHENSENT_DEFAULT   0x0
#define DXB_REGVAL_ASYN_DOSDEVICES                 TEXT( "DosDevices" )
#define DXB_REGVAL_ASYN_DOSDEVICES_TYPE            REG_SZ
#define DXB_REGVAL_ASYN_PURGEONCLOSE               TEXT( "PurgeOnClose" )
#define DXB_REGVAL_ASYN_PURGEONCLOSE_TYPE          REG_DWORD
#define DXB_REGVAL_ASYN_PURGEONCLOSE_DEFAULT       0x1
#define DXB_REGVAL_ASYN_MODEMDEVICE                TEXT( "InternalModem" )
#define DXB_REGVAL_ASYN_MODEMDEVICE_TYPE           REG_DWORD
#define DXB_REGVAL_ASYN_MODEMDEVICE_DEFAULT        0x0
// For AXp
#define DXB_REGVAL_ASYN_LOWLATENCY                 TEXT( "LowLatency" )
#define DXB_REGVAL_ASYN_LOWLATENCY_TYPE            REG_DWORD
#define DXB_REGVAL_ASYN_LOWLATENCY_DEFAULT         0x0

#define DXB_REGVAL_USE_INTERRUPTS                  TEXT( "UseInterrupts" )
#define DXB_REGVAL_USE_INTERRUPTS_TYPE             REG_DWORD
#define DXB_REGVAL_USE_INTERRUPTS_DEFAULT          0x0

#define DXB_REGVAL_COM_NUMBER                      TEXT( "ComNumber" )
#define DXB_REGVAL_COM_NUMBER_TYPE                 REG_DWORD
#define DXB_REGVAL_COM_NUMBER_DEFAULT              0x0

//
// Asyn Adapter Parameters
//
//
// Registry value to enable ISDN call control should be placed at the RegPath
//   SYSTEM\CurrentControlSet\Services\DigiDxbN\Parameters\ASYN (when N is the adapter instance)
//   This setting will apply to all serial ports on the adapter.
#define DXB_REGVAL_ASYN_ISDN_CC                    TEXT( "ISDNCallControl" )
#define DXB_REGVAL_ASYN_ISDN_CC_TYPE               REG_DWORD
#define DXB_REGVAL_ASYN_ISDN_CC_ENABLED            1
#define DXB_REGVAL_ASYN_ISDN_CC_DISABLED           0
#define DXB_REGVAL_ASYN_ISDN_CC_DEFAULT            DXB_REGVAL_ASYN_ISDN_CC_DISABLED

// added for NT5
#define DXB_REGVAL_ASYN_PORTNAME                   TEXT( "PortName" )
#define DXB_REGVAL_ASYN_PORTNAME_TYPE              REG_SZ
#define DXB_ASYN_FRIENDLY_NAME                     TEXT( "Digi Communication Port - ")
#define DXB_REGVAL_ASYN_SDXB_PORT                  TEXT( "SDxbPort" )

// Modem Registry keys
#define DXB_REGVAL_MODEM_ATTACHED_TO               TEXT( "AttachedTo" )
#define DXB_REGVAL_MODEM_DCB                       TEXT( "DCB" )
#define DXB_REGVAL_MODEM_DEFAULT                   TEXT( "Default" )
#define DXB_REGVAL_MODEM_LOGGING                   TEXT( "Logging" )
#define DXB_REGVAL_MODEM_LOGGING_PATH              TEXT( "LoggingPath" )
#define DXB_REGVAL_MODEM_MAXIMUM_PORT_SPEED        TEXT( "MaximumPortSpeed" )
#define DXB_REGVAL_MODEM_USER_INIT                 TEXT( "UserInit" )

//
// ISDN Line/Port Configuration Parameters
//
#define DXB_REGKEY_ISDN                            DXB_REGVAL_LINE_SERVICE_ISDN

#define DXB_REGVAL_ISDN_LINESPEED                  TEXT( "LineSpeed" )
#define DXB_REGVAL_ISDN_LINESPEED_TYPE             REG_DWORD
#define DXB_REGVAL_ISDN_LINESPEED_DEFAULT          0xfa00
#define DXB_REGVAL_ISDN_MAXSENDWINDOW              TEXT( "MaxSendWindow" )
#define DXB_REGVAL_ISDN_MAXSENDWINDOW_TYPE         REG_DWORD
#define DXB_REGVAL_ISDN_MAXSENDWINDOW_DEFAULT      0x4
#define DXB_REGVAL_ISDN_NUMVC                      TEXT( "NumVC" )
#define DXB_REGVAL_ISDN_NUMVC_TYPE                 REG_DWORD
#define DXB_REGVAL_ISDN_NUMVC_DEFAULT              23

// CSU Fractional T1 Specific Parameters
#define DXB_REGVAL_CSU_FRACT1_CAPABLE              TEXT( "FracT1Capable" )
#define DXB_REGVAL_CSU_FRACT1_CAPABLE_TYPE         REG_DWORD
#define DXB_REGVAL_CSU_FRACT1_CAPABLE_DEFAULT      0x0

#define DXB_REGVAL_CSU_FRACT1_TS_MASK              TEXT( "FracT1TimeSlotMask" )
#define DXB_REGVAL_CSU_FRACT1_TS_MASK_TYPE         REG_DWORD
#define DXB_REGVAL_CSU_FRACT1_TS_MASK_DEFAULT      0x00FFFFFF

#define DXB_REGVAL_CSU_FRACT1_SPD_MASK             TEXT( "FracT1SpeedMask" )
#define DXB_REGVAL_CSU_FRACT1_SPD_MASK_TYPE        REG_DWORD
#define DXB_REGVAL_CSU_FRACT1_SPD_MASK_DEFAULT     0x0

#define DXB_REGVAL_CSU_FRACT1_CKT_MASK             TEXT( "FracT1CircuitMask" )
#define DXB_REGVAL_CSU_FRACT1_CKT_MASK_TYPE        REG_DWORD
#define DXB_REGVAL_CSU_FRACT1_CKT_MASK_DEFAULT     0x00000001

#define DXB_REGVAL_CSU_FRACT1_CKT_COUNT            TEXT( "FracT1CircuitCount" )
#define DXB_REGVAL_CSU_FRACT1_CKT_COUNT_TYPE       REG_DWORD
#define DXB_REGVAL_CSU_FRACT1_CKT_COUNT_DEFAULT    0x00000001

#define DXB_REGKEY_CSU_FRACT1_SINGLE_CKT           DXB_REGKEY_DS1 TEXT("\\0")

#define DXB_REGVAL_LINESPEED                       TEXT( "LineSpeed" )
#define DXB_REGVAL_LINESPEED_TYPE                  REG_DWORD
#define DXB_REGVAL_LINESPEED_DEFAULT               0x0

// PLX 9054 Workaround
#define DXB_REGVAL_PLX_RELOAD_FLAG                 TEXT( "PLX9054ReloadFlag" )
#define DXB_REGVAL_PLX_RELOAD_FLAG_TYPE            REG_DWORD
#define DXB_REGVAL_PLX_RELOAD_FLAG_DEFAULT         0x0


#if NT5_BUILD
#define DXB_REDIRECTPATH_ROOT L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Class\\"
#else
#define DXB_REDIRECTPATH_ROOT L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\"
#endif

// Serialcomm Registry key macros
#define DIGI_DEVICENAME_PREFIX_TEXT                TEXT("\\Device\\")
#define WINNT_REGKEY_SERIALCOMM_TEXT               TEXT("HARDWARE\\DEVICEMAP\\SERIALCOMM")

#endif