; **********************************************************************
;
; OEMSETUP.INF
;
; Copyright (c) Madge Networks Ltd. 1997-2000
;
; VeRsIoN=Madge Smart Ringnode Miniport Driver NT Installation Script@
; VeRsIoN=VERSION: v6.04 LSS 7.1(0)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
; VeRsIoN=PRODUCT-ID: MDGNDIS4.SYS 6.04 @
; VeRsIoN=INFO: WINNT.TXT (Windows NT Installation)@
; MaDgE=A6FA@
;
; Supports Adapter Mirroring installation (on selected cards).
; Supports Hot Plug PCI installation.
;
; **********************************************************************
; ----------------------------------------------------------------------
; Mandatory configuration information.
; ----------------------------------------------------------------------
[Identification]
OptionType = NetAdapter
[PlatformsSupported]
ISA
EISA
PCI
"Jazz-Internal Bus"
[LanguagesSupported]
ENG
[Options]
MDGAUTO
MDGPCIHS2
MDGPCIHS
MDGPCI3
MDGPCIBM2
MDGPRESTO2000
MDGPRESTO2
MDGPRESTO
MDGCARDBUS2
MDGCARDBUS
MDGPCMCIA
OCTX3540
OCTX3139
OCTX3140
OCTX3140V2
OCTX3141
OCTX3137
OCTX3250
OCTX3221
[MirroringOptions]
MDGPCIHS
MDGPCIHS2
MDGPCI3
MDGPCIBM2
OCTX3137
OCTX3139
OCTX3140
OCTX3140V2
OCTX3141
OCTX3540
;
; Options supported by LSS 5.02 which are also supported by this driver.
; Note that LSS 5.02 only provided and NDIS3 Miniport.
;
[LSS502_Options]
MDGMPPCIBM
MDGMPPCMCIA
;
; Unsupported options (MDGMP??? = LSS 5 option, MDG??? = LSS 6 option)
;
[Unsupported_Options]
MDGMPATP
MDGMPATPE
MDGMPISACP
MDGMPEISA
MDGMPPNP
MDGMPPCI
MDGMPISA
MDGMPISAC
MDGMPPC
MDGMPMCA
MDGMPMC32
MDGMPSM16
MDGATP
MDGATPNP
MDGISACP
MDGISACPNP
MDGBLUEISA
MDGBLUEPNP
MDGEISA
MDGPCI1B
MDGPCIBM1
;-----------------------------------------------------------------------
; Text strings to identify adapter options.
;-----------------------------------------------------------------------
[OptionsTextENG]
MDGAUTO = "Madge Automated Installation - RECOMMENDED"
MDGPCIHS2 = "Madge Smart 100/16/4 PCI Ringnode"
MDGPCIHS = "Madge Smart 100/16/4 PCI-HS Ringnode"
MDGPCI3 = "Madge Smart 16/4 PCI Ringnode Mk3"
MDGPCIBM2 = "Madge Smart 16/4 PCI Ringnode Mk2"
MDGPRESTO2000 = "Madge Presto PCI 2000"
MDGPRESTO2 = "Madge Presto PCI Plus"
MDGPRESTO = "Madge Presto PCI"
MDGCARDBUS2 = "Madge 16/4 CardBus Adapter Mk2"
MDGCARDBUS = "Madge 16/4 CardBus Adapter"
MDGPCMCIA = "Madge Smart 16/4 PCMCIA Ringnode"
OCTX3540 = "Olicom RF-3540 HSTR 100/16/4 PCI Adapter"
OCTX3139 = "Olicom RF-3139 Token-Ring 16/4 PCI Adapter"
OCTX3140 = "Olicom RF-3140 Token-Ring 16/4 PCI Adapter"
OCTX3140V2 = "Olicom RF-3140 V2 16/4 PCI Adapter"
OCTX3141 = "Olicom RF-3141 Token-Ring 16/4 PCI Fiber Adapter"
OCTX3137 = "Olicom PCI/II 16/4 Adapter (OC-3137)"
OCTX3250 = "Olicom GC-3250 16/4 CardBus PC Card"
OCTX3221 = "Olicom GoCard Token-Ring PC Card (OC-3221)"
;-----------------------------------------------------------------------
; Text strings to identify Madge adapters in a machine.
;-----------------------------------------------------------------------
[OptionsChoiceENG]
MDGPCIHS2 = "Smart 100/16/4 PCI Ringnode / PCI device ID "
MDGPCIHS = "Smart 100/16/4 PCI-HS Ringnode / PCI device ID "
MDGPCI3 = "Smart 16/4 PCI Ringnode Mk3 / PCI device ID "
MDGPCIBM2 = "Smart 16/4 PCI Ringnode Mk2 / PCI device ID "
MDGPRESTO2000 = "Presto PCI 2000 / PCI device ID "
MDGPRESTO2 = "Presto PCI Plus / PCI device ID "
MDGPRESTO = "Presto PCI / PCI device ID "
MDGCARDBUS2 = "16/4 CardBus Adapter Mk2 / PCI device ID "
MDGCARDBUS = "16/4 CardBus Adapter / PCI device ID "
MDGPCMCIA = "Smart 16/4 PCMCIA Ringnode / IO location "
OCTX3540 = "RF-3540 HSTR 100/16/4 PCI Adapter / PCI device ID "
OCTX3139 = "RF-3139 16/4 PCI Adapter / PCI device ID "
OCTX3140 = "RF-3140 16/4 PCI Adapter / PCI device ID "
OCTX3140V2 = "RF-3140 V2 16/4 PCI Adapter / PCI device ID "
OCTX3141 = "RF-3141 16/4 PCI Fiber Adapter / PCI device ID "
OCTX3137 = "OC-3137 16/4 PCI/II Adapter / PCI device ID "
OCTX3250 = "GoCard 3250 16/4 CardBus PC Card / PCI device ID "
OCTX3221 = "GoCard 3221 PC Card / IO location "
;-----------------------------------------------------------------------
; Adapter options that require a slot number.
; Others require an IO location.
;-----------------------------------------------------------------------
[SlotNumberOnlyOptions]
MDGPCIHS
MDGPCIHS2
OCTX3540
MDGPCI3
MDGPCIBM2
MDGPRESTO2000
MDGPRESTO2
MDGPRESTO
OCTX3139
OCTX3140
OCTX3140V2
OCTX3141
OCTX3137
;-----------------------------------------------------------------------
; Cardbus adapters.
;-----------------------------------------------------------------------
[CardbusOptions]
MDGCARDBUS
MDGCARDBUS2
OCTX3250
;-----------------------------------------------------------------------
; PCMCIA adapters.
;-----------------------------------------------------------------------
[PcmciaOptions]
MDGPCMCIA
OCTX3221
[OlicomPcmciaOptions]
OCTX3221
[OlicomHebeOptions]
OCTX3139
OCTX3140
OCTX3140V2
OCTX3141
OCTX3540
OCTX3250
; ----------------------------------------------------------------------
; Lists of user allowable locations.
; ----------------------------------------------------------------------
[MDGPCI3_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[MDGPCIBM2_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[MDGPCMCIA_LocChoices]
"0x0300",768
"0x0320",800
"0x0340",832
"0x0360",864
"0x0920",2336
"0x0940",2368
"0x0960",2400
"0x0980",2432
"0x0A20",2592
"0x0A40",2624
"0x0A60",2656
"0x0A80",2688
"0x0AA0",2720
"0x0B20",2848
"0x0B40",2880
"0x0B60",2912
"0x0B80",2944
"0x1A20",6688
"0x2A20",10784
"0x3A20",14880
[MDGPRESTO_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[MDGPRESTO2_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[MDGPRESTO2000_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[MDGCARDBUS_LocChoices]
"Automatic",0
"0x0100",256
"0x0200",512
"0x0300",768
"0x0400",1024
"0x0500",1280
"0x0600",1536
"0x0700",1792
"0x0800",2048
"0x0900",2304
"0x0a00",2560
"0x0b00",2816
"0x0c00",3072
"0x0d00",3328
"0x0e00",3584
"0x0f00",3840
"0x1000",4096
"0x1100",4352
"0x1200",4608
"0x1300",4864
"0x1400",5120
"0x1500",5376
"0x1600",5632
"0x1700",5888
"0x1800",6144
"0x1900",6400
"0x1a00",6656
"0x1b00",6912
"0x1c00",7168
"0x1d00",7424
"0x1e00",7680
"0x1f00",7936
"0x2000",8192
"0x2100",8448
"0x2200",8704
"0x2300",8960
"0x2400",9216
"0x2500",9472
"0x2600",9728
"0x2700",9984
"0x2800",10240
"0x2900",10496
"0x2a00",10752
"0x2b00",11008
"0x2c00",11264
"0x2d00",11520
"0x2e00",11776
"0x2f00",12032
"0x3000",12288
"0x3100",12544
"0x3200",12800
"0x3300",13056
"0x3400",13312
"0x3500",13568
"0x3600",13824
"0x3700",14080
"0x3800",14336
"0x3900",14592
"0x3a00",14848
"0x3b00",15104
"0x3c00",15360
"0x3d00",15616
"0x3e00",15872
"0x3f00",16128
"0x4000",16384
"0x4100",16640
"0x4200",16896
"0x4300",17152
"0x4400",17408
"0x4500",17664
"0x4600",17920
"0x4700",18176
"0x4800",18432
"0x4900",18688
"0x4a00",18944
"0x4b00",19200
"0x4c00",19456
"0x4d00",19712
"0x4e00",19968
"0x4f00",20224
"0x5000",20480
"0x5100",20736
"0x5200",20992
"0x5300",21248
"0x5400",21504
"0x5500",21760
"0x5600",22016
"0x5700",22272
"0x5800",22528
"0x5900",22784
"0x5a00",23040
"0x5b00",23296
"0x5c00",23552
"0x5d00",23808
"0x5e00",24064
"0x5f00",24320
"0x6000",24576
"0x6100",24832
"0x6200",25088
"0x6300",25344
"0x6400",25600
"0x6500",25856
"0x6600",26112
"0x6700",26368
"0x6800",26624
"0x6900",26880
"0x6a00",27136
"0x6b00",27392
"0x6c00",27648
"0x6d00",27904
"0x6e00",28160
"0x6f00",28416
"0x7000",28672
"0x7100",28928
"0x7200",29184
"0x7300",29440
"0x7400",29696
"0x7500",29952
"0x7600",30208
"0x7700",30464
"0x7800",30720
"0x7900",30976
"0x7a00",31232
"0x7b00",31488
"0x7c00",31744
"0x7d00",32000
"0x7e00",32256
"0x7f00",32512
"0x8000",32768
"0x8100",33024
"0x8200",33280
"0x8300",33536
"0x8400",33792
"0x8500",34048
"0x8600",34304
"0x8700",34560
"0x8800",34816
"0x8900",35072
"0x8a00",35328
"0x8b00",35584
"0x8c00",35840
"0x8d00",36096
"0x8e00",36352
"0x8f00",36608
"0x9000",36864
"0x9100",37120
"0x9200",37376
"0x9300",37632
"0x9400",37888
"0x9500",38144
"0x9600",38400
"0x9700",38656
"0x9800",38912
"0x9900",39168
"0x9a00",39424
"0x9b00",39680
"0x9c00",39936
"0x9d00",40192
"0x9e00",40448
"0x9f00",40704
"0xa000",40960
"0xa100",41216
"0xa200",41472
"0xa300",41728
"0xa400",41984
"0xa500",42240
"0xa600",42496
"0xa700",42752
"0xa800",43008
"0xa900",43264
"0xaa00",43520
"0xab00",43776
"0xac00",44032
"0xad00",44288
"0xae00",44544
"0xaf00",44800
"0xb000",45056
"0xb100",45312
"0xb200",45568
"0xb300",45824
"0xb400",46080
"0xb500",46336
"0xb600",46592
"0xb700",46848
"0xb800",47104
"0xb900",47360
"0xba00",47616
"0xbb00",47872
"0xbc00",48128
"0xbd00",48384
"0xbe00",48640
"0xbf00",48896
"0xc000",49152
"0xc100",49408
"0xc200",49664
"0xc300",49920
"0xc400",50176
"0xc500",50432
"0xc600",50688
"0xc700",50944
"0xc800",51200
"0xc900",51456
"0xca00",51712
"0xcb00",51968
"0xcc00",52224
"0xcd00",52480
"0xce00",52736
"0xcf00",52992
"0xd000",53248
"0xd100",53504
"0xd200",53760
"0xd300",54016
"0xd400",54272
"0xd500",54528
"0xd600",54784
"0xd700",55040
"0xd800",55296
"0xd900",55552
"0xda00",55808
"0xdb00",56064
"0xdc00",56320
"0xdd00",56576
"0xde00",56832
"0xdf00",57088
"0xe000",57344
"0xe100",57600
"0xe200",57856
"0xe300",58112
"0xe400",58368
"0xe500",58624
"0xe600",58880
"0xe700",59136
"0xe800",59392
"0xe900",59648
"0xea00",59904
"0xeb00",60160
"0xec00",60416
"0xed00",60672
"0xee00",60928
"0xef00",61184
"0xf000",61440
"0xf100",61696
"0xf200",61952
"0xf300",62208
"0xf400",62464
"0xf500",62720
"0xf600",62976
"0xf700",63232
"0xf800",63488
"0xf900",63744
"0xfa00",64000
"0xfb00",64256
"0xfc00",64512
"0xfd00",64768
"0xfe00",65024
"0xff00",65280
[MDGCARDBUS2_LocChoices]
"Automatic",0
"100",256
"180",384
"200",512
"280",640
"300",768
"380",896
"400",1024
"480",1152
"500",1280
"580",1408
"600",1536
"680",1664
"700",1792
"780",1920
"800",2048
"880",2176
"900",2304
"980",2432
"a00",2560
"a80",2688
"b00",2816
"b80",2944
"c00",3072
"c80",3200
"d00",3328
"d80",3456
"e00",3584
"e80",3712
"f00",3840
"f80",3968
"1000",4096
"1080",4224
"1100",4352
"1180",4480
"1200",4608
"1280",4736
"1300",4864
"1380",4992
"1400",5120
"1480",5248
"1500",5376
"1580",5504
"1600",5632
"1680",5760
"1700",5888
"1780",6016
"1800",6144
"1880",6272
"1900",6400
"1980",6528
"1a00",6656
"1a80",6784
"1b00",6912
"1b80",7040
"1c00",7168
"1c80",7296
"1d00",7424
"1d80",7552
"1e00",7680
"1e80",7808
"1f00",7936
"1f80",8064
"2000",8192
"2080",8320
"2100",8448
"2180",8576
"2200",8704
"2280",8832
"2300",8960
"2380",9088
"2400",9216
"2480",9344
"2500",9472
"2580",9600
"2600",9728
"2680",9856
"2700",9984
"2780",10112
"2800",10240
"2880",10368
"2900",10496
"2980",10624
"2a00",10752
"2a80",10880
"2b00",11008
"2b80",11136
"2c00",11264
"2c80",11392
"2d00",11520
"2d80",11648
"2e00",11776
"2e80",11904
"2f00",12032
"2f80",12160
"3000",12288
"3080",12416
"3100",12544
"3180",12672
"3200",12800
"3280",12928
"3300",13056
"3380",13184
"3400",13312
"3480",13440
"3500",13568
"3580",13696
"3600",13824
"3680",13952
"3700",14080
"3780",14208
"3800",14336
"3880",14464
"3900",14592
"3980",14720
"3a00",14848
"3a80",14976
"3b00",15104
"3b80",15232
"3c00",15360
"3c80",15488
"3d00",15616
"3d80",15744
"3e00",15872
"3e80",16000
"3f00",16128
"3f80",16256
"4000",16384
"4080",16512
"4100",16640
"4180",16768
"4200",16896
"4280",17024
"4300",17152
"4380",17280
"4400",17408
"4480",17536
"4500",17664
"4580",17792
"4600",17920
"4680",18048
"4700",18176
"4780",18304
"4800",18432
"4880",18560
"4900",18688
"4980",18816
"4a00",18944
"4a80",19072
"4b00",19200
"4b80",19328
"4c00",19456
"4c80",19584
"4d00",19712
"4d80",19840
"4e00",19968
"4e80",20096
"4f00",20224
"4f80",20352
"5000",20480
"5080",20608
"5100",20736
"5180",20864
"5200",20992
"5280",21120
"5300",21248
"5380",21376
"5400",21504
"5480",21632
"5500",21760
"5580",21888
"5600",22016
"5680",22144
"5700",22272
"5780",22400
"5800",22528
"5880",22656
"5900",22784
"5980",22912
"5a00",23040
"5a80",23168
"5b00",23296
"5b80",23424
"5c00",23552
"5c80",23680
"5d00",23808
"5d80",23936
"5e00",24064
"5e80",24192
"5f00",24320
"5f80",24448
"6000",24576
"6080",24704
"6100",24832
"6180",24960
"6200",25088
"6280",25216
"6300",25344
"6380",25472
"6400",25600
"6480",25728
"6500",25856
"6580",25984
"6600",26112
"6680",26240
"6700",26368
"6780",26496
"6800",26624
"6880",26752
"6900",26880
"6980",27008
"6a00",27136
"6a80",27264
"6b00",27392
"6b80",27520
"6c00",27648
"6c80",27776
"6d00",27904
"6d80",28032
"6e00",28160
"6e80",28288
"6f00",28416
"6f80",28544
"7000",28672
"7080",28800
"7100",28928
"7180",29056
"7200",29184
"7280",29312
"7300",29440
"7380",29568
"7400",29696
"7480",29824
"7500",29952
"7580",30080
"7600",30208
"7680",30336
"7700",30464
"7780",30592
"7800",30720
"7880",30848
"7900",30976
"7980",31104
"7a00",31232
"7a80",31360
"7b00",31488
"7b80",31616
"7c00",31744
"7c80",31872
"7d00",32000
"7d80",32128
"7e00",32256
"7e80",32384
"7f00",32512
"7f80",32640
"8000",32768
"8080",32896
"8100",33024
"8180",33152
"8200",33280
"8280",33408
"8300",33536
"8380",33664
"8400",33792
"8480",33920
"8500",34048
"8580",34176
"8600",34304
"8680",34432
"8700",34560
"8780",34688
"8800",34816
"8880",34944
"8900",35072
"8980",35200
"8a00",35328
"8a80",35456
"8b00",35584
"8b80",35712
"8c00",35840
"8c80",35968
"8d00",36096
"8d80",36224
"8e00",36352
"8e80",36480
"8f00",36608
"8f80",36736
"9000",36864
"9080",36992
"9100",37120
"9180",37248
"9200",37376
"9280",37504
"9300",37632
"9380",37760
"9400",37888
"9480",38016
"9500",38144
"9580",38272
"9600",38400
"9680",38528
"9700",38656
"9780",38784
"9800",38912
"9880",39040
"9900",39168
"9980",39296
"9a00",39424
"9a80",39552
"9b00",39680
"9b80",39808
"9c00",39936
"9c80",40064
"9d00",40192
"9d80",40320
"9e00",40448
"9e80",40576
"9f00",40704
"9f80",40832
"a000",40960
"a080",41088
"a100",41216
"a180",41344
"a200",41472
"a280",41600
"a300",41728
"a380",41856
"a400",41984
"a480",42112
"a500",42240
"a580",42368
"a600",42496
"a680",42624
"a700",42752
"a780",42880
"a800",43008
"a880",43136
"a900",43264
"a980",43392
"aa00",43520
"aa80",43648
"ab00",43776
"ab80",43904
"ac00",44032
"ac80",44160
"ad00",44288
"ad80",44416
"ae00",44544
"ae80",44672
"af00",44800
"af80",44928
"b000",45056
"b080",45184
"b100",45312
"b180",45440
"b200",45568
"b280",45696
"b300",45824
"b380",45952
"b400",46080
"b480",46208
"b500",46336
"b580",46464
"b600",46592
"b680",46720
"b700",46848
"b780",46976
"b800",47104
"b880",47232
"b900",47360
"b980",47488
"ba00",47616
"ba80",47744
"bb00",47872
"bb80",48000
"bc00",48128
"bc80",48256
"bd00",48384
"bd80",48512
"be00",48640
"be80",48768
"bf00",48896
"bf80",49024
"c000",49152
"c080",49280
"c100",49408
"c180",49536
"c200",49664
"c280",49792
"c300",49920
"c380",50048
"c400",50176
"c480",50304
"c500",50432
"c580",50560
"c600",50688
"c680",50816
"c700",50944
"c780",51072
"c800",51200
"c880",51328
"c900",51456
"c980",51584
"ca00",51712
"ca80",51840
"cb00",51968
"cb80",52096
"cc00",52224
"cc80",52352
"cd00",52480
"cd80",52608
"ce00",52736
"ce80",52864
"cf00",52992
"cf80",53120
"d000",53248
"d080",53376
"d100",53504
"d180",53632
"d200",53760
"d280",53888
"d300",54016
"d380",54144
"d400",54272
"d480",54400
"d500",54528
"d580",54656
"d600",54784
"d680",54912
"d700",55040
"d780",55168
"d800",55296
"d880",55424
"d900",55552
"d980",55680
"da00",55808
"da80",55936
"db00",56064
"db80",56192
"dc00",56320
"dc80",56448
"dd00",56576
"dd80",56704
"de00",56832
"de80",56960
"df00",57088
"df80",57216
"e000",57344
"e080",57472
"e100",57600
"e180",57728
"e200",57856
"e280",57984
"e300",58112
"e380",58240
"e400",58368
"e480",58496
"e500",58624
"e580",58752
"e600",58880
"e680",59008
"e700",59136
"e780",59264
"e800",59392
"e880",59520
"e900",59648
"e980",59776
"ea00",59904
"ea80",60032
"eb00",60160
"eb80",60288
"ec00",60416
"ec80",60544
"ed00",60672
"ed80",60800
"ee00",60928
"ee80",61056
"ef00",61184
"ef80",61312
"f000",61440
"f080",61568
"f100",61696
"f180",61824
"f200",61952
"f280",62080
"f300",62208
"f380",62336
"f400",62464
"f480",62592
"f500",62720
"f580",62848
"f600",62976
"f680",63104
"f700",63232
"f780",63360
"f800",63488
"f880",63616
"f900",63744
"f980",63872
"fa00",64000
"fa80",64128
"fb00",64256
"fb80",64384
"fc00",64512
"fc80",64640
"fd00",64768
"fd80",64896
"fe00",65024
"fe80",65152
"ff00",65280
"ff80",65408
[MDGPCIHS_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[MDGPCIHS2_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[OCTX3540_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[OCTX3139_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[OCTX3140_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[OCTX3140V2_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[OCTX3141_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[OCTX3137_LocChoices]
"00",0
"01",1
"02",2
"03",3
"04",4
"05",5
"06",6
"07",7
"08",8
"09",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[OCTX3221_LocChoices]
"0x0200",512
"0x0220",544
"0x0240",576
"0x0260",608
"0x0300",768
"0x0320",800
"0x0340",832
"0x0360",864
"0x0A00",2560
"0x0A20",2592
"0x0A40",2624
"0x0A60",2656
"0x0A80",2688
"0x0AC0",2752
"0x0B00",2816
"0x0B40",2880
"0x0B80",2944
[OCTX3250_LocChoices]
"Automatic",0
"100",256
"180",384
"200",512
"280",640
"300",768
"380",896
"400",1024
"480",1152
"500",1280
"580",1408
"600",1536
"680",1664
"700",1792
"780",1920
"800",2048
"880",2176
"900",2304
"980",2432
"a00",2560
"a80",2688
"b00",2816
"b80",2944
"c00",3072
"c80",3200
"d00",3328
"d80",3456
"e00",3584
"e80",3712
"f00",3840
"f80",3968
"1000",4096
"1080",4224
"1100",4352
"1180",4480
"1200",4608
"1280",4736
"1300",4864
"1380",4992
"1400",5120
"1480",5248
"1500",5376
"1580",5504
"1600",5632
"1680",5760
"1700",5888
"1780",6016
"1800",6144
"1880",6272
"1900",6400
"1980",6528
"1a00",6656
"1a80",6784
"1b00",6912
"1b80",7040
"1c00",7168
"1c80",7296
"1d00",7424
"1d80",7552
"1e00",7680
"1e80",7808
"1f00",7936
"1f80",8064
"2000",8192
"2080",8320
"2100",8448
"2180",8576
"2200",8704
"2280",8832
"2300",8960
"2380",9088
"2400",9216
"2480",9344
"2500",9472
"2580",9600
"2600",9728
"2680",9856
"2700",9984
"2780",10112
"2800",10240
"2880",10368
"2900",10496
"2980",10624
"2a00",10752
"2a80",10880
"2b00",11008
"2b80",11136
"2c00",11264
"2c80",11392
"2d00",11520
"2d80",11648
"2e00",11776
"2e80",11904
"2f00",12032
"2f80",12160
"3000",12288
"3080",12416
"3100",12544
"3180",12672
"3200",12800
"3280",12928
"3300",13056
"3380",13184
"3400",13312
"3480",13440
"3500",13568
"3580",13696
"3600",13824
"3680",13952
"3700",14080
"3780",14208
"3800",14336
"3880",14464
"3900",14592
"3980",14720
"3a00",14848
"3a80",14976
"3b00",15104
"3b80",15232
"3c00",15360
"3c80",15488
"3d00",15616
"3d80",15744
"3e00",15872
"3e80",16000
"3f00",16128
"3f80",16256
"4000",16384
"4080",16512
"4100",16640
"4180",16768
"4200",16896
"4280",17024
"4300",17152
"4380",17280
"4400",17408
"4480",17536
"4500",17664
"4580",17792
"4600",17920
"4680",18048
"4700",18176
"4780",18304
"4800",18432
"4880",18560
"4900",18688
"4980",18816
"4a00",18944
"4a80",19072
"4b00",19200
"4b80",19328
"4c00",19456
"4c80",19584
"4d00",19712
"4d80",19840
"4e00",19968
"4e80",20096
"4f00",20224
"4f80",20352
"5000",20480
"5080",20608
"5100",20736
"5180",20864
"5200",20992
"5280",21120
"5300",21248
"5380",21376
"5400",21504
"5480",21632
"5500",21760
"5580",21888
"5600",22016
"5680",22144
"5700",22272
"5780",22400
"5800",22528
"5880",22656
"5900",22784
"5980",22912
"5a00",23040
"5a80",23168
"5b00",23296
"5b80",23424
"5c00",23552
"5c80",23680
"5d00",23808
"5d80",23936
"5e00",24064
"5e80",24192
"5f00",24320
"5f80",24448
"6000",24576
"6080",24704
"6100",24832
"6180",24960
"6200",25088
"6280",25216
"6300",25344
"6380",25472
"6400",25600
"6480",25728
"6500",25856
"6580",25984
"6600",26112
"6680",26240
"6700",26368
"6780",26496
"6800",26624
"6880",26752
"6900",26880
"6980",27008
"6a00",27136
"6a80",27264
"6b00",27392
"6b80",27520
"6c00",27648
"6c80",27776
"6d00",27904
"6d80",28032
"6e00",28160
"6e80",28288
"6f00",28416
"6f80",28544
"7000",28672
"7080",28800
"7100",28928
"7180",29056
"7200",29184
"7280",29312
"7300",29440
"7380",29568
"7400",29696
"7480",29824
"7500",29952
"7580",30080
"7600",30208
"7680",30336
"7700",30464
"7780",30592
"7800",30720
"7880",30848
"7900",30976
"7980",31104
"7a00",31232
"7a80",31360
"7b00",31488
"7b80",31616
"7c00",31744
"7c80",31872
"7d00",32000
"7d80",32128
"7e00",32256
"7e80",32384
"7f00",32512
"7f80",32640
"8000",32768
"8080",32896
"8100",33024
"8180",33152
"8200",33280
"8280",33408
"8300",33536
"8380",33664
"8400",33792
"8480",33920
"8500",34048
"8580",34176
"8600",34304
"8680",34432
"8700",34560
"8780",34688
"8800",34816
"8880",34944
"8900",35072
"8980",35200
"8a00",35328
"8a80",35456
"8b00",35584
"8b80",35712
"8c00",35840
"8c80",35968
"8d00",36096
"8d80",36224
"8e00",36352
"8e80",36480
"8f00",36608
"8f80",36736
"9000",36864
"9080",36992
"9100",37120
"9180",37248
"9200",37376
"9280",37504
"9300",37632
"9380",37760
"9400",37888
"9480",38016
"9500",38144
"9580",38272
"9600",38400
"9680",38528
"9700",38656
"9780",38784
"9800",38912
"9880",39040
"9900",39168
"9980",39296
"9a00",39424
"9a80",39552
"9b00",39680
"9b80",39808
"9c00",39936
"9c80",40064
"9d00",40192
"9d80",40320
"9e00",40448
"9e80",40576
"9f00",40704
"9f80",40832
"a000",40960
"a080",41088
"a100",41216
"a180",41344
"a200",41472
"a280",41600
"a300",41728
"a380",41856
"a400",41984
"a480",42112
"a500",42240
"a580",42368
"a600",42496
"a680",42624
"a700",42752
"a780",42880
"a800",43008
"a880",43136
"a900",43264
"a980",43392
"aa00",43520
"aa80",43648
"ab00",43776
"ab80",43904
"ac00",44032
"ac80",44160
"ad00",44288
"ad80",44416
"ae00",44544
"ae80",44672
"af00",44800
"af80",44928
"b000",45056
"b080",45184
"b100",45312
"b180",45440
"b200",45568
"b280",45696
"b300",45824
"b380",45952
"b400",46080
"b480",46208
"b500",46336
"b580",46464
"b600",46592
"b680",46720
"b700",46848
"b780",46976
"b800",47104
"b880",47232
"b900",47360
"b980",47488
"ba00",47616
"ba80",47744
"bb00",47872
"bb80",48000
"bc00",48128
"bc80",48256
"bd00",48384
"bd80",48512
"be00",48640
"be80",48768
"bf00",48896
"bf80",49024
"c000",49152
"c080",49280
"c100",49408
"c180",49536
"c200",49664
"c280",49792
"c300",49920
"c380",50048
"c400",50176
"c480",50304
"c500",50432
"c580",50560
"c600",50688
"c680",50816
"c700",50944
"c780",51072
"c800",51200
"c880",51328
"c900",51456
"c980",51584
"ca00",51712
"ca80",51840
"cb00",51968
"cb80",52096
"cc00",52224
"cc80",52352
"cd00",52480
"cd80",52608
"ce00",52736
"ce80",52864
"cf00",52992
"cf80",53120
"d000",53248
"d080",53376
"d100",53504
"d180",53632
"d200",53760
"d280",53888
"d300",54016
"d380",54144
"d400",54272
"d480",54400
"d500",54528
"d580",54656
"d600",54784
"d680",54912
"d700",55040
"d780",55168
"d800",55296
"d880",55424
"d900",55552
"d980",55680
"da00",55808
"da80",55936
"db00",56064
"db80",56192
"dc00",56320
"dc80",56448
"dd00",56576
"dd80",56704
"de00",56832
"de80",56960
"df00",57088
"df80",57216
"e000",57344
"e080",57472
"e100",57600
"e180",57728
"e200",57856
"e280",57984
"e300",58112
"e380",58240
"e400",58368
"e480",58496
"e500",58624
"e580",58752
"e600",58880
"e680",59008
"e700",59136
"e780",59264
"e800",59392
"e880",59520
"e900",59648
"e980",59776
"ea00",59904
"ea80",60032
"eb00",60160
"eb80",60288
"ec00",60416
"ec80",60544
"ed00",60672
"ed80",60800
"ee00",60928
"ee80",61056
"ef00",61184
"ef80",61312
"f000",61440
"f080",61568
"f100",61696
"f180",61824
"f200",61952
"f280",62080
"f300",62208
"f380",62336
"f400",62464
"f480",62592
"f500",62720
"f580",62848
"f600",62976
"f680",63104
"f700",63232
"f780",63360
"f800",63488
"f880",63616
"f900",63744
"f980",63872
"fa00",64000
"fa80",64128
"fb00",64256
"fb80",64384
"fc00",64512
"fc80",64640
"fd00",64768
"fd80",64896
"fe00",65024
"fe80",65152
"ff00",65280
"ff80",65408
; ----------------------------------------------------------------------
; Lists of user selectable interrupts.
; ----------------------------------------------------------------------
[MDGPCIBM2_IrqChoices]
"Automatic",0
[MDGPCI3_IrqChoices]
"Automatic",0
[MDGPRESTO_IrqChoices]
"Automatic",0
[MDGPRESTO2_IrqChoices]
"Automatic",0
[MDGPRESTO2000_IrqChoices]
"Automatic",0
[MDGPCMCIA_IrqChoices]
"1",1
"2",2
"3",3
"4",4
"5",5
"6",6
"7",7
"8",8
"9",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
[MDGCARDBUS_IrqChoices]
"Automatic",0
"1",1
"2",2
"3",3
"4",4
"5",5
"6",6
"7",7
"8",8
"9",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
[MDGCARDBUS2_IrqChoices]
"Automatic",0
"1",1
"2",2
"3",3
"4",4
"5",5
"6",6
"7",7
"8",8
"9",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
[MDGPCIHS_IrqChoices]
"Automatic",0
[MDGPCIHS2_IrqChoices]
"Automatic",0
[OCTX3540_IrqChoices]
"Automatic",0
[OCTX3139_IrqChoices]
"Automatic",0
[OCTX3140_IrqChoices]
"Automatic",0
[OCTX3140V2_IrqChoices]
"Automatic",0
[OCTX3141_IrqChoices]
"Automatic",0
[OCTX3137_IrqChoices]
"Automatic",0
[OCTX3221_IrqChoices]
"1",1
"2",2
"3",3
"4",4
"5",5
"6",6
"7",7
"8",8
"9",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
[OCTX3250_IrqChoices]
"Automatic",0
"1",1
"2",2
"3",3
"4",4
"5",5
"6",6
"7",7
"8",8
"9",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
; ----------------------------------------------------------------------
; Lists of user selectable DMA channels.
; ----------------------------------------------------------------------
[MDGPCI3_DmaChoices]
"Unused",0
[MDGPCIBM2_DmaChoices]
"Unused",0
[MDGPRESTO_DmaChoices]
"Unused",0
[MDGPRESTO2_DmaChoices]
"Unused",0
[MDGPRESTO2000_DmaChoices]
"Unused",0
[MDGPCMCIA_DmaChoices]
"Unused",0
[MDGCARDBUS_DmaChoices]
"Unused",0
[MDGCARDBUS2_DmaChoices]
"Unused",0
[MDGPCIHS_DmaChoices]
"Unused",0
[MDGPCIHS2_DmaChoices]
"Unused",0
[OCTX3540_DmaChoices]
"Unused",0
[OCTX3139_DmaChoices]
"Unused",0
[OCTX3140_DmaChoices]
"Unused",0
[OCTX3140V2_DmaChoices]
"Unused",0
[OCTX3141_DmaChoices]
"Unused",0
[OCTX3137_DmaChoices]
"Unused",0
[OCTX3221_DmaChoices]
"Unused",0
[OCTX3250_DmaChoices]
"Unused",0
; ----------------------------------------------------------------------
; Lists of user selectable transfer modes.
; ----------------------------------------------------------------------
[MDGPCIBM2_TransferChoices]
"Default",0
"16Bit PIO",1
[MDGPCI3_TransferChoices]
"Default",0
[MDGPRESTO_TransferChoices]
"Default",0
[MDGPRESTO2_TransferChoices]
"Default",0
[MDGPRESTO2000_TransferChoices]
"Default",0
[MDGPCMCIA_TransferChoices]
"Default",0
"16Bit PIO",1
[MDGCARDBUS_TransferChoices]
"Default",0
"16Bit PIO",1
[MDGCARDBUS2_TransferChoices]
"Default",0
[MDGPCIHS_TransferChoices]
"Default",0
[MDGPCIHS2_TransferChoices]
"Default",0
[OCTX3540_TransferChoices]
"Default",0
[OCTX3139_TransferChoices]
"Default",0
[OCTX3140_TransferChoices]
"Default",0
[OCTX3140V2_TransferChoices]
"Default",0
[OCTX3141_TransferChoices]
"Default",0
[OCTX3137_TransferChoices]
"Default",0
"16Bit PIO",1
[OCTX3221_TransferChoices]
"Default",0
[OCTX3250_TransferChoices]
"Default",0
; ----------------------------------------------------------------------
; Lists of user selectable transfer ring speeds.
; ----------------------------------------------------------------------
[MDGPCIBM2_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGPCI3_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGPRESTO_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGPRESTO2_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGPRESTO2000_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGCARDBUS_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGCARDBUS2_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGPCMCIA_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[MDGPCIHS_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
"Force 100 MBit/s",4
[MDGPCIHS2_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
"Force 100 MBit/s",4
[OCTX3540_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
"Force 100 MBit/s",4
[OCTX3139_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[OCTX3140_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[OCTX3140V2_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[OCTX3141_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[OCTX3137_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[OCTX3221_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
[OCTX3250_SpeedChoices]
"Set at adapter",1
"Force 4 MBit/s",2
"Force 16 MBit/s",3
; ----------------------------------------------------------------------
; Lists of user selectable stats gathering modes.
; ----------------------------------------------------------------------
[MDGPCIBM2_StatsChoices]
"Disabled",0
"Enabled",1
[MDGPCI3_StatsChoices]
"Disabled",0
"Enabled",1
[MDGPRESTO_StatsChoices]
"Not supported",0
[MDGPRESTO2_StatsChoices]
"Not supported",0
[MDGPRESTO2000_StatsChoices]
"Disabled",0
"Enabled",1
[MDGPCMCIA_StatsChoices]
"Disabled",0
"Enabled",1
[MDGCARDBUS_StatsChoices]
"Disabled",0
"Enabled",1
[MDGCARDBUS2_StatsChoices]
"Disabled",0
"Enabled",1
[MDGPCIHS_StatsChoices]
"Disabled",0
"Enabled",1
[MDGPCIHS2_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3540_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3139_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3140_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3140V2_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3141_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3137_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3221_StatsChoices]
"Disabled",0
"Enabled",1
[OCTX3250_StatsChoices]
"Disabled",0
"Enabled",1
; ----------------------------------------------------------------------
; Lists of user selectable Wake-On-LAN modes.
; ----------------------------------------------------------------------
[MDGPCIBM2_WolChoices]
"Not supported",0
[MDGPCI3_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[MDGPRESTO_WolChoices]
"Not supported",0
[MDGPRESTO2_WolChoices]
"Not supported",0
[MDGPRESTO2000_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[MDGPCMCIA_WolChoices]
"Not supported",0
[MDGCARDBUS_WolChoices]
"Not supported",0
[MDGCARDBUS2_WolChoices]
"Not supported",0
[MDGPCIHS_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[MDGPCIHS2_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[OCTX3540_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[OCTX3139_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[OCTX3140_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[OCTX3140V2_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[OCTX3141_WolChoices]
"Disabled",0
"Enabled",1
"Enabled/PME",2
[OCTX3137_WolChoices]
"Not supported",0
[OCTX3221_WolChoices]
"Not supported",0
[OCTX3250_WolChoices]
"Not supported",0
; ---------------------------------------------------------------------
; Lists for parameters that are not adapter type dependant.
; ---------------------------------------------------------------------
[SlotsChoices]
"Default",0
"01",1
"02",2
"03",3
"04",4
"06",6
"08",8
"10",10
"12",12
"14",14
"16",16
"18",18
"20",20
"22",22
"24",24
"26",26
"28",28
"30",30
"32",32
"48",48
"64",64
[SwitchChoices]
"Disabled",0
"Enabled",1
[QuietChoices]
"Disabled",0
"Enabled",1
"Enabled (reconnect)",2
[MacOpenChoices]
"Force Classic",1
"Force Full Duplex",2
"Default",3
[WatchdogChoices]
"Disabled",0
"05 seconds",5
"10 seconds",10
"15 seconds",15
"20 seconds",20
"30 seconds",30
"45 seconds",45
"60 seconds",60
[DisabledOnlyChoices]
"Disabled",0
[SlaveSlotNumberChoices]
"Mirroring Disabled",0
"1",1
"2",2
"3",3
"4",4
"5",5
"6",6
"7",7
"8",8
"9",9
"10",10
"11",11
"12",12
"13",13
"14",14
"15",15
"16",16
"17",17
"18",18
"19",19
"20",20
"21",21
"22",22
"23",23
"24",24
"25",25
"26",26
"27",27
"28",28
"29",29
"30",30
"31",31
[BeaconTimeoutChoices]
"Disabled",0
"2 seconds",2
"3 seconds",3
"4 seconds",4
"5 seconds",5
"6 seconds",6
"7 seconds",7
"8 seconds",8
"9 seconds",9
"10 seconds",10
[SingleStationTimeoutChoices]
"Disabled",0
"2 seconds",2
"3 seconds",3
"4 seconds",4
"5 seconds",5
"6 seconds",6
"7 seconds",7
"8 seconds",8
"9 seconds",9
"10 seconds",10
"15 seconds",15
"20 seconds",20
"30 seconds",30
"45 seconds",45
"60 seconds",60
[PcmciaMemWinChoices]
"0xD0000", 851968
"0xD2000", 860160
"0xD4000", 868352
"0xD6000", 876544
"0xD8000", 884736
"0xDA000", 892928
"0xDC000", 901120
"0xDE000", 909312
"0xC0000", 786432
"0xC2000", 794624
"0xC4000", 802816
"0xC6000", 811008
"0xC8000", 819200
"0xCA000", 827392
"0xCC000", 835584
"0xCE000", 843776
; ----------------------------------------------------------------------
; Constants used in the mapping of LSS5 drivers to LSS6 drivers
; ----------------------------------------------------------------------
[MappingConstants]
;
; Adapter Name Map.
;
MAP_MDGMPATP = "MDGATP"
MAP_MDGMPATPE = "MDGATPNP"
MAP_MDGMPISACP = "MDGISACP"
MAP_MDGMPEISA = "MDGEISA"
MAP_MDGMPPNP = "MDGISACPNP"
MAP_MDGMPPCI = "MDGPCI1B"
MAP_MDGMPPCIBM = "MDGPCIBM2"
MAP_MDGMPPCMCIA = "MDGPCMCIA"
;
; UDT Constants - refer to the UDT defs.h for more details.
;
UDT_TX_MODE_DEFAULT = "0"
UDT_TX_MODE_PIO_16 = "1"
UDT_TX_MODE_PIO_32 = "2" ; Not supported
UDT_TX_MODE_MMIO = "3" ; Not supported
UDT_TX_MODE_MASTER = "4" ; Not supported
UDT_TX_MODE_SRAM = "5" ; Not supported
UDT_RS_UNKNOWN = "0"
UDT_RS_ADAPTER = "1"
UDT_RS_4M = "2"
UDT_RS_16M = "3"
UDT_MAC_OPEN_CLASSIC = "1"
UDT_MAC_OPEN_DTR = "2"
UDT_MAC_OPEN_DEF = "3"
;
; Transfer Method Map
;
;
; The fields relate to Default
;--------------------------------------------------------------------------------------------------------------------------
; AdapterType | PIO | DMA | MMIO | Force 16-bit PIO |
;--------------------------------------------------------------------------------------------------------------------------
;
MapXferMethod_MDGATP = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_PIO_16)}
MapXferMethod_MDGATPNP = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_PIO_16)}
MapXferMethod_MDGISACP = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT)}
MapXferMethod_MDGEISA = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT)}
MapXferMethod_MDGISACPNP= {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_PIO_16)}
MapXferMethod_MDGPCI1B = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT)}
MapXferMethod_MDGPCIBM1 = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT)}
MapXferMethod_MDGPCIBM2 = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_PIO_16)}
MapXferMethod_MDGPCMCIA = {$(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_DEFAULT), $(UDT_TX_MODE_PIO_16)}
; ----------------------------------------------------------------------
; Constants specific to the driver.
; ----------------------------------------------------------------------
[FileConstants]
;
; File names, etc.
;
DialogDllName = "MDRVWIN.DLL"
DetectDllName = "MDGNCDET.DLL"
SoftwareType = "driver"
Exit_Code = 0
;
; Product Information.
;
Manufacturer = "Madge"
ProductMajorVersion = "6"
ProductMinorVersion = "04"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
VersionString = "6.04 LSS 7.1(0)"
;
; Software information.
;
ProductSoftwareName = "MDGNDIS4"
ProductSoftwareImagePath = "%SystemRoot%\system32\drivers\"$(ProductSoftwareName)".sys"
NetRuleSoftwareType = "mdgtrSys ndisDriver mdgtrDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """mdgtrSys"" yes no container"
NetRuleSoftwareClass = {"mdgtrDriver basic"}
NetRuleSoftwareBindable = {"mdgtrDriver mdgtrAdapter non exclusive 100"}
;
; Hardware information.
;
ProductHardwareName = "MDGNDIS4"
NetRuleHardwareType = "mdgtr mdgtrAdapter"
NetRuleHardwareBindForm = " yes yes container"
NetRuleHardwareClass = {"mdgtrAdapter basic"}
;
; Registry Key.
;
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
CardbusDatabase = "System\CurrentControlSet\Services\PCMCIA\Database\MADGE"
PcmciaDatabase = "System\CurrentControlSet\Services\PCMCIA\Database\MADGE\Smart 16/4 PCMCIA Ringnode"
CBDatabase = "System\CurrentControlSet\Services\PCMCIA\Database\MADGE\16/4 CARDBUS ADAPTER"
CB2Database = "System\CurrentControlSet\Services\PCMCIA\Database\MADGE\CARDBUS ADAPTER MK 2"
FixedDatabase = "System\ControlSet001\Services\PCMCIA\Database\MADGE\Smart 16/4 PCMCIA Ringnode"
OlicomPcmciaDatabase = "System\CurrentControlSet\Services\PCMCIA\Database\OLICOM"
OCTX3221Database = "System\CurrentControlSet\Services\PCMCIA\Database\OLICOM\TR 16/4 II"
OCTX3221DatabaseLast = "TR 16/4 II"
OCTX3250Database = "System\CurrentControlSet\Services\PCMCIA\Database\OLICOM\GoCard 3250 Token-Ring CardBus PC Card"
OCTX3250DatabaseLast = "GoCard 3250 Token-Ring CardBus PC Card"
CompaqHotPlugKey= $(!NTN_SoftwareBase)"\Compaq\Cpqrcmc\ClassDLLs\NicMiniPort"
AwardKey = $(!NTN_SoftwareBase)"\Award Software\CardWare"
SystemSoftKey = $(!NTN_SoftwareBase)"\SystemSoft\CardWizard for Windows NT"
SoftexKey1 = $(!NTN_ServiceBase)"\CardS"
SoftexKey2 = $(!NTN_ServiceBase)"\Enabler"
;
; EventLog Message File.
;
MadgeEventLogFile = $(ProductSoftwareImagePath)
;
; Hot Plug PCI constants.
; These values must correspond to those defined within the driver.
;
BaseOIDAddress = 4278322176 ; 0xff020400
SetOIDAddress = 4278321933 ; 0xff02030d
;
; Default values for some registry parameters.
;
DEF_MAX_FRAME_SIZE = 4216
DEF_TX_SLOTS = 0
DEF_RX_SLOTS = 0
DEF_DMA_CHANNEL = 0
DEF_IRQ_NUMBER = 0
DEF_TRANSFER_TYPE = 0
DEF_INTERRUPT_NUMBER = 0
DEF_MAC_OPEN_MODE = 3
DEF_TEST_XID = 1
DEF_STATS_GATHERING = 0
DEF_QUIET_MODE = 0
DEF_RING_STATUS_MASK = 7520 ; 0x1d60
DEF_EVENT_LOG_MASK = 28 ; 0x001c
DEF_WATCHDOG = 20
DEF_SPEED = 1
DEF_WOL = 0
DEF_SLAVE_SLOT_NUMBER = 0
DEF_BEACON_TIMEOUT = 0
DEF_SINGLE_TIMEOUT = 0
DEF_CARDBUS_IO_LOCATION = 33024 ; 0x8100
DEF_PCMCIAMEMWIN = 0
DEF_PCMCIAMEMWINLEN = 0
;
; Adapter types.
;
AdapterTypeFlagMDGPCI3 = 11
AdapterTypeFlagMDGPCIBM2 = 10
AdapterTypeFlagMDGPRESTO = 11
AdapterTypeFlagMDGPRESTO2 = 11
AdapterTypeFlagMDGPRESTO2000 = 11
AdapterTypeFlagMDGPCMCIA = 7
AdapterTypeFlagMDGCARDBUS = 12
AdapterTypeFlagMDGCARDBUS2 = 17
AdapterTypeFlagMDGPCIHS = 11
AdapterTypeFlagMDGPCIHS2 = 11
AdapterTypeFlagOCTX3540 = 212
AdapterTypeFlagOCTX3139 = 211
AdapterTypeFlagOCTX3140 = 211
AdapterTypeFlagOCTX3140V2 = 11
AdapterTypeFlagOCTX3141 = 211
AdapterTypeFlagOCTX3137 = 210
AdapterTypeFlagOCTX3221 = 217
AdapterTypeFlagOCTX3250 = 218
;
; Adapter classification lists.
;
MadgeAdapterOptions = ^(Options,1)
SlotNumberAdapters = ^(SlotNumberOnlyOptions,1)
CardbusAdapters = ^(CardbusOptions,1)
OlicomPcmciaAdapters = ^(OlicomPcmciaOptions,1)
OlicomHebeAdapters = ^(OlicomHebeOptions,1)
PcmciaAdapters = ^(PcmciaOptions,1)
MirroringAdapters = ^(MirroringOptions,1)
; ---------------------------------------------------------------------
; General constants.
; ---------------------------------------------------------------------
[GeneralConstants]
;
; File names, etc.
;
UtilityInf = "UTILITY.INF"
SubroutineInf = "SUBROUTN.INF"
ParamInf = "NCPARAM.INF"
;
; Program flow control variables.
;
From = ""
To = ""
;
; Return codes; Exit_Code is set to one of these
;
ExitCodeOk = 0
ExitCodeCancel = 1
ExitCodeFatal = 2
;
; Miscellaneous.
;
MAXIMUM_ALLOWED = 33554432
RegistryErrorIndex = NO_ERROR
KeyNull = ""
KeyProduct = ""
KeyParameters = ""
TRUE = 1
FALSE = 0
NoTitle = 0
ExitState = "Active"
OldVersionExisted = $(FALSE)
AwardCB = $(FALSE)
SSoftCB = $(FALSE)
SoftexCB = $(FALSE)
MadgeCB = $(FALSE)
DriverPath = $(!STF_NTPATH)\drivers
;
; Resource values returned by the detection DLL, so do not change them.
;
VALUE_UNKNOWN = 65535
; ----------------------------------------------------------------------
; Language dependent messages for the upgrade section
; ----------------------------------------------------------------------
[UpgradeMessagesENG]
UPD_SUCCESS = "The upgrade was successful."
UPD_STARTED = "The upgrade processes has been started"
UPD_TOO_MANY_UNKNOWN_SLOTS = "The upgrade has been halted because it is not possible to resolve the slot numbers of all the PCI cards in the machine. Go to the cards' properties to resolve this problem and try again."
UPD_TOO_MANY_PCIS_WITH_AN_UNKNOWN = "The upgrade has been halted because there is a PCI card in this machine that has an unknown slot number. Go to the card's properties to resolve this problem and try again."
UPD_GET_INF_NAME_FAILED = "The upgrade fialed because the install file failed to determine the name of the install file."
UPD_INSTALL_FAILED = "This installation failed to update the driver files. Check that all the files are present on the installation disk."
UPD_PREP_DETECTION_DLL_FAILED = "The setup failed to initialise the detection library."
UPD_OPEN_SOFTWARE_KEY_FAILED = "You can't upgrade to this driver since it has a different name to the installed driver. You must remove the old driver, reboot, then add the new driver."
UPD_FAILED_TO_DETERMINE_CARD_TYPE = "The upgrade failed because the card type was not recognised."
UPD_OPTION_NOT_SUPPORTED = "This OEMSETUP file does not support this card."
UPD_UNSUPPORTED_CARD_FOUND = "It is not possible to upgrade this machine because a network adapter that requires the existing driver was detected in this machine."
UPD_DOWNGRADING_ERROR = "It is not possible to downgrade the driver. To achieve this you must manually remove this driver and install the previous one."
; ----------------------------------------------------------------------
; Language dependent constants specific to the driver.
; ----------------------------------------------------------------------
[FileConstantsENG]
;
; Product Info
;
FunctionTitle = "MDGNDIS4 v"$(VersionString)": Madge Token Ring Adapter Setup"
;
; Software.
;
ProductSoftwareTitle = "MDGNDIS4"
ProductSoftwareDescription = "MDGNDIS4: Madge Token Ring Adapter Miniport Driver"
ProductHardwareMDGPCIBM2 = "Madge Smart 16/4 PCI Ringnode Mk2"
ProductHardwareMDGPCI3 = "Madge Smart 16/4 PCI Ringnode Mk3"
ProductHardwareMDGPCMCIA = "Madge Smart 16/4 PCMCIA Ringnode"
ProductHardwareMDGCARDBUS = "Madge 16/4 CardBus Adapter"
ProductHardwareMDGCARDBUS2 = "Madge 16/4 CardBus Adapter Mk2"
ProductHardwareMDGPRESTO = "Madge Presto PCI"
ProductHardwareMDGPRESTO2 = "Madge Presto PCI Plus"
ProductHardwareMDGPRESTO2000 = "Madge Presto PCI 2000"
ProductHardwareMDGPCIHS = "Madge Smart 100/16/4 PCI-HS Ringnode"
ProductHardwareMDGPCIHS2 = "Madge Smart 100/16/4 PCI Ringnode"
ProductHardwareOCTX3540 = "Olicom RF-3540 HSTR 100/16/4 PCI Adapter"
ProductHardwareOCTX3139 = "Olicom RF-3139 Token-Ring 16/4 PCI Adapter"
ProductHardwareOCTX3140 = "Olicom RF-3140 Token-Ring 16/4 PCI Adapter"
ProductHardwareOCTX3140V2 = "Olicom RF-3140 V2 16/4 PCI Adapter"
ProductHardwareOCTX3141 = "Olicom RF-3141 Token-Ring 16/4 PCI Fiber Adapter"
ProductHardwareOCTX3137 = "Olicom PCI/II 16/4 Adapter (OC-3137)"
ProductHardwareOCTX3221 = "Olicom GoCard Token-Ring PC Card (OC-3221)"
ProductHardwareOCTX3250 = "Olicom GC-3250 16/4 CardBus PC Card"
;
; Messages.
;
CANNOT_FIND_ANY_CARD = "No Madge adapters were detected that are not already installed. "+
"If you are installing a CardBus adapter, the Madge Automated "+
"Installation will not detect it and should not be used."
TRIMMED_MFS = "WARNING: The maximum frame size specified is greater than "+
"the 17839 allowed on a 100/16Mbps ring. The frame size has been "+
"automatically reduced to 17839. On a 4Mbps ring the maximum "+
"frame size is 4472. If a larger maximum frame size is "+
"specified it will be automatically reduced and a message "+
"placed in the event log."
INVALID_MFS = "WARNING: The maximum frame size specified is smaller than the "+
"recommended minimum for a token ring card (256 bytes) and has been "+
"increased to that value."
INVALID_RING_STAT = "WARNING: An invalid Ring Status Mask has been chosen. The "+
"mask should be in the range 0x0 - 0x3FFF and has been set to "+
"the default value 0x1D60."
NON_AUTO_INSTALL = "You have selected a manual installation and must set the "+
"correct IO location/Slot Number/PCI Device ID for the adapter "+
"in the advanced dialog box. If you do not know this information "+
"cancel this install and add the card using the 'Automated Installation'."
SET_LAA_FOR_MIRRORING = "A Locally Administered Node Address (LAA) must be specified "+
"when using Mirroring. Please enter an LAA into the dialog box."
MASTER_AND_SLAVE_CLASH = "The same value has been selected for both Master and Slave PCI "+
"Device IDs. Please change one of these values in the Advanced "+
"dialog box."
MADGE_INTERNAL_SOLN = "The internal Madge CardBus enabler will be used since NT4.0 has "+
"no native support for CardBus adapters and there is no "+
"third-party NT4.0 CardBus solution installed on this system. "+
"The resources assigned to the CardBus adapter can be modified "+
"using the Advanced Properties dialog. If you do not wish to "+
"use the internal enabler select Cancel now."
AWARD_SOLN = "Award CardWare has been detected on this system and will be used to "+
"enable the CardBus adapter. No user configuration is required. "+
"If you do not wish to use Award CardWare select Cancel now."
SSOFT_SOLN = "SystemSoft CardWizard has been detected on this system and will be used to "+
"enable the CardBus adapter. No user configuration is required. "+
"If you do not wish to use SystemSoft CardWizard select Cancel now."
SOFTEX_SOLN = "Softex PC Card Controller has been detected on this system and will be used to "+
"enable the CardBus adapter. No user configuration is required. "+
"If you do not wish to use Softex PC Card Controller select Cancel now."
ShellCodeErrorTitle = "Error: "$(FunctionTitle)
ShellCodeErrorText = "Shell Code Error"
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:"
; ---------------------------------------------------------------------
; Adapter specific constants.
; ---------------------------------------------------------------------
[AdapterConstants]
LocList = ^($(AdapOption)_LocChoices, 1)
LocRawList = ^($(AdapOption)_LocChoices, 2)
IrqList = ^($(AdapOption)_IrqChoices, 1)
IrqRawList = ^($(AdapOption)_IrqChoices, 2)
DmaList = ^($(AdapOption)_DmaChoices, 1)
DmaRawList = ^($(AdapOption)_DmaChoices, 2)
TxList = ^(SlotsChoices, 1)
TxRawList = ^(SlotsChoices, 2)
RxList = ^(SlotsChoices, 1)
RxRawList = ^(SlotsChoices, 2)
TransferList = ^($(AdapOption)_TransferChoices, 1)
TransferRawList = ^($(AdapOption)_TransferChoices, 2)
TestXIDList = ^(SwitchChoices, 1)
TestXIDRawList = ^(SwitchChoices, 2)
MacOpenList = ^(MacOpenChoices, 1)
MacOpenRawList = ^(MacOpenChoices, 2)
StatsList = ^($(AdapOption)_StatsChoices, 1)
StatsRawList = ^($(AdapOption)_StatsChoices, 2)
WolList = ^($(AdapOption)_WolChoices, 1)
WolRawList = ^($(AdapOption)_WolChoices, 2)
QuietList = ^(QuietChoices, 1)
QuietRawList = ^(QuietChoices, 2)
SpeedList = ^($(AdapOption)_SpeedChoices, 1)
SpeedRawList = ^($(AdapOption)_SpeedChoices, 2)
WatchdogList = ^(WatchdogChoices, 1)
WatchdogRawList = ^(WatchdogChoices, 2)
DisabledOnlyList = ^(DisabledOnlyChoices, 1)
DisabledOnlyRawList = ^(DisabledOnlyChoices, 2)
SlaveSlotList = ^(SlaveSlotNumberChoices,1)
SlaveSlotRawList = ^(SlaveSlotNumberChoices,2)
BeaconList = ^(BeaconTimeoutChoices,1)
BeaconRawList = ^(BeaconTimeoutChoices,2)
SingleStationList = ^(SingleStationTimeoutChoices,1)
SingleStationRawList = ^(SingleStationTimeoutChoices,2)
PcmciaMemWinList = ^(PcmciaMemWinChoices,1)
PcmciaMemWinRawList = ^(PcmciaMemWinChoices,2)
; ---------------------------------------------------------------------
; Language dependant general dialog constants.
; ---------------------------------------------------------------------
[DialogConstantsENG]
;
; Common button names, etc.
;
Help = "&Help"
Exit = "&Cancel"
OK = "O&K"
Continue = "C&ontinue"
Cancel = "C&ancel"
Advanced = "Ad&vanced"
Configure = "Configure..."
HelpContext = ""
[date]
; Now is a list which contains { Sec from 1-1-1970, Year, Month, Day, Hour,
; Minute, Second }
Now = {} ? $(!LIBHANDLE) GetSystemDate
; -----------------------------------------------------------------------
; Dialog constants for basic installation.
; -----------------------------------------------------------------------
[FileDependentDlgENGOptionMDG]
DlgType = "RadioCombination"
Caption = $(FunctionTitle)
WarningText = "Consult the help before changing any of these parameters."
CurrentValueText = "Current Value"
Combo1Label = "I/O Location:"
Combo2Label = "Ring Speed:"
Combo3Label = "Please choose a Madge adapter to install"
Combo4Label = "Interrupt Number:"
Combo5Label = "DMA Channel:"
Combo6Label = "Tx Slots:"
Combo7Label = "Rx Slots:"
Combo8Label = "Transfer Type:"
Combo9Label = "Respond to TEST/XID:"
Combo10Label = "Mac Open Mode:"
Combo11Label = "Promiscuous Mode:"
Combo12Label = "Quiet Mode:"
Combo13Label = "Watchdog Timer:"
Combo14Label = "Wake-On-LAN:"
Combo18Label = "Priority:"
Combo15Label = "Slave PCI Device Number:"
Combo16Label = "Ring Beacon Timeout:"
Combo17Label = "Single Station Timeout:"
SlaveEnabledTitle = "Mirror Slave Adapter (Enabled)"
SlaveDisabledTitle = "Mirror Slave Adapter (Disabled)"
MirroringDisabledText = "To enable Mirroring, choose a slave adapter from the Slave PCI Device ID list below:"
MirroringEnabledText = "To disable Mirroring, choose 'Mirroring Disabled' from the Slave PCI Device ID list below:"
NoSuitableSlavesText = "Mirroring cannot be enabled since no suitable slave adapters are available."
EisaCombo1Label = "Slot Number:"
PciCombo1Label = "PCI Device Number:"
OlicomPcmciaCombo14Label = "Memory Window:"
Combo1List = $(LocList)
Combo1Out = $(IoLocation)
Combo2List = $(SpeedList)
Combo2Out = $(SpeedFlag)
Combo3List = $(AdapterDescList)
Combo3Out = $(AdapterType)
Combo4List = $(IrqList)
Combo4Out = $(IrqNumber)
Combo5List = $(DmaList)
Combo5Out = $(DmaChannel)
Combo6List = $(TxList)
Combo6Out = $(TxSlots)
Combo7List = $(RxList)
Combo7Out = $(RxSlots)
Combo8List = $(TransferList)
Combo8Out = $(TransferType)
Combo9List = $(TestXIDList)
Combo9Out = $(TestXID)
Combo10List = $(MacOpenList)
Combo10Out = $(MacOpenMode)
Combo11List = $(StatsList)
Combo11Out = $(StatsGathering)
Combo12List = $(QuietList)
Combo12Out = $(QuietMode)
Combo13List = $(WatchdogList)
Combo13Out = $(Watchdog)
Combo14List = $(WolList)
Combo14Out = $(Wol)
Combo14OlicomPcmciaList = $(PcmciaMemWinList)
Combo14OlicomPcmciaOut = $(PcmciaMemWin)
Combo15List = $(AllowedSlaveSlotList)
Combo15Out = $(SlaveSlotNumber)
Combo16List = $(BeaconList)
Combo16Out = $(BeaconTimeout)
Combo17List = $(SingleStationList)
Combo17Out = $(SingleStationTimeout)
ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List, Combo6List, Combo7List, Combo8List, Combo9List, Combo10List, Combo11List, Combo12List, Combo13List, Combo14List, Combo15List, Combo16List, Combo17List}
ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out, Combo6Out, Combo7Out, Combo8Out, Combo9Out, Combo10Out, Combo11Out, Combo12Out, Combo13Out, Combo14Out, Combo15Out, Combo16Out, Combo17Out}
Edit1Label = "Maximum Frame Size:"
Edit2Label = "Ring Status Mask:"
Edit3Label = "Token Ring Event Mask:"
LAAPrompt = "LAA :"
EditTextIn = {$(L1), $(L2), $(L3), $(L4), $(L5), $(L6), $(MaxFrameSize), $(RingStatus), $(EventLog)}
EditTextLim = {2, 2, 2, 2, 2, 2, 5, 5, 5}
EditTextOut = {$(L1), $(L2), $(L3), $(L4), $(L5), $(L6), $(MaxFrameSize), $(RingStatus), $(EventLog)}
CBOptionsGreyed = {}
NotifyFields = {NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO}
AdapterTitle = #(OptionsText$(!STF_LANGUAGE),$(Option),1)
;---------------------------------------------------------------------------
; Identify the INF file to NT.
;
; DESCRIPTION: To verify that this INF deals with the same type of options
; as we are choosing currently.
;
; INPUT: None
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
; $($R1): Option Type (COMPUTER ...)
; $($R2): Diskette description
;---------------------------------------------------------------------------
[Identify]
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
return $(Status) $(Identifier) $(Media)
;------------------------------------------------------------------------
; Return the options supported by this INF file.
;
; DESCRIPTION: To return the option list supported by this INF and the
; localised text list representing the options.
;
;
; INPUT: $($0): Language used. ( ENG | FRN | ... )
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
; STATUS_NOLANGUAGE
; STATUS_FAILED
; STATUS_NOTSUPPORTED
;
; $($R1): Option List
; $($R2): Option Text List
;------------------------------------------------------------------------
[ReturnOptions]
set Status = STATUS_FAILED
set OptionList = {}
set OptionTextList = {}
;
; Check if the language requested is supported.
;
set LanguageList = ^(LanguagesSupported, 1)
ifcontains(i) $($0) in $(LanguageList)
;
;
; Check if the platforms requested is supported
;
ifstr(i) $($1) == ""
;
goto Return_Options
;
endif
set PlatformList = ^(PlatformsSupported, 1)
ifcontains(i) $($1) in $(PlatformList)
;
goto Return_Options
;
else
;
set Status = STATUS_NOTSUPPORTED
goto Finish_ReturnOptions
;
endif
;
else
;
set Status = STATUS_NOLANGUAGE
goto Finish_ReturnOptions
;
endif
;
; form a list of all the options and another of the text representing
;
Return_Options = +
set OptionList = ^(Options, 1)
set OptionTextList = ^(OptionsText$($0), 1)
set Status = STATUS_SUCCESSFUL
Finish_ReturnOptions = +
return $(Status) $(OptionList) $(OptionTextList)
;----------------------------------------------------------------------------
; Prepare an adapter detection DLL for use.
;----------------------------------------------------------------------------
[PrepareDetectionDll]
set NewDllName = $($0)
set Status = STATUS_FAILED
read-syms GeneralConstants
set DllValueName = "NetcardDlls"
OpenRegKey $(!REG_H_LOCAL) "" "System\Setup" $(MAXIMUM_ALLOWED) KeySetup
ifstr(i) $(KeySetup) == $(KeyNull)
;
goto PDD_Return
;
endif
set DllFound = 0
GetRegValue $(KeySetup) $(DllValueName) DllNamesValue
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
;
goto PDD_Return
;
endif
set DllNames = *($(DllNamesValue),4)
ForListDo $(DllNames)
;
ifstr(i) $($) == $(NewDllName)
;
set DllFound = 1
;
endif
;
EndForListDo
ifint $(DllFound) == 0
;
set DllNames = >($(DllNames),$(NewDllName))
set ValueInfo = {$(DllValueName), $(NoTitle), $(!REG_VT_MULTI_SZ), $(DllNames)}
SetRegValue $(KeySetup) $(ValueInfo)
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
;
Set Status = STATUS_SUCCESSFUL
;
endif
;
else
;
set Status = STATUS_SUCCESSFUL
;
endif
CloseRegKey $(KeySetup)
PDD_Return = +
return $(Status)
;------------------------------------------------------------------------
; InstallOption:
;
; This section is shelled to by main installation processing
; or by NCPASHEL.INF during reconfig, removal, update, etc.
;
;
; FUNCTION: To copy files representing Options
; To configure the installed option
; To update the registry for the installed option
;
; INPUT: $($0): Language to use
; $($1): OptionID to install
; $($2): SourceDirectory
; $($3): AddCopy (YES | NO)
; $($4): DoCopy (YES | NO)
; $($5): DoConfig (YES | NO)
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
; STATUS_NOLANGUAGE |
; STATUS_USERCANCEL |
; STATUS_FAILED
;------------------------------------------------------------------------
[InstallOption]
StartWait
;
; Un-comment for debugging.
;
; set !DebugOutputControl = 1
;
; Set default values.
;
set Status = STATUS_FAILED
set NumberFound = 0
;
; extract parameters
;
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
Debug-Output "MADGE: STF_CWDIR = "$(!STF_CWDIR)
Debug-Output "MADGE: STF_LANGUAGE = "$(!STF_LANGUAGE)
Debug-Output "MADGE: Option = "$(Option)
Debug-Output "MADGE: SrcDir = "$(SrcDir)
Debug-Output "MADGE: AddCopy = "$(AddCopy)
Debug-Output "MADGE: DoCopy = "$(DoCopy)
Debug-Output "MADGE: DoConfig = "$(DoConfig)
;
; Get the correct source directory for an unattended installation.
; Also if the !MADGE_AdapterType variable is set then override
; $(Option) - which should have been MDGAUTO.
; Also get any preset laa.
;
set UnattendLAA = ""
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
;
ifstr(i) $(!MADGE_DriverDir) != ""
;
set SrcDir = $(!MADGE_DriverDir)
;
endif
ifstr(i) $(!MADGE_AdapterType) != ""
;
set Option = $(!MADGE_AdapterType)
;
endif
ifstr(i) $(!MADGE_LAA) != ""
;
set UnattendLAA = $(!MADGE_LAA)
;
endif
;
endif
;
; Check if the language requested is supported
;
set LanguageList = ^(LanguagesSupported, 1)
ifcontains(i) $($0) NOT-IN $(LanguageList)
;
return STATUS_NOLANGUAGE
;
endif
;
; Define all the constants
;
set-subst LF = "\n"
read-syms GeneralConstants
read-syms FileConstants
read-syms DialogConstants$(!STF_LANGUAGE)
ifstr(i) $(!NTN_Origination) == "NCPA"
;
set Continue = $(OK)
;
endif
read-syms FileConstants$(!STF_LANGUAGE)
detect date
set-title $(FunctionTitle)
set To = Begin
set From = Begin
;
; Assume all is well.
;
set CommonStatus = STATUS_SUCCESSFUL
EndWait
; -----------------------------------------------------------------------
; Set up the operation-mode-based variables and gaily welcome
; the user. If the "install mode" variable is improperly set,
; assume this is a new installation.
; -----------------------------------------------------------------------
Begin = +
;
; Until proven otherwise we assume that the adapter has not been
; detected by our NetDetect DLL.
;
set AdapterDetected = FALSE
set ManualInstall = FALSE
ifstr(i) $(!NTN_InstallMode) == deinstall
;
set StartLabel = Remove_Adapter
;
else-ifstr(i) $(!NTN_InstallMode) == Update
;
set StartLabel = Upgrade_Software
;
else-ifstr(i) $(!NTN_InstallMode) == bind
;
set StartLabel = Binding_Adapter
;
else-ifstr(i) $(!NTN_InstallMode) == configure
;
set CommonStatus = STATUS_REBOOT
set StartLabel = Configure_Adapter
;
; You cannot config the software component
;
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
;
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set Error = $($R0)
set From = End
set To = End
goto Non_Fatal_Info
;
endif
;
else
;
set StartLabel = Install_Adapter
set OEM_ABANDON_OPTIONS = {}
set OEM_ABANDON_SOFTWARE = FALSE
set OEM_ABANDON_ON = TRUE
;
endif
set From = Fatal
set To = Fatal
goto $(StartLabel)
; ----------------------------------------------------------------------
; Installation Section
; ----------------------------------------------------------------------
Install_Adapter = +
Debug-Output "Install"
;
; First, check whether the same version of the software exists
;
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
;
;
; Same version already existed in the local machine
; Popup the dialog and ask the user whether he wants to continue
;
Debug-Output "Same version of software exists"
set OldVersionExisted = $(TRUE)
CloseRegKey $(KeyProduct)
ifstr(i) $(!NTN_RegBase) == $(ProductKeyName)
;
;
; Cannot Install the same software again
;
Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
$(ProductVersion)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
goto End
;
else
;
;
; Note that the software already exists - unless we're
; doing an unattended installation.
;
ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"
;
set OldVersionExisted = $(TRUE)
;
endif
;
endif
;
endif
; -----------------------------------------------------------------------
; Copy the driver and helper files from the distribution disk.
; -----------------------------------------------------------------------
Install_Files = +
ifint $(OldVersionExisted) == $(FALSE)
;
ifstr(i) $(!NTN_InstallMode) == "install"
;
;
; Ask the user for the location of the source files unless
; we are doing an unattended installation.
;
ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"
;
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
Debug-Output "New SrcDir = "$($R1)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
else-ifstr(i) $($R0) == STATUS_FAILED
;
shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set Error = $($R0)
goto Fatal
;
else-ifstr(i) $($R0) == STATUS_USERCANCEL
;
goto Successful
;
endif
set SrcDir = $($R1) ; Referenced in install sections.
;
endif
;
; Install the detection DLL.
;
Shell "" PrepareDetectionDll $(DetectDllName)
ifstr(i) $($R0) != STATUS_SUCCESSFUL
;
goto Fatal
;
endif
install "Install-Option"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
;
shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set Error = $($R0)
goto Fatal
;
endif
;
endif
;
endif
; -----------------------------------------------------------------------
; If the adapter option is MDGAUTO then we need to perform some adapter
; detection. In addition, we may not have been asked to detect the
; adapter but NCPA may have already done it for use. If it has then set
; up the detection variables from the values passed by NCPA.
; -----------------------------------------------------------------------
ifstr(i) $(!STF_NCDETECT) == YES
;
ifstr(i) $(!STF_NCOPTION) == $(Option)
;
set AdapterDetected = TRUE
set DetectOption = $(!STF_NCOPTION)
set DetectIndex = $(!STF_NCDETCARD)
set DetectBusType = *($(!STF_NCDETINFO),5)
set DetectBusNumber = *($(!STF_NCDETINFO),6)
goto Set_Installation_Defaults
;
endif
;
endif
;
; If NCPA has not already detected an adapter then we must
; initialize the detection DLL. We mustn't re-initalise it
; if NCPA has detected an adapter else we will trash the
; adapter information found by NCPA.
;
Shell $(ParamInf) Param_ControlDetection DTEND
Shell $(ParamInf) Param_ControlDetection DTSTART
ifstr(i) $(Option) != "MDGAUTO"
;
set ManualInstall = TRUE
ifcontains(i) $(Option) not-in $(CardbusAdapters)
;
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
;
set ManualInstall = FALSE
;
else
;
set Error = $(NON_AUTO_INSTALL)
set To = Set_Installation_Defaults
set From = End
goto Warning
;
endif
;
else
;
;
; Determine whether Award, SystemSoft or Softex install. If none of
; these Card Services are detected, default to our internal enabler.
;
OpenRegKey $(!REG_H_LOCAL) "" $(AwardKey) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
Debug-Output "Award software installed"
set AwardCB = $(TRUE)
CloseRegKey $(KeyCBProduct)
;
endif
OpenRegKey $(!REG_H_LOCAL) "" $(SystemSoftKey) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
Debug-Output "SystemSoft software installed"
set SSoftCB = $(TRUE)
CloseRegKey $(KeyCBProduct)
;
endif
OpenRegKey $(!REG_H_LOCAL) "" $(SoftexKey1) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
CloseRegKey $(KeyCBProduct)
OpenRegKey $(!REG_H_LOCAL) "" $(SoftexKey2) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
Debug-Output "Softex software installed"
set SoftexCB = $(TRUE)
CloseRegKey $(KeyCBProduct)
;
endif
;
endif
;
; Check our findings with user (unless doing unattended install).
;
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
;
set MadgeCB = $(TRUE)
goto Set_Installation_Defaults
;
endif
ifstr $(AwardCB) == $(TRUE)
;
set Error = $(AWARD_SOLN)
set To = Set_Installation_Defaults
set From = End
goto Warning
;
else-ifstr $(SSoftCB) == $(TRUE)
;
set Error = $(SSOFT_SOLN)
set To = Set_Installation_Defaults
set From = End
goto Warning
;
else-ifstr $(SoftexCB) == $(TRUE)
;
set Error = $(SOFTEX_SOLN)
set To = Set_Installation_Defaults
set From = End
goto Warning
;
else
;
set MadgeCB = $(TRUE)
set Error = $(MADGE_INTERNAL_SOLN)
set To = Set_Installation_Defaults
set From = End
goto Warning
;
endif
;
endif
goto Set_Installation_Defaults
;
endif
; -----------------------------------------------------------------------
; We have been asked to search for adapters. We will call our NetDetect
; DLL via helper functions to build a list of Madge adapters present in
; the machine that have not yet been installed.
; -----------------------------------------------------------------------
Detect_Adapters = +
StartWait
;
; Initialise the adapter description and detection index lists.
;
set AdapterOptionList = {}
set AdapterDescList = {}
set AdapterIndexList = {}
set AdapterBusTypeList = {}
set AdapterBusNumberList = {}
DA_Loop = +
;
; Call the detection DLL via a helper function to find the
; next adapter.
;
Shell $(ParamInf) Param_DetectCard
set DetectResult = $($R0)
set Status = *($(DetectResult),1)
ifstr(i) $(Status) != 0
;
goto DA_Loop_End
;
endif
set DetectOption = *($(DetectResult),2)
set DetectIndex = *($(DetectResult),3)
set DetectBusType = *($(DetectResult),6)
set DetectBusNumber = *($(DetectResult),7)
;
; If the adapter is not a Madge adapter then start the
; loop again to skip the adapter.
;
ifcontains(i) $(DetectOption) not-in $(MadgeAdapterOptions)
;
goto DA_Loop
;
endif
;
; Found a Madge adapter so increment NumberFound
;
set-add NumberFound = $(NumberFound), 1
;
; Now find out the slot number or IO location to show to the user.
;
ifcontains(i) $(DetectOption) in $(SlotNumberAdapters)
;
set TypeList = {{SLOTNUMBER,DummyList1,SlotNumber}}
;
else-ifstr(i) $(DetectOption) in $(OlicomPcmciaAdapters)
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation},+
{INTERRUPTNUMBER,DummyList2,IrqNumber},+
{MEMADDR,DummyList3,PcmciaMemWin},+
{MEMADDRLENGTH,DummyList4,PcmciaMemWinLen}}
;
else-ifcontains(i) $(DetectOption) in $(PcmciaAdapters)
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation},+
{INTERRUPTNUMBER,DummyList2,IrqNumber}}
;
else
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation}}
;
endif
Shell $(ParamInf) Param_BuildTypeLists $(DetectOption) $(TypeList)
set Status = $($R0)
ifstr(i) $(Status) != STATUS_SUCCESSFUL
;
goto Fatal
;
endif
Shell $(ParamInf) Param_QueryCard $(DetectIndex)
set Status = $($R0)
set ParamList = $($R1)
ifstr(i) $(Status) != STATUS_SUCCESSFUL
;
goto Fatal
;
endif
Shell $(ParamInf) Param_SetDefaults $(ParamList)
;
; We need to set up the adapter specific constants for the detected
; adapter so that we can generate a user readable description.
;
set AdapOption = $(DetectOption)
read-syms AdapterConstants
;
; Record the bus type and number so we can recover them later.
;
set AdapterBusTypeList = >($(AdapterBusTypeList),$(DetectBusType))
set AdapterBusNumberList = >($(AdapterBusNumberList),$(DetectBusNumber))
;
; Build a list of adapters to show to the user.
;
set AdapterOptionList = >($(AdapterOptionList),$(DetectOption))
set AdapterIndexList = >($(AdapterIndexList),$(DetectIndex))
set AdapterDesc = #(OptionsChoice$(!STF_LANGUAGE),$(DetectOption),1)
ifcontains(i) $(DetectOption) in $(SlotNumberAdapters)
;
set AdapterDesc = $(AdapterDesc)$(SlotNumber)" bus "$(DetectBusNumber)
set AdapterDescList = >($(AdapterDescList),$(AdapterDesc))
;
else-ifstr(i) $(DetectOption) == "MDGEISA"
;
set SlotNumber = *($(LocList),~($(LocRawList),$(IoLocation)))
set AdapterDesc = $(AdapterDesc)$(SlotNumber)" bus "$(DetectBusNumber)
set AdapterDescList = >($(AdapterDescList),$(AdapterDesc))
;
else
;
set IoLocation = *($(LocList),~($(LocRawList),$(IoLocation)))
set AdapterDesc = $(AdapterDesc)$(IoLocation)" bus "$(DetectBusNumber)
set AdapterDescList = >($(AdapterDescList),$(AdapterDesc))
;
endif
;
; And look for another adapter.
;
goto DA_Loop
DA_Loop_End = +
EndWait
Debug-Output "MADGE: AdapterOptionList = "$(AdapterOptionList)
Debug-Output "MADGE: AdapterDescList = "$(AdapterDescList)
Debug-Output "MADGE: AdapterIndexList = "$(AdapterIndexList)
Debug-Output "MADGE: AdapterBusTypeList = "$(AdapterBusTypeList)
Debug-Output "MADGE: AdapterBusNumberList = "$(AdapterBusNumberList)
;
; Give up if we can't find any adapters.
;
ifstr(i) $(AdapterOptionList) == {}
;
set Error = $(CANNOT_FIND_ANY_CARD)
goto Fatal
;
endif
;------------------------------------------------------------------------
; We now have a list of adapter descriptions and detection indexes.
; Pop up a dialog box from which the user can choose which adapter
; to install.
;------------------------------------------------------------------------
Choose_Adapter = +
StartWait
;
; Set the default choice.
;
set AdapterType = *($(AdapterDescList),1)
;
; If we are not doing an unattended installation then
; let the user choose an adapter.
; If there is only one adapter found then skip this box.
;
ifint $(NumberFound) != 1
;
ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"
;
set DlgTemplate = "MDG"
Debug-Output "MADGE: DlgTemplate = "$(DlgTemplate)
read-syms FileDependentDlg$(!STF_LANGUAGE)Option$(DlgTemplate)
set DlgTemplate = "MDGADAPTERS"
;
; Load the DLL.
;
LoadLibrary "x" $(DialogDllName) MdgDialog
;
; Display the dialog box.
;
EndWait
ui start "InputDlg" $(MdgDialog)
StartWait
ifstr(i) $(DLGEVENT) == "EXIT"
;
set CommonStatus = STATUS_USERCANCEL
ui pop 1
FreeLibrary $(MdgDialog)
goto End
;
else-ifstr(i) $(DLGEVENT) != "CONTINUE"
;
ui pop 1
FreeLibrary $(MdgDialog)
goto End
;
endif
set AdapterType = $(Combo3Out)
ui pop 1
FreeLibrary $(MdgDialog)
;
endif
;
endif
;
; AdapterType now contains the description of the adapter
; the user wants to install. Find the option and detection index
; value this corresponds to.
;
Debug-Output "MADGE: AdapterType = "$(AdapterType)
set DetectOption = *($(AdapterOptionList),~($(AdapterDescList),$(AdapterType)))
set DetectIndex = *($(AdapterIndexList),~($(AdapterDescList),$(AdapterType)))
set DetectBusType = *($(AdapterBusTypeList),~($(AdapterDescList),$(AdapterType)))
set DetectBusNumber = *($(AdapterBusNumberList),~($(AdapterDescList),$(AdapterType)))
Debug-Output "MADGE: DetectOption = "$(DetectOption)
Debug-Output "MADGE: DetectIndex = "$(DetectIndex)
Debug-Output "MADGE: DetectBusType = "$(DetectBusType)
Debug-Output "MADGE: DetectBusNumber = "$(DetectBusNumber)
;
; Set the flag to say that the adapter was detected and change the
; Option to the detected type.
;
set AdapterDetected = TRUE
set Option = $(DetectOption)
EndWait
; -----------------------------------------------------------------------
; Set some defaults that apply to all card types
; -----------------------------------------------------------------------
Set_Installation_Defaults = +
StartWait
Debug-Output "MADGE: Set_Installation_Defaults"
;
; Set up some defaults that are not affected by automatic detection.
;
set MaxFrameSize = $(DEF_MAX_FRAME_SIZE)
set SpeedFlag = $(DEF_SPEED)
set BusType = $(VALUE_UNKNOWN)
set BusNumber = $(VALUE_UNKNOWN)
set DmaChannel = $(DEF_DMA_CHANNEL)
set IrqNumber = $(DEF_IRQ_NUMBER)
set TxSlots = $(DEF_TX_SLOTS)
set RxSlots = $(DEF_RX_SLOTS)
set TransferType = $(DEF_TRANSFER_TYPE)
set TestXID = $(DEF_TEST_XID)
set MacOpenMode = $(DEF_MAC_OPEN_MODE)
set StatsGathering = $(DEF_STATS_GATHERING)
set Wol = $(DEF_WOL)
set QuietMode = $(DEF_QUIET_MODE)
set RingStatus = $(DEF_RING_STATUS_MASK)
set EventLog = $(DEF_EVENT_LOG_MASK)
set Watchdog = $(DEF_WATCHDOG)
set L1 = ""
set L2 = ""
set L3 = ""
set L4 = ""
set L5 = ""
set L6 = ""
set LAA = ""
set NetworkAddress = ""
set SlaveSlotNumber = $(DEF_SLAVE_SLOT_NUMBER)
set BeaconTimeout = $(DEF_BEACON_TIMEOUT)
set SingleStationTimeout = $(DEF_SINGLE_TIMEOUT)
set PcmciaMemWin = $(DEF_PCMCIAMEMWIN)
set PcmciaMemWinLen = $(DEF_PCMCIAMEMWINLEN)
;
; These values will not be changed during an installation but setting
; them here allows the code that writes to the registry to be independent
; of whether we're installing or configuring.
;
set OldMaxFrameSize = $(VALUE_UNKNOWN)
set OldSpeedFlag = $(VALUE_UNKNOWN)
set OldIrq = $(VALUE_UNKNOWN)
set OldDma = $(VALUE_UNKNOWN)
set OldTxSlots = $(VALUE_UNKNOWN)
set OldRxSlots = $(VALUE_UNKNOWN)
set OldTransferType = $(VALUE_UNKNOWN)
set OldTestXID = $(VALUE_UNKNOWN)
set OldMacOpen = $(VALUE_UNKNOWN)
set OldStatsGathering = $(VALUE_UNKNOWN)
set OldWol = $(VALUE_UNKNOWN)
set OldQuiet = $(VALUE_UNKNOWN)
set OldRingStatus = $(VALUE_UNKNOWN)
set OldEventLog = $(VALUE_UNKNOWN)
set OldWatchdog = $(VALUE_UNKNOWN)
set OldLAA = $(VALUE_UNKNOWN)
set OldNetworkAddress = $(VALUE_UNKNOWN)
set OldSlaveSlotNumber = $(VALUE_UNKNOWN)
set OldBeaconTimeout = $(VALUE_UNKNOWN)
set OldSingleStationTimeout = $(VALUE_UNKNOWN)
set OldPcmciaMemWin = $(VALUE_UNKNOWN)
set OldPcmciaMemWinLen = $(VALUE_UNKNOWN)
ifstr(i) $(Option) == "MDGCARDBUS"
;
;
; Make default transfer type 16bit PIO for CardBus when using
; a third-party Card Services since DMA seems to cause problems.
; Note that CardBus Mk2 only supports DMA.
;
ifstr $(MadgeCB) != $(TRUE)
;
set TransferType = 1
;
endif
;
endif
;
; Now set up the options for adapter options.
;
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
set TypeList = {{SLOTNUMBER,DummyList1,SlotNumber}}
;
else-ifcontains(i) $(DetectOption) in $(OlicomPcmciaAdapters)
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation},+
{INTERRUPTNUMBER,DummyList2,IrqNumber},+
{MEMADDR,DummyList3,PcmciaMemWin},+
{MEMADDRLENGTH,DummyList4,PcmciaMemWinLen}}
;
else-ifcontains(i) $(DetectOption) in $(PcmciaAdapters)
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation},+
{INTERRUPTNUMBER,DummyList2,IrqNumber}}
;
else
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation}}
;
endif
Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
set Status = $($R0)
ifstr(i) $(Status) != STATUS_SUCCESSFUL
;
goto Fatal
;
endif
;
; If the adapter was automatically detected then call the
; DLL to find out what the parameters are.
;
ifstr(i) $(AdapterDetected) == TRUE
;
Shell $(ParamInf) Param_QueryCard $(DetectIndex)
set Status = $($R0)
set ParamList = $($R1)
ifstr(i) $(Status) != STATUS_SUCCESSFUL
;
goto Fatal
;
endif
;
endif
;
; And set the defaults. This will be the automatically detected
; value if the adapter was detected or the first allowable choice
; otherwise.
;
Shell $(ParamInf) Param_SetDefaults $(ParamList)
ifstr(i) $(MadgeCB) == $(TRUE)
;
set IoLocation = $(DEF_CARDBUS_IO_LOCATION)
;
endif
Debug-Output "MADGE: SlotNumber = "$(SlotNumber)
Debug-Output "MADGE: IoLocation = "$(IoLocation)
Debug-Output "MADGE: IrqNumber = "$(IrqNumber)
ifcontains(i) $(DetectOption) in $(OlicomPcmciaAdapters)
Debug-Output "MADGE: PcmciaMemWin = "$(PcmciaMemWin)
Debug-Output "MADGE: PcmciaMemWinLen = "$(PcmciaMemWinLen)
endif
EndWait
goto Get_Adapter_Options
; -----------------------------------------------------------------------
; Configuration Section
; -----------------------------------------------------------------------
Configure_Adapter = +
ifcontains(i) $(Option) in $(CardbusAdapters)
;
;
; Determine whether Award, SystemSoft or Softex install. If none of
; these Card Services are detected, default to our internal enabler.
;
set MadgeCB = $(TRUE)
OpenRegKey $(!REG_H_LOCAL) "" $(AwardKey) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
Debug-Output "Award software installed"
set AwardCB = $(TRUE)
set MadgeCB = $(FALSE)
CloseRegKey $(KeyCBProduct)
;
endif
OpenRegKey $(!REG_H_LOCAL) "" $(SystemSoftKey) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
Debug-Output "SystemSoft software installed"
set SSoftCB = $(TRUE)
set MadgeCB = $(FALSE)
CloseRegKey $(KeyCBProduct)
;
endif
OpenRegKey $(!REG_H_LOCAL) "" $(SoftexKey1) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
CloseRegKey $(KeyCBProduct)
OpenRegKey $(!REG_H_LOCAL) "" $(SoftexKey2) $(MAXIMUM_ALLOWED) KeyCBProduct
ifstr $(KeyCBProduct) != $(KeyNull)
;
Debug-Output "Softex software installed"
set SoftexCB = $(TRUE)
set MadgeCB = $(FALSE)
CloseRegKey $(KeyCBProduct)
;
endif
;
endif
;
endif
StartWait
;
; Set up the defaults not done by the helper interface in the
; detection DLL.
;
set MaxFrameSize = $(DEF_MAX_FRAME_SIZE)
set SpeedFlag = $(DEF_SPEED)
set BusType = $(VALUE_UNKNOWN)
set BusNumber = $(VALUE_UNKNOWN)
set DmaChannel = $(DEF_DMA_CHANNEL)
set IrqNumber = $(DEF_IRQ_NUMBER)
set TxSlots = $(DEF_TX_SLOTS)
set RxSlots = $(DEF_RX_SLOTS)
set TransferType = $(DEF_TRANSFER_TYPE)
set TestXID = $(DEF_TEST_XID)
set MacOpenMode = $(DEF_MAC_OPEN_MODE)
set StatsGathering = $(DEF_STATS_GATHERING)
set Wol = $(DEF_WOL)
set QuietMode = $(DEF_QUIET_MODE)
set RingStatus = $(DEF_RING_STATUS_MASK)
set EventLog = $(DEF_EVENT_LOG_MASK)
set Watchdog = $(DEF_WATCHDOG)
set L1 = ""
set L2 = ""
set L3 = ""
set L4 = ""
set L5 = ""
set L6 = ""
set LAA = ""
set NetworkAddress = ""
set SlaveSlotNumber = $(DEF_SLAVE_SLOT_NUMBER)
set BeaconTimeout = $(DEF_BEACON_TIMEOUT)
set SingleStationTimeout = $(DEF_SINGLE_TIMEOUT)
;
; Set the old values up to be unknown - they will only be set if the
; registry parameter is there.
;
set OldMaxFrameSize = $(VALUE_UNKNOWN)
set OldSpeedFlag = $(VALUE_UNKNOWN)
set OldIrq = $(VALUE_UNKNOWN)
set OldDma = $(VALUE_UNKNOWN)
set OldTxSlots = $(VALUE_UNKNOWN)
set OldRxSlots = $(VALUE_UNKNOWN)
set OldTransferType = $(VALUE_UNKNOWN)
set OldTestXID = $(VALUE_UNKNOWN)
set OldMacOpen = $(VALUE_UNKNOWN)
set OldStatsGathering = $(VALUE_UNKNOWN)
set OldWol = $(VALUE_UNKNOWN)
set OldQuiet = $(VALUE_UNKNOWN)
set OldRingStatus = $(VALUE_UNKNOWN)
set OldEventLog = $(VALUE_UNKNOWN)
set OldWatchdog = $(VALUE_UNKNOWN)
set OldLAA = $(VALUE_UNKNOWN)
set OldNetworkAddress = $(VALUE_UNKNOWN)
set OldSlaveSlotNumber = $(VALUE_UNKNOWN)
set OldBeaconTimeout = $(VALUE_UNKNOWN)
set OldSingleStationTimeout = $(VALUE_UNKNOWN)
set OldPcmciaMemWin = $(VALUE_UNKNOWN)
set OldPcmciaMemWinLen = $(VALUE_UNKNOWN)
ifstr(i) $(Option) == "MDGCARDBUS"
;
;
; Make default transfer type 16bit PIO for CardBus when using
; a third-party Card Services since DMA seems to cause problems.
; Note that CardBus Mk2 only supports DMA.
;
ifstr $(MadgeCB) != $(TRUE)
;
set TransferType = 1
;
endif
;
endif
;
; Initialise the detection DLL.
;
Shell $(ParamInf) Param_ControlDetection DTEND
Shell $(ParamInf) Param_ControlDetection DTSTART
;
; Now set up the options for adapter options.
;
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
set TypeList = {{SLOTNUMBER,DummyList1,SlotNumber}}
;
else-ifcontains(i) $(DetectOption) in $(OlicomPcmciaAdapters)
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation},+
{INTERRUPTNUMBER,DummyList2,IrqNumber},+
{MEMADDR,DummyList3,PcmciaMemWin},+
{MEMADDRLENGTH,DummyList4,PcmciaMemWinLen}}
;
else-ifcontains(i) $(DetectOption) in $(PcmciaAdapters)
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation},+
{INTERRUPTNUMBER,DummyList2,IrqNumber}}
;
else
;
set TypeList = {{IOLOCATION,DummyList1,IoLocation}}
;
endif
Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
set Status = $($R0)
ifstr(i) $(Status) != STATUS_SUCCESSFUL
;
goto Fatal
;
endif
;
; And set the defaults.
;
Shell $(ParamInf) Param_SetDefaults $(ParamList)
ifstr(i) $(MadgeCB) == $(TRUE)
;
set IoLocation = $(DEF_CARDBUS_IO_LOCATION)
;
endif
Debug-Output "MADGE: SlotNumber = "$(SlotNumber)
Debug-Output "MADGE: IoLocation = "$(IoLocation)
Debug-Output "MADGE: IrqNumber = "$(IrqNumber)
;
; NB !NTN_RegBase, for hardware components, is :
; \SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\0x
;
;
; This next IF is redundant - it will always be NULL
;
ifstr $(KeyProduct) == $(KeyNull)
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
ifstr $(KeyProduct) == $(KeyNull)
;
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
goto Fatal_Registry
;
endif
;
endif
;
; Get the other parameters; they're attached to the service
; parameters key
;
Shell $(UtilityInf) FindService, $(KeyProduct)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
ifstr(i) $($R0) != NO_ERROR
;
goto Fatal_Registry
;
endif
set KeyParameters = $($R2)
;
; We don't need the services key, so close it.
;
CloseRegKey $($R1)
ifstr $(KeyParameters) == $(KeyNull)
;
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
goto Fatal_Registry
;
endif
set OldVersionExisted = $(TRUE)
;
; Get the old values
;
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) == "IoBaseAddress"
;
set IoLocation = $(ValueData)
;
else-ifstr(i) $(ValueName) == "SlotNumber"
;
set SlotNumber = $(ValueData)
;
else-ifstr(i) $(ValueName) == "NetworkAddress"
;
set NetworkAddress = $(ValueData)
set OldNetworkAddress = $(ValueData)
;
else-ifstr(i) $(ValueName) == "RingSpeed"
;
set SpeedFlag = $(ValueData)
set OldSpeedFlag = $(ValueData)
;
else-ifstr(i) $(ValueName) == "BusType"
;
set BusType = $(ValueData)
;
else-ifstr(i) $(ValueName) == "BusNumber"
;
set BusNumber = $(ValueData)
;
else-ifstr(i) $(ValueName) == "InterruptNumber"
;
set IrqNumber = $(ValueData)
set OldIrq = $(ValueData)
;
else-ifstr(i) $(ValueName) == "MaxFrameSize"
;
set MaxFrameSize = $(ValueData)
set OldMaxFrameSize = $(ValueData)
;
else-ifstr(i) $(ValueName) == "DMAChannel"
;
set DmaChannel = $(ValueData)
set OldDma = $(ValueData)
;
else-ifstr(i) $(ValueName) == "TxSlots"
;
set TxSlots = $(ValueData)
set OldTxSlots = $(ValueData)
;
else-ifstr(i) $(ValueName) == "RxSlots"
;
set RxSlots = $(ValueData)
set OldRxSlots = $(ValueData)
;
else-ifstr(i) $(ValueName) == "TransferType"
;
set TransferType = $(ValueData)
set OldTransferType = $(ValueData)
;
else-ifstr(i) $(ValueName) == "TestAndXIDEnabled"
;
set TestXID = $(ValueData)
set OldTestXID = $(ValueData)
;
else-ifstr(i) $(ValueName) == "MacOpen"
;
set MacOpenMode = $(ValueData)
set OldMacOpen = $(ValueData)
;
else-ifstr(i) $(ValueName) == "StatsGathering"
;
set StatsGathering = $(ValueData)
set OldStatsGathering = $(ValueData)
;
else-ifstr(i) $(ValueName) == "WOL"
;
set Wol = $(ValueData)
set OldWol = $(ValueData)
;
else-ifstr(i) $(ValueName) == "Quiet"
;
set QuietMode = $(ValueData)
set OldQuiet = $(ValueData)
;
else-ifstr(i) $(ValueName) == "RingStatusMask"
;
set RingStatus = $(ValueData)
set OldRingStatus = $(ValueData)
;
else-ifstr(i) $(ValueName) == "EventMask"
;
set EventLog = $(ValueData)
set OldEventLog = $(ValueData)
;
else-ifstr(i) $(ValueName) == "Watchdog"
;
set Watchdog = $(ValueData)
set OldWatchdog = $(ValueData)
;
else-ifstr(i) $(ValueName) == "SlaveSlotNumber"
;
set SlaveSlotNumber = $(ValueData)
set OldSlaveSlotNumber = $(ValueData)
;
else-ifstr(i) $(ValueName) == "BeaconTimeout"
;
set BeaconTimeout = $(ValueData)
set OldBeaconTimeout = $(ValueData)
;
else-ifstr(i) $(ValueName) == "SingleStationTimeout"
;
set SingleStationTimeout = $(ValueData)
set OldSingleStationTimeout = $(ValueData)
;
else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress"
;
set PcmciaMemWin = $(ValueData)
set OldPcmciaMemWin = $(ValueData)
Debug-Output "MADGE: PcmciaMemWin = "$(PcmciaMemWin)
;
else-ifstr(i) $(ValueName) == "PCCARDAttributeMemorySize"
;
set PcmciaMemWinLen = $(ValueData)
set OldPcmciaMemWinLen = $(ValueData)
Debug-Output "MADGE: PcmciaMemWinLen = "$(PcmciaMemWinLen)
;
endif
;
EndForListDo
ifstr(i) $(NetworkAddress) != ""
;
;
; Convert 12 digit network address into hyphen seperated LAA
;
LoadLibrary "x" $(DialogDllName) MdgDialog
set FLibraryErrCtl = 1
LibraryProcedure MdgResult $(MdgDialog) MadgeSplitLAA $(NetworkAddress)
set FLibraryErrCtl = 0
FreeLibrary $(MdgDialog)
ifstr $(MdgResult) != "LAA Split Failure"
;
set LAA = $(MdgResult)
Debug-Output "MADGE: LAA = "$(LAA)
;
endif
Split-String $(LAA) "-" SplitAddress
QueryListSize SplitAddressSize $(SplitAddress)
ifint $(SplitAddressSize) == 11
;
set L1 = *($(SplitAddress), 1)
set L2 = *($(SplitAddress), 3)
set L3 = *($(SplitAddress), 5)
set L4 = *($(SplitAddress), 7)
set L5 = *($(SplitAddress), 9)
set L6 = *($(SplitAddress), 11)
;
endif
;
endif
EndWait
; -----------------------------------------------------------------------
; Let the user set options.
; -----------------------------------------------------------------------
Get_Adapter_Options = +
StartWait
;
; Set up the adapter specific constants.
;
set AdapOption = $(Option)
read-syms AdapterConstants
EndWait
Get_Adapter_Options_Restart = +
;
; We will start here if parameter validation fails.
;
StartWait
set From = Get_Adapter_Options_Restart
;
; Map the currently selected values into user from.
;
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
set SlotNumber = *($(LocList),~($(LocRawList),$(SlotNumber)))
;
else
;
set IoLocation = *($(LocList),~($(LocRawList),$(IoLocation)))
;
endif
set SpeedFlag = *($(SpeedList),~($(SpeedRawList),$(SpeedFlag)))
set IrqNumber = *($(IrqList),~($(IrqRawList),$(IrqNumber)))
set DmaChannel = *($(DmaList),~($(DmaRawList),$(DmaChannel)))
set TxSlots = *($(TxList),~($(TxRawList),$(TxSlots)))
set RxSlots = *($(RxList),~($(RxRawList),$(RxSlots)))
set TransferType = *($(TransferList),~($(TransferRawList),$(TransferType)))
set TestXID = *($(TestXIDList),~($(TestXIDRawList),$(TestXID)))
set MacOpenMode = *($(MacOpenList),~($(MacOpenRawList),$(MacOpenMode)))
set StatsGathering = *($(StatsList),~($(StatsRawList),$(StatsGathering)))
set Wol = *($(WolList),~($(WolRawList),$(Wol)))
set QuietMode = *($(QuietList),~($(QuietRawList),$(QuietMode)))
set Watchdog = *($(WatchdogList),~($(WatchdogRawList),$(Watchdog)))
set SlaveSlotNumber = *($(SlaveSlotList),~($(SlaveSlotRawList),$(SlaveSlotNumber)))
set BeaconTimeout = *($(BeaconList),~($(BeaconRawList),$(BeaconTimeout)))
set SingleStationTimeout = *($(SingleStationList),~($(SingleStationRawList),$(SingleStationTimeout)))
set PcmciaMemWin = *($(PcmciaMemWinList),~($(PcmciaMemWinRawList),$(PcmciaMemWin)))
ifstr $(RingStatus) != ""
;
set-dectohex RingStatus = $(RingStatus)
;
endif
ifstr $(EventLog) != ""
;
set-dectohex EventLog = $(EventLog)
;
endif
;
; Set up the input dialog box text and lists.
;
set DlgTemplate = "MDG"
Debug-Output "MADGE: DlgTemplate = "$(DlgTemplate)
Debug-Output "MADGE: Reading syms FileDependentDlg"$(!STF_LANGUAGE)"Option"$(DlgTemplate)
read-syms FileDependentDlg$(!STF_LANGUAGE)Option$(DlgTemplate)
;
; Unless we are doing an unattended installation then let the
; user press some keys.
; Actually we now dont want the user to have to do anything on install
; so bypass config box if during auto-install. Obviously if no adapter
; is found we need user to put in details.
;
Debug-Output "MADGE: NumberFound = "$(NumberFound)
ifint $(NumberFound) == 0
;
ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"
;
LoadLibrary "x" $(DialogDllName) MdgDialog
Debug-Output "MADGE: Got library"
EndWait
ifstr(i) $(ManualInstall) == "TRUE"
;
set ManualInstall = FALSE
;
; Non-automated install so go to advanced box first to get
; the IO/slot/DevID. If we are installing a CardBus adapter
; we don't need to display the advanced box.
;
ifcontains(i) $(Option) in $(CardbusAdapters)
;
goto Dialogs_Done
;
endif
goto Advanced_Options
;
endif
Main_Install_Options = +
set EditTextIn = {$(L1), $(L2), $(L3), $(L4), $(L5), $(L6)}
set EditTextLim = {2, 2, 2, 2, 2, 2}
set EditTextOut = {$(L1), $(L2), $(L3), $(L4), $(L5), $(L6)}
ui start "InputDlg" $(MdgDialog)
StartWait
Debug-Output "MADGE: "$(DLGEVENT)
ifstr(i) $(DLGEVENT) == "EXIT"
;
set CommonStatus = STATUS_USERCANCEL
ui pop 1
FreeLibrary $(MdgDialog)
goto End
;
else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
;
LoadLibrary "x" $(DialogDllName) MdgDialog
set FLibraryErrCtl = 1
LibraryProcedure MdgResult $(MdgDialog) MadgeStartHelp
set FLibraryErrCtl = 0
FreeLibrary $(MdgDialog)
set L1 = *($(EditTextOut), 1)
set L2 = *($(EditTextOut), 2)
set L3 = *($(EditTextOut), 3)
set L4 = *($(EditTextOut), 4)
set L5 = *($(EditTextOut), 5)
set L6 = *($(EditTextOut), 6)
ui pop 1
goto Main_Install_Options
;
else-ifstr(i) $(DLGEVENT) == "DLGBUTTON0"
;
set OldCombo2 = $(Combo2Out)
set L1 = *($(EditTextOut), 1)
set L2 = *($(EditTextOut), 2)
set L3 = *($(EditTextOut), 3)
set L4 = *($(EditTextOut), 4)
set L5 = *($(EditTextOut), 5)
set L6 = *($(EditTextOut), 6)
ui pop 1
goto Advanced_Options
;
else-ifstr(i) $(DLGEVENT) != "CONTINUE"
;
set CommonStatus = STATUS_USERCANCEL
ui pop 1
FreeLibrary $(MdgDialog)
goto End
;
endif
;
; Get the values the user selected out of the dialog box.
;
set SpeedFlag = $(Combo2Out)
set L1 = *($(EditTextOut), 1)
set L2 = *($(EditTextOut), 2)
set L3 = *($(EditTextOut), 3)
set L4 = *($(EditTextOut), 4)
set L5 = *($(EditTextOut), 5)
set L6 = *($(EditTextOut), 6)
ui pop 1
FreeLibrary $(MdgDialog)
;
endif
;
endif
Dialogs_Done = +
;
; Convert the values the user has chosen into internal form.
;
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
set SlotNumber = *($(LocRawList),~($(LocList),$(SlotNumber)))
;
else
;
set IoLocation = *($(LocRawList),~($(LocList),$(IoLocation)))
;
endif
Debug-Output "IO4="$(IoLocation)
Debug-Output "SN4="$(SlotNumber)
ifstr $(RingStatus) != ""
;
set-hextodec RingStatus = $(RingStatus)
;
endif
ifstr $(EventLog) != ""
;
set-hextodec EventLog = $(EventLog)
;
endif
set SpeedFlag = *($(SpeedRawList),~($(SpeedList),$(SpeedFlag)))
set IrqNumber = *($(IrqRawList),~($(IrqList),$(IrqNumber)))
set DmaChannel = *($(DmaRawList),~($(DmaList),$(DmaChannel)))
set TxSlots = *($(TxRawList),~($(TxList),$(TxSlots)))
set RxSlots = *($(RxRawList),~($(RxList),$(RxSlots)))
set TransferType = *($(TransferRawList),~($(TransferList),$(TransferType)))
set TestXID = *($(TestXIDRawList),~($(TestXIDList),$(TestXID)))
set MacOpenMode = *($(MacOpenRawList),~($(MacOpenList),$(MacOpenMode)))
set StatsGathering = *($(StatsRawList),~($(StatsList),$(StatsGathering)))
set Wol = *($(WolRawList),~($(WolList),$(Wol)))
set QuietMode = *($(QuietRawList),~($(QuietList),$(QuietMode)))
set Watchdog = *($(WatchdogRawList),~($(WatchdogList),$(Watchdog)))
set SlaveSlotNumber = *($(SlaveSlotRawList),~($(SlaveSlotList),$(SlaveSlotNumber)))
set BeaconTimeout = *($(BeaconRawList),~($(BeaconList),$(BeaconTimeout)))
set SingleStationTimeout = *($(SingleStationRawList),~($(SingleStationList),$(SingleStationTimeout)))
set PcmciaMemWin = *($(PcmciaMemWinRawList),~($(PcmciaMemWinList),$(PcmciaMemWin)))
ifstr $(L1)$(L2)$(L3)$(L4)$(L5)$(L6) == ""
;
set LAA = ""
set NetworkAddress = ""
;
else
;
set LAA = $(L1)"-"$(L2)"-"$(L3)"-"$(L4)"-"$(L5)"-"$(L6)
set NetworkAddress = $(L1)$(L2)$(L3)$(L4)$(L5)$(L6)
;
endif
Debug-Output "MADGE: SlotNumber = "$(SlotNumber)
Debug-Output "MADGE: IoLocation = "$(IoLocation)
Debug-Output "MADGE: SpeedFlag = "$(SpeedFlag)
ifstr(i) $(UnattendLAA) != ""
;
Debug-Output "MADGE: UnattendLAA = "$(UnattendLAA)
set NetworkAddress = $(UnattendLAA)
;
; Call dll to split 12 digit laa into hyphen seperated
; byte values
;
LoadLibrary "x" $(DialogDllName) MdgDialog
set FLibraryErrCtl = 1
LibraryProcedure MdgResult $(MdgDialog) MadgeSplitLAA $(UnattendLAA)
set FLibraryErrCtl = 0
FreeLibrary $(MdgDialog)
ifstr $(MdgResult) != "LAA Split Failure"
;
set LAA = $(MdgResult)
Debug-Output "MADGE: LAA = "$(LAA)
;
endif
;
endif
EndWait
goto Adapter_Verify
; -----------------------------------------------------------------------
; Kick off advanced user options dialog box and check that anything
; input is sensible.
; -----------------------------------------------------------------------
Advanced_Options = +
Debug-Output "MADGE: Advanced Options"
;
; set title to include ADVANCED so user knows they are in advanced box.
;
set FunctionTitle = "MDGNDIS4 v"$(VersionString)": Madge ADVANCED Token Ring Adapter Setup"
;
; Determine whether the current adapter supports mirroring.
;
set AllowedSlaveSlotList = {*(^(SlaveSlotNumberChoices, 1), 1)}
ifcontains(i) $(Option) in $(MirroringAdapters)
;
set AdapterSupportsMirroring = 1
set SlaveBoxTitle = $(SlaveDisabledTitle)
;
else
;
set AdapterSupportsMirroring = 0
;
endif
;
; Compile a list of suitable Slave adapter's PCI Device IDs. Suitable Slave
; adapters must meet the following criteria:
;
; (a) Must be of same type as the current Master adapter (PCI only).
; (b) Must be on the same PCI bus as the current Master.
; (c) Must not be currently registered as a Master adapter.
; (d) Must not be currently registered as a Slave adapter for any Master
; other than the current one.
;
ifint $(AdapterSupportsMirroring) == 1
;
Debug-Output "== Detecting suitable slaves ==========================="
;
; Determine the PCI device ID of the adapter type we're installing.
; Unfortunately the GetPCIInformation utility function only takes
; PCI VendorId and DeviceId as arguments, and not SubvendorID and
; SubdeviceID so we can't distinguish between adapters with the same
; VendorId and DeviceIds, e.g PCI Mk3 and Presto Mk2.
;
set PCI_ID_VEN_MDGPCIHS = 4278
set PCI_ID_DEV_MDGPCIHS = 9
set PCI_ID_VEN_MDGPCIHS2 = 4278
set PCI_ID_DEV_MDGPCIHS2 = 10
set PCI_ID_VEN_MDGPCIBM2 = 4278
set PCI_ID_DEV_MDGPCIBM2 = 2
set PCI_ID_VEN_MDGPCI3 = 4278
set PCI_ID_DEV_MDGPCI3 = 3
set PCI_ID_VEN_OCTX3540 = 4237
set PCI_ID_DEV_OCTX3540 = 8
set PCI_ID_VEN_OCTX3140 = 4237
set PCI_ID_DEV_OCTX3140 = 4
set PCI_ID_VEN_OCTX3140V2 = 4278
set PCI_ID_DEV_OCTX3140V2 = 12
set PCI_ID_VEN_OCTX3141 = 4237
set PCI_ID_DEV_OCTX3141 = 7
set PCI_ID_VEN_OCTX3137 = 4237
set PCI_ID_DEV_OCTX3137 = 1
;
; Get a list of Madge PCI adapters of this type present in the machine.
; GetPCIInformation returns a list of {bus,device,function} triples.
; This is the list of possible slaves.
;
set CardVendorID = $(PCI_ID_VEN_$(Option))
set CardID = $(PCI_ID_DEV_$(Option))
Shell $(UtilityInf), GetPCIInformation, $(CardVendorID) $(CardID)
set SlaveList = $($R0)
Debug-Output "GetPCIInformation="$(SlaveList)
;
; Get a list of all network adapters installed in the machine.
;
set NetcardsPath = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
OpenRegKey $(!REG_H_LOCAL) "" $(NetcardsPath) $(MAXIMUM_ALLOWED) NetCardsKey
EnumRegKey $(NetCardsKey) CardsList
CloseRegKey $(NetCardsKey)
Debug-Output "CardsList="$(CardsList)
;
; Iterate along the list of network adapters and build a list of the
; serice names of any Madge adapters.
;
set ServiceList = {}
ForListDo $(CardsList)
;
set ThisElement = $($)
set ThisKeyName = *($(ThisElement), 1)
OpenRegKey $(!REG_H_LOCAL) "" $(NetcardsPath)"\"$(ThisKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
GetRegValue $(NetCardsKey) "ProductName" ThisProduct
GetRegValue $(NetCardsKey) "ServiceName" ThisService
;
; Lose any entries that don't have a Madge driver.
;
set ThisProduct = *($(ThisProduct), 4)
set ThisService = *($(ThisService), 4)
ifstr(i) $(ThisProduct) == "MDGNDIS4"
;
set ServiceList = >($(ServiceList), $(ThisService))
;
endif
CloseRegKey $(NetCardsKey)
;
EndForListDo
Debug-Output "ServiceList="$(ServiceList)
;
; Now look at the service parameters for each of the Madge adapters
; found and determine their PCI bus and device number and the device
; number of their slaves - if any. Remove any matching adapters from
; the list of possible slaves.
;
ForListDo $(ServiceList)
;
set ThisService = $($)
Debug-Output "ThisService="$(ThisService)
;
; Open a key to this service.
;
set KeyPath = $(!NTN_ServiceBase)"\"$(ThisService)"\Parameters"
OpenRegKey $(!REG_H_LOCAL) "" $(KeyPath) $(MAXIMUM_ALLOWED) ServiceKey
;
; Ignore non-PCI adapters.
;
GetRegValue $(ServiceKey) "BusType" BusTypeValue
Debug-Output "BusType="$(BusTypeValue)
set BusTypeValue = *($(BusTypeValue), 4)
ifint $(BusTypeValue) != 5
;
goto GetNextService
;
endif
;
; This is a PCI card so continue.
;
GetRegValue $(ServiceKey) "BusNumber" BusNumberValue
GetRegValue $(ServiceKey) "SlotNumber" SlotNumberValue
GetRegValue $(ServiceKey) "SlaveSlotNumber" SlaveSlotNumberValue
set BusNumberValue = *($(BusNumberValue), 4)
set SlotNumberValue = *($(SlotNumberValue), 4)
set SlaveSlotNumberValue = *($(SlaveSlotNumberValue), 4)
Debug-Output "BusNumber ="$(BusNumberValue)
Debug-Output "SlotNumber ="$(SlotNumberValue)
Debug-Output "SlaveSlotNumber ="$(SlaveSlotNumberValue)
;
; Remove any matching adapters from the list of possible slaves.
;
set TempList = {}
ForListDo $(SlaveList)
;
set ThisEntry = $($)
ifint $(BusNumberValue) == *($(ThisEntry),1)
;
ifint $(SlotNumberValue) == *($(ThisEntry),2)
;
goto SlaveInUse
;
endif
ifint $(SlaveSlotNumberValue) == *($(ThisEntry),2)
;
;
; Check whether this Master adapter is the
; one which we are currently configuring, if so
; don't remove this entry from the list.
;
ifint $(SlotNumberValue) != $(SlotNumber)
;
goto SlaveInUse
;
endif
;
endif
;
endif
set TempList = >($(TempList), $(ThisEntry))
SlaveInUse = +
;
EndForListDo
set SlaveList = $(TempList)
GetNextService = +
CloseRegKey $(ServiceKey)
;
EndForListDo
;
; Remove:
; (a) the adapter we're currently installing and
; (b) any adapters on a different bus number to the master
; from the list of possible slaves.
;
set TempList = {}
ifstr(i) $(AdapterDetected) == TRUE
;
set MasterBusNumber = $(DetectBusNumber)
;
else
;
set MasterBusNumber = $(BusNumber)
;
endif
ForListDo $(SlaveList)
;
set ThisEntry = $($)
ifint $(MasterBusNumber) == *($(ThisEntry),1)
;
ifint $(SlotNumber) == *($(ThisEntry),2)
;
goto SlaveInUse2
;
endif
set TempList = >($(TempList), $(ThisEntry))
;
endif
SlaveInUse2 = +
;
EndForListDo
set SlaveList = $(TempList)
;
; Check if the list of possible slaves is empty.
;
ifstr(i) $(SlaveList) == {}
;
set SlaveBoxText = $(NoSuitableSlavesText)
;
else
;
ifint $(SlaveSlotNumber) == 0
;
set SlaveBoxText = $(MirroringDisabledText)
;
else
;
set SlaveBoxTitle = $(SlaveEnabledTitle)
set SlaveBoxText = $(MirroringEnabledText)
;
endif
;
endif
;
; Compile a list of slave PCI device IDs.
;
ForListDo $(SlaveList)
;
set ThisEntry = $($)
set BusNumberValue = *($(ThisEntry),1)
set SlotNumberValue = *($(ThisEntry),2)
set AllowedSlaveSlotList = >($(AllowedSlaveSlotList),$(SlotNumberValue))
;
EndForListDo
Debug-Output "AllowedSlaveSlotList="$(AllowedSlaveSlotList)
;
endif
;
; Run through the symbols to set up the default combos
;
read-syms FileDependentDlg$(!STF_LANGUAGE)Option$(DlgTemplate)
set EditTextIn = {$(MaxFrameSize), $(RingStatus), $(EventLog)}
set EditTextLim = {5, 6, 6}
set EditTextOut = {$(MaxFrameSize), $(RingStatus), $(EventLog)}
;
; To allow us to re-use the dialog box for PCI-EISA we need
; to change Combo1Label and Combo1Out.
;
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
set Combo1Out = $(SlotNumber)
set Combo1Label = $(PciCombo1Label)
;
else-ifstr(i) $(Option) == "MDGEISA"
;
set Combo1Out = $(IoLocation)
set Combo1Label = $(EisaCombo1Label)
;
endif
;
; Similarly, change the Wol combo box to PCMCIA Memory window
; for Olicom PCMCIA cards
;
ifcontains(i) $(Option) in $(OlicomPcmciaAdapters)
;
set Combo14Out = $(PcmciaMemWin)
set Combo14Label = $(OlicomPcmciaCombo14Label)
set Combo14List = $(PcmciaMemWinList)
;
endif
;
; ... and disable the watchdog on Hawkeye/Bullseye cards
;
ifcontains(i) $(Option) in $(OlicomHebeAdapters)
;
set Combo13List = $(DisabledOnlyList)
;
endif
; ----------------------------------------------------------------------
; Then display the dialog box
; ----------------------------------------------------------------------
ifint $(AdapterSupportsMirroring) == 1
;
set DlgTemplate = "MDGADVANCEDM"
;
else
;
set DlgTemplate = "MDGADVANCED"
;
endif
;
; Don't need to worry about unattended install here
;
EndWait
Advanced_Dialog = +
ui start "InputDlg" $(MdgDialog)
StartWait
; ----------------------------------------------------------------------
; Extract the values from the dialog box.
; ----------------------------------------------------------------------
ifstr(i) $(DLGEVENT) == "CONTINUE"
;
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
set SlotNumber = $(Combo1Out)
set IoLocation = ""
Debug-Output "MADGE: IO1="$(IoLocation)
Debug-Output "MADGE: SN1="$(SlotNumber)
;
else
;
set IoLocation = $(Combo1Out)
set SlotNumber = ""
Debug-Output "MADGE: IO2="$(IoLocation)
Debug-Output "MADGE: SN2="$(SlotNumber)
;
endif
set IrqNumber = $(Combo4Out)
set DmaChannel = $(Combo5Out)
set TxSlots = $(Combo6Out)
set RxSlots = $(Combo7Out)
set TransferType = $(Combo8Out)
set TestXID = $(Combo9Out)
set MacOpenMode = $(Combo10Out)
set StatsGathering = $(Combo11Out)
set QuietMode = $(Combo12Out)
set Watchdog = $(Combo13Out)
;
ifcontains(i) $(Option) in $(OlicomPcmciaAdapters)
;
set PcmciaMemWin = $(Combo14Out)
; If we don't already have a PcmciaMemWinLen then set it
; (i.e. not autodetect install)
ifstr(i) $(PcmciaMemWinLen) == "0"
;
set PcmciaMemWinLen = 4096
;
endif
;
;
else
;
set Wol = $(Combo14Out)
;
endif
;
set MaxFrameSize = *($(EditTextOut), 1)
set RingStatus = *($(EditTextOut), 2)
set EventLog = *($(EditTextOut), 3)
ifint $(AdapterSupportsMirroring) == 1
;
set SlaveSlotNumber = $(Combo15Out)
set BeaconTimeout = $(Combo16Out)
set SingleStationTimeout = $(Combo17Out)
;
endif
;
else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
;
LoadLibrary "x" $(DialogDllName) MdgDialog
set FLibraryErrCtl = 1
LibraryProcedure MdgResult $(MdgDialog) MadgeStartHelp
set FLibraryErrCtl = 0
FreeLibrary $(MdgDialog)
ui pop 1
goto Advanced_Dialog
;
endif
; ----------------------------------------------------------------------
; All the same stuff as above so the main dialog open without reloading
; the dll
; ----------------------------------------------------------------------
ui pop 1
set DlgTemplate = "MDG"
set FunctionTitle = "MDGNDIS4 v"$(VersionString)": Madge Token Ring Adapter Setup"
read-syms FileDependentDlg$(!STF_LANGUAGE)Option$(DlgTemplate)
set Combo2Out = $(OldCombo2)
; ----------------------------------------------------------------------
; And finally return to main options dialog
; ----------------------------------------------------------------------
goto Main_Install_Options
; -----------------------------------------------------------------------
; Verify the main install adapter options.
; -----------------------------------------------------------------------
Adapter_Verify = +
StartWait
;
; If the user entered an LAA then validate it.
;
ifstr $(LAA) != ""
;
;
; NB A line of spaces will come through here, and will fail the
; check - do we want this?
;
LoadLibrary "x" $(DialogDllName) MdgDialog
set FLibraryErrCtl = 1
LibraryProcedure MdgResult $(MdgDialog) MadgeLAACheck $(LAA)
set FLibraryErrCtl = 0
FreeLibrary $(MdgDialog)
ifstr $(MdgResult) != "MADGE_STATUS_SUCCESS"
;
;
; Illegal LAA supplied in the install dialog
; Display error message and go around again
;
set Error = $(MdgResult)
;
; This will go back to Get_Adapter_Options or to end.
;
goto Non_Fatal
;
endif
;
endif
;
; Ring Status mask should be between 0 and 3fff
;
ifstr $(RingStatus) != ""
;
ifint $(RingStatus) < 0
;
set RingStatus = 16383
set Error = $(INVALID_RING_STAT)
set From = Adapter_Verify
goto Non_Fatal_Info
;
endif
ifint $(RingStatus) > 65535
;
set RingStatus = 16383
set Error = $(INVALID_RING_STAT)
set From = Adapter_Verify
goto Non_Fatal_Info
;
endif
;
endif
;
; 17839 is the maximum frame size at 16Mbps, while at 4Mbps it is 4472.
; Unfortunately, we can't tell here what the ring speed is, so guess at
; 16Mbps, which is the most sensible.
;
ifint $(MaxFrameSize) > 17839
;
set MaxFrameSize = 17839
set Error = $(TRIMMED_MFS)
set From = Adapter_Verify
goto Non_Fatal_Info
;
endif
ifint $(MaxFrameSize) < 256
;
set MaxFrameSize = 256
set Error = $(INVALID_MFS)
set From = Adapter_Verify
goto Non_Fatal_Info
;
endif
;
; If a Mirror slave adapter has been selected, ensure that an LAA
; has been specified and make sure that the Master and Slave PCI
; device IDs are different.
;
ifint $(SlaveSlotNumber) != 0
;
ifint $(SlotNumber) == $(SlaveSlotNumber)
;
set Error = $(MASTER_AND_SLAVE_CLASH)
set From = Get_Adapter_Options_Restart
goto Non_Fatal_Info
;
endif
ifstr $(LAA) == ""
;
set Error = $(SET_LAA_FOR_MIRRORING)
set From = Get_Adapter_Options_Restart
goto Non_Fatal_Info
;
endif
;
endif
EndWait
; -----------------------------------------------------------------------
; We have checked the options so add the software parameters to the
; registry.
; -----------------------------------------------------------------------
Update_Registry = +
;
; If installing, go create the necessary keys;
; if configuring, they're already open.
;
ifint $(OldVersionExisted) == $(TRUE)
;
ifstr(i) $(!NTN_InstallMode) == configure
;
goto Write_Parameters
;
endif
;
endif
StartWait
;
; Add Software Component.
;
ifint $(OldVersionExisted) == $(FALSE)
;
Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), +
$(ProductSoftwareName), +
$(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
$(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
$(MadgeEventLogFile)
Set OEM_ABANDON_SOFTWARE = TRUE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
;
; At this point:
; $R1 contains the product version key handle;
; $R2 contains the NetRules subkey handle;
; $R3 contains the new Services key handle; and
; $R4 contains the Parameters key
; $R5 contains the Linkage Key
;
set RegistryErrorIndex = $($R0)
set KeyProduct = $($R1)
Set SoftNetRulesKey = $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
goto Fatal_Registry
;
endif
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)},+
{PathName,$(NoTitle),$(!REG_VT_SZ),$(!STF_CWDDIR)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
goto Fatal_Registry
;
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),$(NetRuleSoftwareBindable)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}, +
{Infname ,$(NoTitle),$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)} }
Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
goto Fatal_Registry
;
endif
;
endif
;
; Create the HARDWARE\Netcard region and its corresponding service
;
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 Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto Fatal_Registry
;
endif
;
; At this point:
; $R1 Registry key variable for HARDWARE\Netcard\(n)
; $R2 Registry key variable for HARDWARE\Netcard\(n)\\NetRules
; $R3 Registry key handle for <service>\Parameters key
; $R4 Adapter number assigned to adapter
; $R5 Service name generated by combining svc name with adapter number
;
set KeyParameters = $($R3)
set KeyAdapterRules = $($R2)
set AdapterNumber = $($R4)
set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
{Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option))},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option))},+
{ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
CloseRegKey $($R1)
set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}, +
{Infname ,$(NoTitle),$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)}}
Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyAdapterRules)
goto Fatal_Registry
;
endif
CloseRegKey $(KeyAdapterRules)
EndWait
; ----------------------------------------------------------------------
; Write the adapter parameters into the registry.
; ----------------------------------------------------------------------
;
; REQUIRED: $(KeyParameters) contains service Parameters key handle.
;
Write_Parameters = +
StartWait
Debug-Output "IO5="$(IoLocation)
Debug-Output "SN5="$(SlotNumber)
;
; If we have done an automatic installation then use the
; detected bus type and bus number values.
;
ifstr(i) $(AdapterDetected) == TRUE
;
Debug-Output "MADGE: Adapter detected bus no = "$(DetectBusNumber)
set BusType = $(DetectBusType)
set BusNumber = $(DetectBusNumber)
;
endif
;
; If we are doing an unattended installation and bus overrides
; have been specified then us these.
;
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
;
ifstr(i) $(!AutoNetInterfaceType) != ""
;
set BusType = $(!AutoNetInterfaceType)
;
endif
ifstr(i) $(!AutoNetBusNumber) != ""
;
set BusNumber = $(!AutoNetBusNumber)
;
endif
;
endif
;
; If either bus type or bus number is not known then ask the user
; to supply them.
;
ifint $(BusType) == $(VALUE_UNKNOWN)
;
set BusNumber = $(VALUE_UNKNOWN)
;
endif
ifcontains(i) $(Option) in $(CardbusAdapters)
;
;
; This is a cardbus manual install and the bus number and type are
; irrelevant to the driver, so just fill in 5 for PCI bus and 0 for no.
;
set BusType = 5
set BusNumber = 0
;
endif
ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"
;
ifint $(BusNumber) == $(VALUE_UNKNOWN)
;
Shell $(UtilityInf), GetBusTypeDialog, $(ProductHardware$(Option)Description)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
ifstr(i) $($R0) == ERROR
;
Shell $(UtilityInf), GetBusTypeNum
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set BusType = $($R1)
set BusNumber = 0
;
else
;
set BusType = $($R1)
set BusNumber = $($R2)
;
endif
;
endif
;
endif
;
; It would appear that when installing a PCMCIA adapter
; one should give the bus type of the PCMCIA controller
; rather than PCMCIA itself.
;
ifcontains(i) $(Option) in $(PcmciaAdapters)
;
set BusType = 1
;
endif
;
; Derive the adapter type.
;
set AdapterTypeFlag = $(AdapterTypeFlag$(Option))
;
; If we are doing an unattend install and the user has manually
; selected a PCI adapter we need to make the SlotNumber=0xffffffff
; (rather than the default 0) so the driver will search for the adapter.
;
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
;
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
ifint $(NumberFound) == 0
;
set SlotNumber = 4294967295
;
endif
;
endif
;
endif
;
; Add the rest of the parameters to the Services adapter area.
;
Debug-Output "MADGE: Setting NewValueList"
ifcontains(i) $(Option) in $(SlotNumberAdapters)
;
set NewValueList = {+
{BusType, $(NoTitle),$(!REG_VT_DWORD),$(BusType)},+
{BusNumber, $(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
{MediaType, $(NoTitle),$(!REG_VT_DWORD),2},+
{SlotNumber, $(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+
{AdapterType, $(NoTitle),$(!REG_VT_DWORD),$(AdapterTypeFlag)}}
;
else
;
set NewValueList = {+
{BusType, $(NoTitle),$(!REG_VT_DWORD),$(BusType)},+
{BusNumber, $(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
{MediaType, $(NoTitle),$(!REG_VT_DWORD),2},+
{IoBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(IoLocation)},+
{AdapterType, $(NoTitle),$(!REG_VT_DWORD),$(AdapterTypeFlag)}}
;
endif
;
; If Olicom PCMCIA, set memory window and IO length
;
ifcontains(i) $(Option) in $(OlicomPcmciaAdapters)
;
set NewValueList = >($(NewValueList),+
{PCCARDAttributeMemoryAddress, $(NoTitle),$(!REG_VT_DWORD),$(PcmciaMemWin)})
set NewValueList = >($(NewValueList),+
{PCCARDAttributeMemorySize, $(NoTitle),$(!REG_VT_DWORD),$(PcmciaMemWinLen)})
set NewValueList = >($(NewValueList),+
{PCCARDAttributeMemoryOffset, $(NoTitle),$(!REG_VT_DWORD),0})
set NewValueList = >($(NewValueList),+
{IoLength, $(NoTitle),$(!REG_VT_DWORD),32})
;
endif
;
; If this is a PCMCIA adapter we need to a PCMCIA flag.
;
ifcontains(i) $(Option) in $(PcmciaAdapters)
;
set NewValueList = >($(NewValueList),+
{Pcmcia, $(NoTitle), $(!REG_VT_DWORD), 1})
;
; Check for NT 4 stub registry containing madgemport bug.
;
OpenRegKey $(!REG_H_LOCAL) "" $(FixedDatabase) $(MAXIMUM_ALLOWED) fffixup
ifstr $(fffixup) != $(KeyNull)
;
Debug-Output "MADGE: Opened C.S.1 Madge Database key"
GetRegValue $(fffixup), "Driver", DrvInfo
Debug-Output "MADGE: Extracted DrvInfo: "$(DrvInfo)
ifstr(i) *($(DrvInfo),4) != $(ProductSoftwareName)
;
Debug-Output "MADGE: Updating the C.C Madge Database Key"
;
; Open the NT4.0 Madge PCMCIA database key and reset values.
;
OpenRegKey $(!REG_H_LOCAL) "" $(PcmciaDatabase) $(MAXIMUM_ALLOWED) dbfixup
ifstr $(dbfixup) != $(KeyNull)
;
Debug-Output "MADGE: Opened C.C Madge Database Key and updating values"
SetRegValue $(dbfixup) {driver,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)}
SetRegValue $(dbfixup) {InfFileName,$(NoTitle),$(!REG_VT_SZ),""}
SetRegValue $(dbfixup) {Option,$(NoTitle),$(!REG_VT_SZ),$(Option)}
;
endif
CloseRegKey $(dbfixup)
;
endif
;
endif
CloseRegKey $(fffixup)
;
endif
ifcontains(i) $(Option) in $(OlicomPcmciaAdapters)
;
;
; Change Olicom registry key to point to this driver
;
Debug-Output "MADGE: Opening Olicom PCMCIA database"
OpenRegKey $(!REG_H_LOCAL) "" $(OlicomPcmciaDatabase) $(MAXIMUM_ALLOWED) database
Debug-Output "MADGE: Creating Olicom card key"
CreateRegKey $(database) {$($(Option)DatabaseLast), 0, GenericClass} "" $(!REG_KEY_SET_VALUE) "" ockey
ifstr $(ockey) == $(KeyNull)
;
OpenRegKey $(!REG_H_LOCAL) "" $($(Option)Database) $(MAXIMUM_ALLOWED) ockey
;
endif
ifstr $(ockey) != $(KeyNull)
;
Debug-Output "MADGE: Setting general Olicom net values"
SetRegValue $(ockey) {Driver, $(NoTitle), $(!REG_VT_SZ), $(ProductSoftwareName)}
SetRegValue $(ockey) {DeviceType, $(NoTitle), $(!REG_VT_SZ), "NET"}
SetRegValue $(ockey) {Option, $(NoTitle), $(!REG_VT_SZ), $(Option)}
ifstr $(Option) == "OCTX3221"
;
Debug-Output "MADGE: Setting values for GoCard 3221"
SetRegValue $(ockey) {AttributeMemorySize, $(NoTitle), $(!REG_VT_DWORD), 4096}
;
endif
;
endif
CloseRegKey $(ockey)
;
endif
ifcontains(i) $(Option) in $(CardbusAdapters)
;
ifstr $(SSoftCB) == $(TRUE)
;
set NewValueList = >($(NewValueList),+
{Pcmcia, $(NoTitle), $(!REG_VT_DWORD), 1})
;
endif
ifstr $(SoftexCB) == $(TRUE)
;
set NewValueList = >($(NewValueList),+
{Pcmcia, $(NoTitle), $(!REG_VT_DWORD), 1})
;
endif
ifstr $(MadgeCB) == $(TRUE)
;
set NewValueList = >($(NewValueList),+
{PCCardEnabler, $(NoTitle), $(!REG_VT_DWORD), 1})
;
endif
;
; Add CardBus card information to PCMCIA database.
;
Debug-Output "MADGE: Opening PCMCIA database"
OpenRegKey $(!REG_H_LOCAL) "" $(CardbusDatabase) $(MAXIMUM_ALLOWED) database
Debug-Output "MADGE: Creating 16/4 CARDBUS ADAPTER registry key"
CreateRegKey $(database) {"16/4 CARDBUS ADAPTER", 0, GenericClass} "" $(!REG_KEY_SET_VALUE) "" cardbus
ifstr $(cardbus) != $(KeyNull)
;
Debug-Output "MADGE: Setting values for CardBus Adapter"
SetRegValue $(cardbus) {Driver, $(NoTitle), $(!REG_VT_SZ), $(ProductSoftwareName)}
SetRegValue $(cardbus) {DeviceType, $(NoTitle), $(!REG_VT_SZ), "NET"}
SetRegValue $(cardbus) {Option, $(NoTitle), $(!REG_VT_SZ), $(Option)}
CloseRegKey $(cardbus)
;
else
;
OpenRegKey $(!REG_H_LOCAL) "" $(CBDatabase) $(MAXIMUM_ALLOWED) cardbus
ifstr $(cardbus) != $(KeyNull)
;
Debug-Output "MADGE: Setting values for CardBus Adapter"
SetRegValue $(cardbus) {Driver, $(NoTitle), $(!REG_VT_SZ), $(ProductSoftwareName)}
SetRegValue $(cardbus) {DeviceType, $(NoTitle), $(!REG_VT_SZ), "NET"}
SetRegValue $(cardbus) {Option, $(NoTitle), $(!REG_VT_SZ), $(Option)}
CloseRegKey $(cardbus)
;
endif
;
endif
Debug-Output "MADGE: Creating CARDBUS ADAPTER MK 2 registry key"
CreateRegKey $(database) {"CARDBUS ADAPTER MK 2", 0, GenericClass} "" $(!REG_KEY_SET_VALUE) "" cardbus
ifstr $(cardbus) != $(KeyNull)
;
Debug-Output "MADGE: Setting values for CardBus Adapter Mk2"
SetRegValue $(cardbus) {Driver, $(NoTitle), $(!REG_VT_SZ), $(ProductSoftwareName)}
SetRegValue $(cardbus) {DeviceType, $(NoTitle), $(!REG_VT_SZ), "NET"}
SetRegValue $(cardbus) {Option, $(NoTitle), $(!REG_VT_SZ), $(Option)}
CloseRegKey $(cardbus)
;
else
;
OpenRegKey $(!REG_H_LOCAL) "" $(CB2Database) $(MAXIMUM_ALLOWED) cardbus
ifstr $(cardbus) != $(KeyNull)
;
Debug-Output "MADGE: Setting values for CardBus Adapter Mk2"
SetRegValue $(cardbus) {Driver, $(NoTitle), $(!REG_VT_SZ), $(ProductSoftwareName)}
SetRegValue $(cardbus) {DeviceType, $(NoTitle), $(!REG_VT_SZ), "NET"}
SetRegValue $(cardbus) {Option, $(NoTitle), $(!REG_VT_SZ), $(Option)}
CloseRegKey $(cardbus)
;
endif
;
endif
CloseRegKey $(database)
;
; Add Olicom CardBus card information to PCMCIA database.
;
Debug-Output "MADGE: Opening PCMCIA database for Olicom"
OpenRegKey $(!REG_H_LOCAL) "" $(OlicomPcmciaDatabase) $(MAXIMUM_ALLOWED) database
Debug-Output "MADGE: Creating Olicom GoCard 3250 registry key"
CreateRegKey $(database) {$(OCTX3250DatabaseLast), 0, GenericClass} "" $(!REG_KEY_SET_VALUE) "" cardbus
ifstr $(cardbus) != $(KeyNull)
;
Debug-Output "MADGE: Setting values for CardBus Adapter GoCard 3250"
SetRegValue $(cardbus) {Driver, $(NoTitle), $(!REG_VT_SZ), $(ProductSoftwareName)}
SetRegValue $(cardbus) {DeviceType, $(NoTitle), $(!REG_VT_SZ), "NET"}
SetRegValue $(cardbus) {Option, $(NoTitle), $(!REG_VT_SZ), $(Option)}
CloseRegKey $(cardbus)
;
else
;
OpenRegKey $(!REG_H_LOCAL) "" $(OCTX3250Database) $(MAXIMUM_ALLOWED) cardbus
ifstr $(cardbus) != $(KeyNull)
;
Debug-Output "MADGE: Setting values for CardBus Adapter GoCard 3250"
SetRegValue $(cardbus) {Driver, $(NoTitle), $(!REG_VT_SZ), $(ProductSoftwareName)}
SetRegValue $(cardbus) {DeviceType, $(NoTitle), $(!REG_VT_SZ), "NET"}
SetRegValue $(cardbus) {Option, $(NoTitle), $(!REG_VT_SZ), $(Option)}
CloseRegKey $(cardbus)
;
endif
;
endif
CloseRegKey $(database)
;
endif
;
; We only want to set the advanced options if specifically
; asked to do so by the user - as it is better to use the values
; determined by the UDT or OS. These parameters all have 0 = to
; UNKNOWN and we will not set them if so. If the user has set any
; of these parameters to UNKNOWN and there is already an entry in
; the registry we must remove it.
;
ifcontains(i) $(Option) in $(PcmciaAdapters)
;
;
; Must set the IRQ
;
set NewValueList = >($(NewValueList),+
{InterruptNumber, $(NoTitle), $(!REG_VT_DWORD), $(IrqNumber)})
;
else-ifstr(i) $(IrqNumber) == $(DEF_IRQ_NUMBER)
;
ifstr(i) $(OldIrq) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) InterruptNumber
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{InterruptNumber, $(NoTitle), $(!REG_VT_DWORD), $(IrqNumber)})
;
endif
ifstr(i) $(SpeedFlag) == $(DEF_SPEED)
;
ifstr(i) $(OldSpeedFlag) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) RingSpeed
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{RingSpeed, $(NoTitle), $(!REG_VT_DWORD), $(SpeedFlag)})
;
endif
ifstr(i) $(DmaChannel) == $(DEF_DMA_CHANNEL)
;
ifstr(i) $(OldDma) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) DmaChannel
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{DmaChannel, $(NoTitle), $(!REG_VT_DWORD), $(DmaChannel)})
;
endif
ifstr(i) $(TransferType) == $(DEF_TRANSFER_TYPE)
;
ifstr(i) $(OldTransferType) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) TransferType
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{TransferType, $(NoTitle), $(!REG_VT_DWORD), $(TransferType)})
;
endif
ifstr(i) $(TxSlots) == $(DEF_TX_SLOTS)
;
ifstr(i) $(OldTxSlots) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) TxSlots
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{TxSlots, $(NoTitle), $(!REG_VT_DWORD), $(TxSlots)})
;
endif
ifstr(i) $(RxSlots) == $(DEF_RX_SLOTS)
;
ifstr(i) $(OldRxSlots) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) RxSlots
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{RxSlots, $(NoTitle), $(!REG_VT_DWORD), $(RxSlots)})
;
endif
ifstr(i) $(TestXID) == $(DEF_TEST_XID)
;
ifstr(i) $(OldTestXID) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) TestAndXIDEnabled
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{TestAndXIDEnabled, $(NoTitle), $(!REG_VT_DWORD), $(TestXID)})
;
endif
ifstr(i) $(MacOpenMode) == $(DEF_MAC_OPEN_MODE)
;
ifstr(i) $(OldMacOpen) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) MacOpen
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{MacOpen, $(NoTitle), $(!REG_VT_DWORD), $(MacOpenMode)})
;
endif
ifstr(i) $(StatsGathering) == $(DEF_STATS_GATHERING)
;
ifstr(i) $(OldStatsGathering) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) StatsGathering
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{StatsGathering, $(NoTitle), $(!REG_VT_DWORD), $(StatsGathering)})
;
endif
ifstr(i) $(Wol) == $(DEF_WOL)
;
ifstr(i) $(OldWol) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) WOL
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{WOL, $(NoTitle), $(!REG_VT_DWORD), $(Wol)})
;
endif
ifstr(i) $(QuietMode) == $(DEF_QUIET_MODE)
;
ifstr(i) $(OldQuietMode) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) Quiet
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{Quiet, $(NoTitle), $(!REG_VT_DWORD), $(QuietMode)})
;
endif
ifstr(i) $(MaxFrameSize) == $(DEF_MAX_FRAME_SIZE)
;
ifstr(i) $(OldMaxFrameSize) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) MaxFrameSize
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{MaxFrameSize, $(NoTitle), $(!REG_VT_DWORD), $(MaxFrameSize)})
;
endif
ifint $(RingStatus) == $(DEF_RING_STATUS_MASK)
;
ifstr(i) $(OldRingStatus) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) RingStatusMask
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{RingStatusMask, $(NoTitle), $(!REG_VT_DWORD), $(RingStatus)})
;
endif
ifint $(EventLog) == $(DEF_EVENT_LOG_MASK)
;
ifstr(i) $(OldEventLog) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) EventMask
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{EventMask, $(NoTitle), $(!REG_VT_DWORD), $(EventLog)})
;
endif
ifstr(i) $(Watchdog) == $(DEF_WATCHDOG)
;
ifstr(i) $(OldWatchdog) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) Watchdog
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{Watchdog, $(NoTitle), $(!REG_VT_DWORD), $(Watchdog)})
;
endif
ifstr(i) $(NetworkAddress) == ""
;
ifstr(i) $(OldNetworkAddress) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) NetworkAddress
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{NetworkAddress, $(NoTitle), $(!REG_VT_SZ), $(NetworkAddress)})
;
endif
ifstr(i) $(SlaveSlotNumber) == $(DEF_SLAVE_SLOT_NUMBER)
;
ifstr(i) $(OldSlaveSlotNumber) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) SlaveSlotNumber
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{SlaveSlotNumber, $(NoTitle), $(!REG_VT_DWORD), $(SlaveSlotNumber)})
;
endif
ifstr(i) $(BeaconTimeout) == $(DEF_BEACON_TIMEOUT)
;
ifstr(i) $(OldBeaconTimeout) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) BeaconTimeout
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{BeaconTimeout, $(NoTitle), $(!REG_VT_DWORD), $(BeaconTimeout)})
;
endif
ifstr(i) $(SingleStationTimeout) == $(DEF_SINGLE_TIMEOUT)
;
ifstr(i) $(OldSingleStationTimeout) != $(VALUE_UNKNOWN)
;
DeleteRegValue $(KeyParameters) SingleStationTimeout
;
endif
;
else
;
set NewValueList = >($(NewValueList),+
{SingleStationTimeout, $(NoTitle), $(!REG_VT_DWORD), $(SingleStationTimeout)})
;
endif
;
; Uncomment the lines between --> and <-- to perminantly disable
; promiscuous mode on a Smart 16/4 PCI Ringnode Mk3.
;
; -->
; set NewValueList = >($(NewValueList),+
; {Kill_PM, $(NoTitle), $(!REG_VT_SZ), 1)})
; <--
;
; And add the parameters to the registry.
;
Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
CloseRegKey $(KeyParameters)
goto Fatal_Registry
;
endif
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
;
Shell $(UtilityInf), AddDefaultNetCardParameters, $(KeyParameters)
;
endif
CloseRegKey $(KeyParameters)
;
; To support Hot Plug PCI we must add registry keys to tell the
; Hot Plug service which miniport OIDs to use to talk to us.
;
ifint $(BusType) == 5
;
OpenRegKey $(!REG_H_LOCAL) "" $(CompaqHotPlugKey) $(MAXIMUM_ALLOWED) hpp
ifstr(i) $(hpp) == $(KeyNull)
;
;
; The Compaq Hot Plug registry key does not exist. We must add it.
;
CreateRegKey $(!REG_H_LOCAL) {$(CompaqHotPlugKey), 0, GenericClass} "" $(!REG_KEY_SET_VALUE) "" hpp
SetRegValue $(hpp) {ClassID, $(NoTitle), $(!REG_VT_DWORD), 0}
SetRegValue $(hpp) {DLLName, $(NoTitle), $(!REG_VT_SZ), "CQRNICMN.DLL"}
;
endif
CreateRegKey $(hpp) {$(ProductSoftwareName), 0, GenericClass} "" $(!REG_KEY_SET_VALUE) "" hppmdg
SetRegValue $(hppmdg) {BaseOIDAddress, $(NoTitle), $(!REG_VT_DWORD), $(BaseOIDAddress)}
SetRegValue $(hppmdg) {SetOIDAddress, $(NoTitle), $(!REG_VT_DWORD), $(SetOIDAddress)}
CloseRegKey $(hpp)
CloseRegKey $(hppmdg)
;
endif
EndWait
Debug-Output "MADGE: Updated registry"
goto Successful
; -----------------------------------------------------------------------
; Binding section
; -----------------------------------------------------------------------
Binding_Adapter =+
set Error = "Binding: Sorry, not yet implemented."
goto Fatal
; -----------------------------------------------------------------------
; Removal section
; -----------------------------------------------------------------------
Remove_Adapter = +
StartWait
;
; Remove the software component if required.
;
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
;
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
goto Fatal_Registry
;
endif
;
;
; Or, the hardware component.
;
else
;
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $(!NTN_RegBase)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
goto Fatal_Registry
;
endif
;
endif
EndWait
goto End
; -----------------------------------------------------------------------
; Upgrade Software section.
; -----------------------------------------------------------------------
Upgrade_Software = +
StartWait
read-syms UpgradeMessages$(!STF_LANGUAGE)
set UpdateStatusString = "UPD_STARTED"
;
; Upgrade software component.
;
set Current_OptionList = ^(Options, 1)
set LSS5_OptionList = ^(LSS502_Options, 1)
set LSS5_Option = ""
;
; Store some update status information.
;
ifstr(i) $(!NTN_QuickREV) == "YES"
;
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) StatusKey
SetRegValue $(StatusKey) {"UpdateStatus", $(NoTitle),$(!REG_VT_SZ), $($(UpdateStatusString))}
CloseRegKey $(StatusKey)
;
endif
read-syms MappingConstants
Debug-Output "MADGE: In Upgrade software"
Debug-Output "MADGE: Option = "$(Option)
Debug-Output "MADGE: !NTN_RegBase = "$(!NTN_RegBase)
Debug-Output "MADGE: !ProductKeyName = "$(ProductKeyName)
Debug-Output "MADGE: !NTN_ServiceBase = "$(!NTN_ServiceBase)
;---------------------------------------------------------------------
; Before we go any further make sure this isn't down grading the software.
; It isn't possible to do anything about upgradingto the current as this
; will prevent multi adapter upgrades.
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
ifstr $(KeyProduct) != $(KeyNull)
;
GetRegValue $(KeyProduct),"MajorVersion", MajorVersionInfo
GetRegValue $(KeyProduct),"MinorVersion", MinorVersionInfo
set MajorVersion = *($(MajorVersionInfo), 4)
set MinorVersion = *($(MinorVersionInfo), 4)
CloseRegKey $(KeyProduct)
Debug-output "Current Version: "$(MajorVersion)"."$(MinorVersion)
Debug-output "This Version : "$(ProductMajorVersion)"."$(ProductMinorVersion)
ifint $(ProductMajorVersion) > $(MajorVersion)
;
; Do nothing Major Version is greater
;
else-ifint $(ProductMajorVersion) == $(MajorVersion)
;
ifint $(ProductMinorVersion) >= $(MinorVersion)
;
; OK do nothing Mjrs are = and Mnr >=
;
else
;
;
; Minor is less -> error
;
set UpgradeError = UPD_DOWNGRADING_ERROR
goto Fatal_Upgrade_Error
;
endif
;
else
;
;
; Down grading error
;
set UpgradeError = UPD_DOWNGRADING_ERROR
goto Fatal_Upgrade_Error
;
endif
;
else
;
;
; Failure to open the product key probably indicates that the user
; is trying to upgrade to a driver with a different name to the
; one currently installed, which is not permitted.
;
set UpgradeError = UPD_OPEN_SOFTWARE_KEY_FAILED
goto Fatal_Upgrade_Error
;
endif
;
; Check that this option is supported by this driver.
;
ifcontains(i) $(Option) not-in $(Current_OptionList)
;
set UpgradeError = UPD_OPTION_NOT_SUPPORTED
goto Fatal_Upgrade_Error
;
endif
;
; Open the software key.
;
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
ifstr $(KeyProduct) != $(KeyNull)
;
;
; Get the name of the .INF file for this adapter.
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyHardware
shell $(UtilityInf) GetInfFileNameFromRegistry $(KeyHardware)
CloseRegKey $(KeyHardware)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
set UpdateStatusString = "UPD_GET_INF_NAME_FAILED"
goto Shell_Code_Error
;
endif
set !UG_Filename = $($R0)
Debug-Output "MADGE: !UG_Filename = "$(!UG_Filename)
;
; Update the binaries.
;
ifstr(i) $(!UG_Filename) != ""
;
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
;
set UpdateStatusString = "UPD_INSTALL_FAILED"
goto Fatal
;
endif
;
endif
;
; Upgrade the version number
;
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
CloseRegKey $(KeyProduct)
;
; Install the detection DLL in case we are upgrading from a
; version that did not use detection.
;
Shell "" PrepareDetectionDll $(DetectDllName)
ifstr(i) $($R0) != STATUS_SUCCESSFUL
;
set UpdateStatusString = "UPD_PREP_DETECTION_DLL_FAILED"
goto Fatal
;
endif
;
else
;
;
; Cannot Open software key, goto ERROR
;
set UpgradeError = UPD_OPEN_SOFTWARE_KEY_FAILED
goto Fatal_Upgrade_Error
;
endif
EndWait
set UpdateStatusString = "UPD_SUCCESS"
goto End
; -----------------------------------------------------------------------
; Escape hatches
; -----------------------------------------------------------------------
Successful = +
goto End
; -----------------------------------------------------------------------
Abandon = +
ForListDo $(OEM_ABANDON_OPTIONS)
;
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
goto Fatal_Registry
;
endif
;
EndForListDo
ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
;
;
; Remove Software Component
;
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), FALSE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set RegistryErrorIndex = $($R0)
ifstr(i) $(RegistryErrorIndex) != NO_ERROR
;
goto Fatal_Registry
;
endif
;
endif
goto End
; -----------------------------------------------------------------------
Warning = +
EndWait
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
ifstr(i) $($R1) == "OK"
;
goto $(To)
;
else-ifstr(i) $($R1) == "CANCEL"
;
goto $(From)
;
endif
goto End
; -----------------------------------------------------------------------
Non_Fatal_Info = +
set Severity = STATUS
set CommonStatus = STATUS_USERCANCEL
goto Non_Fatal_Msg
; -----------------------------------------------------------------------
Non_Fatal = +
set Severity = NONFATAL
goto Non_Fatal_Msg
; -----------------------------------------------------------------------
Non_Fatal_Msg = +
EndWait
ifstr(i) $(Error) == ""
;
set Severity = NONFATAL
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set Error = $($R0)
;
endif
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
ifstr(i) $($R1) == "OK"
;
goto $(From)
;
endif
goto End
; -----------------------------------------------------------------------
Fatal_Upgrade_Error = +
read-syms UpgradeMessages$(!STF_LANGUAGE)
set CommonStatus = STATUS_FAILED
set UpdateStatusString = $(UpgradeError)
ifstr(i) $(!NTN_RunMode) != "BATCH"
;
Shell "SUBROUTN.INF" SetupMessage, $(!STF_LANGUAGE), "FATAL", $($(UpgradeError))
;
endif
goto End
; -----------------------------------------------------------------------
Fatal_Registry = +
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set Error = $($R0)
goto Fatal
; -----------------------------------------------------------------------
Fatal = +
EndWait
ifstr(i) $(Error) == ""
;
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set Error = $($R0)
;
endif
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
goto Set_Failed
; -----------------------------------------------------------------------
Not_Supported = +
EndWait
ifstr(i) $(Error) == ""
;
Shell $(UtilityInf) RegistryErrorString "OPERATION_UNIMPLEMENTED"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
set Error = $($R0)
;
endif
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
;
goto Shell_Code_Error
;
endif
goto End
; -----------------------------------------------------------------------
Shell_Code_Error = +
EndWait
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 Set_Failed
; -----------------------------------------------------------------------
Set_Failed = +
set CommonStatus = STATUS_FAILED
;
; if OEM_ABANDON_ON == TRUE, then remove the registry entries
;
ifstr(i) $(OEM_ABANDON_ON) == TRUE
;
set OEM_ABANDON_ON = FALSE
goto Abandon
;
endif
goto End
; -----------------------------------------------------------------------
End = +
goto Term
; -----------------------------------------------------------------------
Term = +
Debug-Output "MADGE: Returning"$(CommonStatus)
Return $(CommonStatus)
; -----------------------------------------------------------------------
; Install sections
; -----------------------------------------------------------------------
[Files-Inf]
1, oemsetup.inf, SIZE=100000, RENAME=$(!UG_Filename)
[Files-Driver]
1, mdgndis4.sys, SIZE=200000
[Files-Helper]
1, mdrvwin.dll, SIZE=10000
1, mdgndis.hlp, SIZE=12000
[Files-MDGNCDET.DLL]
1, mdgncdet.dll, SIZE=21000
; -----------------------------------------------------------------------
[Install-Update]
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
AddSectionFilesToCopyList Files-Helper $(SrcDir) $(!STF_WINDOWSSYSPATH)
AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-MDGNCDET.DLL $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit
[Install-Option]
set STF_VITAL = ""
AddSectionFilesToCopyList Files-Helper $(SrcDir) $(!STF_WINDOWSSYSPATH)
AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-MDGNCDET.DLL $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit
[Source Media Descriptions]
1 = "Madge Driver Disk"
2 = "Windows NT Setup CD-ROM Disk"
[ProductType]
STF_PRODUCT = Winnt
STF_PLATFORM = I386
; ******** End of file OEMSETUP.INF *****************************************
Download Driver Pack
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.