OEMSETUP.INF Driver File Contents (em110_d1.zip)

;---------------------------------------------------------------------------
; OEMSETUP file for Adaptec PCI Ethernet/Fast Ethernet Adapters
;
; Copyright 1994-1997, Adaptec, Inc.
;
; Supported Windows NT versions:
;   3.51 or later
;
; Supported Adaptec PCI adapters:
;   DC21040 based boards - ANA6901, ANA6901/C
;                          ANA6904/TP, ANA6904/BNC
;   DC21041 based boards - ANA6901A, ANA6901A/C
;   DC21140 based boards - (100 Mbps only)  ANA6910/TX, ANA6910/FX, ANA6940/TX
;                          (10/100 Mbps TX) ANA6911/TX, ANA6911/TXC, ANA6944/TX
;                          (10/100 Mbps T4) ANA6911/T4, ANA6911/T4C, ANA6944/T4
;                          (10/100 Mbps TX/T4) ANA6911/UC
;   DC21143 based boards   (10/100 Mbps TX) ANA6911A/TX, ANA6911A/TXC
;
;
; Usage:
;
;     This file is the installation/configuration/deinstallation
;     procedure of the Adaptec EMPCI miniport driver for Windows NT.
;     It can be called from Windows Setup directly, or via the Windows
;     NT Networks Control Program Applet (NCPA) from inside the Windows
;     Control Panel.
;
;---------------------------------------------------------------------------
[Identification]
    OptionType = NetAdapter

[PlatformsSupported]
    ISA
    EISA
    "Jazz-Internal Bus"
    PCI

[Options]

ANA69XX         ; Any Adaptec PCI Ethernet/Fast Ethernet Adapter
ANA6901A        ; PCI 10 Mb
ANA6901AC       ; PCI 10 Mb Combo
ANA6901TP       ; PCI 10 Mb Twisted Pair
ANA6901C        ; PCI 10 Mb Combo
ANA6904TP       ; PCI 10 Mb Twisted Pair 4-port
ANA6904BNC      ; PCI 10 Mb BNC 4-port
ANA6910TX       ; PCI 100 Mb TX
ANA6940TX       ; PCI 100 Mb TX 4-port
ANA6910FX       ; PCI 100 Mb FX
ANA6911TX       ; PCI 10/100 Mb TX
ANA6911TXC      ; PCI 10/100 Mb TX Combo
ANA6911T4       ; PCI 10/100 Mb T4
ANA6911T4C      ; PCI 10/100 Mb T4 Combo
ANA6944T4       ; PCI 10/100 Mb T4 4-port
ANA6944ATX      ; PCI 10/100 Mb TX 4-port
ANA6911UC       ; PCI 10/100 Mb TX/T4 Ultimate Combo
ANA6911ATX      ; PCI 10/100 Mb TX
ANA6911ATXC     ; PCI 10/100 Mb TX Combo


[ConnectionChoicesANA69XX]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6901A]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6901AC]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6901TP]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6901C]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6904TP]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6904BNC]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6910TX]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6940TX]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6910FX]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6911TX]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6911TXC]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6911T4]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6911T4C]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6944T4]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6944ATX]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6911UC]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6911ATX]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[ConnectionChoicesANA6911ATXC]
    Connect_0 = "Autodetect Default Connection",8
    Connect_1 = "InitSense/Half Duplex", 0
    Connect_2 = "InitSense/Full Duplex", 256
    Connect_3 = "ActiveSense/Half Duplex", 128
    Connect_4 = "ActiveSense/Full Duplex", 384
    Connect_5 = "10 Mbps UTP/Half Duplex", 3
    Connect_6 = "10 Mbps UTP/Full Duplex", 259
    Connect_7 = "100 Mbps/Half Duplex", 15
    Connect_8 = "100 Mbps/Full Duplex", 271
    Connect_9 = "THIN", 2
    Connect_10= "THICK", 1

[CFIDS]
DC21040CFID = 135185        ;; 0x00021011
DC21041CFID = 1314833       ;; 0x00141011
DC21140CFID = 593937        ;; 0x00091011
DC21143CFID = 1642513       ;; 0x00191011



[FileConstants]
;---General--- 
UtilityInf      = "UTILITY.INF"
subroutineinf   = "SUBROUTN.INF"
SoftwareType    = "driver"
Exit_Code       = 0
ForbmonEXE      = $(!STF_WINDOWSSYSPATH)\forbmon.exe
NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
Manufacturer    = "Adaptec"
ProductMajorVersion     = "2"
ProductMinorVersion     = "3"
ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
VendorID = 4113  ;; 1011
OptionHelpFile = "EMPCI.hlp"

;---Software---
ProductSoftwareName     = "EMPCI"
ProductSoftwareTitle    = "Adaptec EMPCI Adapter Driver"
ProductSoftwareImagePath = "\SystemRoot\System32\drivers\EMPCI.sys"
NetRuleSoftwareType     = "EMPCISys ndisDriver EMPCIDriver"
NetRuleSoftwareUse      = $(SoftwareType)
NetRuleSoftwareBindForm = """EMPCISys"" yes no container"
NetRuleSoftwareClass    = {"EMPCIDriver basic"}
NetRuleSoftwareSWBindable = {"EMPCIDriver EMPCIAdapter non exclusive 100"}


;---Hardware---
ProductHardwareName = "EMPCI"

FunctionANA69XXTitle = "Adaptec Ethernet/Fast Ethernet Configuration"
ProductHardwareANA69XXTitle = "Adaptec PCI Ethernet/Fast Ethernet Adapter"
ProductHardwareANA69XXDescription = "Adaptec PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA69XXType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA69XXClass = {"EMPCIAdapter basic"}
AdapterANA69XXType = 5  ;; PCI board
HelpANA69XXId = 10

FunctionANA6901ATitle = "Adaptec ANA6901A Configuration"
ProductHardwareANA6901ATitle = "Adaptec ANA6901A"
ProductHardwareANA6901ADescription = "Adaptec ANA6901 PCI Ethernet Adapter"
NetRuleHardwareANA6901AType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6901AClass = {"EMPCIAdapter basic"}
AdapterANA6901AType = 5  ;; PCI board
HelpANA6901AId = 10

FunctionANA6901ACTitle = "Adaptec ANA6901A/C Configuration"
ProductHardwareANA6901ACTitle = "Adaptec ANA6901A/C"
ProductHardwareANA6901ACDescription = "Adaptec ANA6901AC PCI Ethernet Adapter"
NetRuleHardwareANA6901ACType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6901ACClass = {"EMPCIAdapter basic"}
AdapterANA6901ACType = 5  ;; PCI board
HelpANA6901ACId = 10

FunctionANA6901TPTitle = "Adaptec ANA6901/TP Configuration"
ProductHardwareANA6901TPTitle = "Adaptec ANA6901/TP"
ProductHardwareANA6901TPDescription = "Adaptec ANA6901/TP PCI Ethernet Adapter"
NetRuleHardwareANA6901TPType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6901TPClass = {"EMPCIAdapter basic"}
AdapterANA6901TPType = 5  ;; PCI board
HelpANA6901TPId = 10

FunctionANA6901CTitle = "Adaptec ANA6901/C Configuration"
ProductHardwareANA6901CTitle = "Adaptec ANA6901/C"
ProductHardwareANA6901CDescription = "Adaptec ANA6901C PCI Ethernet Adapter"
NetRuleHardwareANA6901CType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6901CClass = {"EMPCIAdapter basic"}
AdapterANA6901CType = 5  ;; PCI board
HelpANA6901CId = 10

FunctionANA6904TPTitle = "Adaptec ANA6904/TP Configuration"
ProductHardwareANA6904TPTitle = "Adaptec ANA6904/TP"
ProductHardwareANA6904TPDescription = "Adaptec ANA6904/TP Quartet PCI Ethernet Adapter"
NetRuleHardwareANA6904TPType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6904TPClass = {"EMPCIAdapter basic"}
AdapterANA6904TPType = 5  ;; PCI board
HelpANA6904TPId = 10

FunctionANA6904BNCTitle = "Adaptec ANA6904/BNC Configuration"
ProductHardwareANA6904BNCTitle = "Adaptec ANA6904/BNC"
ProductHardwareANA6904BNCDescription = "Adaptec ANA6904 Quartet PCI Ethernet Adapter"
NetRuleHardwareANA6904BNCType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6904BNCClass = {"EMPCIAdapter basic"}
AdapterANA6904BNCType = 5  ;; PCI board
HelpANA6904BNCId = 10

FunctionANA6910TXTitle = "Adaptec ANA6910/TX Configuration"
ProductHardwareANA6910TXTitle = "Adaptec ANA6910/TX"
ProductHardwareANA6910TXDescription = "Adaptec ANA6910/TX PCI Fast Ethernet Adapter"
NetRuleHardwareANA6910TXType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6910TXClass = {"EMPCIAdapter basic"}
AdapterANA6910TXType = 5  ;; PCI board
HelpANA6910TXId = 10

FunctionANA6940TXTitle = "Adaptec ANA6940/TX Configuration"
ProductHardwareANA6940TXTitle = "Adaptec ANA6940/TX"
ProductHardwareANA6940TXDescription = "Adaptec ANA6940/TX Quartet PCI Fast Ethernet Adapter"
NetRuleHardwareANA6940TXType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6940TXClass = {"EMPCIAdapter basic"}
AdapterANA6940TXType = 5  ;; PCI board
HelpANA6940TXId = 10

FunctionANA6910FXTitle = "Adaptec ANA6910/FX Configuration"
ProductHardwareANA6910FXTitle = "Adaptec ANA6910/FX"
ProductHardwareANA6910FXDescription = "Adaptec ANA6910/FX PCI Fast Ethernet Adapter"
NetRuleHardwareANA6910FXType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6910FXClass = {"EMPCIAdapter basic"}
AdapterANA6910FXType = 5  ;; PCI board
HelpANA6910FXId = 10

FunctionANA6911TXTitle = "Adaptec ANA6911/TX Configuration"
ProductHardwareANA6911TXTitle = "Adaptec ANA6911/TX"
ProductHardwareANA6911TXDescription = "Adaptec ANA6911/TX PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6911TXType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6911TXClass = {"EMPCIAdapter basic"}
AdapterANA6911TXType = 5  ;; PCI board
HelpANA6911TXId = 10

FunctionANA6911TXCTitle = "Adaptec ANA6911/TXC Configuration"
ProductHardwareANA6911TXCTitle = "Adaptec ANA6911/TXC"
ProductHardwareANA6911TXCDescription = "Adaptec ANA6911/TXC PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6911TXCType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6911TXCClass = {"EMPCIAdapter basic"}
AdapterANA6911TXCType = 5  ;; PCI board
HelpANA6911TXCId = 10

FunctionANA6911T4Title = "Adaptec ANA6911/T4 Configuration"
ProductHardwareANA6911T4Title = "Adaptec ANA6911/T4"
ProductHardwareANA6911T4Description = "Adaptec ANA6911/T4 PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6911T4Type  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6911T4Class = {"EMPCIAdapter basic"}
AdapterANA6911T4Type = 5  ;; PCI board
HelpANA6911T4Id = 10

FunctionANA6911T4CTitle = "Adaptec ANA6911/T4C Configuration"
ProductHardwareANA6911T4CTitle = "Adaptec ANA6911/T4C"
ProductHardwareANA6911T4CDescription = "Adaptec ANA6911/T4C PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6911T4CType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6911T4CClass = {"EMPCIAdapter basic"}
AdapterANA6911T4CType = 5  ;; PCI board
HelpANA6911T4CId = 10

FunctionANA6944T4CTitle = "Adaptec ANA6944/T4 Configuration"
ProductHardwareANA6944T4Title = "Adaptec ANA6944/T4"
ProductHardwareANA6944T4Description = "Adaptec ANA694/T4 Quartet PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6944T4Type  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6944T4Class = {"EMPCIAdapter basic"}
AdapterANA6944T4Type = 5  ;; PCI board
HelpANA6944T4Id = 10

FunctionANA6944ATXTitle = "Adaptec ANA6944A/TX Configuration"
ProductHardwareANA6944ATXTitle = "Adaptec ANA6944A/TX"
ProductHardwareANA6944ATXDescription = "Adaptec ANA6944A/TX Quartet PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6944ATXType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6944ATXClass = {"EMPCIAdapter basic"}
AdapterANA6944ATXType = 5  ;; PCI board
HelpANA6944ATXId = 10

FunctionANA6911UCTitle = "Adaptec ANA6911/UC Configuration"
ProductHardwareANA6911UCTitle = "Adaptec ANA6911/UC"
ProductHardwareANA6911UCDescription = "Adaptec ANA6911/UC PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6911UCType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6911UCClass = {"EMPCIAdapter basic"}
AdapterANA6911UCType = 5  ;; PCI board
HelpANA6911UCId = 10

FunctionANA6911ATXTitle = "Adaptec ANA6911A/TX Configuration"
ProductHardwareANA6911ATXTitle = "Adaptec ANA6911A/TX"
ProductHardwareANA6911ATXDescription = "Adaptec ANA6911A/TX PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6911ATXType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6911ATXClass = {"EMPCIAdapter basic"}
AdapterANA6911ATXType = 5  ;; PCI board
HelpANA6911ATXId = 10

FunctionANA6911ATXCTitle = "Adaptec ANA6911A/TXC Configuration"
ProductHardwareANA6911ATXCTitle = "Adaptec ANA6911A/TXC"
ProductHardwareANA6911ATXCDescription = "Adaptec ANA6911A/TXC PCI Ethernet/Fast Ethernet Adapter"
NetRuleHardwareANA6911ATXCType  = "EMPCI EMPCIAdapter"
NetRuleHardwareANA6911ATXCClass = {"EMPCIAdapter basic"}
AdapterANA6911ATXCType = 5  ;; PCI board
HelpANA6911ATXCId = 10


NetRuleHardwareBindForm = " yes yes container"
ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
;_DMI begin
ServiceKey = "SYSTEM\CurrentControlSet\Services"
;_DMI end


[GeneralConstants]
from      = ""
to        = ""
ExitCodeOk     = 0
ExitCodeCancel = 1
ExitCodeFatal  = 2
KeyNull         = ""
MAXIMUM_ALLOWED   = 33554432
RegistryErrorIndex = NO_ERROR
KeyProduct      = ""
KeyParameters   = ""
TRUE            = 1
FALSE           = 0
NoTitle            = 0
ExitState   = "Active"
OldVersionExisted = $(FALSE)
DriverPath      = $(!STF_NTPATH)\drivers

[date]
    Now = {} ? $(!LIBHANDLE) GetSystemDate
    
[Identify]
    read-syms Identification
    set Status     = STATUS_SUCCESSFUL
    set Identifier = $(OptionType)
    set Media      = #("Source Media Descriptions", 1, 1)
    Return $(Status) $(Identifier) $(Media)
    
[ReturnOptions]
    set Status        = STATUS_FAILED
    set OptionList     = {}
    set OptionTextList = {}
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) in $(LanguageList)
        ifstr(i) $($1) == ""
           goto returnoptions
        endif
        set PlatformList = ^(PlatformsSupported, 1)
        Ifcontains(i) $($1) in $(PlatformList)
           goto returnoptions
        else
           set Status = STATUS_NOTSUPPORTED
           goto finish_ReturnOptions
        endif
    else
        set Status = STATUS_NOLANGUAGE
        goto finish_ReturnOptions
    endif
    
returnoptions = +
    Debug-Output "returnoptions ..."
    set OptionList     = ^(Options, 1)
    set OptionTextList = ^(OptionsText$($0), 1)
    set Status         = STATUS_SUCCESSFUL
finish_ReturnOptions = +
    Debug-Output "finish_ReturnOptions ..."
    Return $(Status) $(OptionList) $(OptionTextList)
[InstallOption]
    set Option   = $($1)
    set SrcDir   = $($2)
    set AddCopy  = $($3)
    set DoCopy   = $($4)
    set DoConfig = $($5)
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) NOT-IN $(LanguageList)
        Return STATUS_NOLANGUAGE
    endif
    set-subst LF = "\n"
    read-syms GeneralConstants
    read-syms FileConstants
    read-syms CFIDS
    
    set NetRuleSoftwareBindable = $($R1)
    read-syms DialogConstants$(!STF_LANGUAGE)
    ifstr(i) $(!NTN_Origination) == "NCPA"
        set Continue = "OK"
    endif
    read-syms FileConstants$(!STF_LANGUAGE)
    detect date
    set-title  $(Function$(Option)Title)
    set to   = Begin
    set from = Begin
    set CommonStatus = STATUS_SUCCESSFUL
    
;    Set !DebugOutputControl = 1
;_DMI begin
;    Set !G:DebugOutputControl = 1
;_DMI end    


    EndWait
Begin = +
    Debug-Output "Begin ..."
    Ifstr(i) $(!NTN_InstallMode) == deinstall
        set StartLabel = removeadapter
    else-Ifstr(i) $(!NTN_InstallMode) == Update
        set StartLabel = UpgradeSoftware
    else-Ifstr(i) $(!NTN_InstallMode) == bind
        set StartLabel = bindingadapter
    else-Ifstr(i) $(!NTN_InstallMode) == configure
          Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
               Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
               ifint $($ShellCode) != $(!SHELL_CODE_OK)
                     goto ShellCodeError
               endif
               set Error = $($R0)
               set from = end
               set to = end
               goto nonfatalinfo
          else
               set StartLabel = configureadapter
          endif
   else
        set StartLabel = installadapter
        set OEM_ABANDON_OPTIONS = {}
        set OEM_ABANDON_SOFTWARE = FALSE
        set OEM_ABANDON_ON = TRUE
    endif
    set from = $(fatal)
    set to = $(fatal)
    goto $(StartLabel)
installadapter = +
    Debug-Output "installadapter ..."
    OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
    Ifstr $(KeyProduct) != $(KeyNull)
        CloseRegKey $(KeyProduct)
        ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
           Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
               $(ProductVersion)
           ifint $($ShellCode) != $(!SHELL_CODE_OK)
               goto ShellCodeError
           endif
           goto end
        else
           Shell $(UtilityInf), CardExistedDlg
           ifint $($ShellCode) != $(!SHELL_CODE_OK)
              goto ShellCodeError
           endif
           ifstr(i) $($R1) != "OK"
               set CommonStatus = STATUS_USERCANCEL
               goto end
           endif
           set OldVersionExisted = $(TRUE)
        endif
    Endif
    ifstr(i) $(DoCopy) == "YES"
        Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
        Ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Goto ShellCodeError
        Else-Ifstr(i) $($R0) == STATUS_FAILED
            Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
            ifint $($ShellCode) != $(!SHELL_CODE_OK)
               goto ShellCodeError
            endif
            set Error = $($R0)
               Goto fatal
        Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
               Goto successful
        Endif
        Set SrcDir = $($R1)
; Install of files moved below to fix clean install copy issues- JTJ
;        install "Install-Hlp"
;_DMI begin
;	Debug-Output "Install-Agents"
;       install "Install-Agents"
;_DMI end

    endif
   goto installproduct
configureadapter = +
   Debug-Output "configureadapter ..."
   Ifstr(i) $(KeyProduct) == $(KeyNull)
        OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
        Ifstr $(KeyProduct) == $(KeyNull)
            Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
           Goto fatalregistry
        Endif
    Endif
    Shell $(UtilityInf) FindService, $(KeyProduct)
    Ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Goto ShellCodeError
    Endif
    Ifstr(i) $($R0) != NO_ERROR
        Goto fatalregistry
    endif
    set KeyParameters = $($R2)
    CloseRegKey $($R1)
    Ifstr $(KeyParameters) == $(KeyNull)
        set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
        goto fatalregistry
    endif
    set OldVersionExisted = $(TRUE)
    set ValueName = ""
    set ValueData = ""
    set ValueStr  = ""
    set ValueList = {}
    EnumRegValue $(KeyParameters) ValueList
    ForListDo $(ValueList)
        set ValueItem = $($)
        set ValueName = *($(ValueItem),1)
        set ValueData = *($(ValueItem),4)
        Ifstr(i) $(ValueName) == "ConnectionType"
            set ConnectionIndex = $(ValueData)
        endif
    EndForListDo
    set ConnectionValue = *($(ConnectionList), ~($(ConnectionValues),$(ConnectionIndex)))
;    ifstr(i) $(ConnectionValue) == ""
;        set ConnectionValue = *($(ConnectionList), 2)
;    endif
adapteroptions = +
        Debug-Output "adapteroptions ..."
        set from = adapteroptions
        read-syms FileDependentDlg$(!STF_LANGUAGE)
        SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
        ui start "InputDlg"
        ifstr(i) $(DLGEVENT) == "CONTINUE"
           set ConnectionIndex = $(Combo1Out)
           ui pop 1
        else-ifstr(i) $(DLGEVENT) == "BACK"
           set CommonStatus = STATUS_USERCANCEL
           ui pop 1
           goto end
        else
           ui pop 1
           goto end
        endif
        set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex)))

        ifstr(i) $(!NTN_InstallMode) == configure
;_DMI begin
;
;       SNMPINstallStatus = 0 - means SNMP is installed
;                         = 1 - NT SNMP is not present
;                         = 2 - SNMP Agent is configured already
;
        	set SNMPInstallStatus = "9"
		set MibName = "FailoverMib"
		set MibFileName = "afailovr.dll"
        	install "InstallSNMPagent"
        	ifstr $(SNMPInstallStatus) == "1"
    			Shell "subroutn.inf" SetUpMessage $(!STF_LANGUAGE) NONFATAL "SNMP Service is not installed. To activate SNMP and Adaptec network management features on this system, install the NT SNMP Service. On the network management station, use the configure option to configure Server related MIBs."
           		goto updateparameters
        	endif
; Message not needed for Non-Failover Driver - JTJ
;        	ifstr $(SNMPInstallStatus) == "0"
;        		Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", "Configured Failover agent"
;        	endif
;_DMI end
         	set SNMPInstallStatus = "9"
 		set MibName = "DmiMib"
 		set MibFileName = "admiemul.dll"
         	install "InstallSNMPagent"
         	ifstr $(SNMPInstallStatus) == "0"
         		Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", "Configured DMI agent"
         	endif
 
           goto updateparameters
        endif
;        
installproduct =+
    Debug-Output "installproduct ..."
    StartWait
;    
    ifint $(OldVersionExisted) == $(FALSE)
        Ifstr(i) $(DoCopy) == "YES"
           Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
           Ifint $($ShellCode) != $(!SHELL_CODE_OK)
               Goto ShellCodeError
           Else-Ifstr(i) $($R0) == STATUS_FAILED
               Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
               ifint $($ShellCode) != $(!SHELL_CODE_OK)
                  goto ShellCodeError
               endif
               set Error = $($R0)
               Goto fatal
           Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
               Goto successful
           Endif
           Set SrcDir = $($R1)
        Endif
        install "Install-Option"
; Installation of below files done here to fix clean install problems- JTJ
        install "Install-Hlp"
;_DMI begin
	Debug-Output "Install-Agents"
        install "Install-Dll"
        install "Install-Agents"
;_DMI end
        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
           Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
           ifint $($ShellCode) != $(!SHELL_CODE_OK)
               goto ShellCodeError
           endif
           set Error = $($R0)
           goto fatal
        endif
        Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
            $(ProductSoftwareName), +
            $(ProductSoftwareName), +
            $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
            $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
            $(NetEventDLL)
        Set OEM_ABANDON_SOFTWARE = TRUE
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
            EndWait
            CloseRegKey $($R1)
            CloseRegKey $($R2)
            CloseRegKey $($R3)
            CloseRegKey $($R4)
            CloseRegKey $($R5)
            goto fatalregistry
        endif
        Set SoftProductKey      = $($R1)
        Set SoftNetRuleKey      = $($R2)
        Set SoftServiceKey      = $($R3)
        Set SoftParameterKey    = $($R4)
        Set SoftLinkageKey      = $($R5)
        set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
                           {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
                           {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
                           {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
                           {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
                           {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
                           {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
        Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
            EndWait
            CloseRegKey $(SoftProductKey)
            CloseRegKey $(SoftNetRuleKey)
            CloseRegKey $(SoftServiceKey)
            CloseRegKey $(SoftParameterKey)
            CloseRegKey $(SoftLinkageKey)
            goto fatalregistry
        endif
        set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
                            {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
                            {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
                            {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
                            {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareSWBindable)}, +
                            {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
        Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        CloseRegKey $(SoftProductKey)
        CloseRegKey $(SoftNetRuleKey)
        CloseRegKey $(SoftServiceKey)
        CloseRegKey $(SoftParameterKey)
        CloseRegKey $(SoftLinkageKey)
        Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
            EndWait
            goto fatalregistry
        endif
    endif
    
;----------------------------------
;search for all CFIDs we support 
;----------------------------------
    set AdapterFound = $(FALSE)

    set CFIDList = ^(CFIDS, 1)          
    ForListDo $(CFIDList)
    
    set CurrCFID = $($)    
    
    Debug-Output "EMPCI: Current CFID="$(CurrCFID)

    set-div DeviceID = $(CurrCFID) 65336
    Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    
    ifstr(i) $($R0) != {}
        set AdapterList = $($R0)
        set AdapterFound = $(TRUE)
        ;----------------------------------
        ;search for CFID based PCI adapters 
        ;----------------------------------

        ForListDo $(AdapterList)
            set BusNum = *($($),1)
            set DeviceNum = *($($),2)
            set FunctionNum = *($($),3) 
            
            Debug-Output "EMPCI: BusNum="$(BusNum)" DeviceNum="$(DeviceNum) 

            Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
                $(DeviceNum), $(ProductHardware$(Option)Description), $(ProductHardwareName) "YES"
            ifint $($ShellCode) != $(!SHELL_CODE_OK)
                goto ShellCodeError
            endif
            ifstr $($R0) != "NO_ERROR"
                set Error = $($R0)
                goto fatal
            endif
            ifstr(i) $($R1) != "YES"
                Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
                ifint $($R4) != -1
                    Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
                endif
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                    goto ShellCodeError
                endif
                set RegistryErrorIndex = $($R0)
                Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
                     EndWait
                     CloseRegKey $($R1)
                     CloseRegKey $($R2)
                     CloseRegKey $($R3)
                     goto fatalregistry
                endif
                read-syms FileDependentDlg$(!STF_LANGUAGE)
                SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
                ui start "InputDlg"
                ifstr(i) $(DLGEVENT) == "CONTINUE"
                     set ConnectionIndex = $(Combo1Out)
                     ui pop 1
                else-ifstr(i) $(DLGEVENT) == "BACK"
                     set CommonStatus = STATUS_USERCANCEL
                     ui pop 1
                     goto end
                else
                     ui pop 1
                     goto end
                endif
                set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex)))
                Set HardNetCardKey      = $($R1)
                Set HardNetRuleKey      = $($R2)
                Set HardParameterKey    = $($R3)
                set AdapterNumber       = $($R4)
                set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
                                    {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
                                    {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
                                    {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
                                    {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
                                    {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
                Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                     goto ShellCodeError
                endif
                set BusTypeNum = 5
                set MaximumMulticast = 36
                set NewValueList = {{AdapterType,$(NoTitle),$(!REG_VT_DWORD),$(Adapter$(Option)Type)},+
                                    {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
                                    {FP_OFF,$(NoTitle),$(!REG_VT_DWORD),0},+
                                    {IPG,$(NoTitle),$(!REG_VT_DWORD),0},+
                                    {MaximumMulticast,$(NoTitle),$(!REG_VT_DWORD),$(MaximumMulticast)},+
                                    {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
                                    {AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$(CurrCFID)}}
                Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                    goto ShellCodeError
                endif

                ifint $(CurrCFID) == $(DC21040CFID)
                    set NewValueList = {{BurstLength,$(NoTitle),$(!REG_VT_DWORD),16}}
                    Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
                    ifint $($ShellCode) != $(!SHELL_CODE_OK)
                       goto ShellCodeError
                    endif
                endif

                ifint $(CurrCFID) == $(DC21140CFID)
                    set NewValueList = {{MemoryReadMultiple,$(NoTitle),$(!REG_VT_DWORD),1},+
                                       {BurstLength,$(NoTitle),$(!REG_VT_DWORD),0} }
                    Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
                    ifint $($ShellCode) != $(!SHELL_CODE_OK)
                       goto ShellCodeError
                    endif
                endif

                ifint $(CurrCFID) == $(DC21143CFID)
                    set NewValueList = {{MemoryReadMultiple,$(NoTitle),$(!REG_VT_DWORD),1},+
                                        {BurstLength,$(NoTitle),$(!REG_VT_DWORD),0} }
                    Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
                    ifint $($ShellCode) != $(!SHELL_CODE_OK)
                        goto ShellCodeError
                    endif
                endif
                
                set NewValueList = {{ConnectionType,$(NoTitle),$(!REG_VT_DWORD),$(ConnectionValue)}}
                Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                    goto ShellCodeError
                endif

                set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
                set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
                set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
                                    {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
                                    {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
                                    {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
                Shell  $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                    goto ShellCodeError
                endif
                CloseRegKey $(HardNetCardKey)
                CloseRegKey $(HardNetRuleKey)
                set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
                                    {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(DeviceNum)},+
                                    {FunctionNumber,$(NoTitle),$(!REG_VT_DWORD),$(FunctionNum)}}
                Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
                CloseRegKey $(HardParameterKey)
            endif       
        EndForListDo    ;$(AdapterList)
    endif           ;ifstr(i) $($R0) != {}
    
    EndForListDo    ;$(CFIDList)
    
    ifint $(AdapterFound) == $(FALSE)
        set Error = $(CANNOT_FIND_ANY_CARD)
        set CommonStatus = USER_CANCEL
        set from = end
        goto nonfatal
    endif        
    
    EndWait

;_DMI begin
; DMI Install must be done before FORBMON service is started to avoid race conditions
; in registry updates! - JTJ
    Debug-Output "InstallSNMPagent"

    set SNMPInstallStatus = "0"
    set MibName = "FailoverMib"
    set MibFileName = "afailovr.dll"
    install "InstallSNMPagent"
    ifstr $(SNMPInstallStatus) == "1"
    	Shell "subroutn.inf" SetUpMessage $(!STF_LANGUAGE) NONFATAL "SNMP Service is not installed. To activate SNMP and Adaptec network management features on this system, install the NT SNMP Service. On the network management station, use the configure option to configure Server related MIBs."
	goto install_forbmon
    endif
    set MibName = "DmiMib"
    set MibFileName = "admiemul.dll"
    install "InstallSNMPagent"

;_DMI end
 

install_forbmon =+

;
;   If forbmon service is already install, skip registry update. - JTJ
; 
    OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\forbmon"  $(!REG_KEY_QUERY_VALUE) ServicesHandle
    ifstr $(ServicesHandle) != $(KeyNull)
	Debug-Output "FORBMON service already installed!"
	CloseRegKey $(ServicesHandle)
	goto successful
    endif
 

;
;   Execute forbmon to install the forbmon daemon service and to monitor any 
;   changes to Driver's Linkage Key - JTJ
;
    StartDetachedProcess ExitCode "" "" $(ForbmonEXE)
    ifstr $(ExitCode) != "0" 
        Debug-Output "Cannot start FORBMON service program!"
	Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL" ,"Cannot start Adaptec Duralink FORBMON service program!"
	
	;
	; remove the failover backup monitor service
	;
	OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services"  $(!REG_KEY_ALL_ACCESS) ForbmonHandle
	ifstr $(ForbmonHandle) != $(KeyNull)
		DeleteRegTree $(ForbmonHandle) "forbmon"
		CloseRegKey $(ForbmonHandle)
	endif
	
        goto fatal
    endif

    goto successful

updateparameters =+
    Debug-Output "updateparameters ..."
    set HardParameterKey    = $($R3)
    set NewValueList = {{ConnectionType,$(NoTitle),$(!REG_VT_DWORD),$(ConnectionValue)}}
    Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    CloseRegKey $(KeyParameters)
    goto successful
bindingadapter =+
    Debug-Output "bindingadapter ..."
    set Error = "Binding: Sorry, not yet implemented."
    goto fatal
removeadapter = +
    Debug-Output "removeadapter ..."
;_DMI begin
;
;       Get the reference count for the adapter
;
   OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\"$(Manufacturer)\$(ProductSoftwareName)"\CurrentVersion"  $(!REG_KEY_ALL_ACCESS) RefCountHandle
   ifstr $(RefCountHandle) == $(KeyNull)
       set RegistryErrorIndex = UNABLE_OPEN_MICROSOFT_KEY
       Debug-Output "Cannot open Adaptec Key"
       goto fatalregistry
   endif
   GetRegValue $(RefCountHandle) "RefCount" RefCountData
   ifint $(!RegLastError) == 0
        set RefCount = *($(RefCountData),4)
   else
	Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL" ,"Unable to get Reference count"
   endif
 
;_DMI end

    Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
        Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
            $(ProductSoftwareName)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
        endif
    else
        Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
            $(ProductSoftwareName), $(!NTN_RegBase)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
        endif
    endif
;_DMI begin
    ifint $(RefCount) == 1
        AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\EMPCI.SYS
        AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\EMPCI.HLP
        AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\AFAILOVR.DLL
        AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\ADMIEMUL.DLL
        AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\FORBMON.EXE
;
; should be LIFO basis 
;
        set MibName = "DmiMib"
        install "RemoveSNMPagent"
        set MibName = "FailoverMib"
        install "RemoveSNMPagent"

;
; remove the failover backup monitor service
;
		OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services"  $(!REG_KEY_ALL_ACCESS) ForbmonHandle
		ifstr $(ForbmonHandle) != $(KeyNull)
			DeleteRegTree $(ForbmonHandle) "forbmon"
			CloseRegKey $(ForbmonHandle)
		endif

    endif

    goto end
UpgradeSoftware = +
     Debug-Output "UpgradeSoftware ..."
     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
     Ifstr $(KeyProduct) != $(KeyNull)
           Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
           ifint $($ShellCode) != $(!SHELL_CODE_OK)
               Debug-Output "ShellCode error"
               goto ShellCodeError
           endif
           set !UG_Filename = $($R0)
           install "Install-Update"
           ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
               goto fatal
           endif
           SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
           SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
           CloseRegKey $(KeyProduct)
     else
           goto fatalregistry
     endif
     goto end
successful = +
    Debug-Output "successful ..."
    goto end
abandon = +
    Debug-Output "abandon ..."
    ForListDo $(OEM_ABANDON_OPTIONS)
        Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
            $(ProductSoftwareName), $($)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
        endif
    EndForListDo
    Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
        Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
            $(ProductSoftwareName), FALSE
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set RegistryErrorIndex = $($R0)
        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
        endif
    endif
    goto end
warning = +
    Debug-Output "warning ..."
    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    ifstr(i) $($R1) == "OK"
        goto $(to)
    else-ifstr(i) $($R1) == "CANCEL"
        goto $(from)
    else
        goto "end"
    endif
nonfatalinfo = +
    Debug-Output "nonfatalinfo ..."
    Set CommonStatus = STATUS_USERCANCEL
    Set Severity = STATUS
    goto nonfatalmsg
nonfatal = +
    Debug-Output "nonfatal ..."
    Set Severity = NONFATAL
    goto nonfatalmsg
nonfatalmsg = +
    Debug-Output "nonfatalmsg ..."
    ifstr(i) $(Error) == ""
        Set Severity = NONFATAL
        Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set Error = $($R0)
    endif
    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    ifstr(i) $($R1) == "OK"
        goto $(from)
    else
        goto "end"
    endif
fatalregistry = +
    Debug-Output "fatalregistry ..."
    Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    set Error = $($R0)
    goto fatal
fatal = +
    Debug-Output "fatal ..."
    ifstr(i) $(Error) == ""
        Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            goto ShellCodeError
        endif
        set Error = $($R0)
    endif
    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto ShellCodeError
    endif
    goto setfailed
ShellCodeError = +
    Debug-Output "ShellCodeError ..."
    set DlgType      = "MessageBox"
    set STF_MB_TITLE = $(ShellCodeErrorTitle)
    set STF_MB_TEXT  = $(ShellCodeErrorText)
    set STF_MB_TYPE  = 1
    set STF_MB_ICON  = 3
    set STF_MB_DEF   = 1
    ui start "Error Message"
    goto setfailed
setfailed = +
    Debug-Output "setfailed ..."
    set CommonStatus = STATUS_FAILED
    Debug-Output "OEM_ABANDON_ON="$(OEM_ABANDON_ON)
    ifstr(i) $(OEM_ABANDON_ON) == TRUE
        set OEM_ABANDON_ON = FALSE
        goto abandon
    endif
    goto end
end = +
    Debug-Output "end ..."
    goto term
term = +
    Debug-Output "term ..."
    Return $(CommonStatus)
[Install-Option]
    Debug-Output "[Install-Option] ..."
    set STF_VITAL = ""
    ifstr(i) $(AddCopy) == "YES"
        AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
    endif
    ifstr(i) $(DoCopy) == "YES"
       set !STF_NCPA_FLUSH_COPYLIST = TRUE
       CopyFilesInCopyList
    endif
    Exit
[Install-Hlp]
   Debug-Output "[Install-Hlp] ..."
   set STF_VITAL = ""
   AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   Exit
;_DMI begin
[Install-DLL]
   Debug-Output "[Install-DLL] ..."
   set STF_VITAL = ""
   AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   Exit

[Install-Agents]
   Debug-Output "[Install-Agents] ..."
   set STF_VITAL = ""
   AddSectionFilesToCopyList Files-Agent $(SrcDir) $(!STF_WINDOWSSYSPATH)
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   Exit


[InstallSNMPagent]
        Debug-Output "[InstallSNMPagent] ..."
;	
; Make an entry under HKEY_LOCAL\System\CurrentControlSet\Services
;
     	OpenRegKey $(!REG_H_LOCAL) "" $(ServiceKey) $(!REG_KEY_CREATE_SUB_KEY) ServicesHandle
	ifstr $(ServicesHandle) == $(KeyNull)
		set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
		Debug-Output "Cannot find services under CurrentControlSet"
		Exit 
	endif

;
; check if the service SNMP already existing
;
	OpenRegKey $(ServicesHandle) "" "SNMP" $(!REG_KEY_CREATE_SUB_KEY) SNMPHandle
	ifstr $(SNMPHandle) == $(KeyNull)
		set SNMPInstallStatus = "1" 
		exit
	endif

;
; add the value for the ExtensionAgents
;
	OpenRegKey $(SNMPHandle) "" "Parameters\ExtensionAgents" $(!REG_KEY_ALL_ACCESS) SNMPExtensionHandle
	EnumRegValue $(SNMPExtensionHandle) SNMPExtValueList
	ifint $(!RegLastError) != 0
		Exit
	endif

;
; Look if there is already an entry for SNMP Agent
;
	set MaxSNMPIndex = "0"
	ForListDo $(SNMPExtValueList)
		set CurrentSNMPVal = *($($), 4)
		ifstr(i) $(CurrentSNMPVal) == "SOFTWARE\"$(Manufacturer)"\"$(MibName)"\CurrentVersion"
			set SNMPInstallStatus = "2"
			Exit
	   	endif

		;Set index to largest index number read so far. -JTJ
		;This handles string ordering of index numbers (e.g 10 before 2)
		ifint *($($), 1) > $(MaxSNMPIndex)
			set MaxSNMPIndex = *($($), 1)
		endif
    	EndForListDo

	; Add new entry index after the largest one in list -JTJ
	set-add MaxSNMPIndex = $(MaxSNMPIndex), 1 

	SetRegValue $(SNMPExtensionHandle) {$(MaxSNMPIndex), 0, $(!REG_VT_SZ), "SOFTWARE\"$(Manufacturer)"\"$(MibName)"\CurrentVersion"}
	ifint $(!RegLastError) != 0
		Shell "subroutn.inf" SetUpMessage $(!STF_LANGUAGE) NONFATAL "SetRegValue failed"
		Exit
	endif
		
	CloseRegKey $(SNMPExtensionHandle)
	CloseRegKey $(SNMPHandle)
	CloseRegKey $(ServicesHandle)

;
; Make an entry under HKEY_LOCAL\SOFTWARE\$(Manufacturer)
;
	OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\"$(Manufacturer) $(!REG_KEY_CREATE_SUB_KEY) SNMPSoftwareHandle
	ifstr $(SNMPSoftwareHandle) == $(KeyNull)
		Exit
      	endif

;
; Check if the key $(MibName) is already there
;
	OpenRegKey $(SNMPSoftwareHandle) "" $(MibName) $(!REG_KEY_CREATE_SUB_KEY) SNMPAdaptecHandle
	ifstr $(SNMPAdaptecHandle) == $(KeyNull)
		CreateRegKey $(SNMPSoftwareHandle) {$(MibName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" SNMPAdaptecHandle
		ifstr $(SNMPAdaptecHandle) == $(KeyNull)
			Debug-Output "Cannot create subkey Under Adaptec"
			Exit
      	  	endif
	endif
   
; 
; Check if the key "CurrentVersion" is already there
;
	OpenRegKey $(SNMPAdaptecHandle) "" "CurrentVersion" $(!REG_KEY_SET_VALUE) SNMPCurrentHandle
	ifstr $(SNMPCurrentHandle) == $(KeyNull)
      		CreateRegKey $(SNMPAdaptecHandle) {"CurrentVersion", 0, GenericClass} "" $(!REG_KEY_SET_VALUE) "" SNMPCurrentHandle
      		ifstr $(SNMPCurrentHandle) == $(KeyNull)
			Debug-Output "Cannot create subkey Under FailoverMib"
			Exit
      		endif
	endif

;
; Set the values    
;
	SetRegValue $(SNMPCurrentHandle) {"Pathname", 0, $(!REG_VT_EXPAND_SZ), "%SystemRoot%\System32\"$(MibFileName)}
	ifint $(!RegLastError) != 0
		Debug-Output "Cannot add the name-value pair"
		Exit
	endif

	CloseRegKey $(SNMPCurrentHandle)
	CloseRegKey $(SNMPAdaptecHandle)
	CloseRegKey $(SNMPSoftwareHandle)

        set SNMPInstallStatus = "0"
	Exit 

[RemoveSNMPagent]
        Debug-Output "[RemoveSNMPagent] ..."
;	
; Open HKEY_OCAL\System\CurrentControlSet\Services
;
     	OpenRegKey $(!REG_H_LOCAL) "" $(ServiceKey) $(!REG_KEY_CREATE_SUB_KEY) ServicesHandle
	ifstr $(ServicesHandle) == $(KeyNull)
		set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
		Debug-Output "Cannot find services under CurrentControlSet"
		Exit 
	endif

;
; check if the service SNMP already existing
;
	OpenRegKey $(ServicesHandle) "" "SNMP" $(!REG_KEY_CREATE_SUB_KEY) SNMPHandle
	ifstr $(SNMPHandle) == $(KeyNull)
		exit
	endif

;
; Remove the value for the ExtensionAgents
;
	OpenRegKey $(SNMPHandle) "" "Parameters\ExtensionAgents" $(!REG_KEY_ALL_ACCESS) SNMPExtensionHandle
	EnumRegValue $(SNMPExtensionHandle) SNMPExtValueList
	ifint $(!RegLastError) != 0
		Exit
	endif

;
; Look if there is already an entry for SNMP Agent
; Delete the registry value corresponding to the SNMP Agent - JTJ
;
	ForListDo $(SNMPExtValueList)
		set CurrentSNMPVal = *($($), 4)
		set CurrentSNMPValName = *($($), 1)
		ifstr(i) $(CurrentSNMPVal) == "SOFTWARE\"$(Manufacturer)"\"$(MibName)"\CurrentVersion"
			DeleteRegValue $(SNMPExtensionHandle) $(CurrentSNMPValName)
	   	endif
    	EndForListDo

;
; Remove $(MibName)  entry from SOFTWARE/$(Manufacturer)
;
	OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\"$(Manufacturer) $(!REG_KEY_ALL_ACCESS) ProductHandle
     	ifstr $(ProductHandle) != $(KeyNull)
		DeleteRegTree $(ProductHandle) $(MibName)
    	endif

	Exit

;_DMI end
[Install-Update]
   set STF_VITAL        = ""
   set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
   AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
   AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
   AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
;_DMI begin
   AddSectionFilesToCopyList Files-Agent $(SrcDir) $(!STF_WINDOWSSYSPATH)
;_DMI end
   AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   exit

[Source Media Descriptions]
    1  = "Drivers for Microsoft Operating Systems"
[ProductType]
STF_PRODUCT  = Winnt
;STF_PLATFORM = I386
;STF_PLATFORM = Alpha
;STF_PLATFORM = ppc
;STF_PLATFORM = MIPS

[Files-Inf]
1,	oemsetup.inf,	 SIZE=1000,	RENAME=$(!UG_Filename)

[Files-ANA69XX]
1,EMPCI.SYS , SIZE=999

[Files-ANA6901A]
1,EMPCI.SYS , SIZE=999

[Files-ANA6901AC]
1,EMPCI.SYS , SIZE=999

[Files-ANA6901TP]
1,EMPCI.SYS , SIZE=999

[Files-ANA6901C]
1,EMPCI.SYS , SIZE=999

[Files-ANA6904TP]
1,EMPCI.SYS , SIZE=999

[Files-ANA6904BNC]
1,EMPCI.SYS , SIZE=999

[Files-ANA6910TX]
1,EMPCI.SYS , SIZE=999

[Files-ANA6940TX]
1,EMPCI.SYS , SIZE=999

[Files-ANA6910FX]
1,EMPCI.SYS , SIZE=999

[Files-ANA6911TX]
1,EMPCI.SYS , SIZE=999

[Files-ANA6911TXC]
1,EMPCI.SYS , SIZE=999

[Files-ANA6911T4]
1,EMPCI.SYS , SIZE=999

[Files-ANA6911T4C]
1,EMPCI.SYS , SIZE=999

[Files-ANA6944T4]
1,EMPCI.SYS , SIZE=999

[Files-ANA6944ATX]
1,EMPCI.SYS , SIZE=999

[Files-ANA6911UC]
1,EMPCI.SYS , SIZE=999

[Files-ANA6911ATX]
1,EMPCI.SYS , SIZE=999

[Files-ANA6911ATXC]
1,EMPCI.SYS , SIZE=999

[Files-Hlp]
1,EMPCI.HLP , SIZE=999

[Files-Dll]
1,FORBMON.EXE ,  SIZE=78000

;_DMI begin
[Files-Agent]
1,AFAILOVR.DLL , SIZE=120000
1,ADMIEMUL.DLL , SIZE=120000
;_DMI end

[LanguagesSupported]
    ENG


[OptionsTextENG]
ANA69XX =     "Adaptec  PCI Ethernet Adapter"
ANA6901A    = "Adaptec ANA-6901A PCI Ethernet Adapter"
ANA6901AC   = "Adaptec ANA-6901A/C PCI Ethernet Adapter"
ANA6901TP   = "Adaptec ANA-6901/TP PCI Ethernet Adapter"
ANA6901C    = "Adaptec ANA-6901/C PCI Ethernet Adapter"
ANA6904TP   = "Adaptec ANA-6904/TP Quartet PCI Ethernet Adapter"
ANA6904BNC  = "Adaptec ANA-6904/BNC Quartet PCI Ethernet Adapter"
ANA6910TX   = "Adaptec ANA-6910/TX PCI Fast Ethernet Adapter"
ANA6940TX   = "Adaptec ANA-6940/TX Quartet PCI Fast Ethernet Adapter"
ANA6910FX   = "Adaptec ANA-6910/FX PCI Fast Ethernet Adapter"
ANA6911TX   = "Adaptec ANA-6911/TX PCI Fast Ethernet Adapter"
ANA6911TXC  = "Adaptec ANA-6911/TXC PCI Fast Ethernet Adapter"
ANA6911T4   = "Adaptec ANA-6911/T4 PCI Fast Ethernet Adapter"
ANA6911T4C  = "Adaptec ANA-6911/T4C PCI Fast Ethernet Adapter"
ANA6944T4   = "Adaptec ANA-6944/T4 Quartet PCI Fast Ethernet Adapter"
ANA6944ATX  = "Adaptec ANA-6944A/TX Quartet PCI Fast Ethernet Adapter"
ANA6911UC   = "Adaptec ANA-6911/UC PCI Fast Ethernet Adapter"
ANA6911ATX  = "Adaptec ANA-6911A/TX PCI Fast Ethernet Adapter"
ANA6911ATXC = "Adaptec ANA-6911A/TXC PCI Fast Ethernet Adapter"


[FileConstantsENG]
ProCaption   = "Windows NT Setup"
ProCancel    = "Cancel"
ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
               "Are you sure you want to cancel copying files?"
ProCancelCap = "Network Setup Message"
ProText1     = "Copying:"
ProText2     = "To:"

ProductSoftwareDescription = "Adaptec Ethernet/Fast Ethernet Driver"

ConnectionList  = ^(ConnectionChoices$(Option), 1)
ConnectionValues = ^(ConnectionChoices$(Option), 2)
NoList  = ^(NoChoices, 1)
NoValues = ^(NoChoices, 2)
ShellCodeErrorTitle     = "Error: "$(Function$(Option)Title)
ShellCodeErrorText      = "Shell Code Error."
CANNOT_FIND_ANY_CARD    = "Network card is not present in the system"
[DialogConstantsENG]
Help        = "&Help"
Exit        = "Cancel"
OK          = "OK"
HelpContext = ""
Continue    = "Continue"
Cancel      = "Cancel"

[FileDependentDlgENG]
DlgText = "Choose the proper connection type for the "+
          "network adapter. Select [Help] for a detailed "+
          "description of the available options."
DlgTemplate = "ADAP_PROTO_COMBO"
DlgType = "Combination"
Caption = $(Function$(Option)Title)
Combo1Label = "&Connection Type:"
Combo1List = $(ConnectionList)
Combo1Out  = $(ConnectionValue)
ComboListItemsIn  = {Combo1List}
ComboListItemsOut = {Combo1Out}
EditTextLim = ""
CBOptionsGreyed = {}
MinHelpId = 10
MaxHelpId = 30
HelpContext = $(Help$(Option)Id)

Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: ftp, load: 2.56