home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 January
/
CHIPCD1_98.iso
/
software
/
testsoft
/
nds
/
i386
/
nls
/
english
/
odinsup.in_
/
odinsup.in
Wrap
Text File
|
1997-08-20
|
35KB
|
1,128 lines
;***********************************************************************
;
; ODINSUP.INF
;
; Novell Ndis to ODI network logical adapter SETUP INF file.
;
;***********************************************************************
;
; The following is the version info for Novell
;
;VeRsIoN=v4.10 Novell Client Install for Windows NT (970414)
;CoPyRiGhT=copyright 1992-1997, by Novell, INC. All rights reserved.
[Identification]
OptionType = NetAdapter
[PlatformsSupported]
ISA
MCA
EISA
PCI
"Jazz-Internal Bus"
[Options]
ODINSUP
[IRQChoices]
IRQ_1 = "2",2
IRQ_2 = "3",3
IRQ_3 = "4",4
IRQ_4 = "5",5
[IOBaseAddrChoices]
IOBase_1 = "0x300",768
IOBase_2 = "0x320",800
IOBase_3 = "0x340",832
IOBase_4 = "0x360",864
[FileConstants]
UtilityInf = "UTILITY.INF"
subroutineinf = "SUBROUTN.INF"
NwSubsInf = "NWSUBS.INF"
SoftwareType = "driver"
Exit_Code = 0
DriverToLoad = ""
ODINetWareEventFile = "%SystemRoot%\System32\nls\"$(NLSDirName)"\odintmsg.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
ProductSoftwareName = "ODINSUP"
ProductSoftwareImagePath = "\SystemRoot\system32\drivers\odinsup.sys"
NetRuleSoftwareType = "odinsupSys ndisDriver odinsupDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """OdinsupSys"" yes no container"
NetRuleSoftwareClass = {"odinsupDriver basic"}
NetRuleSoftwareBindable = {"odinsupDriver odinsupAdapter non exclusive 100"}
ProductHardwareName = "ODINSUP"
NetRuleHardwareType = "odinsup odinsupAdapter"
NetRuleHardwareBindForm = " yes yes container"
NetRuleHardwareClass = {"odinsupAdapter 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
ProductSoftwareDescription = "Novell IntranetWare ODI Support for NDIS Protocols Driver"
ProductHardwareODINSUPDescription = "Novell IntranetWare ODI Support for NDIS Protocols Adapter"
IRQList = ^(IRQChoices, 1)
IRQValues = ^(IRQChoices, 2)
IOBaseAddrList = ^(IOBaseAddrChoices, 1)
IOBaseAddrValues = ^(IOBaseAddrChoices, 2)
Manufacturer = "Novell"
ProductMajorVersion = 4
ProductMinorVersion = 00
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
[date]
Now = {} ? $(!LIBHANDLE) GetSystemDate
;------------------------------------------------------------------------------
; 1. Identify To verify that this INF deals with the smae 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 To return the option list supported by this INF and
; the localized text list representing the options.
; Input: $($0): Lang. 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)
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
;
; form a list of all the options and another of the text representing
;
returnoptions = +
set OptionList = ^(Options, 1)
set OptionTextList = ^(OptionsText$($0), 1)
set Status = STATUS_SUCCESSFUL
finish_ReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)
;------------------------------------------------------------------------------
; 2. InstallOption This section is shelled to by main installation processing
;
; Function: To copy files representing Options
; To configure the installed option
; To update the Registry for the installed option
;
; Input: $($0): Lang. 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 |
; STATUS_NOTSUPPORTED
;
;------------------------------------------------------------------------------
[InstallOption]
set Status = STATUS_FAILED
set Option = $($1)
set !SrcDir = $($2)
set !AddCopy = $($3)
set !DoCopy = $($4)
set !DoConfig = $($5)
;
; Check if the language requested is supported
;
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
goto installoption
else
set Status = STATUS_NOLANGUAGE
goto finish_InstallOption
endif
installoption = +
;
; Tell the common code that we're being called from "main install"
;
ifstr(i) $(!NTN_Origination) != "NCPA"
set !NTN_Origination = "install"
endif
;
; Call the CommonSection
;
shell "" CommonSection $(Option)
set Status = $($R0)
ifstr(i) $($R1) != ""
set DriverToLoad = { $($R1) }
else
set DriverToLoad = ""
endif
Return $(Status) $(DriverToLoad)
[NcpaInvocation]
set Option = $(!NTN_InfOption)
set !SrcDir = $(!STF_SRCDIR)
Ifstr(i) $(!NTN_InstallMode) == install
set !AddCopy = YES
set !DoCopy = YES
set !DoConfig = YES
Else
set !AddCopy = NO
set !DoCopy = NO
set !DoConfig = NO
Endif
shell "" CommonSection $(Option)
set Status = $($R0)
Return $(Status)
[CommonSection]
StartWait
set Option = $($0)
set-subst LF = "\n"
read-syms GeneralConstants
;
; Find what NLS directory is being used
;
set NovellParameters = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Parameters"
Debug-OutPut "NovellParameters is "$(NovellParameters)
OpenRegKey $(!REG_H_LOCAL) "" $(NovellParameters) $(MAXIMUM_ALLOWED) KeyNovellParameters
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
GetRegValue $(KeyNovellParameters) "NWLanguage" LanguageList
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set NLSDirName = *($(LanguageList), 4)
endif
CloseRegKey $(KeyNovellParameters)
Endif
;
; Get NT version
;
set CurrentVersion = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion"
OpenRegKey $(!REG_H_LOCAL) "" $(CurrentVersion) $(MAXIMUM_ALLOWED) CurrentVersionKey
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
GetRegValue $(CurrentVersionKey) "CurrentVersion" VersionList
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set VersionListData = *($(VersionList), 4)
Split-string $(VersionListData) "." SplitVersionList
Set NTMajorVersion = *($(SplitVersionList), 1)
Set NTMinorVersion = *($(SplitVersionList), 3)
Debug-OutPut "ODINSUP.INF: Windows NT current version is "$(VersionListData)
Debug-OutPut "ODINSUP.INF: Windows NT Major version is "$(NTMajorVersion)
Debug-OutPut "ODINSUP.INF: Windows NT Minor version is "$(NTMinorVersion)
else
Debug-Output "ODINSUP.INF: Error getting NT version"
endif
CloseRegKey $(CurrentVersionKey)
else
Debug-Output "ODINSUP.INF: Error opening "$(CurrentVersion)
endif
read-syms FileConstants
read-syms DialogConstants$(!STF_LANGUAGE)
read-syms FileConstants$(!STF_LANGUAGE)
read-syms InstallOption$(!STF_LANGUAGE)
detect date
set-title $(FunctionTitle)
set to = Begin
set from = Begin
set CommonStatus = STATUS_SUCCESSFUL
EndWait
Begin = +
Debug-Output "ODINSUP.INF: Begin Install Mode = "$(!NTN_InstallMode)
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 "ODINSUP.INF: Cannot configure the Novell ODINSUP driver software."
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: ShellCode error: cannot get an error string."
goto ShellCodeError
endif
set Error = $($R0)
set from = end
set to = end
goto Warning
endif
else
set StartLabel = installadapter
set OEM_ABANDON_OPTIONS = {}
set OEM_ABANDON_SOFTWARE = FALSE
set OEM_ABANDON_ON = TRUE
endif
set IRQValue = *($(IRQList), 2)
set IOBaseAddrValue = *($(IOBaseAddrList), 1)
set from = $(fatal)
set to = $(fatal)
goto $(StartLabel)
installadapter = +
Debug-Output "ODINSUP.INF: installadapter "$(ProductKeyName)
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 $(!STF_ONTEXTINFNAME)": ShellCode error: cannot get an error string."
goto ShellCodeError
endif
goto end
else
Shell $(UtilityInf), CardExistedDlg
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: ShellCode error: cannot get an error string."
goto ShellCodeError
endif
ifstr(i) $($R1) != "OK"
goto end
endif
set OldVersionExisted = $(TRUE)
endif
endif
goto adapteroptions
configureadapter = +
Debug-Output "ODINSUP.INF: configureadapter"
Ifstr $(KeyProduct) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "ODINSUP.INF: Cannot find component product key "$(!NTN_RegBase)
goto fatalregistry
Endif
Endif
Debug-Output "ODINSUP.INF: Shelling to FindService"
Shell $(UtilityInf) FindService, $(KeyProduct)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: FindService shell failure "$($ShellCode)
Goto ShellCodeError
Endif
Ifstr(i) $($R0) != NO_ERROR
Debug-Output "ODINSUP.INF: FindService Shell error: "$($R0)
Goto fatalregistry
endif
set KeyParameters = $($R2)
CloseRegKey $($R1)
Ifstr $(KeyParameters) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "ODINSUP.INF: Cannot find component service"
goto fatalregistry
endif
set OldVersionExisted = $(TRUE)
set ValueName = ""
set ValueData = ""
set ValueStr = ""
set ValueList = {}
Set OdiCurBindCardName = ""
EnumRegValue $(KeyParameters) ValueList
ForListDo $(ValueList)
set ValueItem = $($)
set ValueName = *($(ValueItem),1)
set ValueData = *($(ValueItem),4)
Ifstr(i) $(ValueName) == "InterruptNumber"
set IRQValueIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "IoBaseAddress"
set IOBaseAddrIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "Bind"
Set OdiCurBindCardName = $(ValueData)
Debug-Output "ODINSUP is Currently bound to "$(OdiCurBindCardName)
endif
EndForListDo
set IRQValue = *($(IRQList), ~($(IRQValues),$(IRQValueIndex)))
ifstr(i) $(IRQValue) == ""
set IRQValue = *($(IRQList), 2)
endif
set IOBaseAddrValue = *($(IOBaseAddrList), +
~($(IOBaseAddrValues),$(IOBaseAddrIndex)))
ifstr(i) $(IOBaseAddrValue) == ""
set IOBaseAddrValue = *($(IOBaseAddrList), 1)
endif
goto adapteroptions
adapteroptions = +
Debug-Output "ODINSUP.INF: adapteroptions, NTN_RegBase = "$(!NTN_RegBase)
set from = adapteroptions
read-syms FileDependentDlg$(!STF_LANGUAGE)
;
; In this block we will determine which installed ODI adapter to bind
; ODINSUP too. If multiple ODI adapters are install the user will be
; allowed to select from a dialog box which adapter to bind too.
;
set NetworkCardsKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
Ifstr(i) $(NetCardsKey) == ""
Debug-Output "Can't Open Registry key "$(NetworkCardsKeyName)
set CommonStatus = STATUS_USERCANCEL
Else
;
; Get a list of all installed network cards
;
EnumRegKey $(NetCardsKey) NetCardsList
ForListDo $(NetCardsList)
Set CardNumber = *($($), 1)
Ifstr(i) $(CardNumber) != ""
Ifstr(i) $(FirstTime) == 1
set CardList = $(CardNumber)
Set FirstTime = 0
Else
set CardList = >($(CardList), $(CardNumber))
Endif
Endif
EndForListDo
Set FirstTime = 0
;
; Run though the list of installed adapters and create a list of installed
; ODI Adapters.
;
ForListDo $(CardList)
Set Card = $($)
OpenRegKey $(NetCardsKey) "" $(Card) $(MAXIMUM_ALLOWED) CardKey
Ifstr(i) $(CardKey) == ""
Debug-Output "ODINSUP.INF: Can't open card "$(Card)
Else
GetRegValue $(CardKey) "OdiAdapter" OdiValueList
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set OdiAdapter = *($(OdiValueList), 4)
Ifstr(i) $(OdiAdapter) == "1"
GetRegValue $(CardKey) "Title" OdiTitleValues
Set OdiTitle = *($(OdiTitleValues), 4)
GetRegValue $(CardKey) "ProductName" OdiNameValues
Set OdiName = *($(OdiNameValues), 4)
Ifstr(i) $(FirstTime) == 1
Set OdiOnlyList = $(Card)
Set OdiTitleList = $(OdiTitle)
Set OdiCardList = $(OdiName)
set FirstTime = 0
Else
set OdiOnlyList = >($(OdiOnlyList), $(Card))
Set OdiTitleList = >($(OdiTitleList), $(OdiTitle))
Set OdiCardList = >($(OdiCardList), $(OdiName))
Set FirstTime = 2
Endif
Endif
Endif
CloseRegKey $(CardKey)
Endif
EndForListDo
Debug-Output "OdiCardList = "$(OdiCardList)
CloseRegKey $(NetCardsKey)
Endif
;
; If there is only one ODI Adapter installed bind to that adapter otherwise
; allow the user to select.
;
Ifstr(i) $(FirstTime) == 1
Debug-Output "ODINSUP.INF NO ODI Adapters installed."
set DlgType = "MessageBox"
set STF_MB_TITLE = $(NoODIAdapterInstalledTitle)
set STF_MB_TEXT = $(NoODIAdapterInstalledText)
set STF_MB_TYPE = 1
set STF_MB_ICON = 3
set STF_MB_DEF = 1
ui start "NoODIAdapter"
goto end
Endif
Ifstr(i) $(FirstTime) == 0
Set OdiBindToAdapter = ""
Debug-Output "ODINSUP.INF: Only ONE ODI Adapter Installed "$(OdiBindToAdapter)
Else
;
; allow the user the select the adapter to bind too.
;
Debug-Output "ODINSUP.INF More than one ODI Adapter "$(OdiCardList)
LoadLibrary $(LoadDisk2Text) $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwsetupr.dll" NwLibHandle
Ifstr(i) $(OdiCurBindCardName) != ""
Debug-Output "OdiCurBindCardName = "$(OdiCurBindCardName)
Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiCardList), $(OdiCurBindCardName)))
Endif
Ifstr(i) $(DefaultOdiTitle) == ""
Set DefaultOdiTitle = *($(OdiTitleList), 1)
Endif
Debug-Output "DefaultOdiTitle = "$(DefaultOdiTitle)
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nt4setup.hlp" $(!MinimumID) $(!MaximumID)
ifint $(NTMajorVersion) < "4"
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nt3setup.hlp" $(!MinimumID) $(!MaximumID)
endif
read-syms OdinsupDlg$(!STF_LANGUAGE)
ui start "ODINSUP" $(NwLibHandle)
ui pop 1
ifstr(i) $(DLGEVENT) == "BACK"
set AdapterSelected = ""
else
Set AdapterSelected = *($(DefaultOdiTitle), 1)
endif
Debug-Output "AdapterSelected = "$(AdapterSelected)
Ifstr(i) $(AdapterSelected) == ""
Debug-Output "ODINSUP.INF: Cancel Selected"
goto end
Else
Set OdiBindToAdapter = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
Endif
FreeLibrary $(NwLibHandle)
Endif
set IRQValueIndex = "3"
set IOBaseAddrIndex = "300"
goto nextstep
nextstep = +
ifint $(OldVersionExisted) == $(TRUE)
ifstr(i) $(!NTN_InstallMode) == configure
goto writeparameters
endif
endif
StartWait
installproduct = +
ifint $(OldVersionExisted) == $(FALSE)
Debug-Output "ODINSUP.INF: First Time Install"
Shell $(UtilityInf), AddSoftwareComponent +
$(Manufacturer), +
$(ProductSoftwareName), +
$(ProductSoftwareName), +
$(ProductSoftwareTitle), +
$(STF_CONTEXTINFNAME), +
$(ProductSoftwareImagePath), +
"kerneldisable", +
; "kernelautostart", +
"NDIS", +
{"+ODI Drivers"}, +
"", +
$(ODINetWareEventFile)
Set OEM_ABANDON_SOFTWARE = TRUE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: AddSoftwareComponent ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
set KeyProduct = $($R1)
Set SoftNetRulesKey = $($R2)
Set KeyLinkage = $($R5)
SetRegValue $(KeyLinkage) {"OtherDependencies",$(NoTitle),$(!REG_VT_MULTI_SZ),{"+ODI Drivers"}}
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "ODINSUP.INF: AddSoftwareComponent Registry error "$(RegistryErrorIndex)
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
goto fatalregistry
endif
set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
{Hidden,$(NoTitle),$(!REG_VT_DWORD),1},+
{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)
Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
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)}, +
{Infname ,$(NoTitle),$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)} }
shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
goto fatalregistry
endif
endif
; add ODINSUP at board two or later
Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName),"","","2"
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 "ODINSUP.INF: AddHardwareComponent Shell error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "ODINSUP.INF: AddHardwareComponent Registry error "$(RegistryErrorIndex)
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto fatalregistry
endif
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)Title)},+
{Hidden,$(NoTitle),$(!REG_VT_DWORD),1},+
{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, $($R1), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
goto ShellCodeError
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)
Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyAdapterRules)
goto fatalregistry
endif
CloseRegKey $(KeyAdapterRules)
goto writeparameters
writeparameters = +
Shell $(UtilityInf), GetBusTypeNum
set BusTypeNum = $($R1)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADNX.INF: GetBusTypeNum ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set IRQValue = *($(IRQValues), ~($(IRQList),$(IRQValueIndex)))
set IOBaseAddrValue = *($(IOBaseAddrValues), +
~($(IOBaseAddrList),$(IOBaseAddrIndex)))
;
; BUG, BUG Need to get OdinsupBindName from the registry, if more than one
; board is in the registry need to do a dialog box and allow the user to
; select the adapter.
;
; For now use the last adapter found that's not a Token Ring adapter since
; Odinsup does not support Token Ring at this time.
;
; set OdiModulesName = $(!NTN_ServiceBase)"\OdiLoad\ODI_Modules"
; OpenRegKey $(!REG_H_LOCAL) "" $(OdiModulesName) $(MAXIMUM_ALLOWED) KeyOdiModules
; Ifstr(i) $(KeyOdiModules) == ""
; goto fatalregistry
; Endif
; EnumRegKey $(KeyOdiModules) CardList
;
; CloseRegKey $(KeyOdiModules)
;
; set OdinsupBindName = $(Odi"ne2000"
;
; set FoundEtherCard = 0
;
; ForListDo $(CardList)
; set CardName = *($($),1)
; Split-String $(CardName) " " CardNameParts
; set CardBaseName = *($(CardNameParts),1)
; Ifstr(i) CardBaseName != "Token"
; set FoundEtherCard = 1
; set OdinsupBindName = $(CardBaseName)
; Debug-Output "ODINSUP.INF: Bind to adapter "$(CardBaseName)
; Endif
; EndForListDo
;
; Ifint $(FoundEtherCard) == 0
; Debug-Output "ODINSUP.INF: No ethernet adapters found"
; Debug-Output "ODINSUP.INF: Odinsup will NOT work on Token Ring"
; Endif
ifstr(i) $(OdiBindToAdapter) == ""
set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
{BoardInstance,$(NoTitle),$(!REG_VT_DWORD),1} }
Else
set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
{Bind,$(NoTitle),$(!REG_VT_SZ),$(OdiBindToAdapter)},+
{BoardInstance,$(NoTitle),$(!REG_VT_DWORD),1} }
Endif
shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
CloseRegKey $(KeyParameters)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
goto fatalregistry
endif
EndWait
Set DriverToLoad = $(ProductSoftwareName)
goto successful
bindingadapter =+
set Error = "Binding: Sorry, not yet implemented."
goto fatal
removeadapter = +
Debug-Output "ODINSUP.INF: removeadapter"
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Debug-Output "ODINSUP.INF: RemoveSoftwareComponent"
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: RemoveSoftwareComponent ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
else
Debug-Output "ODINSUP.INF: RemoveHardwareComponent"
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $(!NTN_RegBase)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: RemoveHardwareComponent ShellCode error "$($ShellCode)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif
goto end
UpgradeSoftware = +
Debug-Output "ODINSUP.INF: UpgradeSoftware"
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
set Version = *($(VersionInfo), 4)
Split-String $(!NTN_Infname), "\", FilenameList
QueryListSize ListSize $(FilenameList)
set !UG_Filename = *($(FilenameList), $(ListSize))
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)}
ifint $(Version) != $(ProductVersion)
endif
CloseRegKey $(KeyProduct)
else
goto fatalregistry
endif
else
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
$(MAXIMUM_ALLOWED) NetworkCardKey
Ifstr(i) $(NetworkCardKey) != $(KeyNull)
GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
set ServiceName = *($(ServiceNameInfo), 4)
OpenRegKey $(NetworkCardKey) "" "NetRules" +
$(MAXIMUM_ALLOWED) NetRuleKey
Ifstr(i) $(NetRuleKey) == $(KeyNull)
goto fatalregistry
endif
CloseRegKey $(NetRules)
CloseRegKey $(NetworkCardKey)
else
goto fatalregistry
endif
OpenRegKey $(!REG_H_LOCAL) "" +
$(!NTN_ServiceBase)"\"$(ServiceName) +
$(MAXIMUM_ALLOWED) ServiceKey
Ifstr(i) $(ServiceKey) != $(KeyNull)
CloseRegKey $(ServiceKey)
else
goto fatalregistry
endif
endif
goto end
successful = +
Debug-Output "ODINSUP.INF: Successful; installing [InstallOption], DoCopy = "$(!DoCopy)
goto installstep1
installstep1 = +
goto end
abandon = +
Debug-Output "ODINSUP.INF: abandon"
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ODINSUP.INF: RemoveHardwareComponent ShellCode error "$($ShellCode)
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 "ODINSUP.INF: RemoveSoftwareComponent ShellCode error "$($ShellCode)
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
nonfatal = +
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(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 = +
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 = $(ShellCodeErrorTitle)
set STF_MB_TEXT = $(ShellCodeErrorText)
set STF_MB_TYPE = 1
set STF_MB_ICON = 3
set STF_MB_DEF = 1
ui start "ShellCodeError"
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) $(DriverToLoad)
[Install-Option]
set STF_VITAL = ""
ifstr(i) $(!AddCopy) == "YES"
AddSectionFilesToCopyList Files-$(Option) $(!STF_SRCDIR) $(!STF_WINDOWSSYSPATH)\drivers
endif
ifstr(i) $(!DoCopy) == "YES"
CopyFilesInCopyList
endif
ifstr(i) $(!DoConfig) == "YES"
endif
Exit
[Install-Update]
Debug-Output "ODINSUP.INF: Install-Update"
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-$(Option) $(!STF_SRCDIR) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-Inf $(!STF_SRCDIR) $(!STF_WINDOWSSYSPATH)
CopyFilesInCopyList
exit
;-----------------------------------------------------------------------
; LANGUAGES SUPPORTED
; -------------------
;
; The languages supported by the OEM INF, For every language supported
; we need to have a separate text section for every displayable text
; section.
;
;-----------------------------------------------------------------------
[LanguagesSupported]
ENG, ENGLISH
[OptionsTextENG]
ODINSUP = "Novell IntranetWare ODI Support for NDIS Protocols Adapter (ODINSUP)"
[OdinsupDlgENG]
IDH_NETWARENDISODI = 907
Help = "&Help"
OK = "OK"
Continue = "Continue"
Cancel = "Cancel"
Advanced = "&Advanced"
DlgType = "RadioCombination"
DlgTemplate = "ONELIST"
Caption = "NetWare NDIS over ODI (ODINSUP) Setup"
Label1 = "Installed ODI Adapters"
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
HelpContext = $(IDH_NETWARENDISODI)
ComboListItemsIn = { OdiTitleList }
ComboListItemsOut = { DefaultOdiTitle }
NotifyFields = { "NO" }
[FileConstantsENG]
ProductSoftwareTitle = "Novell IntranetWare ODI Support for NDIS Protocols Driver"
ProductHardwareODINSUPTitle = "Novell IntranetWare ODI Support for NDIS Protocols Adapter"
ProCaption = "Windows NT Setup"
ProCancel = "Cance&l"
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:"
[DialogConstantsENG]
Help = "&Help"
Exit = "&Cancel"
OK = "&OK"
HelpContext = ""
Continue = "C&ontinue"
Cancel = "C&ancel"
[FileDependentDlgENG]
DlgType = "RadioCombination"
DlgTemplate = "ONELIST"
Caption = $(FunctionTitle)
DlgText = "Please select values for the following fields:"
Label1 = "&IRQ Level:"
Label2 = "I/O &Port Base Addr:"
Combo1List = $(IRQList)
Combo1Out = $(IRQValue)
Combo2List = $(IOBaseAddrList)
Combo2Out = $(IOBaseAddrValue)
ComboListItemsIn = {Combo1List, Combo2List}
ComboListItemsOut = {Combo1Out, Combo2Out}
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
NotifyFields = {NO, NO}
HelpContext = $(!IDH_DB_ODINSUP_INS)
;----------InstallOptionENG-------------------------------------------------
;
; InstallOptionENG:
;
; This section has all of the strings that are displayed on the screen.
; They are seperated so that the file can be easily transtated.
;
;------------------------------------------------------------------------
[InstallOptionENG]
FunctionTitle = "Novell IntranetWare ODI Support for NDIS Setup"
ShellCodeErrorTitle = "Error: Novell IntranetWare ODI Support for NDIS Setup"
ShellCodeErrorText = "Shell Code Error"
NoODIAdapterInstalledTitle = "NetWare ODINSUP Setup"
NoODIAdapterInstalledText = "There are NO ODI Adapters installed in "+
"this Computer. Please install an ODI Adapter and then install ODINSUP."
LoadDisk2Text = "Please load the Novell NetWare Client for Windows NT "+
"disk 2 into drive "
[Source Media Descriptions]
1 = "Windows NT Setup Disk #1", TAGFILE = disk1
2 = "Windows NT Setup CD-ROM Disk", TAGFILE = disk2
3 = "NetWare for Windows NT Setup Disk", TAGFILE = ODINSUP.SYS
[Files-Inf]
3, ODINSUP.inf, SIZE=1000
[Files-ODINSUP]
3, odinsup.sys, SIZE=72192