;*********************************************************************** ; ; OEMSETUP.INF ; ; Version 1.13 ; ; Olicom network card and driver SETUP INF file. ; ;*********************************************************************** ;----------------------------------------------------------------------- ; OPTION TYPE ; ----------- ; This identifies the Option type we are dealing with. The different ; possible types are: ; ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ... ; ; Types specific to networking: ; ; NetAdapter, a netcard / adapter combination or just a netcard ; NetDriver, just a netcard driver ; NetTransport, a complete NDIS-compliant TDI transport stack ; NetService, an NT networking service ; NetWork, a complete network ensemble. ; NetProvider a complete network which supports NT MPR protocol ;----------------------------------------------------------------------- [Identification] OptionType = NetAdapter ;----------------------------------------------------------------------- ; PlatformsSupported ; ------------------ ; This identifies the platforms supported by the adapter card. ; Possible types are: ; ; ISA, EISA, MCA, "Jazz-Internal Bus", PC Card and PCI ;----------------------------------------------------------------------- [PlatformsSupported] ISA EISA MCA "Jazz-Internal Bus" PCMCIA PCI [LanguagesSupported] ENG ;----------------------------------------------------------------------- ; OPTION LIST ; ----------- ; This section lists the OEM Option key names. These keys are locale ; independent and used to represent the option in a locale independent ; manner. ; ;----------------------------------------------------------------------- [Options] ; OCTX3117 ; OCTX3118 ; OCTX3133 ; OCTX3136 ; OCTX3137 ; OCTX3139 OCTX3140 OCTX3141 ; OCTX3129 ; OCTX3220 ; OCTX3221 ; OCTX3230 ; OCTX3232 ; OCTX3250 [OptionsTextENG] ; OCTX3117 = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" ; OCTX3118 = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" ; OCTX3133 = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" ; OCTX3136 = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" ; OCTX3137 = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" ; OCTX3139 = "Olicom RapidFire 3139 Token-Ring 16/4 PCI Adapter" OCTX3140 = "Olicom RapidFire 3140 Token-Ring 16/4 PCI Adapter" OCTX3141 = "Olicom RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter" ; OCTX3129 = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" ; OCTX3220 = "Olicom GoCard Token-Ring PC Card (OC-3220)" ; OCTX3221 = "Olicom GoCard Token-Ring PC Card (OC-3221)" ; OCTX3230 = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" ; OCTX3232 = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" ; OCTX3250 = "Olicom GoCard 3250 Token-Ring 16/4 CardBus PC Card" [IOBaseAddrChoices] IOBase_0 = "Auto detect", 0 IOBase_1 = "0A00-0A1F", 2560 IOBase_2 = "0A20-0A3F", 2592 IOBase_3 = "0A40-0A5F", 2624 IOBase_4 = "0A60-0A7F", 2656 IOBase_5 = "0A80-0A9F", 2688 IOBase_6 = "0AA0-0ABF", 2720 IOBase_7 = "0AC0-0ADF", 2752 IOBase_8 = "0AE0-0AFF", 2874 IOBase_9 = "0B00-0B1F", 2816 IOBase_10 = "0B20-0B3F", 2848 IOBase_11 = "0B40-0B5F", 2880 IOBase_12 = "0B60-0B7F", 2912 IOBase_13 = "0B80-0B9F", 2944 IOBase_14 = "0BA0-0BBF", 2976 IOBase_15 = "0BC0-0BDF", 3008 IOBase_16 = "0BE0-0BFF", 3040 IOBase_20 = "0A20-0A23,0A30-0A3F", 2592 IOBase_21 = "0A24-0A27,0A40-0A4F", 2596 IOBase_22 = "0A50-0A53,0A60-0A6F", 2640 IOBase_23 = "0A54-0A57,0A70-0A7F", 2644 [RxBufferCountChoices] RBC_1 = "32",32 RBC_2 = "31",31 RBC_3 = "30",30 RBC_4 = "29",29 RBC_5 = "28",28 RBC_6 = "27",27 RBC_7 = "26",26 RBC_8 = "25",25 RBC_9 = "24",24 RBC_10 = "23",23 RBC_11 = "22",22 RBC_12 = "21",21 RBC_13 = "20",20 RBC_14 = "19",19 RBC_15 = "18",18 RBC_16 = "17",17 RBC_17 = "16",16 RBC_18 = "15",15 RBC_19 = "14",14 RBC_20 = "13",13 RBC_21 = "12",12 RBC_22 = "11",11 RBC_23 = "10",10 RBC_24 = "9",9 RBC_25 = "8",8 RBC_26 = "7",7 RBC_27 = "6",6 RBC_28 = "5",5 [TxBufferCountChoices] XBC_1 = "32",32 XBC_2 = "31",31 XBC_3 = "30",30 XBC_4 = "29",29 XBC_5 = "28",28 XBC_6 = "27",27 XBC_7 = "26",26 XBC_8 = "25",25 XBC_9 = "24",24 XBC_10 = "23",23 XBC_11 = "22",22 XBC_12 = "21",21 XBC_13 = "20",20 XBC_14 = "19",19 XBC_15 = "18",18 XBC_16 = "17",17 XBC_17 = "16",16 XBC_18 = "15",15 XBC_19 = "14",14 XBC_20 = "13",13 XBC_21 = "12",12 XBC_22 = "11",11 XBC_23 = "10",10 XBC_24 = "9",9 XBC_25 = "8",8 XBC_26 = "7",7 XBC_27 = "6",6 XBC_28 = "5",5 XBC_29 = "4",4 XBC_30 = "3",3 XBC_31 = "2",2 [Oct3RxBufferCountChoices] RBC3_1 = "Auto", 0 RBC3_2 = "128",128 RBC3_3 = "96", 96 RBC3_4 = "64", 64 RBC3_5 = "48", 48 RBC3_6 = "32", 32 RBC3_7 = "24", 24 RBC3_8 = "16", 16 RBC3_9 = "8", 8 [Oct3TxBufferCountChoices] XBC3_1 = "Auto", 0 XBC3_2 = "64", 64 XBC3_3 = "48", 48 XBC3_4 = "32", 32 XBC3_5 = "24", 24 XBC3_6 = "16", 16 XBC3_7 = "8", 8 [LegacyWakeUpChoices] LM_1 = "Disabled",0 LM_2 = "Enabled",1 LM_3 = "Auto",2 [IOBasePCMCIAChoices] ; 3E0h is where PCIC is (normally) located ; 240h is where TCIC is (normally) located ; therefore user cannot select these for locating the adapter IOBase_1 = "200h",512 IOBase_2 = "280h",640 IOBase_3 = "2C0h",714 IOBase_4 = "300h",768 IOBase_5 = "340h",832 IOBase_6 = "380h",896 IOBase_7 = "3C0h",960 IOBase_8 = "A00h",2560 IOBase_9 = "A40h",2624 IOBase_10 = "A80h",2688 IOBase_11 = "AC0h",2752 IOBase_12 = "B00h",2816 IOBase_13 = "B40h",2880 IOBase_14 = "B80h",2944 IOBase_15 = "BC0h",3008 [MemWinChoices] MemWin_1 = "A0000h", 655360 MemWin_2 = "A2000h", 663552 MemWin_3 = "A4000h", 671744 MemWin_4 = "A6000h", 679936 MemWin_5 = "A8000h", 688128 MemWin_6 = "AA000h", 696320 MemWin_7 = "AC000h", 704512 MemWin_8 = "AE000h", 712704 MemWin_9 = "B0000h", 720896 MemWin_10 = "B2000h", 729088 MemWin_11 = "B4000h", 737280 MemWin_12 = "B6000h", 745472 MemWin_13 = "B8000h", 753664 MemWin_14 = "BA000h", 761856 MemWin_15 = "BC000h", 770048 MemWin_16 = "BE000h", 778240 MemWin_17 = "C0000h", 786432 MemWin_18 = "C2000h", 794624 MemWin_19 = "C4000h", 802816 MemWin_20 = "C6000h", 811008 MemWin_21 = "C8000h", 819200 MemWin_22 = "CA000h", 827392 MemWin_23 = "CC000h", 835584 MemWin_24 = "CE000h", 843776 MemWin_25 = "D0000h", 851968 MemWin_26 = "D2000h", 860160 MemWin_27 = "D4000h", 868352 MemWin_28 = "D6000h", 876544 MemWin_29 = "D8000h", 884736 MemWin_30 = "DA000h", 892928 MemWin_31 = "DC000h", 901120 MemWin_32 = "DE000h", 909312 [InterruptChoices] Interrupt_1 = "3", 3 Interrupt_2 = "4", 4 Interrupt_3 = "5", 5 Interrupt_4 = "7", 7 Interrupt_5 = "9", 9 Interrupt_6 = "10",10 Interrupt_7 = "11",11 Interrupt_8 = "12",12 Interrupt_9 = "14",14 Interrupt_10 = "15",15 [ComPortChoices] Com_1 = "COM1", 1016 Com_2 = "COM2", 760 Com_3 = "COM3", 1000 Com_4 = "COM4", 744 Com_5 = "COM5", 24 Com_6 = "Disabled", 0 [ComPortChoicesNT] Com_1 = "COM1", 1016 Com_2 = "COM2", 760 Com_3 = "COM3", 1000 Com_4 = "COM4", 744 [IOBasePCMCIAControllerChoices] IOBase_1 = "Olicom Enabler",992 IOBase_2 = "Olicom Enabler (3E2h)",994 ;;;IOBase_3 = "Windows NT Enabler",0 [WaitstateChoices] Waitstate_1 = "0", 0 Waitstate_2 = "1", 1 Waitstate_3 = "2", 2 Waitstate_4 = "3", 3 Waitstate_5 = "4", 4 Waitstate_6 = "5", 5 Waitstate_7 = "6", 6 Waitstate_8 = "7", 7 Waitstate_9 = "8", 8 Waitstate_10 = "9", 9 Waitstate_11 = "10",10 Waitstate_12 = "11",11 Waitstate_13 = "12",12 Waitstate_14 = "13",13 Waitstate_15 = "14",14 Waitstate_16 = "15",15 [DatasizeChoices] Datasize_1 = 1, 1,"&16 Bit" Datasize_2 = 2, 0,"&8 Bit" [RingSpeedChoices] RS_1 = "16 Mbps", 16 RS_2 = "4 Mbps", 4 [RSChoices] RS_1 = "Adapter setting", 255 RS_2 = "Force 16 Mbps", 16 RS_3 = "Force 4 Mbps", 4 [Oct3RSChoices] RS_1 = "Auto", 0 RS_2 = "Force 16 Mbps", 16 RS_3 = "Force 4 Mbps", 4 RS_4 = "Adapter setting", 255 ;----------------------------------------------------------------------- ; Constants for use with dialogs ;----------------------------------------------------------------------- [FileConstants] UtilityInf = "UTILITY.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" Exit_Code = 0 DialogDllName = "oct3x.dll" HelpfileName = "oct3x.hlp" NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\Drivers\Oct3xnd3.sys" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" Manufacturer = "Olicom" ProductMajorVersion = "1" ProductMinorVersion = "00" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "Oct3xnd3" ProductSoftwareTitle = "Olicom Oct3x Token-Ring Driver" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\oct3xnd3.sys" NetRuleSoftwareType = "oct3xnd3Sys ndisDriver oct3xnd3Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """Oct3xnd3Sys"" yes no container" NetRuleSoftwareClass = {"oct3xnd3Driver basic"} NetRuleSoftwareBindable = {"oct3xnd3Driver oct3xnd3Adapter non exclusive 100"} ProductHardwareName = "Oct3xnd3" ProductHardwareOCTX3117Title = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" ProductHardwareOCTX3118Title = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" ProductHardwareOCTX3133Title = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" ProductHardwareOCTX3136Title = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" ProductHardwareOCTX3137Title = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" ProductHardwareOCTX3139Title = "Olicom RapidFire 3139 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3140Title = "Olicom RapidFire 3140 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3141Title = "Olicom RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter" ProductHardwareOCTX3129Title = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" ProductHardwareOCTX3220Title = "Olicom GoCard Token-Ring PC Card (OC-3220)" ProductHardwareOCTX3221Title = "Olicom GoCard Token-Ring PC Card (OC-3221)" ProductHardwareOCTX3230Title = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" ProductHardwareOCTX3232Title = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" ProductHardwareOCTX3250Title = "Olicom GoCard 3250 Token-Ring 16/4 CardBus PC Card" NetRuleHardwareType = "oct3xnd3 oct3xnd3Adapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"oct3xnd3Adapter basic"} ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" [GeneralConstants] from = "" to = "" ExitCodeOk = 0 ExitCodeCancel = 1 ExitCodeFatal = 2 KeyNull = "" MAXIMUM_ALLOWED = 33554432 RegistryErrorIndex = NO_ERROR KeyProduct = "" KeyParameters = "" TRUE = 1 FALSE = 0 NoTitle = 0 ExitState = "Active" OldVersionExisted = $(FALSE) DriverPath = $(!STF_NTPATH)\drivers PCIDetectSupported = $(TRUE) NT40VersionConstant = "4.0" NT351VersionConstant = "3.51" NT350VersionConstant = "3.50" NT310VersionConstant = "3.10" [FileConstantsENG] ProCaption = "Windows NT Setup" ProCancel = "Cancel" ProCancelMsg = "Windows NT Networking is not correctly installed. "+ "Are you sure you want to cancel copying files?" ProCancelCap = "Network Setup Message" ProText1 = "Copying:" ProText2 = "To:" ProductHardwareOCTX3117Description = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" ProductHardwareOCTX3118Description = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" ProductHardwareOCTX3133Description = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" ProductHardwareOCTX3136Description = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" ProductHardwareOCTX3137Description = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" ProductHardwareOCTX3139Description = "Olicom RapidFire 3139 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3140Description = "Olicom RapidFire 3140 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3141Description = "Olicom RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter" ProductHardwareOCTX3129Description = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" ProductHardwareOCTX3220Description = "Olicom GoCard Token-Ring PC Card (OC-3220)" ProductHardwareOCTX3221Description = "Olicom GoCard Token-Ring PC Card (OC-3221)" ProductHardwareOCTX3230Description = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" ProductHardwareOCTX3232Description = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" ProductHardwareOCTX3250Description = "Olicom GoCard 3250 Token-Ring 16/4 CardBus PC Card" ProductSoftwareDescription = "Olicom Token-Ring Adapter Driver" ProductHardwareDescription = "Olicom Token-Ring Adapter" FunctionTitle = "Olicom Token-Ring Adapter Setup" IOBaseAddrList = ^(IOBaseAddrChoices, 1) IOBaseAddrValues = ^(IOBaseAddrChoices, 2) RcvBufCountList = ^(RxBufferCountChoices, 1) RcvBufCountValues = ^(RxBufferCountChoices, 2) XmitBufCountList = ^(TxBufferCountChoices, 1) XmitBufCountValues = ^(TxBufferCountChoices, 2) LegacyWakeUpList = ^(LegacyWakeUpChoices, 1) LegacyWakeUpValues = ^(LegacyWakeUpChoices, 2) IOBasePCMCIAList = ^(IOBasePCMCIAChoices, 1) IOBasePCMCIAValues = ^(IOBasePCMCIAChoices, 2) MemWinList = ^(MemWinChoices, 1) MemWinValues = ^(MemWinChoices, 2) InterruptList = ^(InterruptChoices, 1) InterruptValues = ^(InterruptChoices, 2) RingSpeedList = ^(RingSpeedChoices, 1) RingSpeedValues = ^(RingSpeedChoices, 2) RSList = ^(RSChoices, 1) RSValues = ^(RSChoices, 2) ComPortList = ^(ComPortChoices, 1) ComPortValues = ^(ComPortChoices, 2) ComPortListNT = ^(ComPortChoicesNT, 1) ComPortValuesNT = ^(ComPortChoicesNT, 2) IOBasePCMCIAControllerList = ^(IOBasePCMCIAControllerChoices, 1) IOBasePCMCIAControllerValues = ^(IOBasePCMCIAControllerChoices, 2) WaitstateList = ^(WaitstateChoices, 1) WaitstateValues = ^(WaitstateChoices, 2) DatasizeList = ^(DatasizeChoices, 1) DatasizeValues = ^(DatasizeChoices, 2) DatasizeLabels = ^(DatasizeChoices, 3) ; Parameter defaults IOBasePCMCIADefault = 8 MemWinDefault = 25 ComPortDefault = 3 InterruptDefault = 1 RcvBufCountDefault = 27 XmitBufCountDefault = 25 LegacyWakeUpDefault = 3 FrameSizeDefault = 4472 ; Bus/slot defaults for PCI auto-detect BusNoDefault = 0 SlotNoDefault = 0 SlotNoUnknown = 1024 [DialogConstantsENG] Help = "&Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel" ContextMinimumID = 6000 ContextContentsID = 6000 ContextPCMCIASetupID = 6001 ContextPCMCIAAdvancedID = 6002 ContextMaximumID = 6020 [date] Now = {} ? $(!LIBHANDLE) GetSystemDate [AskSourceDlgText] DlgText = "Please enter the full path of the Olicom 16/4 driver "+ "setup files. Then choose Continue." ;----------------------------------------------------------------------- ; ADAPTER PARAMETER DIALOG ; ------------------------ ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [OCTK16ParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "OCTK16" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&Bus..." Combo1Label = "&I/O Base Address:" Combo2Label = "&Receive Buffers:" Combo3Label = "&Transmit Buffers:" Combo4Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(IOBaseAddrList) Combo1Out = $(IOBaseAddrIndex) Combo2List = $(RcvBufCountList) Combo2Out = $(RcvBufCountIndex) Combo3List = $(XmitBufCountList) Combo3Out = $(XmitBufCountIndex) Combo4List = $(RSList) Combo4Out = $(RSIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCI PARAMETER MAIN DIALOG ; ------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCIParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIA" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&Bus" Combo1Label = "&Receive Buffers:" Combo2Label = "&Transmit Buffers:" Combo3Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(RcvBufCountList) Combo1Out = $(RcvBufCountIndex) Combo2List = $(XmitBufCountList) Combo2Out = $(XmitBufCountIndex) Combo3List = $(RSList) Combo3Out = $(RSIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCI3 PARAMETER MAIN DIALOG ; ------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCI3ParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "OCTK16" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&Bus..." Combo1Label = "&Wake-on-LAN:" Combo2Label = "&Receive Buffers:" Combo3Label = "&Transmit Buffers:" Combo4Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(LegacyWakeUpList) Combo1Out = $(LegacyWakeUpIndex) Combo2List = $(RcvBufCountList) Combo2Out = $(RcvBufCountIndex) Combo3List = $(XmitBufCountList) Combo3Out = $(XmitBufCountIndex) Combo4List = $(RSList) Combo4Out = $(RSIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCMCIA PARAMETER MAIN DIALOG ; ---------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCMCIAParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIA" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&PC Card..." Combo1Label = "&Receive Buffers:" Combo2Label = "&Transmit Buffers:" Combo3Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(RcvBufCountList) Combo1Out = $(RcvBufCountIndex) Combo2List = $(XmitBufCountList) Combo2Out = $(XmitBufCountIndex) Combo3List = $(RSList) Combo3Out = $(RSIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCMCIA COMBO Cards PARAMETER MAIN DIALOG ; ---------------------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [COMBOParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIA" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&PC Card..." Combo1Label = "&Receive Buffers:" Combo2Label = "&Transmit Buffers:" Combo3Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(RcvBufCountList) Combo1Out = $(RcvBufCountIndex) Combo2List = $(XmitBufCountList) Combo2Out = $(XmitBufCountIndex) Combo3List = $(RingSpeedList) Combo3Out = $(RingSpeedIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; MORE PCMCIA PARAMETER DIALOG ; ---------------------------- ; This section sets up the PCMCIA parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCMCIAMoreDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIAM" Caption = "PC Card Setup" DlgText = "Please select values for the following fields:" Free = "&Advanced..." Combo1Label = "I/O &Base Address:" Combo2Label = "&Memory Window:" Combo3Label = "&Interrupt:" Combo1List = $(IOBasePCMCIAList) Combo1Out = $(IOBasePCMCIAIndex) Combo2List = $(MemWinList) Combo2Out = $(MemWinIndex) Combo3List = $(InterruptList) Combo3Out = $(InterruptIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO} HelpContext = $(ContextPCMCIASetupID) ;----------------------------------------------------------------------- ; MORE COMBO PARAMETER DIALOG ; --------------------------- ; This section sets up the PCMCIA parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [COMBOMoreDlgENG] DlgType = "RadioCombination" DlgTemplate = "COMBOM" Caption = "PC Card Setup" DlgText = "Please select values for the following fields:" Free = "&Advanced..." Combo1Label = "I/O &Base Address:" Combo2Label = "&Memory Window:" Combo3Label = "&Interrupt:" Combo4Label = "&Com Port:" Combo1List = $(IOBasePCMCIAList) Combo1Out = $(IOBasePCMCIAIndex) Combo2List = $(MemWinList) Combo2Out = $(MemWinIndex) Combo3List = $(InterruptList) Combo3Out = $(InterruptIndex) Combo4List = $(ComPortList) Combo4Out = $(ComPortIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out} RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO} HelpContext = $(ContextPCMCIASetupID) ;----------------------------------------------------------------------- ; PCMCIA ADVANCED SETTINGS DIALOG ; ------------------------------- ; This section sets up the PCMCIA adavanced settings dialog. All ; textstrings presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCMCIAAdvancedDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIAADV" Caption = "PC Card Advanced Settings" DlgText = "Please select values for the following fields:" Combo1Label = "PC Card &Enabler:" Combo2Label = "&Additional Waitstates:" Radio1Label = "&Datasize:" Radio1Button1 = *($(DatasizeLabels),1) Radio1Button2 = *($(DatasizeLabels),2) Combo1List = $(IOBasePCMCIAControllerList) Combo1Out = $(IOBasePCMCIAControllerIndex) Combo2List = $(WaitstateList) Combo2Out = $(WaitstateIndex) ComboListItemsIn = {Combo1List, Combo2List} ComboListItemsOut = {Combo1Out, Combo2Out} RadioIn = { $(DatasizeIndex) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO} HelpContext = $(ContextPCMCIAAdvancedID) ;--------------------------------------------------------------------------- ; 1. Identify ; ; 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) ;------------------------------------------------------------------------ ; 2. ReturnOptions: ; ; 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 = {} set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) ifstr(i) $($1) == "" goto returnoptions endif set PlatformList = ^(PlatformsSupported, 1) Ifcontains(i) $($1) in $(PlatformList) goto returnoptions else set Status = STATUS_NOTSUPPORTED goto finish_ReturnOptions endif else set Status = STATUS_NOLANGUAGE goto finish_ReturnOptions endif returnoptions = + set OptionList = ^(Options, 1) set OptionTextList = ^(OptionsText$($0), 1) set Status = STATUS_SUCCESSFUL finish_ReturnOptions = + Return $(Status) $(OptionList) $(OptionTextList) ;------------------------------------------------------------------------ ; ; 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 set SrcDir = "" set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) ifstr(i) $(SrcDir) == "" Set SrcDir = "A:\" Endif set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE endif Debug-Output "STF_CWDDIR is: "$(!STF_CWDDIR) Debug-Output "STF_LANGUAGE is: "$(!STF_LANGUAGE) 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 set CommonStatus = STATUS_SUCCESSFUL SetHelpFile $(HelpfileName) $(ContextMinimumID) $(ContextMaximumID) ; ; OCT3X requires special setting for buffer counts and ring speed ; ifcontains(i) $(Option) in {"OCTX3139","OCTX3140","OCTX3141","OCTX3250"} set RcvBufCountList = ^(Oct3RxBufferCountChoices, 1) set RcvBufCountValues = ^(Oct3RxBufferCountChoices, 2) set RcvBufCountDefault = 0 set XmitBufCountList = ^(Oct3TxBufferCountChoices, 1) set XmitBufCountValues = ^(Oct3TxBufferCountChoices, 2) set XmitBufCountDefault = 0 set RSList = ^(Oct3RSChoices, 1) set RSValues = ^(Oct3RSChoices, 2) endif EndWait Begin = + ; ; Get the Windows NT version. We will not install on NT v3.1x ; set CurrentVersionValue = "" OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt Ifstr(i) $(KeyNt) != "" GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue Debug-Output "$(InfFile) $(Option): WinNT CurrentVersion ="$(CurrentVersionValue) CloseRegKey $(KeyNt) Endif ifstr(i) (*($(CurrentVersionValue),4)) == ($(NT310VersionConstant)) Debug-Output "Running on WindowsNT 3.10" set Error = "Windows NT v3.10 is not support by this product" goto fatal endif ifstr(i) (*($(CurrentVersionValue),4)) == ($(NT350VersionConstant)) Debug-Output "Running on WindowsNT 3.50" set Error = "Windows NT v3.50 is not support by this product" goto fatal endif set NTComboSupport = $(FALSE) ifstr(i) (*($(CurrentVersionValue),4)) == ($(NT40VersionConstant)) set NTComboSupport = $(TRUE) endif Ifstr(i) $(!NTN_InstallMode) == deinstall set StartLabel = removeadapter else-Ifstr(i) $(!NTN_InstallMode) == Update set StartLabel = UpgradeSoftware else-Ifstr(i) $(!NTN_InstallMode) == bind set StartLabel = bindingadapter else-Ifstr(i) $(!NTN_InstallMode) == configure set StartLabel = configureadapter Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Debug-Output "Cannot configure the driver software." Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error: cannot get an error string." goto ShellCodeError endif set Error = $($R0) set from = end set to = end goto nonfatalinfo endif else set StartLabel = installadapter set OEM_ABANDON_OPTIONS = {} set OEM_ABANDON_SOFTWARE = FALSE set OEM_ABANDON_ON = TRUE endif set IOBaseAddrIndex = *($(IOBaseAddrList), 1) set RcvBufCountIndex = *($(RcvBufCountList), $(RcvBufCountDefault)) set XmitBufCountIndex = *($(XmitBufCountList), $(XmitBufCountDefault)) set FrameSizeValue = $(FrameSizeDefault)) set NetworkAddress = *($(EditTextOut), 1) set Rad1 = 1 set Rad2 = 3 set RadioIn = {$(Rad1), $(Rad2) } set EarlyRelease = 1 set FrameStatus = 1 set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), $(IOBasePCMCIADefault)) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\SerialOct3xnd3" $(MAXIMUM_ALLOWED) SerialHandle ifstr $(SerialHandle) == $(KeyNull) set ComPortIndex = *($(ComPortList), $(ComPortDefault)) set AllowComPort = $(TRUE) else set ComPortIndex = *($(ComPortList), 6) set AllowComPort = $(FALSE) endif CloseRegKey $(SerialHandle) set InterruptIndex = *($(InterruptList), $(InterruptDefault)) set MemWinIndex = *($(MemWinList), $(MemWinDefault)) set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 1) ifcontains(i) $(Option) in {"OCTX3220","OCTX3221"} set IOBasePCMCIAControllerList = >($(IOBasePCMCIAControllerList),"Windows NT Enabler") set IOBasePCMCIAControllerValues = >($(IOBasePCMCIAControllerValues),0) set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 3) endif ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} ifstr(i) $(NTComboSupport) == $(TRUE) set IOBasePCMCIAControllerList = >($(IOBasePCMCIAControllerList),"Windows NT Enabler") set IOBasePCMCIAControllerValues = >($(IOBasePCMCIAControllerValues),0) set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 3) endif endif set WaitstateIndex = *($(WaitstateList), 1) set DatasizeIndex = 1 set RingSpeedIndex = *($(RingSpeedList), 1) set RSIndex = *($(RSList), 1) Shell "" DebugConfiguration "After parameter querying" set RcvBufCountValue = *($(RcvBufCountList), $(RcvBufCountDefault)) set XmitBufCountValue = *($(XmitBufCountList), $(XmitBufCountDefault)) set LegacyWakeUpValue = *($(LegacyWakeUpValues), $(LegacyWakeUpDefault)) set FrameSizeValue = $(FrameSizeDefault) set BusNumber = $(BusNoDefault) set SlotNumber = $(SlotNoDefault) set ForcePciSlot = 1 Shell $(UtilityInf), GetBusTypeNum set BusInterfaceType = $($R1) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif Set from = $(fatal) Set to = $(fatal) Goto $(StartLabel) ;----------------------------------------------- ; Installation Section ;----------------------------------------------- ; ; Get the current values of all the parameters ; installadapter = + OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) ifstr(i) !(NTN_RegBase) == $(ProductKeyName) Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+ $(ProductVersion) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error: cannot get an error string." goto ShellCodeError endif goto end else set OldVersionExisted = $(TRUE) endif endif Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Else-Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) install "Install-Dll" Goto adapteroptions ;----------------------------------------------- ; Configuration Section ;----------------------------------------------- ; ; Get the current values of all the parameters ; configureadapter = + Ifstr(i) $(KeyProduct) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output "Cannot find component product key" goto fatalregistry Endif Endif Debug-Output "INF: Shelling to FindService" Shell $(UtilityInf) FindService, $(KeyProduct) Ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: FindService shell failure" Goto ShellCodeError Endif Ifstr(i) $($R0) != NO_ERROR Debug-Output "INF: FindService Shell error: "$($R0) Goto fatalregistry endif Set KeyParameters = $($R2) CloseRegKey $($R1) Ifstr $(KeyParameters) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output "Cannot find component service" goto fatalregistry endif set OldVersionExisted = $(TRUE) set ValueName = "" set ValueData = "" set ValueStr = "" set ValueList = {} EnumRegValue $(KeyParameters) ValueList ForListDo $(ValueList) set ValueItem = $($) set ValueName = *($(ValueItem),1) set ValueData = *($(ValueItem),4) ifstr(i) $(ValueName) == "RecBufCount" set RcvBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "RxBuffers" set RcvBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "IoBase" set IOBaseAddrValue = $(ValueData) else-ifstr(i) $(ValueName) == "TxBufferCount" set XmitBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "TxBuffers" set XmitBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "LegacyWakeUp" set LegacyWakeUpValue = $(ValueData) else-ifstr(i) $(ValueName) == "TransmitBufferSize" set FrameSizeValue = $(ValueData) else-ifstr(i) $(ValueName) == "MaxFrameSize" set FrameSizeValue = $(ValueData) else-ifstr(i) $(ValueName) == "BusNumber" set BusNumber = $(ValueData) else-ifstr(i) $(ValueName) == "SlotNumber" set SlotNumber = $(ValueData) else-ifstr(i) $(ValueName) == "EarlyReleaseType" set EarlyRelease = $(ValueData) else-ifstr(i) $(ValueName) == "FrameStatusType" set FrameStatus = $(ValueData) else-Ifstr(i) $(ValueName) == "NetworkAddress" set NetworkAddress = $(ValueData) else-ifstr(i) $(ValueName) == "IoBaseAddress" set IOBasePCMCIAValue = $(ValueData) else-ifstr(i) $(ValueName) == "IoBaseAddress_1" set IOBasePCMCIAValue_1 = $(ValueData) else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress" set MemWinValue = $(ValueData) else-ifstr(i) $(ValueName) == "InterruptNumber" set InterruptValue = $(ValueData) else-ifstr(i) $(ValueName) == "ComPortBase" set ComPortValue = $(ValueData) ifstr(i) $(ComPortValue) != 0 set AllowComPort = $(TRUE) endif else-ifstr(i) $(ValueName) == "PcmciaCtrlBase" set IOBasePCMCIAControllerValue = $(ValueData) else-ifstr(i) $(ValueName) == "WaitStates" set WaitstateValue = $(ValueData) else-ifstr(i) $(ValueName) == "DataSize" set DatasizeValue = $(ValueData) else-ifstr(i) $(ValueName) == "RingSpeed" set RingSpeedValue = $(ValueData) else-ifstr(i) $(ValueName) == "BusType" set BusInterfaceType = $(ValueData) else-ifstr(i) $(ValueName) == "ForcePciSlot" set ForcePciSlot = $(ValueData) endif EndForListDo ; ; For combo cards with NT enabler we must ; use the second I/O window ; ifstr(i) $(IOBasePCMCIAValue_1) != "" set IOBasePCMCIAValue = $(IOBasePCMCIAValue_1) endif ; ; Combo-lists and radio-buttons use a special list of parameter-names ; when dialogs are executed. The following section converts the actual ; values into the corresponding names (indexes). If a value is undefined, ; the first entry in the index-list is used. ; set RcvBufCountIndex = *($(RcvBufCountList), ~($(RcvBufCountValues),$(RcvBufCountValue))) ifstr(i) $(RcvBufCountIndex) == "" set RcvBufCountIndex = *($(RcvBufCountList), $(RcvBufCountDefault)) endif set XmitBufCountIndex = *($(XmitBufCountList), ~($(XmitBufCountValues),$(XmitBufCountValue))) ifstr(i) $(XmitBufCountIndex) == "" set XmitBufCountIndex = *($(XmitBufCountList), $(XmitBufCountDefault)) endif set LegacyWakeUpIndex = *($(LegacyWakeUpList), ~($(LegacyWakeUpValues),$(LegacyWakeUpValue))) ifstr(i) $(LegacyWakeUpIndex) == "" set LegacyWakeUpIndex = *($(LegacyWakeUpList), $(LegacyWakeUpDefault)) endif set IOBaseAddrIndex = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrValue))) ifstr(i) $(IOBaseAddrIndex) == "" set IOBaseAddrIndex = *($(IOBaseAddrList), 1) endif ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129","OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141","OCTX3250"} set RSIndex = *($(RSList), ~($(RSValues),$(RingSpeedValue))) ifstr(i) $(RSIndex) == "" set RSIndex = *($(RSList), 1) endif else set RingSpeedIndex = *($(RingSpeedList), ~($(RingSpeedValues),$(RingSpeedValue))) ifstr(i) $(RingSpeedIndex) == "" set RingSpeedIndex = *($(RingSpeedList), 1) endif endif Ifstr(i) $(EarlyRelease) == "Yes" set EarlyRelease = 1 set Rad1 = 1 else-ifstr(i) $(EarlyRelease) == 1 set Rad1 = 1 else set Rad1 = 2 endif Ifstr(i) $(FrameStatus) == "Yes" set FrameStatus = 1; set Rad2 = 3 else-ifstr(i) $(FrameStatus) == 1 set Rad2 = 3 else set Rad2 = 4 endif set RadioIn = {$(Rad1), $(Rad2) } set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), ~($(IOBasePCMCIAValues),$(IOBasePCMCIAValue))) ifstr(i) $(IOBasePCMCIAIndex) == "" set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), 1) endif set MemWinIndex = *($(MemWinList), ~($(MemWinValues),$(MemWinValue))) ifstr(i) $(MemWinIndex) == "" set MemWinIndex = *($(MemWinList), $(MemWinDefault)) endif set InterruptIndex = *($(InterruptList), ~($(InterruptValues),$(InterruptValue))) ifstr(i) $(InterruptIndex) == "" set InterruptIndex = *($(InterruptList), $(InterruptDefault)) endif set ComPortIndex = *($(ComPortList), ~($(ComPortValues),$(ComPortValue))) ifstr(i) $(ComPortIndex) == "" set ComPortIndex = *($(ComPortList), 6) endif set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), ~($(IOBasePCMCIAControllerValues),$(IOBasePCMCIAControllerValue))) ifstr(i) $(IOBasePCMCIAControllerIndex) == "" set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 1) endif set WaitstateIndex = *($(WaitstateList), ~($(WaitstateValues),$(WaitstateValue))) ifstr(i) $(WaitstateIndex) == "" set WaitstateIndex = *($(WaitstateList), 2) endif set DatasizeIndex = *($(DatasizeList), ~($(DatasizeValues),$(DatasizeValue))) ifstr(i) $(DatasizeIndex) == "" set DatasizeIndex = *($(DatasizeList), 1) endif ; ; This section runs the dialogs. From the main dialog (adapter parameter ; setup) it is possible to enter the PCMCIA dialog if requested. When ; exiting the PCMCIA dialog the user is returned to the main dialog. ; adapteroptions = + set from = adapteroptions ifstr(i) $(!NTN_InstallMode) == "install" ; ; Default parameters for installation. ; User will NOT be asked to change/verify configuration during ; normal or unattended installation, unless we are installing on ; NT v3.50. ; ifcontains(i) $(Option) in {"OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141","OCTX3250"} set BusInterfaceType = 5 ifint $(PCIDetectSupported) == $(FALSE) ifstr(i) $(!AutoNetBusNumber) != "" set BusNumber = $(!AutoNetBusNumber) else set BusNumber = $(BusNoDefault) endif endif else ifcontains(i) $(Option) in {"OCTX3117","OCTX3118"} ; ISA set BusInterfaceType = 1 else-ifstr(i) $(Option) == "OCTX3133" ; EISA set BusInterfaceType = 2 else-ifstr(i) $(Option) == "OCTX3129" ; MCA set BusInterfaceType = 3 else ; PCMCIA set BusInterfaceType = 1 endif ifstr(i) $(!AutoNetBusNumber) != "" set BusNumber = $(!AutoNetBusNumber) else set BusNumber = 0 endif endif ifint $(PCIDetectSupported) == $(TRUE) ; Default parameters for installation on any NT except 3.50 goto unattended endif ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" ; Default parameters for unattended installation goto unattended endif endif set OldNetAddress = $(NetworkAddress) ; ; Load DLL containing dialogs and verification routines ; LoadLibrary "Olicom Driver Disk" $(DialogDllName) DialogHandle adapteroptions1 = + ; ; If upgraded from old version we do not have a PCI slotnumber ; Ifint $(SlotNumber) == 0 set PCIDetectSupported = $(FALSE) Endif ; ; Read main dialog setup and show dialog ; ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129"} read-syms OCTK16ParameterDlg$(!STF_LANGUAGE) endif ifcontains(i) $(Option) in {"OCTX3136","OCTX3137"} read-syms PCIParameterDlg$(!STF_LANGUAGE) endif ifcontains(i) $(Option) in {"OCTX3139","OCTX3140","OCTX3141"} read-syms PCI3ParameterDlg$(!STF_LANGUAGE) endif ifcontains(i) $(Option) in {"OCTX3220","OCTX3221","OCTX3250"} read-syms PCMCIAParameterDlg$(!STF_LANGUAGE) endif ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} read-syms COMBOParameterDlg$(!STF_LANGUAGE) endif set RadioIn = {$(Rad1), $(Rad2) } ui start "InputDlg" $(DialogHandle) ui pop 1 ; ; Save new settings because this dialog might be called again. ; If CANCEL was pressed these values will not be used ; ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129"} set IOBaseAddrIndex = $(Combo1Out) set RcvBufCountIndex = $(Combo2Out) set XmitBufCountIndex = $(Combo3Out) set RSIndex = $(Combo4Out) else-ifcontains(i) $(Option) in {"OCTX3136","OCTX3137"} set RcvBufCountIndex = $(Combo1Out) set XmitBufCountIndex = $(Combo2Out) set RSIndex = $(Combo3Out) else-ifcontains(i) $(Option) in {"OCTX3139","OCTX3140","OCTX3141"} set LegacyWakeUpIndex = $(Combo1Out) set RcvBufCountIndex = $(Combo2Out) set XmitBufCountIndex = $(Combo3Out) set RSIndex = $(Combo4Out) else-ifcontains(i) $(Option) in {"OCTX3250"} set RcvBufCountIndex = $(Combo1Out) set XmitBufCountIndex = $(Combo2Out) set RSIndex = $(Combo3Out) else set RcvBufCountIndex = $(Combo1Out) set XmitBufCountIndex = $(Combo2Out) set RingSpeedIndex = $(Combo3Out) Endif IfContains "1" IN $(RadioOut) set EarlyRelease = 1 set Rad1 = 1 else-IfContains "2" IN $(RadioOut) set EarlyRelease = 0 set Rad1 = 2 endif IfContains "3" IN $(RadioOut) set FrameStatus = 1 set Rad2 = 3 else-IfContains "4" IN $(RadioOut) set FrameStatus = 0 set Rad2 = 4 endif set NetworkAddress = *($(EditTextOut),1) set FrameSizeValue = *($(EditTextOut),2) ifstr(i) $(DLGEVENT) == "CONTINUE" ; ; parameters have already been stored at this stage ; goto nextstep else-ifstr(i) $(DLGEVENT) == "EXIT" set CommonStatus = STATUS_USERCANCEL Debug-Output "Action: exit. Bye." FreeLibrary $(DialogHandle) goto end else-ifstr(i) $(DLGEVENT) == "FREEBUTTON1" ; BUS... (non PCMCIA) adapteroptions2 = + ; ; Read PCMCIA dialog setup and show dialog ; ifcontains(i) $(Option) in {"OCTX3220","OCTX3221"} read-syms PCMCIAMoreDlg$(!STF_LANGUAGE) else-ifcontains(i) $(Option) in {"OCTX3250"} read-syms PCMCIAMoreDlg$(!STF_LANGUAGE) set Free = "&Cancel" else-ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} ifstr $(AllowComPort) == $(TRUE) read-syms COMBOMoreDlg$(!STF_LANGUAGE) ifstr(i) $(IOBasePCMCIAControllerIndex) == "Windows NT Enabler" set Combo4List = $(ComPortListNT) endif else read-syms PCMCIAMoreDlg$(!STF_LANGUAGE) endif else-ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129"} Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(BusInterfaceType) $(BusNumber) 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 BusInterfaceType = $($R1) set BusNumber = 0 else set BusInterfaceType = $($R1) set BusNumber = $($R2) endif set BusTypeConfigured = 1 goto adapteroptions1 else-ifcontains(i) $(Option) in {"OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141"} ifint $(PCIDetectSupported) == $(FALSE) Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(BusInterfaceType) $(BusNumber) 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 BusInterfaceType = $($R1) set BusNumber = 0 else set BusInterfaceType = $($R1) set BusNumber = $($R2) endif else set DlgType = "MessageBox" set STF_MB_TITLE = "PCI Bus Parameters" set STF_MB_TEXT = "Bus parameters are configured automatically for PCI adapters. Do you want to force the PCI slot number?" set STF_MB_TYPE = 4 set STF_MB_ICON = 2 ifstr $(ForcePciSlot) == "1" set STF_MB_DEF = 1 else set STF_MB_DEF = 2 endif ui start "PciBusParameters" ifstr $(DLGEVENT) == "YES" set ForcePciSlot = 1 Shell $(subroutineinf) SetupMessage $(!STF_LANGUAGE) STATUS + "This PCI adapter is currently configured for bus number "$(BusNumber)" and slot number "$(SlotNumber) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto Shell_Code_Error endif else-ifstr $(DLGEVENT) == "NO" set ForcePciSlot = 0 endif endif set BusTypeConfigured = 1 goto adapteroptions1 endif ui start "InputDlg" $(DialogHandle) ui pop 1 ifcontains(i) $(Option) in {"OCTX3250"} ifstr(i) $(DLGEVENT) == "FREEBUTTON1" ; ; For CardBus this option should work as Cancel ; goto adapteroptions1 endif endif ; ; Save new settings because this dialog might be called again. ; If CANCEL was pressed these values will not be used ; set IOBasePCMCIAIndex = $(Combo1Out) set MemWinIndex = $(Combo2Out) set InterruptIndex = $(Combo3Out) set ComPortIndex = $(Combo4Out) ifstr(i) $(DLGEVENT) == "CONTINUE" ; ; parameters have already been stored at this stage ; goto adapteroptions1 else-ifstr(i) $(DLGEVENT) == "FREEBUTTON1" ; ; Read PCMCIA Advanced dialog setup and show dialog ; read-syms PCMCIAAdvancedDlg$(!STF_LANGUAGE) ui start "InputDlg" $(DialogHandle) ui pop 1 ; ; Save new settings because this dialog might be called again. ; If CANCEL was pressed these values will not be used ; set IOBasePCMCIAControllerIndex = $(Combo1Out) set WaitstateIndex = $(Combo2Out) set DatasizeIndex = *($(RadioOut),1) ; set IOBasePCMCIAControllerValue = *($(IOBasePCMCIAControllerValues), ~($(IOBasePCMCIAControllerList),$(IOBasePCMCIAControllerIndex))) ifstr(i) $(IOBasePCMCIAControllerIndex) == "Windows NT Enabler" ifstr(i) $(ComPortIndex) == "Disabled" set ComPortIndex = *($(ComPortList), $(ComPortDefault)) else-ifstr(i) $(ComPortIndex) == "COM4" set ComPortIndex = *($(ComPortList), $(ComPortDefault)) endif endif goto adapteroptions2 else Debug-Output "Action: unknown: "$(DLGEVENT) FreeLibrary $(DialogHandle) goto end endif else Debug-Output "Action: unknown: "$(DLGEVENT) FreeLibrary $(DialogHandle) goto end endif nextstep =+ ifcontains(i) $(Option) in {"OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141","OCTX3250"} set BusTypeConfigured = 1 ; Avoid BusType/BusNumber Dialog box for PCI/CardBus endif ifstr(i) $(!NTN_InstallMode) == "install" ifint $(BusTypeConfigured) == 0 ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129"} Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(BusInterfaceType) $(BusNumber) 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 BusInterfaceType = $($R1) set BusNumber = 0 else set BusInterfaceType = $($R1) set BusNumber = $($R2) endif endif endif endif ifstr $(NetworkAddress) != "" ; ; If network address has been entered then verify that it is a ; valid address (not a multicast or broadcast address) ; set FLibraryErrCtl = 1 LibraryProcedure DlgResult $(DialogHandle) VerifyAddress $(NetworkAddress) set FLibraryErrCtl = 0 ifstr $(DlgResult) != "STATUS_SUCCESS" FreeLibrary $(DialogHandle) set Error = $(DlgResult) goto nonfatal endif endif set FLibraryErrCtl = 1 set RcvBufCountValue = *($(RcvBufCountValues), ~($(RcvBufCountList),$(RcvBufCountIndex))) set XmitBufCountValue = *($(XmitBufCountValues), ~($(XmitBufCountList),$(XmitBufCountIndex))) set RingSpeedValue = *($(RingSpeedValues), ~($(RingSpeedList),$(RingSpeedIndex))) set RSValue = *($(RSValues), ~($(RSList),$(RSIndex))) ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129","OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141","OCTX3250"} ifstr $(RcvBufCountValue) == 0 LibraryProcedure DlgResult $(DialogHandle) CheckMaxFrameSize $(FrameSizeValue) $(XmitBufCountValue) 32 $(RSValue) else LibraryProcedure DlgResult $(DialogHandle) CheckMaxFrameSize $(FrameSizeValue) $(XmitBufCountValue) $(RcvBufCountValue) $(RSValue) endif else LibraryProcedure DlgResult $(DialogHandle) CheckMaxFrameSize $(FrameSizeValue) $(XmitBufCountValue) $(RcvBufCountValue) $(RingSpeedValue) endif set FLibraryErrCtl = 0 ifstr $(DlgResult) != "STATUS_SUCCESS" FreeLibrary $(DialogHandle) set Error = $(DlgResult) goto nonfatal endif FreeLibrary $(DialogHandle) unattended =+ ifint $(OldVersionExisted) == $(TRUE) ifstr(i) $(!NTN_InstallMode) == configure goto writeparameters endif endif StartWait Ifint $(OldVersionExisted) != $(FALSE) Goto installhardware Endif ifstr(i) $(!NTN_InstallMode) == "install" Ifstr(i) $(DoCopy) == "YES" Ifstr(i) $(SrcDir) == "" read-syms AskSourceDlgText Shell $(subroutineinf) DoAskSourceEx $(SrcDir) $(DlgText) Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Else-Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) Endif Endif install "Install-Option" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) goto fatal endif endif Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+ $(NetEventDLL), "" Set OEM_ABANDON_SOFTWARE = TRUE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "OEMNADUB.INF: Registry error: add software components" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) CloseRegKey $($R4) CloseRegKey $($R5) goto fatalregistry endif set SoftProductKey = $($R1) Set SoftNetRuleKey = $($R2) Set SoftServiceKey = $($R3) Set SoftParameterKey = $($R4) Set SoftLinkageKey = $($R5) set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+ {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+ {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+ {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "Registry error: add value list." CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) goto fatalregistry endif set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+ {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, + {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, + {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "Registry error: add value list." goto fatalregistry endif ; ; Insert hardware component in registry ; installhardware =+ set HardwareInstalled = $(FALSE) ifcontains(i) $(Option) in {"OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141"} ; ; If We are installing a PCI adapter so go get PCI information ; ifint $(PCIDetectSupported) == $(TRUE) ; ; NOTE: PCI configuration (BusNumber, SlotNumber will not be ; changed in normal configuration ; set HardwareInstalled = $(TRUE) set VendorID = 4237 ; Olicom Vendor ID: 108Dh ifcontains(i) $(Option) in {"OCTX3139","OCTX3140"} set DeviceID = 4 ; OC-3139/OC-3140 else-ifcontains(i) $(Option) in {"OCTX3141"} set DeviceID = 7 ; OC-3141 else set DeviceID = 1 ; OC-3136/OC-3137 endif ; Get PCI information Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID) set AdapterList = $($R0) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R0) == {} ; ; Adapter list is empty. No adapters of this type was found ; ifstr(i) $(!STF_GUI_UNATTENDED) != "YES" ; ; Unattended install: We will NOT install adapter ; Attended install : We will ask user if he wants to install ; adapter anyway. ; shell $(subroutineinf) SetupMessage $(!STF_LANGUAGE) FATAL + "No PCI adapters found" ifstr(i) $($R0) != STATUS_SUCCESSFUL set Error = $($R0) goto fatal endif EndWait goto abandon endif else ; ; Adapter(s) has be found. We will try to find out if the (or ; these) adapter hasn't been installed already. ; set FoundNew = "NO" ForListDo $(AdapterList) ; Run through the Adapter list ; Get Bus number from list: set BusNumber = *($($),1) ; Get SLot Number from list: set SlotNumber = *($($),2) ; Check registry Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNumber), + $(SlotNumber), $(ProductHardware$(Option)Description), $(ProductHardwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif ifstr(i) $($R1) == "NO" ; ; This adapter in the AdapterList has not been install yet ; 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) Debug-Output "Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "Registry error: add hardware component" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif set KeyProduct = $($R1) set KeyAdapterRules = $($R2) set KeyParameters = $($R3) set AdapterNumber = $($R4) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif CloseRegKey $(KeyProduct) Set KeyProduct = "" 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)}} Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif CloseRegKey $(KeyAdapterRules) set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "Registry error: add value list." CloseRegKey $(KeyParameters) goto fatalregistry endif ; ; Set up parameter list for AddValueList routine ; Set NewValueList = {{IoBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),2},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+ {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+ {ForcePciSlot,$(NoTitle),$(!REG_VT_DWORD),$(ForcePciSlot)},+ {FixedIntMod,$(NoTitle),$(!REG_VT_DWORD),0},+ {RxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(RcvBufCountValue)},+ {TxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(XmitBufCountValue)},+ {MaxFrameSize,$(NoTitle),$(!REG_VT_DWORD),$(FrameSizeValue)},+ {EarlyReleaseType,$(NoTitle),$(!REG_VT_DWORD),$(EarlyRelease)},+ {FrameStatusType,$(NoTitle),$(!REG_VT_DWORD),$(FrameStatus)}} ifstr $(NetworkAddress) != "" set NewValueList = >($(NewValueList),{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}) endif set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RSValue)}) ifcontains(i) $(Option) in {"OCTX3139","OCTX3140","OCTX3141"} set NewValueList = >($(NewValueList),{LegacyWakeUp,$(NoTitle),$(!REG_VT_DWORD),$(LegacyWakeUpValue)}) endif ;--------------------------------------- ; Add keyword to prevent driver from ; entering promiscuous mode ; ;set NewValueList = >($(NewValueList),{AllowTrace,$(NoTitle),$(!REG_VT_DWORD),0}) ; ;--------------------------------------- ; ; Now update registry ; Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters) endif set FoundNew = "YES" endif EndForListDo ifstr(i) $(FoundNew) == "NO" ifstr(i) $(!STF_GUI_UNATTENDED) != "YES" ; ; No new (uninstalled) adapters found - show message ; shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), STATUS,+ "No new PCI adapters found" ifstr(i) $($R0) != STATUS_SUCCESSFUL set Error = $($R0) goto fatal endif endif endif endif endif endif ifstr(i) $(HardwareInstalled) == $(FALSE) ; ; Install non-PCI device (or NT 3.50) ; 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) Debug-Output "Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "Registry error: add hardware component" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif set KeyProduct = $($R1) set KeyAdapterRules = $($R2) set KeyParameters = $($R3) set AdapterNumber = $($R4) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif CloseRegKey $(KeyProduct) Set KeyProduct = "" 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)}} Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif CloseRegKey $(KeyAdapterRules) set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "Registry error: add value list." CloseRegKey $(KeyParameters) goto fatalregistry endif endif ; ; Write Adapter Parameters to registry ; writeparameters = + ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif Ifstr(i) $(KeyParameters) == $(KeyNull) Debug-Output "*** KeyParameters is NULL at writeparameters" Endif set DoWrite = "NO" ifcontains(i) $(Option) in {"OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141"} ifstr(i) $(!NTN_InstallMode) == "Configure" set DoWrite = "YES" endif else set DoWrite = "YES" endif Ifstr(i) $(DoWrite) == "YES" ; ; Convert selections from combo-lists and radio-buttons into actual ; parameter values ; set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList),$(IOBaseAddrIndex))) set RcvBufCountValue = *($(RcvBufCountValues), ~($(RcvBufCountList),$(RcvBufCountIndex))) set XmitBufCountValue = *($(XmitBufCountValues), ~($(XmitBufCountList),$(XmitBufCountIndex))) set LegacyWakeUpValue = *($(LegacyWakeUpValues), ~($(LegacyWakeUpList),$(LegacyWakeUpIndex))) set IOBasePCMCIAValue = *($(IOBasePCMCIAValues), ~($(IOBasePCMCIAList),$(IOBasePCMCIAIndex))) set MemWinValue = *($(MemWinValues), ~($(MemWinList),$(MemWinIndex))) set InterruptValue = *($(InterruptValues), ~($(InterruptList),$(InterruptIndex))) set RingSpeedValue = *($(RingSpeedValues), ~($(RingSpeedList),$(RingSpeedIndex))) set RSValue = *($(RSValues), ~($(RSList),$(RSIndex))) set ComPortValue = *($(ComPortValues), ~($(ComPortList),$(ComPortIndex))) set IOBasePCMCIAControllerValue = *($(IOBasePCMCIAControllerValues), ~($(IOBasePCMCIAControllerList),$(IOBasePCMCIAControllerIndex))) set WaitstateValue = *($(WaitstateValues), ~($(WaitstateList),$(WaitstateIndex))) set DatasizeValue = *($(DatasizeValues), ~($(DatasizeList),$(DatasizeIndex))) ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} set BusInterfaceType = 1 set BusNumber = 0 Endif ifcontains(i) $(Option) in {"OCTX3220","OCTX3221"} set BusInterfaceType = 1 set BusNumber = 0 Endif ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} ; ; If we're installing a ComboCard, update settings for Serial\parameters\serialoct3xnd3 as well ; SERIALCOMM will be created automatically by serial.sys ; ifint $(ComPortValue) != 0 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\SerialOct3xnd3" $(MAXIMUM_ALLOWED) SerialHandle Ifstr $(SerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"SerialOct3xnd3",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle CloseRegKey $(SerialKey) endif ifint $(ComPortValue) != 24 set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), $(ComPortIndex)},+ {ForceFifoEnable, $(NoTitle),$(!REG_VT_DWORD), 0},+ {ForceShare, $(NoTitle),$(!REG_VT_DWORD), 1},+ {Interrupt, $(NoTitle),$(!REG_VT_DWORD), $(InterruptValue)},+ {PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(ComPortValue)}} Else set-add ComportBaseAddress = $(ComPortValue), $(IOBasePCMCIAValue) set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), $(ComPortIndex)},+ {ForceFifoEnable, $(NoTitle),$(!REG_VT_DWORD), 0},+ {ForceShare, $(NoTitle),$(!REG_VT_DWORD), 1},+ {Interrupt, $(NoTitle),$(!REG_VT_DWORD), $(InterruptValue)},+ {PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(ComportBaseAddress)}} Endif Shell $(UtilityInf), AddValueList, $(SerialHandle), $(NewValueList) CloseRegKey $(SerialHandle) ; ; Update settings comm port in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports section ; OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" $(MAXIMUM_ALLOWED) SerialHandle Ifstr $(SerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"Ports",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle CloseRegKey $(SerialKey) endif SetRegValue $(SerialHandle) {$(ComPortIndex)":",$(NoTitle),$(!REG_VT_SZ), "9600,n,8,1"} CloseRegKey $(SerialHandle) ; ; Update settings in HARDWARE\DEVICEMAP\SERIALCOMM section ; OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle Ifstr $(SerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"SERIALCOMM",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle CloseRegKey $(SerialKey) endif SetRegValue $(SerialHandle) {"SerialOct3xnd3",$(NoTitle),$(!REG_VT_SZ),$(ComPortIndex)} CloseRegKey $(SerialHandle) Else ; ; Be nice and delete the COM stuff if user really wants so ; SERIALCOMM will be deleted automatically ; ifstr(i) $(AllowComPort) == $(TRUE) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegTree $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegValue $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) endif Endif Endif ; ; If using NT enabler for combo cards we must request ; one additional I/O window ; set PcmciaIoLength = 31 ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} ifstr(i) $(NTComboSupport) == $(TRUE) ifint $(IOBasePCMCIAControllerValue) == 0 set IOBasePCMCIAValue_1 = $(IOBasePCMCIAValue) set PcmciaIoLength_1 = $(PcmciaIoLength) set IOBasePCMCIAValue = $(ComPortValue) set PcmciaIoLength = 8 endif endif endif ; ; Set up parameter list for AddValueList routine ; Set NewValueList = {{IoBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),2},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+ {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+ {ForcePciSlot,$(NoTitle),$(!REG_VT_DWORD),$(ForcePciSlot)},+ {FixedIntMod,$(NoTitle),$(!REG_VT_DWORD),0},+ {RxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(RcvBufCountValue)},+ {TxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(XmitBufCountValue)},+ {MaxFrameSize,$(NoTitle),$(!REG_VT_DWORD),$(FrameSizeValue)},+ {EarlyReleaseType,$(NoTitle),$(!REG_VT_DWORD),$(EarlyRelease)},+ {FrameStatusType,$(NoTitle),$(!REG_VT_DWORD),$(FrameStatus)},+ {LegacyWakeUp,$(NoTitle),$(!REG_VT_DWORD),$(LegacyWakeUpValue)},+ {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAValue)},+ {IoLength,$(NoTitle),$(!REG_VT_DWORD),$(PcmciaIoLength)},+ {PCCARDAttributeMemoryAddress,$(NoTitle),$(!REG_VT_DWORD),$(MemWinValue)},+ {PCCARDAttributeMemorySize, $(NoTitle),$(!REG_VT_DWORD),4096},+ {PCCARDAttributeMemoryOffset, $(NoTitle),$(!REG_VT_DWORD),0},+ {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(InterruptValue)},+ {ComPortBase,$(NoTitle),$(!REG_VT_DWORD),$(ComPortValue)},+ {PcmciaCtrlBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAControllerValue)},+ {WaitStates,$(NoTitle),$(!REG_VT_DWORD),$(WaitstateValue)},+ {DataSize,$(NoTitle),$(!REG_VT_DWORD),$(DatasizeValue)}} ifstr $(NetworkAddress) != "" set NewValueList = >($(NewValueList),{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}) endif ifcontains(i) $(Option) in {"OCTX3250"} set NewValueList = >($(NewValueList),{CardBusType,$(NoTitle),$(!REG_VT_DWORD),1}) endif ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129","OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141","OCTX3250"} set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RSValue)}) else set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RingSpeedValue)}) ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} ifstr(i) $(NTComboSupport) == $(TRUE) ifint $(IOBasePCMCIAControllerValue) == 0 set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1}) set NewValueList = >($(NewValueList),{ModemFunction,$(NoTitle),$(!REG_VT_DWORD),1}) set NewValueList = >($(NewValueList),{IoBaseAddress_1,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAValue_1)}) set NewValueList = >($(NewValueList),{IoLength_1,$(NoTitle),$(!REG_VT_DWORD),$(PcmciaIoLength_1)}) else set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),0}) endif else set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),0}) endif else ifint $(IOBasePCMCIAControllerValue) == 0 set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1}) else set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),0}) endif endif endif ;--------------------------------------- ; Add keyword to prevent driver from ; entering promiscuous mode ; ;set NewValueList = >($(NewValueList),{AllowTrace,$(NoTitle),$(!REG_VT_DWORD),0}) ; ;--------------------------------------- ; ; Now update registry ; Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters) endif ; ; If the network address has been deleted then also delete it from ; the registry. ; ifstr $(OldNetAddress) != "" ifstr $(NetworkAddress) == "" DeleteRegValue $(KeyParameters) NetworkAddress endif endif ; ; Update power management entries ; ifcontains(i) $(Option) in {"OCTX3139","OCTX3140","OCTX3141"} ; do not delete anything else ; delete power management entries DeleteRegValue $(KeyParameters) LegacyWakeUp endif ; ; If we're not installing a PCMCIA Card, remove PCMCIA specific settings ; ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129","OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141"} DeleteRegValue $(KeyParameters) IoBaseAddress DeleteRegValue $(KeyParameters) IoLength DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction DeleteRegValue $(KeyParameters) PCCARDAttributeMemoryAddress DeleteRegValue $(KeyParameters) PCCARDAttributeMemorySize DeleteRegValue $(KeyParameters) PCCARDAttributeMemoryOffset DeleteRegValue $(KeyParameters) InterruptNumber DeleteRegValue $(KeyParameters) ComPortBase DeleteRegValue $(KeyParameters) PcmciaCtrlBase DeleteRegValue $(KeyParameters) Pcmcia DeleteRegValue $(KeyParameters) WaitStates DeleteRegValue $(KeyParameters) DataSize endif ifcontains(i) $(Option) in {"OCTX3220","OCTX3221","OCTX3250"} DeleteRegValue $(KeyParameters) ComPortBase DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction endif ifcontains(i) $(Option) in {"OCTX3250"} DeleteRegValue $(KeyParameters) IoLength DeleteRegValue $(KeyParameters) Pcmcia DeleteRegValue $(KeyParameters) PcmciaCtrlBase DeleteRegValue $(KeyParameters) WaitStates DeleteRegValue $(KeyParameters) DataSize endif ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} ifint $(IOBasePCMCIAControllerValue) != 0 DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction endif endif ifcontains(i) $(Option) not-in {"OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141","OCTX3250"} DeleteRegValue $(KeyParameters) SlotNumber endif CloseRegKey $(KeyParameters) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "Registry error: Add value list" goto fatalregistry endif ; ; Add some keywords to the PCMCIA database in the registry ; ifcontains(i) $(Option) not-in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129","OCTX3136","OCTX3137","OCTX3139","OCTX3140","OCTX3141"} set PCMCIADatabaseKeyName = $(!NTN_ServiceBase)"\Pcmcia\DataBase" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseKey ifstr $(PCMCIADatabaseKey) != $(NULL) CreateRegKey $(PCMCIADatabaseKey) {"Olicom", 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIADatabaseManuKey ifstr $(PCMCIADatabaseManuKey) == $(NULL) set PCMCIADatabaseManuKeyName = $(PCMCIADatabaseKeyName)"\Olicom" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuKey endif CreateRegKey $(PCMCIADatabaseManuKey) {"TR16/4", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\TR16/4" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) CreateRegKey $(PCMCIADatabaseManuKey) {"TR 16/4 II", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\TR 16/4 II" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) CreateRegKey $(PCMCIADatabaseManuKey) {"GoCard Token-Ring 16/4+Modem 14400", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\GoCard Token-Ring 16/4+Modem 14400" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) CreateRegKey $(PCMCIADatabaseManuKey) {"GoCard TRN/Modem 336", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\GoCard TRN/Modem 336" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) Endif Endif Endif ;------------------------------------------------------------------------- ; Add keywords to prevent MS Network Monitor Agent to trap Windows NT 4.0 ; ;OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(MAXIMUM_ALLOWED) NMAServicesKey ;CreateRegKey $(NMAServicesKey) {"bh", 0, 0} "" $(MAXIMUM_ALLOWED) 0 NMAbhKey ;ifstr $(NMAbhKey) == $(NULL) ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\bh" $(MAXIMUM_ALLOWED) NMAbhKey ;endif ;CreateRegKey $(NMAbhKey) {"Parameters", 0, 0} "" $(MAXIMUM_ALLOWED) 0 NMAParametersKey ;ifstr $(NMAParametersKey) == $(NULL) ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\bh\Parameters" $(MAXIMUM_ALLOWED) NMAParametersKey ;endif ;CreateRegKey $(NMAParametersKey) {"ForcePMode", 0, 0} "" $(MAXIMUM_ALLOWED) 0 NMAForcePModeKey ;ifstr $(NMAForcePModeKey) == $(NULL) ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\bh\Parameters\ForcePMode" $(MAXIMUM_ALLOWED) NMAForcePModeKey ;endif ;SetRegValue $(NMAForcePModeKey) {Oct3xnd31, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd32, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd33, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd34, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd35, 0, $(!REG_VT_DWORD), 1} ;CloseRegKey $(NMAForcePModeKey) ;CloseRegKey $(NMAParametersKey) ;CloseRegKey $(NMAbhKey) ;CloseRegKey $(NMAServicesModeKey) ; ;------------------------------------------------------------------------- EndWait goto successful bindingadapter =+ set Error = "Binding: Sorry, not yet implemented." goto fatal ;----------------------------------------------- ; Remove Adapter Section ;----------------------------------------------- ; ; Remove all adapter information from the registry ; removeadapter = + Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif else ; ; Remove associated Com port if required ; ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} Split-String $(!NTN_RegBase), "\", CardInfo set AdapterNumber = *($(CardInfo),11) set ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)$(AdapterNumber)"\Parameters" OpenRegKey $(!REG_H_LOCAL) "" $(ParamKeyName) $(!REG_KEY_READ) KeyComPortBase GetRegValue $(KeyComPortBase) "ComPortBase" ComPortBaseInfo set ComPortBase = *($(ComPortBaseInfo), 3); CloseRegKey $(KeyComPortBase) ifstr(i) $(ComPortBase) != 0 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegTree $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegValue $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) endif endif Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif goto end UpgradeSoftware = + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set !UG_Filename = $($R0) install "Install-Update" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS goto fatal endif SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)} CloseRegKey $(KeyProduct) else goto fatalregistry endif goto end successful = + goto end abandon = + ForListDo $(OEM_ABANDON_OPTIONS) Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $($) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif EndForListDo Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), FALSE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif goto end warning = + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) == "OK" goto $(to) else-ifstr(i) $($R1) == "CANCEL" goto $(from) else goto "end" endif nonfatalinfo = + Set Severity = STATUS Set CommonStatus = STATUS_USERCANCEL goto nonfatalmsg nonfatal = + Set Severity = NONFATAL goto nonfatalmsg nonfatalmsg = + ifstr(i) $(Error) == "" Set Severity = NONFATAL Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) endif Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) == "OK" goto $(from) else goto "end" endif fatalregistry = + Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) goto fatal fatal = + ifstr(i) $(Error) == "" Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) endif Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif goto setfailed ShellCodeError = + set DlgType = "MessageBox" set STF_MB_TITLE = "Error: "$(FunctionTitle) set STF_MB_TEXT = "Shell Code Error" set STF_MB_TYPE = 1 set STF_MB_ICON = 3 set STF_MB_DEF = 1 ui start "Error Message" goto setfailed setfailed = + set CommonStatus = STATUS_FAILED ifstr(i) $(OEM_ABANDON_ON) == TRUE set OEM_ABANDON_ON = FALSE goto abandon endif goto end end = + goto term term = + Return $(CommonStatus) [Install-Option] set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-Net $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} AddSectionFilesToCopyList Files-Modem $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers endif endif Debug-Output "OEMSETUP.INF: [Install-Option] DoCopy = "$(DoCopy) ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif Exit [Install-Update] set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-Net $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} AddSectionFilesToCopyList Files-Modem $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers endif AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList exit [Install-Dll] set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList else ; get minimum needed files for configuration LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\OCT3X.DLL $(!STF_WINDOWSSYSPATH)\OCT3X.DLL LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\OCT3X.HLP $(!STF_WINDOWSSYSPATH)\OCT3X.HLP endif exit [Source Media Descriptions] 1 = "Olicom Driver Disk" [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 [Files-Inf] 1, oemsetup.inf, SIZE=999, RENAME=$(!UG_Filename) [Files-Net] 1, oct3xnd3.sys, SIZE=999 [Files-Modem] 1, serial.sys, SIZE=999 1, ocmdm144.inf, SIZE=999, DESTINATION=$(!STF_WINDOWSPATH)\INF 1, ocmdm336.inf, SIZE=999, DESTINATION=$(!STF_WINDOWSPATH)\INF [Files-Dll] 1, oct3x.dll, SIZE=999 1, oct3x.hlp, SIZE=999 [Files-dummy]