/*****************************************************************************
* Copyright (c) 2000 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
*
*****************************************************************************/

#if !defined PNPFILEANDIDS_H_INCLUDED
#define PNPFILEANDIDS_H_INCLUDED
// PnpFileAndIds.h

#include "dxbbuildnumber.h"
#define Textizer(x) TEXT(#x)

// Plug and play manager hardware IDs and files names for:
// Digi AccelePort Xp, RAS and Sync Drivers for Windows 2000 (a.k.a. WANLinks)

#define NETCLASS	TEXT("Net")
#define MPSCLASS	TEXT("MultiPortSerial")

// INF files
#define NETDGDXB_INF TEXT("netdgdxb.inf")
#define DIGIMPS_INF  TEXT("digimps.inf")
#define DIGIASYN_INF TEXT("digiasyn.inf")
#define DIGIISDN_INF TEXT("digiisdn.inf")
#define DIGIPPP_INF  TEXT("digippp.inf")
#define DIGIPVC_INF  TEXT("digipvc.inf")
#define DIGISNA_INF  TEXT("digisna.inf")
#define DIGISVC_INF  TEXT("digisvc.inf")
#define DIGIMDM_INF  TEXT("mdmdgden.inf")
#define WANLINKS_INF_COPY_LIST \
   {NETDGDXB_INF},  \
   {DIGIMPS_INF},   \
   {DIGIASYN_INF},  \
   {DIGIISDN_INF},  \
   {DIGIPPP_INF},   \
   {DIGIPVC_INF},   \
   {DIGISNA_INF},   \
   {DIGISVC_INF},   \
   {DIGIMDM_INF},
// PAM Agent files
#define DIGI_PAMA TEXT("digipama.exe")
#define DIGI_SHIM TEXT("dxbmgt.dll")
#define WANLINKS_PAM_COPY_LIST \
   {DIGI_PAMA}, \
   {DIGI_SHIM},
// catalog file
#define WANLINKS_CAT_FILE  TEXT("netdgdxb.cat")
#define WANLINKS_CAT_FILE_COPY_LIST \
   {WANLINKS_CAT_FILE},
   // readme
#define WANLINKS_README    TEXT("readme.txt")
#define WANLINKS_README_COPY_LIST \
   {WANLINKS_README},
   // Drivers
#define WANLINKS_DXB_SYS   TEXT("sradxb.sys")
#define WANLINKS_SOH_SYS   TEXT("digisoh.sys")
#define WANLINKS_ISDN_SYS  TEXT("digiisdn.sys")
#define WANLINKS_ASYN_SYS  TEXT("digiasyn.sys")
#define WANLINKS_LAN_SYS   TEXT("digilan.sys")
#define WANLINKS_X25_SYS   TEXT("digix25.sys")
#define WANLINKS_SNA_SYS   TEXT("digisna.sys")
#define WANLINKS_PPP_SYS   TEXT("digiPPP.sys")
#define WANLINKS_DRIVER_COPY_LIST  \
   {WANLINKS_DXB_SYS},  \
   {WANLINKS_SOH_SYS},  \
   {WANLINKS_ISDN_SYS}, \
   {WANLINKS_ASYN_SYS}, \
   {WANLINKS_LAN_SYS},  \
   {WANLINKS_X25_SYS},  \
   {WANLINKS_SNA_SYS},  \
   {WANLINKS_PPP_SYS},
// FEP, BIOS
#define WANLINKS_BIOPRIME_BIN TEXT("bioprime.bin")
#define WANLINKS_FEPPRIME_BIN TEXT("fepprime.bin")
#define WANLINKS_FEPDENSE_BIN TEXT("fepdense.bin")
#define WANLINKS_FEPCLYDE_BIN TEXT("fepclyde.bin")
#define WANLINKS_FEPHERC_BIN  TEXT("fepherc.bin")
#define WANLINKS_BIN_COPY_LIST  \
   {WANLINKS_BIOPRIME_BIN},  \
   {WANLINKS_FEPPRIME_BIN},  \
   {WANLINKS_FEPDENSE_BIN},  \
   {WANLINKS_FEPCLYDE_BIN},  \
   {WANLINKS_FEPHERC_BIN},
// Coinstaller, name from dxbbuildnumber.h
#define WANLINKS_INF_DLL    DXBVER_COINSTALLER_TEXT
#define COCPY_INF_DLL       TEXT("cocpyinf.dll")
// Config DLLs
#define WANLINKS_FWRK_DLL  TEXT("digifwrk.dll")
#define WANLINKS_HLC_DLL   TEXT("digihlc.dll")
#define WANLINKS_DBP_DLL   TEXT("digidbp.dll")
#define WANLINKS_ISDN_DLL  TEXT("digiisdn.dll")
#define WANLINKS_ASYN_DLL  TEXT("digiasyn.dll")
#define WANLINKS_FRX_DLL   TEXT("digifrx.dll")
#define WANLINKS_CLYD_DLL  TEXT("digiclyd.dll")
#define WANLINKS_PPP_DLL   TEXT("digippp.dll")
#define WANLINKS_SNA_DLL   TEXT("digisna.dll")
#define WANLINKS_SDCFG_DLL TEXT("digsdcfg.dll")
#define WANLINKS_XCFG_DLL  TEXT("digxcfg.dll")
#define WANLINKS_CSNT_DLL  TEXT("digicsnt.dll")
#define WANLINKS_DLL_COPY_LIST  \
   {WANLINKS_INF_DLL},  \
   {COCPY_INF_DLL},  \
   {WANLINKS_FWRK_DLL}, \
   {WANLINKS_HLC_DLL},  \
   {WANLINKS_DBP_DLL},  \
   {WANLINKS_ISDN_DLL}, \
   {WANLINKS_ASYN_DLL}, \
   {WANLINKS_FRX_DLL},  \
   {WANLINKS_CLYD_DLL}, \
   {WANLINKS_PPP_DLL},  \
   {WANLINKS_SNA_DLL},  \
   {WANLINKS_SDCFG_DLL},\
   {WANLINKS_XCFG_DLL}, \
   {WANLINKS_CSNT_DLL},
// Help Files, CHM
#define WANLINKS_RAS_CHM   TEXT("digiras.chm")
#define WANLINKS_PAV_CHM   TEXT("digiview.chm")
#define WANLINKS_CHM_COPY_LIST  \
   {WANLINKS_RAS_CHM},  \
   {WANLINKS_PAV_CHM},
   // Diags
#define WANLINKS_PAV_DIAG           TEXT("digiview.exe")
#define WANLINKS_DGA_DIAG           TEXT("dgamode.exe")
#define WANLINKS_DM_BB_DIAG         TEXT("dm_bb.exe")
#define WANLINKS_MEMDMP_DIAG        TEXT("dxbmemdump.exe")
#define WANLINKS_SXBMEM_DIAG        TEXT("sxbmem.exe")
#define WANLINKS_CLYDE_KME_DIAG     TEXT("clyde.kme")
#define WANLINKS_HOUSTON_KME_DIAG   TEXT("houston.kme")
#define WANLINKS_SYNC_KME_DIAG      TEXT("sync.kme")
#define WANLINKS_RAS_AUDIO_DIAG     TEXT("rasaudio.exe")
#define WANLINKS_DIAG_COPY_LIST  \
   {WANLINKS_PAV_DIAG},          \
   {WANLINKS_DGA_DIAG},          \
   {WANLINKS_DM_BB_DIAG},        \
   {WANLINKS_MEMDMP_DIAG},       \
   {WANLINKS_SXBMEM_DIAG},       \
   {WANLINKS_CLYDE_KME_DIAG},    \
   {WANLINKS_HOUSTON_KME_DIAG},  \
   {WANLINKS_SYNC_KME_DIAG},     \
   {WANLINKS_RAS_AUDIO_DIAG},

// MFC DLLs, only needed for debug, the current free version is guaranteed to be on the system
#define WANLINKS_DBG_MFC_COPY_LIST \
   {TEXT("mfco42d.dll")},  \
   {TEXT("mfc42d.dll")},   \
   {TEXT("msvcrtd.dll")},

//
// Plug and play manager hardware IDs
//

//////////////////////////////////
// NET

// DataFire PRIme
#define PNPHWID_DFP_T1     TEXT("PCI\\VEN_114F&DEV_000C&SUBSYS_00000000")
#define PNPHWID_DFP_E1     TEXT("PCI\\VEN_114F&DEV_001A&SUBSYS_00000000")
// DataFire RAS PTE (Houston, T1, E1)
#define PNPHWID_DFR_30     TEXT("PCI\\VEN_114F&DEV_001D&SUBSYS_0050114F")
#define PNPHWID_DFR_60     TEXT("PCI\\VEN_114F&DEV_001D&SUBSYS_0051114F")
#define PNPHWID_DFR_24     TEXT("PCI\\VEN_114F&DEV_001D&SUBSYS_0052114F")
#define PNPHWID_DFR_48     TEXT("PCI\\VEN_114F&DEV_001D&SUBSYS_0053114F")
#define PNPHWID_DFR_30c    TEXT("PCI\\VEN_114F&DEV_0035&SUBSYS_0054114F")
#define PNPHWID_DFR_60c    TEXT("PCI\\VEN_114F&DEV_0035&SUBSYS_0055114F")
#define PNPHWID_DFR_24c    TEXT("PCI\\VEN_114F&DEV_0035&SUBSYS_0056114F")
#define PNPHWID_DFR_48c    TEXT("PCI\\VEN_114F&DEV_0035&SUBSYS_0057114F")
// DataFire RAS 4BST (London, BRI)
#define PNPHWID_DFR_4BU    TEXT("PCI\\VEN_114F&DEV_0024&SUBSYS_0030114F")
#define PNPHWID_DFR_4BST   TEXT("PCI\\VEN_114F&DEV_0024&SUBSYS_0031114F")
// Acceleport RAS (Chaska, POTS)
#define PNPHWID_AR_8_0     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0060114F")
#define PNPHWID_AR_4_0     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0061114F")
#define PNPHWID_AR_8_1     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0062114F")
#define PNPHWID_AR_4_1     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0063114F")
#define PNPHWID_AR_8_2     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0064114F")
#define PNPHWID_AR_4_2     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0065114F")
#define PNPHWID_AR_8_3     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0066114F")
#define PNPHWID_AR_4_3     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0067114F")
#define PNPHWID_AR_8_4     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0068114F")
#define PNPHWID_AR_4_4     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_0069114F")
#define PNPHWID_AR_8_5     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_006A114F")
#define PNPHWID_AR_4_5     TEXT("PCI\\VEN_114F&DEV_0023&SUBSYS_006B114F")
// SYNC 2000 (Clydesdale, Sync)
// Legacy PCI
#define PNPHWID_S2K_P4_OLD TEXT("PCI\\VEN_114F&DEV_001F&SUBSYS_00000000")
#define PNPHWID_S2K_P2_OLD TEXT("PCI\\VEN_114F&DEV_0020&SUBSYS_00000000")
#define PNPHWID_S2K_4_OLD  TEXT("PCI\\VEN_114F&DEV_0021&SUBSYS_00000000")
#define PNPHWID_S2K_2_OLD  TEXT("PCI\\VEN_114F&DEV_0022&SUBSYS_00000000")
// PCI
#define PNPHWID_S2K_P4     TEXT("PCI\\VEN_114F&DEV_001F&SUBSYS_001F114F")
#define PNPHWID_S2K_P2     TEXT("PCI\\VEN_114F&DEV_0020&SUBSYS_0020114F")
#define PNPHWID_S2K_4      TEXT("PCI\\VEN_114F&DEV_0021&SUBSYS_0021114F")
#define PNPHWID_S2K_2      TEXT("PCI\\VEN_114F&DEV_0022&SUBSYS_0022114F")
// cPCI
#define PNPHWID_S2K_P4c    TEXT("PCI\\VEN_114F&DEV_003A&SUBSYS_003A114F")
#define PNPHWID_S2K_P2c    TEXT("PCI\\VEN_114F&DEV_003B&SUBSYS_003B114F")
#define PNPHWID_S2K_4c     TEXT("PCI\\VEN_114F&DEV_003C&SUBSYS_003C114F")
#define PNPHWID_S2K_2c     TEXT("PCI\\VEN_114F&DEV_003D&SUBSYS_003D114F")
// PMC
#define PNPHWID_S2K_P2p    TEXT("PCI\\VEN_114F&DEV_0080&SUBSYS_0080114F")
#define PNPHWID_S2K_2p     TEXT("PCI\\VEN_114F&DEV_0081&SUBSYS_0081114F")
// SYNC/570 (non-intelligent, Sync, DigiSOH)
#define PNPHWID_S570_2     TEXT("PCI\\VEN_114F&DEV_5012&SUBSYS_00000000")
#define PNPHWID_S570_4     TEXT("PCI\\VEN_114F&DEV_5013&SUBSYS_00000000")

#define WANLINKS_PRIME_ID_LIST \
   {PNPHWID_DFP_T1},    \
   {PNPHWID_DFP_E1},

#define WANLINKS_HLC_ID_LIST \
   {PNPHWID_DFR_30},    \
   {PNPHWID_DFR_60},    \
   {PNPHWID_DFR_24},    \
   {PNPHWID_DFR_48},    \
   {PNPHWID_DFR_30c},   \
   {PNPHWID_DFR_60c},   \
   {PNPHWID_DFR_24c},   \
   {PNPHWID_DFR_48c},   \
   {PNPHWID_DFR_4BU},   \
   {PNPHWID_DFR_4BST},  \
   {PNPHWID_AR_8_0},    \
   {PNPHWID_AR_4_0},    \
   {PNPHWID_AR_8_1},    \
   {PNPHWID_AR_4_1},    \
   {PNPHWID_AR_8_2},    \
   {PNPHWID_AR_4_2},    \
   {PNPHWID_AR_8_3},    \
   {PNPHWID_AR_4_3},    \
   {PNPHWID_AR_8_4},    \
   {PNPHWID_AR_4_4},    \
   {PNPHWID_AR_8_5},    \
   {PNPHWID_AR_4_5},

#define WANLINKS_SYNC_ID_LIST \
   {PNPHWID_S2K_P4_OLD},\
   {PNPHWID_S2K_P2_OLD},\
   {PNPHWID_S2K_4_OLD}, \
   {PNPHWID_S2K_2_OLD}, \
   {PNPHWID_S2K_P4},    \
   {PNPHWID_S2K_P2},    \
   {PNPHWID_S2K_4},     \
   {PNPHWID_S2K_2},     \
   {PNPHWID_S2K_P4c},   \
   {PNPHWID_S2K_P2c},   \
   {PNPHWID_S2K_4c},    \
   {PNPHWID_S2K_2c},    \
   {PNPHWID_S2K_P2p},   \
   {PNPHWID_S2K_2p},    \
   {PNPHWID_S570_2},    \
   {PNPHWID_S570_4},

#define WANLINKS_NET_ID_LIST \
   WANLINKS_PRIME_ID_LIST \
   WANLINKS_HLC_ID_LIST \
   WANLINKS_SYNC_ID_LIST

#define WANLINKS_NET_ID_AND_INF_LIST \
   {PNPHWID_DFP_T1,NETDGDXB_INF},    \
   {PNPHWID_DFP_E1,NETDGDXB_INF},    \
   {PNPHWID_DFR_30,NETDGDXB_INF},    \
   {PNPHWID_DFR_60,NETDGDXB_INF},    \
   {PNPHWID_DFR_24,NETDGDXB_INF},    \
   {PNPHWID_DFR_48,NETDGDXB_INF},    \
   {PNPHWID_DFR_30c,NETDGDXB_INF},   \
   {PNPHWID_DFR_60c,NETDGDXB_INF},   \
   {PNPHWID_DFR_24c,NETDGDXB_INF},   \
   {PNPHWID_DFR_48c,NETDGDXB_INF},   \
   {PNPHWID_DFR_4BU,NETDGDXB_INF},   \
   {PNPHWID_DFR_4BST,NETDGDXB_INF},  \
   {PNPHWID_AR_8_0,NETDGDXB_INF},    \
   {PNPHWID_AR_4_0,NETDGDXB_INF},    \
   {PNPHWID_AR_8_1,NETDGDXB_INF},    \
   {PNPHWID_AR_4_1,NETDGDXB_INF},    \
   {PNPHWID_AR_8_2,NETDGDXB_INF},    \
   {PNPHWID_AR_4_2,NETDGDXB_INF},    \
   {PNPHWID_AR_8_3,NETDGDXB_INF},    \
   {PNPHWID_AR_4_3,NETDGDXB_INF},    \
   {PNPHWID_AR_8_4,NETDGDXB_INF},    \
   {PNPHWID_AR_4_4,NETDGDXB_INF},    \
   {PNPHWID_AR_8_5,NETDGDXB_INF},    \
   {PNPHWID_AR_4_5,NETDGDXB_INF},    \
   {PNPHWID_S2K_P4_OLD,NETDGDXB_INF},    \
   {PNPHWID_S2K_P2_OLD,NETDGDXB_INF},    \
   {PNPHWID_S2K_4_OLD,NETDGDXB_INF},     \
   {PNPHWID_S2K_2_OLD,NETDGDXB_INF},     \
   {PNPHWID_S2K_P4,NETDGDXB_INF},    \
   {PNPHWID_S2K_P2,NETDGDXB_INF},    \
   {PNPHWID_S2K_4,NETDGDXB_INF},     \
   {PNPHWID_S2K_2,NETDGDXB_INF},     \
   {PNPHWID_S2K_P4c,NETDGDXB_INF},   \
   {PNPHWID_S2K_P2c,NETDGDXB_INF},   \
   {PNPHWID_S2K_4c,NETDGDXB_INF},    \
   {PNPHWID_S2K_2c,NETDGDXB_INF},    \
   {PNPHWID_S2K_P2p,NETDGDXB_INF},   \
   {PNPHWID_S2K_2p,NETDGDXB_INF},    \
   {PNPHWID_S570_2,NETDGDXB_INF},    \
   {PNPHWID_S570_4,NETDGDXB_INF},

//////////////////////////////////
// MPS

// Acceleport Xp (Hercules, ASYNC)
#define PNPHWID_AXP_2      TEXT("PCI\\VEN_114F&DEV_0040&SUBSYS_0042114F")
#define PNPHWID_AXP_4      TEXT("PCI\\VEN_114F&DEV_0040&SUBSYS_0043114F")
#define PNPHWID_AXP_8      TEXT("PCI\\VEN_114F&DEV_0040&SUBSYS_0044114F")
#define PNPHWID_AXP_16     TEXT("PCI\\VEN_114F&DEV_0040&SUBSYS_0045114F")

// MPS ID List
#define WANLINKS_MPS_ID_LIST \
   {PNPHWID_AXP_2},   \
   {PNPHWID_AXP_4},   \
   {PNPHWID_AXP_8},   \
   {PNPHWID_AXP_16},

#define WANLINKS_MPS_ID_AND_INF_LIST \
   {PNPHWID_AXP_2,DIGIMPS_INF},   \
   {PNPHWID_AXP_4,DIGIMPS_INF},   \
   {PNPHWID_AXP_8,DIGIMPS_INF},   \
   {PNPHWID_AXP_16,DIGIMPS_INF},

#define WANLINKS_XP_ID_LIST WANLINKS_MPS_ID_LIST

//////////////////////////////////
// Client Driver Hardware IDs

#define PNPHWID_ASYN TEXT("DXB\\DIGIASYN")
#define PNPHWID_T1   TEXT("DXB\\DIGIT1")
#define PNPHWID_E1   TEXT("DXB\\DIGIE1")
#define PNPHWID_BRI  TEXT("DXB\\DIGIBRI")
#define PNPHWID_PPP  TEXT("DXB\\DIGIPPP")
#define PNPHWID_PPPC TEXT("DXB\\DIGIPPPC")
#define PNPHWID_FR   TEXT("DXB\\DIGIPFR")
#define PNPHWID_X25  TEXT("DXB\\DIGIPX25")
#define PNPHWID_SNA  TEXT("DXB\\DIGISNA")
#define PNPHWID_SVC  TEXT("DXB\\DIGISVC")
#define PNPHWID_SVC1 TEXT("DXB\\DIGISVC1")
#define PNPHWID_SVC2 TEXT("DXB\\DIGISVC2")
#define PNPHWID_PPP_SOH  TEXT("SOH\\DIGIPPP")
#define PNPHWID_FR_SOH   TEXT("SOH\\DIGIPFR")
#define PNPHWID_X25_SOH  TEXT("SOH\\DIGIPX25")
#define PNPHWID_SNA_SOH  TEXT("SOH\\DIGISNA")
#define PNPHWID_SVC_SOH  TEXT("SOH\\DIGISVC")
#define PNPHWID_SVC1_SOH TEXT("SOH\\DIGISVC1")
#define PNPHWID_SVC2_SOH TEXT("SOH\\DIGISVC2")

#define WANLINKS_CLIENT_ID_AND_INF_LIST \
   {PNPHWID_ASYN,DIGIASYN_INF},    \
   {PNPHWID_T1,DIGIISDN_INF},      \
   {PNPHWID_E1,DIGIISDN_INF},      \
   {PNPHWID_BRI,DIGIISDN_INF},     \
   {PNPHWID_PPP,DIGIPPP_INF},      \
   {PNPHWID_PPPC,DIGIPPP_INF},     \
   {PNPHWID_FR,DIGIPVC_INF},       \
   {PNPHWID_X25,DIGIPVC_INF},      \
   {PNPHWID_SNA,DIGISNA_INF},      \
   {PNPHWID_SVC,DIGISVC_INF},      \
   {PNPHWID_SVC1,DIGISVC_INF},     \
   {PNPHWID_SVC2,DIGISVC_INF},     \
   {PNPHWID_PPP_SOH,DIGIPPP_INF},  \
   {PNPHWID_FR_SOH,DIGIPVC_INF},   \
   {PNPHWID_X25_SOH,DIGIPVC_INF},  \
   {PNPHWID_SNA_SOH,DIGISNA_INF},  \
   {PNPHWID_SVC_SOH,DIGISVC_INF},  \
   {PNPHWID_SVC1_SOH,DIGISVC_INF}, \
   {PNPHWID_SVC2_SOH,DIGISVC_INF},


#endif // #if !defined PNPFILEANDIDS_H_INCLUDED
