home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 January
/
CHIPCD1_98.iso
/
software
/
testsoft
/
nds
/
i386
/
nls
/
english
/
oemnadod.in_
/
oemnadod.in
Wrap
Text File
|
1996-10-29
|
39KB
|
1,423 lines
;***********************************************************************
;
; OEMNADOD.INF
;
; Novell NetWare PCI card INF for Novell ODI drivers
;
;
;***********************************************************************
; VeRsIoN=1.00 Novell Client Install for Windows NT.
; CoPyRiGhT=(c) Copyright 1996, by Novell, Inc. All rights reserved.
[Identification]
OptionType = NetAdapter
[PlatformsSupported]
PCI
"Jazz-Internal Bus"
[LanguagesSupported]
ENG
[FileConstants]
UtilityInf = "UTILITY.INF"
ParamInf = "NCPARAM.INF"
subroutineinf = "SUBROUTN.INF"
NwSubsInf = "NWSUBS.INF"
Exit_Code = 0
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
Manufacturer = "Novell"
ProductMajorVersion = "1"
ProductMinorVersion = "0"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
DriverName = "OdiLoad"
OdiModules = "ODI_Modules"
NE3200_1BYTE = 511034
NetRuleHardwareType = "nwDriver nwAdapter"
NetRuleHardwareBindForm = " yes yes container"
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(DriverName)"\CurrentVersion"
;
; ParamKeyname not used - not updated
; ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardware$(Option)Name)"\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)\netware
[ODIParameters]
ODINodeAddress = ""
ODIDriverAdditionalParms = {}
ODICustomList = {}
ODITokenRing = ""
ODITokenRingSnap = ""
;
; File specific Parameters:
; ISA LAN Driver file:
; ODISlotList = {}
; ODIDefaultSlot = ""
; MCA and EISA LAN Driver files:
; ODISlotList = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
; ODIDefaultSlot = "2"
;
ODISlotList = {}
ODIDefaultSlot = ""
[date]
Now = {} ? $(!LIBHANDLE) GetSystemDate
[Identify]
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
Return $(Status) $(Identifier) $(Media)
[ReturnOptions]
read-syms ODIStrings$(!STF_LANGUAGE)
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 = {}
ForListDo $(OptionList)
set OptionTempString = " ODI "#($($),Title,1)$(AdapterForNetWare)
set OptionTextList = >($(OptionTextList), $(OptionTempString) )
EndForListDo
set Status = STATUS_SUCCESSFUL
Debug-Output "OEMNADOD.INF-[finish_ReturnOptions]:"
Debug-Output "OEMNADOD.INF- Status = "$(Status)
Debug-Output "OEMNADOD.INF- OptionList = "$(OptionList)
Debug-Output "OEMNADOD.INF- OptionTextList = "$(OptionTextList)
finish_ReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)
[InstallOption]
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) NOT-IN $(LanguageList)
Return STATUS_NOLANGUAGE
endif
set-subst LF = "\n"
read-syms GeneralConstants
read-syms FileConstants
read-syms ODIParameters
read-syms DialogConstants$(!STF_LANGUAGE)
read-syms ODIStrings$(!STF_LANGUAGE)
ifstr(i) $(!NTN_Origination) == "NCPA"
set Continue = "OK"
endif
read-syms FileConstants$(!STF_LANGUAGE)
detect date
; set-title $(Function$(Option)Title)
set to = Begin
set from = Begin
set CommonStatus = STATUS_SUCCESSFUL
EndWait
Begin = +
set CurrentInstallMode = ""
Ifstr(i) $(!NTN_InstallMode) == deinstall
set StartLabel = removeadapter
goto skipmakingthelists
else-Ifstr(i) $(!NTN_InstallMode) == Update
set StartLabel = UpgradeSoftware
set CurrentInstallMode = configure
set DoCopy = YES
set AddCopy = YES
else-Ifstr(i) $(!NTN_InstallMode) == bind
set StartLabel = bindingadapter
goto skipmakingthelists
else-Ifstr(i) $(!NTN_InstallMode) == configure
set StartLabel = configureadapter
set CurrentInstallMode = configure
else
set DoCopy = YES
set AddCopy = YES
set StartLabel = installadapter
set OEM_ABANDON_OPTIONS = {}
set OEM_ABANDON_SOFTWARE = FALSE
set OEM_ABANDON_ON = TRUE
endif
set ParameterListNames = ^(DefaultParameterLists, 1) ; NWIRQList, NWMEMList1, etc.
set ListNames = ^(ODIListNamesSection, 1) ; List1, list2, ..., list6
set ODIKeywordList = ^(ChoicesNamesList, 1) ; Int, mem, Port, etc.
set ODITitleList = ^(ChoicesNamesList, 2) ; Interrupt Number, Port, etc.
set MSParameterList = ^(ChoicesNamesList, 3) ; InterruptNumber, IOBaseAddress, etc.
set DriverListNames = {}
set ODINumberofDriverLists = 0
ForListDo ^($(Option),0 )
ifcontains(i) $($) IN $(ListNames)
set DriverListNames = >($(DriverListNames), $($))
else-ifstr(i) $($) == "CUSTOM"
set ODICustomList = #($(Option), Custom, 1)
endif
EndForListDo
QueryListSize ODINumberofDriverLists $(DriverListNames)
;
; DriverListNames now contains the List names the selected ODI driver has (i.e. {List1, List2})
; ODINumberofDriverLists now contains the number of lists used
;
Debug-Output "DriverListNames = "$(DriverListNames)
Debug-Output "Size of DriverListNames = "$(ODINumberofDriverLists)
ForListDo $(DriverListNames)
set $($)Keyword = #($(Option), $($), 1)
ifstr $($($)Keyword) != ""
set $($)Default = #($(Option), $($), 3)
ifcontains(i) $($($)Keyword) IN $(ODIKeywordList)
set $($)Title = *($(ODITitleList), ~($(ODIKeywordList), $($($)Keyword)))
set ThisListName = #($(Option), $($), 2)
set MSParameterName$(#) = *($(MSParameterList), ~($(ODIKeywordList), $($($)Keyword)))
set FinalList = {}
ifcontains(i) $(ThisListName) IN $(ParameterListNames)
ifstr(i) #($(Option), $($), 4) == "ALL"
set FinalList = ^($(ThisListName), 1)
else
set CountUpTo = #($(Option), $($), 5)
ifstr(i) $(CountUpTo) == "END"
set CountUpTo = $(MAXIMUM_ALLOWED)
endif
set StartNumber = #($(Option), $($), 4))
ForListDo ^($(ThisListName), 1)
ifint $(#) >= $(StartNumber)
ifint $(#) <= $(CountUpTo)
set FinalList = >($(FinalList), $($))
endif
endif
EndForListDo
endif
else
;
; User passed in the list
;
Debug-Output "User passed in a list"
set $($)Title = #($(Option), $($), 2)
set FinalList = #($(Option), $($), 4)
endif
else
;
; User passed in a new keyword
;
Debug-Output "User passed in a new keyword"
set $($)Title = #($(Option), $($), 2)
set MSParameterName$(#) = ""
set FinalList = #($(Option), $($), 4)
endif
set $($)List = $(FinalList)
endif
Debug-Output "List"$(#)"Title = "$($($)Title)
Debug-Output "List"$(#)"Default = "$($($)Default)
Debug-Output "List"$(#)"Keyword = "$($($)Keyword)
Debug-Output "List"$(#)"List = "$($($)List)
Debug-Output "MSParameterName"$(#)" = "$(MSParameterName$(#))
EndForListDo
skipmakingthelists = +
Debug-Output "Starting skipmakingthelist"
set ODILANDriverTitle = #($(Option), Title, 1)
Split-String #($(Option), DriverName, 2) "." SplitFileNameList
set ODILANDriverName = *($(SplitFileNameList), 1)
set ODIMediaType = #($(Option), MediaType, 1)
set ODICardType = #($(Option), CardType, 1)
set ODICardId = #($(Option), CardId, 1)
ifstr(i) $(ODICardType) == "PCI"
set ODIVendor = #($(Option), Vendor, 1)
endif
ifstr(i) #($(Option), CanShareSlot, 1) == "YES"
set SkipDescriptionCheck = "NO"
else
set SkipDescriptionCheck = "YES"
endif
Debug-Output "ODILANDriverName = "$(ODILANDriverName)
Debug-Output "ODIMediaType = "$(ODIMediaType)
ifstr(i) $(ODIMediaType) == "ETHERNET"
set NdisMediaType = "1"
else-ifstr(i) $(ODIMediaType) == "TOKEN-RING"
set NdisMediaType = "2"
else-ifstr(i) $(ODIMediaType) == "FDDI"
set NdisMediaType = "4"
else
Debug-Output "OEMNADOD.INF: Unknown media type "$(ODIMediaType)
set NdisMediaType = ""
endif
set from = $(fatal)
set to = $(fatal)
goto $(StartLabel)
installadapter = +
Ifstr(i) $(DoCopy) == "YES"
;
; Get source location
;
Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Goto ShellCodeError
Else-Ifstr(i) $($R0) == STATUS_FAILED
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
Goto fatal
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
Goto end
Endif
Set SrcDir = $($R1)
Endif
install "Install-Option"
goto adapteroptions
configureadapter = +
Debug-Output "Starting configureadapter."
Ifstr $(KeyProduct) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "OEMNADOD.INF: Cannot find component product key "$(!NTN_RegBase)
goto fatalregistry
Endif
Endif
Set AdapterNumber = ""
Shell $(UtilityInf) FindService, $(KeyProduct)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: FindService shell failure "$($ShellCode)
Goto ShellCodeError
Endif
Ifstr(i) $($R0) != NO_ERROR
Debug-Output "OEMNADOD.INF: FindService Error "$($R0)
Goto fatalregistry
endif
set KeyParameters = $($R2)
set ServiceAreaHandle = $($R1)
Ifstr $(KeyParameters) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "OEMNADOD.INF: Cannot find component service "$(KeyProduct)
goto fatalregistry
endif
set OldVersionExisted = $(TRUE)
set ValueName = ""
set ValueData = ""
set ValueStr = ""
set ValueList = {}
GetRegValue $(KeyParameters) ODILoadName ODILoadName
Set CardInstanceName = *($(ODILoadName),4)
Ifstr $(CardInstanceName) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "OEMNADOD.INF: Cannot find CardInstanceName"
goto fatalregistry
endif
set KeyToFind = $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
OpenRegKey $(!REG_H_LOCAL) "" $(KeyToFind) $(MAXIMUM_ALLOWED) DriverKey
Ifstr $(DriverKey) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "OEMNADOD.INF: Cannot find component product key = "$(KeyToFind)
goto fatalregistry
Endif
GetRegValue $(DriverKey) Parameters ParameterList
; get the data portion
set ParameterList = *($(ParameterList), 4)
Debug-Output "parameter list = "$(ParameterList)
ForListDo $(ParameterList)
set ThisParameterList = $($)
Split-String $($) " " SplitList
set KeyToSearchFor = *($(SplitList), 1)
set ValueToUse = *($(SplitList), 3)
Debug-Output "Keytosearchfor = "$(KeyToSearchFor)
Debug-Output "ValueToUse = "$(ValueToUse)
;
; #1 #2 #3
; "Parm" " " "Value"
;
set ValueFound = 0
;
; check frametypes for TOKEN-RING, TOKEN-RING_SNAP
;
ifstr(i) $(KeyToSearchFor) == "FRAME"
;
; Don't append Frametypes to ODIAdditionalParms, so set ValueFound = 1
;
set ValueFound = 1
QueryListSize SplitListSize $(SplitList)
ifstr(i) *($(SplitList), 3) == "TOKEN-RING"
set LastParameter = *($(SplitList), $(SplitListSize))
ifstr(i) $(LastParameter) == "MSB"
set ODITokenRing = "MSB"
else-ifstr(i) $(LastParameter) == "LSB"
set ODITokenRing = "LSB"
else
;
; Not there, so default to MSB
;
set ODITokenRing = "MSB"
endif
else-ifstr(i) *($(SplitList), 3) == "TOKEN-RING_SNAP"
set LastParameter = *($(SplitList), $(SplitListSize))
ifstr(i) $(LastParameter) == "MSB"
set ODITokenRingSnap = "MSB"
else-ifstr(i) $(LastParameter) == "LSB"
set ODITokenRingSnap = "LSB"
else
;
; Not there, so default to MSB
;
set ODITokenRingSnap = "MSB"
endif
endif
;
; Check for NODE parameter
;
else-ifstr(i) $(KeyToSearchFor) == "NODE"
set ODINodeAddress = $(ValueToUse)
set ValueFound = 1
;
; Check for SLOT parameter
;
else-ifstr(i) $(KeyToSearchFor) == "SLOT"
set ODIDefaultSlot = $(ValueToUse)
set ValueFound = 1
;
; Check for BUSNAME parameter - ignore it
;
else-ifstr(i) $(KeyToSearchFor) == "BUSNAME"
set ValueFound = 1
;
; Check for BUSTYPE parameter
;
else-ifstr(i) $(KeyToSearchFor) == "BUSTYPE"
set ValueFound = 1
set BusInterfaceType = $(ValueToUse)
;
; Check for BUS parameter
;
else-ifstr(i) $(KeyToSearchFor) == "BUS"
set ValueFound = 1
set BusNumber = $(ValueToUse)
endif
ForListDo $(DriverListNames)
ifstr(i) $(KeyToSearchFor) == $($($)Keyword)
set $($)Default = $(ValueToUse)
set ValueFound = 1
ifcontains(i) $(ValueToUse) NOT-IN $($($)List)
set $($)List = >($($($)List), $(ValueToUse))
endif
endif
EndForListDo
Debug-Output "Value Found = "$(ValueFound)
ifint $(ValueFound) == 0
set FoundInCustom = 0
ForListDo $(ODICustomList)
ifstr(i) $($) == $(ThisParameterList)
set FoundInCustom = 1
endif
EndForListDo
Debug-Output "Found in Custom = "$(FoundInCustom)
ifint $(FoundInCustom) == 0
ifstr $(ODIDriverAdditionalParms) == {}
set ODIDriverAdditionalParms = $(KeyToSearchFor)" "$(ValueToUse)
else
set ODIDriverAdditionalParms = >($(ODIDriverAdditionalParms), $(KeyToSearchFor)" "$(ValueToUse))
endif
endif
endif
EndForListDo
Debug-Output "AdditionalParms = "$(ODIDriverAdditionalParms)
Debug-Output "CustomList = "$(ODICustomList)
Debug-Output "BusType = "$(BusInterfaceType)
Debug-Output "Bus = "$(BusNumber)
adaptersetup =+
goto adapteroptions
adapteroptions = +
set from = adapteroptions
;
; Find what NLS directory is being used
;
set NovellParameters = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Parameters"
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)
LoadLibrary $(NetWareForWindowsNT) $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwsetupr.dll" NwLibHandle
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwnthelp.hlp" $(!MinimumID) $(!MaximumID)
else
goto fatalregistry
endif
CloseRegKey $(KeyNovellParameters)
else
goto fatalregistry
Endif
dothedialog = +
Debug-Output "Start dothedialog."
ifint $(ODINumberofDriverLists) == 0
Debug-Output "ODINumberofDriveLists == 0."
ifstr(i) $(CurrentInstallMode) == configure
read-syms NoParms$(!STF_LANGUAGE)
ui start "WorkstationDLG" $(NwLibHandle)
ifstr(i) $(DLGEVENT) == "CONTINUE"
Debug-Output "OK hit"
else-ifstr(i) $(DLGEVENT) == "EXIT"
;
; user selected the advanced button
;
goto doadvancedsettings
endif
endif
else
Debug-Output "ODINumberofDriveLists != 0."
read-syms LANDriverDlg$(!STF_LANGUAGE)
set NotifyFields = {}
set ComboListItemsIn = {}
set ComboListItemsOut = {}
ForListDo $(DriverListNames)
set NotifyFields = >($(NotifyFields), "NO")
set ComboListItemsIn = >($(ComboListItemsIn), $($)List)
ifstr $($($)Value) == ""
set $($)Value = $($($)Default)
endif
set ComboListItemsOut = >($(ComboListItemsOut), $($)Value)
EndForListDo
ui start "LANDriverParms" $(NwLibHandle)
ifstr(i) $(DLGEVENT) == "CONTINUE"
Debug-Output "Continue hit"
else-ifstr(i) $(DLGEVENT) == "BACK"
Debug-Output "Action: CANCEL. Bye."
set CommonStatus = STATUS_USERCANCEL
ui pop 1
FreeLibrary $(NwLibHandle)
goto end
else-ifstr(i) $(DLGEVENT) == "EXIT"
doadvancedsettings =+
;
; user selected the advanced button
;
Debug-Output "Action: ADVANCED DIALOG"
read-syms AdvancedDialog$(!STF_LANGUAGE)
set RadioIn = {}
set ComboListItemsIn = {}
set ComboListItemsOut = {}
set ComboOut = $(ODIDefaultSlot)
ifstr(i) $(ODIMediaType) == "TOKEN-RING"
ifstr(i) $(ODISlotList) == {}
set DlgTemplate = "DLG_ADVANCEDDRIVER3"
else
set ComboListItemsIn = { ODISlotList }
set ComboListItemsOut = { ComboOut }
set DlgTemplate = "DLG_ADVANCEDDRIVER1"
endif
ifstr(i) $(ODITokenRing) == "LSB"
set RadioIn = { 2 }
else
set RadioIn = { 1 }
endif
ifstr(i) $(ODITokenRingSnap) == "LSB"
set RadioIn = >($(RadioIn), "4")
else
set RadioIn = >($(RadioIn), "3")
endif
else
ifstr(i) $(ODISlotList) == {}
set DlgTemplate = "DLG_ADVANCEDDRIVER4"
else
set ComboListItemsIn = { ODISlotList }
set ComboListItemsOut = { ComboOut }
set DlgTemplate = "DLG_ADVANCEDDRIVER2"
endif
endif
ui start "AdvancedDialog" $(NwLibHandle)
ui pop 1
ifstr(i) $(DLGEVENT) == "CONTINUE"
set ODINodeAddress = *($(EditTextOut), 1)
set ODIDefaultSlot = *($(ComboOut), 1)
ifcontains "2" IN $(RadioOut)
set ODITokenRing = "LSB"
else
set ODITokenRing = "MSB"
endif
ifcontains "4" IN $(RadioOut)
set ODITokenRingSnap = "LSB"
else
set ODITokenRingSnap = "MSB"
endif
else-ifstr(i) $(DLGEVENT) == "BACK"
Debug-Output "Action: CANCEL. Bye."
endif
goto dothedialog
else
Debug-Output "Action: unknown. Bye."
ui pop 1
FreeLibrary $(NwLibHandle)
goto end
endif
ui pop 1
ForListDo $(DriverListNames)
Debug-Output "List"$(#)"Value = "$($($)Value)
EndForListDo
endif
Debug-Output "FreeLibrary $(NwLibHandle)"
FreeLibrary $(NwLibHandle)
ifint $(OldVersionExisted) == $(TRUE)
ifstr(i) $(CurrentInstallMode) == configure
Debug-Output "going to writeparameters based on OldVersionExisted."
goto writeconfigureparameters
endif
endif
StartWait
goto writeparameters
writeparameters = +
Debug-Output "Starting writeparameters."
Debug-Output "Calling GetPCIInformation."
; Use the GetPCIInformation utiltiy to find the bus number and slot number
; the adapter is installed in.
set NTBusType = 5
Shell $(UtilityInf), GetPCIInformation, $(ODIVendor) $(ODICardId)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
EndWait
goto ShellCodeError
endif
set AdapterList = $($R0)
set ProductHardwareDescription = +
"ODI "$(ODILANDriverTitle)$(AdapterForNetWare)
ForListDo $(AdapterList)
; Steps need to be taken for multiple adapters of the same type.
set NTBusNumber = *($($),1)
set NTSlotNumber = *($($),2)
Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(NTBusNumber), +
$(NTSlotNumber), $(ProductHardwareDescription), +
$(ODILANDriverName), $(SkipDescriptionCheck)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr $($R0) != "NO_ERROR"
set Error = $($R0)
goto fatal
endif
ifstr(i) $($R1) != "YES"
Debug-Output "Doing Shell AddHardwareComponent."
Shell $(UtilityInf), AddHardwareComponent, $(ODILANDriverName),+
$(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 "OEMNADOD.INF:Cannot add hardware component "$($ShellCode)
EndWait
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "OEMNADOD.INF: Registry error: add hardware component "$(RegistryErrorIndex)
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto fatalregistry
endif
set KeyParameters = $($R3)
set KeyAdapterRules = $($R2)
set AdapterNumber = $($R4)
Set-add TempAdapterNumber = $(AdapterNumber),0
set CardInstanceName = $(ODILANDriverName)" #"$(TempAdapterNumber)
set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),+
$(Manufacturer)}, {Title,$(NoTitle),$(!REG_VT_SZ),+
"["$($R4)"] ODI "$(ODILANDriverTitle)$(AdapterForNetWare)},+
{Description,$(NoTitle),$(!REG_VT_SZ),+
$(ProductHardwareDescription)},+
{ProductName,$(NoTitle),$(!REG_VT_SZ),$(ODILANDriverName)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},+
{OdiAdapter,$(NoTitle),$(!REG_VT_DWORD),1}}
Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
EndWait
goto ShellCodeError
endif
CloseRegKey $($R1)
set TempProdName = """"$(ODILANDriverName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),+
$(NetRuleHardwareType)},{bindform,$(NoTitle),$(!REG_VT_SZ),+
$(TempBindForm)}, {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
EndWait
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "OEMNADOD.INF: AddValueList Registry error "$(RegistryErrorIndex)
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyAdapterRules)
goto fatalregistry
endif
CloseRegKey $(KeyAdapterRules)
SetRegValue $(KeyParameters) {OdiLoadName,$(NoTitle),$(!REG_VT_SZ),$(CardInstanceName)}
SetRegValue $(KeyParameters) {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)}
SetRegValue $(KeyParameters) {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}
writeconfigureparameters = +
; Jump to here if the drivers is already installed and specific driver
; configuration was selected.
ifstr(i) $(NdisMediaType) == ""
set NdisMediaType = "1"
Debug-Output "OEMNADOD.INF: Media type NOT set"
endif
set NewValueList = {{MediaType,$(NoTitle),$(!REG_VT_DWORD), +
$(NdisMediaType)}}
ForListDo $(DriverListNames)
ifstr $(MSParameterName$(#)) != ""
set-hextodec DecValue = $($($)Value)
set ValueToAdd = {$(MSParameterName$(#)),$(NoTitle), +
$(!REG_VT_DWORD), $(DecValue)}
set NewValueList = >($(NewValueList), $(ValueToAdd))
endif
EndForListDo
Debug-Output "AddValueList with KeyParameters = "$(KeyParameters)
Debug-Output "and NewValueList = "$(NewValueList)
Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
EndWait
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output "OEMNADOD.INF: AddValueList Registry error "$($ShellCode)
EndWait
goto fatalregistry
endif
set PromptForSrcRouting = "FALSE"
Ifstr(i) $(ODIMediaType) == "ETHERNET"
set ODIParmList = {"Frame ETHERNET_802.2", +
"Frame ETHERNET_802.3", +
"Frame ETHERNET_II", +
"Frame ETHERNET_SNAP" }
else-Ifstr(i) $(ODIMediaType) == "TOKEN-RING"
set ODIParmList = {"Frame TOKEN-RING "$(ODITokenRing), +
"Frame TOKEN-RING_SNAP "$(ODITokenRingSnap) }
;If there is an ODI stack available remove the comment on the next line
;set PromptForSrcRouting = "TRUE"
else-Ifstr(i) $(ODIMediaType) == "FDDI"
set ODIParmList = {"Frame FDDI_802.2", +
"Frame FDDI_SNAP" }
;If there is an ODI stack available remove the comment on the next line
;set PromptForSrcRouting = "TRUE"
else
set ODIParmList = {}
endif
Debug-Output "Framenames = "$(ODIParmList)
;
; Build List to send to ODI_MODULES\CARDNAME
;
ForListDo $(DriverListNames)
ifstr $($($)Value) == $(Present)
set ODIParmList = >($(ODIParmList), $($($)Keyword))
else-ifstr $($($)Value) != $(NotPresent)
set ODIParmList = >($(ODIParmList), $($($)Keyword)" "$($($)Value))
endif
EndForListDo
ifstr $(ODINodeAddress) != ""
set ODIParmList = >($(ODIParmList), "Node "$(ODINodeAddress))
endif
ifstr $(ODIDefaultSlot) != ""
set ODIParmList = >($(ODIParmList), "Slot "$(ODIDefaultSlot))
endif
ForListDo $(ODIDriverAdditionalParms)
ifstr $($) != ""
set ODIParmList = >($(ODIParmList), $($))
endif
EndForListDo
ForListDo $(ODICustomList)
ifstr $($) != ""
set ODIParmList = >($(ODIParmList), $($))
endif
EndForListDo
Debug-Output "ODIParmList = "$(ODIParmList)
Debug-Output "Calling NwSubsInf to NwAddOdiLoadModule."
Shell $(NwSubsInf) NwAddOdiLoadModule $(CardInstanceName) +
$(AdapterNumber) $(ODIParmList)
Debug-Output "Back from Calling NwSubsInf to NwAddOdiLoadModule."
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: NwAddOdiLoadModule failure "$($ShellCode)
Goto ShellCodeError
Endif
Set ErrorString = $($R0)
Ifstr(i) $(ErrorString) != NO_ERROR
Debug-Output "OEMNADOD.INF: NwAddOdiLoadModule "$(ErrorString)
EndWait
goto fatalregistry
Endif
Debug-Output "PromptForSrcRouting = "$(PromptForSrcRouting)
Ifstr(i) $(PromptForSrcRouting) == "TRUE"
Shell $(NwSubsInf) NwConfigureSourceRouting
Endif
Ifstr(i) $(!NTN_InstallMode) == install
; Open the driver key to add the busNumber, busType, HIN,
;and slotNumber
set KeyToFind = +
$(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
OpenRegKey $(!REG_H_LOCAL) "" $(KeyToFind) $(MAXIMUM_ALLOWED) +
DriverKey
set NewValueList = +
{{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(NTBusType)},+
{HIN,$(NoTitle),$(!REG_VT_DWORD),1},+
{SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}}
Shell $(UtilityInf), AddValueList, $(DriverKey), $(NewValueList)
CloseRegKey $(DriverKey)
Set OdiAdapterInstalledOkay = "1"
Endif
ifstr(i) $(CurrentInstallMode) == configure
goto endwriteparameters
endif
endif
EndForListDo
endwriteparameters = +
CloseRegKey $(KeyParameters)
EndWait
goto successful
bindingadapter =+
set Error = $(BindingError)
goto fatal
removeadapter = +
Shell $(NwSubsInf) NwRemoveAdapter $(!NTN_RegBase)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: Shell Error NwRemoveAdapter "$($ShellCode)
Endif
Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$($ShellCode)
goto ShellCodeError
Endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$(RegistryErrorIndex)
Ifstr(i) $(RegistryErrorIndex) == "SHELL_CODE_ERROR"
goto ShellCodeError
Endif
goto fatalregistry
Endif
goto end
UpgradeSoftware = +
Ifstr(i) $(DoCopy) == "YES"
Ifstr(i) $(SrcDir) == ""
;
; Get source location
;
Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Goto ShellCodeError
Else-Ifstr(i) $($R0) == STATUS_FAILED
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
Goto fatal
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
Goto end
Endif
Set SrcDir = $($R1)
Endif
Endif
install "Install-Option"
Ifstr(i) $(DoConfig) == "YES"
goto configureadapter
else
goto end
endif
successful = +
goto end
abandon = +
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer) $($)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$($ShellCode)
goto ShellCodeError
Endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
EndForListDo
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 CommonStatus = STATUS_USERCANCEL
Set Severity = STATUS
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
fataldetect = +
Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADOD.INF: ShellCode error: cannot get an error string."
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: "$(Function$(Option)Title)
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 = +
; Ifstr(i) $(OdiAdapterInstalledOkay) == "1"
; Debug-Output "Calling NwSubsInf to GetOdiAdapterList."
; Shell $(NwSubsInf) GetOdiAdapterList
; ifint $($R3) < 2
; Set DlgType = "MessageBox"
; Set STF_MB_TITLE = "NetWare ODI LAN Drivers Setup"
; Set STF_MB_TEXT = "The NetWare ODI Adapter was successfully installed. "+
; "Your NetWare installation is COMPLETE."
; Set STF_MB_TYPE = 1
; Set STF_MB_ICON = 2
; Set STF_MB_DEF = 1
; ui start "Error Message"
; Endif
; Endif
;
; Check if ODINSUP needs to be installed
;
Shell $(NwSubsInf), CheckIfODINSUPIsNeeded
Return $(CommonStatus)
[Install-Option]
set STF_VITAL = ""
ifstr(i) $(AddCopy) == "YES"
AddSectionKeyFileToCopyList $(Option) DriverName $(SrcDir)landrv $(!STF_WINDOWSSYSPATH)\netware
endif
ifstr(i) $(DoCopy) == "YES"
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
endif
ifstr(i) $(DoConfig) == "YES"
endif
Exit
;[Install-Update]
; set STF_VITAL = ""
; set STF_OVERWRITE = "VERIFYSOURCEOLDER"
;
; AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\netware
; AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
;
; set !STF_NCPA_FLUSH_COPYLIST = TRUE
; CopyFilesInCopyList
;
; exit
[ProductType]
STF_PRODUCT = Winnt
STF_PLATFORM = I386
[ChoicesNamesList]
"AutoDetect", "Auto Detect Media", "AutoDetectMediaConnected"
"TP", "TP (RJ-45 Connector)", "RJ45Connector"
"BNC", "BNC Connector", "BNCConnector"
"TP_Full_Duplex", "Full Duplex Mode", "TPFullDuplexMode"
"Line_Speed", "Line Speed", "LineSpeed"
[ODIListNamesSection]
List1
List2
List3
List4
List5
List6
[KeyOnlyList]
Num1 = $(Present)
Num2 = $(NotPresent)
[Line_SpeedList]
Num1 = $(NotPresent)
Num2 = 100
Num3 = 10
[DefaultParameterLists]
KeyOnlyList
Line_SpeedList
;
;See the documentation on "Building your own OEMSETUP.INF" for more information.
;
[Options]
ODI_NE2100PCI
ODI_EN1203PCI
ODI_EN1207PCI
ODI_E100B
ODI_A2560
ODI_IBMFE
ODI_HPTX
[ODI_NE2100PCI]
Title = "Novell PCNET NE2100 (PCI)"
DriverName = 1, CNE2100.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 8192
Vendor = 4130
Custom = {}
CanShareSlot = "NO"
[ODI_EN1203PCI]
Title = "Accton EN1203 PCI Ethernet Adapter"
DriverName = 1, ACC07.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 0002
Vendor = 4113 ;Dec's VendorID 0x1011
Custom = {}
CanShareSlot = "NO"
List1 = "AutoDetect", KeyOnlyList, $(Present), All
List2 = "TP", KeyOnlyList, $(NotPresent), All
List3 = "BNC", KeyOnlyList, $(NotPresent), All
List4 = "TP_Full_Duplex", KeyOnlyList, $(NotPresent), All
[ODI_EN1207PCI]
Title = "Accton EN1207(-TX) PCI Fast Ethernet Adapter"
DriverName = 1, ACC07.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 0009
Vendor = 4113 ;Dec's VendorID 0x1011
Custom = {}
CanShareSlot = "NO"
List1 = "AutoDetect", KeyOnlyList, $(Present), All
List2 = "TP", KeyOnlyList, $(NotPresent), All
List3 = "BNC", KeyOnlyList, $(NotPresent), All
List4 = "TP_Full_Duplex", KeyOnlyList, $(NotPresent), All
List5 = "Line_Speed", Line_SpeedList, $(NotPresent), All
[ODI_E100B]
Title = "Intel EtherExpress PRO/100B"
DriverName = 1, E100B.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 4649 ;1229h
Vendor = 32902 ;8086h
Custom = {}
List1 = "SPEED" , "Speed" , "0", { "0", "10", "100"}
List2 = "FORCEDUPLEX" , "ForceDuplex", "0", {"0", "1", "2"}
CanShareSlot = "NO"
[ODI_A2560]
Title = "ATI AT-2560 Series PCI/100 Ethernet Adapter Driver"
DriverName = 1, A2560.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 4649 ;1229h
Vendor = 32902 ;8086h
Custom = {}
List1 = "SPEED" , "Speed" , "0", { "0", "10", "100"}
List2 = "FORCEDUPLEX" , "ForceDuplex", "0", {"0", "1", "2"}
CanShareSlot = "NO"
[ODI_IBMFE]
Title = "IBM 100/10 PCI Ethernet Adapter"
DriverName = 1, IBMFE.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 4649 ;1229h
Vendor = 32902 ;8086h
Custom = {}
List1 = "SPEED" , "Speed" , "0", { "0", "10", "100"}
List2 = "FORCEDUPLEX" , "ForceDuplex", "0", {"0", "1", "2"}
CanShareSlot = "NO"
[ODI_HPTX]
Title = "HP 10/100TX PCI LAN Adapter"
DriverName = 1, HPTX.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 4649 ;1229h
Vendor = 32902 ;8086h
Custom = {}
List1 = "SPEED" , "Speed" , "0", { "0", "10", "100"}
List2 = "FORCEDUPLEX" , "ForceDuplex", "0", {"0", "1", "2"}
CanShareSlot = "NO"
[Strings]
;
; Every string that is in quotes from this point to the end of the
; file will be pulled out and put into the translation teams database.
; There parser looks for the section [Strings] and then goes to the
; end of the file. DO NOT put strings below this point in the file
; that should not be translated. Likewise, all strings that need to
; be translated should be in quotes and below this point in the file.
;
[Source Media Descriptions]
1 = "NetWare ODI LAN Drivers Disk" , TAGFILE = NWC_24
[ODIStringsENG]
AdapterForNetWare = " Adapter for NetWare"
NetWareForWindowsNT = "NetWare for Windows NT"
Present = "Present"
NotPresent = "Not Present"
NetWareODILANDriversDisk = "NetWare ODI LAN Drivers Disk"
BindingError = "Binding: Sorry, not yet implemented."
[DialogConstantsENG]
Help = "&Help"
;Exit = "&Cancel"
OK = "OK"
HelpContext = ""
Continue = "&Continue"
Cancel = "&Cancel"
Advanced = "&Advanced"
IDH_NETWAREWRKSTATIONPARMS = 901
IDH_NETWAREIPXBIND = 902
IDH_IPXSPXPARMS = 903
IDH_NETWORKPROTOCOL = 904
IDH_NETWAREODISETTINGS = 905
IDH_NETWARECLIENTINSTALL = 906
IDH_NETWARENDISODI = 907
IDH_NODEADDRESSOVERIDE = 908
IDH_RESMGRCONFIG = 951
[LANDriverDlgENG]
DlgType = "RadioCombination"
DlgTemplate = "List"$(ODINumberofDriverLists)
Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
HelpContext = $(IDH_NETWAREODISETTINGS)
[NoParmsENG]
DlgType = "RadioCombination"
DlgTemplate = "NO_PARAMETERS"
Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
HelpContext = ""
CBOptionsGreyed = {}
ComboListItemsIn = {}
ComboListItemsOut = {}
NotifyFields = {}
[AdvancedDialogENG]
DlgType = "RadioCombination"
Caption = "Advanced Settings"
EditTextIn = $(ODINodeAddress)
EditTextLim = 13
CBOptionsGreyed = {}
HelpContext = $(IDH_NODEADDRESSOVERIDE)
NotifyFields = {}
[FileConstantsENG]
ProCaption = "NetWare ODI LAN Drivers Setup"
ProCancel = "Cancel"
ProCancelMsg = "NetWare for Windows NT is not correctly installed. "+
"Are you sure you want to cancel copying files?"
ProCancelCap = "Network Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"