;
; Novell NetWare for Windows NT Setup Common Shell Sections.
;
;
; ===================================================================================
;
; The following is the version info for Novell
;
;VeRsIoN=v4.70 Novell Client Install for Windows NT (970910)
;CoPyRiGhT=copyright 1992-1998, by Novell, INC. All rights reserved.
[NwBaseVars]
MAXIMUM_ALLOWED = 33554432
KeyNull = ""
RegistryErrorIndex = NO_ERROR
NoTitle = 0
!RegLastError = NO_ERROR
UtilityInf = "UTILITY.INF"
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
Help = "&Help"
OK = "&OK"
Continue = "Con&tinue"
Cancel = "&Cancel"
Advanced = "&Advanced"
[IpxVars]
IpxServiceName = "IpxSpx"
IpxParameters = $(!NTN_ServiceBase)"\"$(IpxServiceName)"\Parameters"
IpxCardName = "Card Name"
IpxCardInstance = "Card Instance"
IpxNtCardInstance = "Nt Card Instance"
[OdiNSupVars]
OdiNSupServiceName = "ODINSUP"
OdiNSupParameters = $(!NTN_ServiceBase)"\"$(OdiNSupServiceName)"\Parameters"
OdiNSupLinkage = $(!NTN_ServiceBase)"\"$(OdiNSupServiceName)"\Linkage"
OdiNSupCardName = "Bind"
OdiNSupCardInstance = "BoardInstance"
[OdiVars]
DriverName = "OdiLoad"
OdiModules = "ODI_Modules"
OdiLinkName = "OdiLoadName"
OdiModuleName = $(!NTN_ServiceBase)"\"$(DriverName)"\"$(OdiModules)
NetworkCardsKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
; ===================================================================================
;
;
; ===================================================================================
;
; Section to create a list of all installed ODI adapters. Used by IpxSpx configure.
; Could also be used by ODINSUP configure.
;
; INPUT:
; NONE
;
; OUTPUT:
; $($R0) List of installed ODI adapter names.
; $($R1) List of installed ODI adapter titles.
; $($R2) List of installed ODI adapter card numbers.
; $($R3) Number of installed ODI adapters.
;
; ===================================================================================
[GetOdiAdapterList]
;
; In this section we will create a list of installed ODI adapters.
;
read-syms NwBaseVars
read-syms OdiVars
Set OdiCardNumList = {}
Set OdiTitleList = {}
Set OdiCardList = {}
OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
Ifstr(i) $(NetCardsKey) == ""
Debug-Output "NWSUBS.INF: Can't Open Registry key "$(NetworkCardsKeyName)
set CommonStatus = STATUS_USERCANCEL
Else
;
; Get a list of all installed network cards
;
EnumRegKey $(NetCardsKey) NetCardsList
Set NumberOdiAdapters = 0
ForListDo $(NetCardsList)
Set CardNumber = *($($), 1)
OpenRegKey $(NetCardsKey) "" $(CardNumber) $(MAXIMUM_ALLOWED) CardKey
Ifstr(i) $(CardKey) == ""
Debug-Output "NWSUBS.INF: Can't open adapter "$(Card)
Else
GetRegValue $(CardKey) "OdiAdapter" OdiValueList
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set OdiAdapter = *($(OdiValueList), 4)
Ifstr(i) $(OdiAdapter) == "1"
;
; Must be an ODI Adapter so add it to our lists.
;
set-add NumberOdiAdapters = $(NumberOdiAdapters), 1
GetRegValue $(CardKey) "Title" OdiTitleValues
Set OdiTitle = *($(OdiTitleValues), 4)
GetRegValue $(CardKey) "ProductName" OdiNameValues
Set OdiName = *($(OdiNameValues), 4)
Set OdiCardNumList = >($(OdiCardNumList), $(CardNumber))
Set OdiTitleList = >($(OdiTitleList), $(OdiTitle))
Set OdiCardList = >($(OdiCardList), $(OdiName))
Endif
Endif
CloseRegKey $(CardKey)
Endif
EndForListDo
Debug-Output "NWSUBS.INF: OdiCardNumList = "$(OdiCardNumList)
Debug-Output "NWSUBS.INF: OdiTitleList = "$(OdiTitleList)
Debug-Output "NWSUBS.INF: OdiCardList = "$(OdiCardList)
Debug-Output "NWSUBS.INF: NumberOdiAdapters = "$(NumberOdiAdapters)
CloseRegKey $(NetCardsKey)
Endif
return $(OdiTitleList) $(OdiCardList) $(OdiCardNumList) $(NumberOdiAdapters)
; ===================================================================================
;
; This section creates a list of the frame types loaded by OdiLoad.
;
; ===================================================================================
;[GetOdiLoadFrameList]
; read-syms InitBaseVars
;
; return
; ===================================================================================
; NwSetCardInstance:
;
; INPUT:
; $($0) - Open Key to Services\OdiLoad or "" and I'll open it (*** NOT USED ***).
; $($1) - Open key to Services\OdiLoad\Odi_Modules or "" and I'll open it.
; $($2) - Open key to Services\OdiLoad\Odi_Modules\ne2000 #1 or "" and I'll try
; to open the key $($3) under Odi_Modules, that is if $($3) is not "".
; $($3) - The card name (ne2000 #1, etc) or "".
; The 'ne2000 #1' will vary based on card name and instance.
; If something other than "" is passed then the Card Instance assigned
; to this OdiLoad-able Module is returned as $($R1) otherwise
; $($R1) will equal 1.
;
; OUTPUT:
; $($R0) - Result NO_ERROR if successful, otherwise an error string.
; $($R1) - New OdiLoad Board instance for the card currently being installed
; or 1 if the card name passed in $($3) is "".
;
;
;
; Sets the BoardInstance for ALL installed Odi Modules.
;
; ===================================================================================
[NwSetCardInstance]
Set KeyOdiLoad = $($0)
Set KeyOdiModules = $($1)
Set KeyOdiCard = $($2)
Set OdiCardName = $($3)
read-syms NwBaseVars
read-syms OdiVars
Set CurInstance = 1
;
; Get a list of installed Odi Modules and create a list of the base card names.
;
Set CloseOdiModules = FALSE
Ifstr(i) $(KeyOdiModules) == ""
OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName) $(MAXIMUM_ALLOWED) KeyOdiModules
Ifstr(i) $(KeyOdiModules) == ""
Set Result = "Can't open "$(OdiModuleName)
Debug-Output "NWSUBS.INF: SetCardInstance, "$(Result)
goto Exit_SetCardInstance
Endif
CloseOdiModules = TRUE
Endif
EnumRegKey $(KeyOdiModules) OdiModulesList
Set OdiList = {}
Set BaseNameList = {}
ForListDo $(OdiModulesList)
Set CurList = $($)
Set CurModule = *($(CurList), 1)
Set OdiList = >($(OdiList), $(CurModule))
Set CloseCard = FALSE
Split-String $(CurModule) " " NamePartList
Set NameBase = *($(NamePartList), 1)
Ifcontains(i) $(NameBase) in $(BaseNameList)
Debug-Output "NWSUBS.INF: "$(NameBase)" already in list"
Else
Set BaseNameList = >($(BaseNameList), $(NameBase))
Endif
set-add Inst$(NameBase) = $(Inst$(NameBase)), 1
Set KeyToCard = ""
Ifstr(i) $(OdiCardName) != ""
Ifstr(i) $(OdiCardName) == $(CurModule)
Set KeyToCard = $(KeyOdiCard)
Set CurInstance = $(Inst$(NameBase))
Endif
Endif
Ifstr(i) $(KeyToCard) == ""
OpenRegKey $(KeyOdiModules) "" $(CurModule) $(MAXIMUM_ALLOWED) KeyToCard
Ifstr(i) $(KeyToCard) == ""
Set Result = "Can't Open "$(CurModule)
Debug-Output "NWSUBS.INF: SetCardInstance, "$(Result)
goto Exit_SetCardInstance
Endif
Set CloseCard = TRUE
Endif
SetRegValue $(KeyToCard) {BoardInstance,$(NoTitle),$(!REG_VT_DWORD),$(Inst$(NameBase))}
Ifstr(i) $(CloseCard) == TRUE
CloseRegKey $(KeyToCard)
Endif
EndForListDo
Debug-Output "NWSUBS.INF: OdiList = "$(OdiList)
Debug-Output "NWSUBS.INF: BaseNameList = "$(BaseNameList)
ForListDo $(BaseNameList)
set CardName = $($)
Debug-Output "NWSUBS.INF: "$(CardName)" cards found = "$(Inst$(CardName))
EndForListDo
Set Result = NO_ERROR
Exit_SetCardInstance = +
Ifstr(i) $(CloseOdiModules) == TRUE
Debug-Output "NWSUBS.INF: Close Odi Modules"
CloseRegKey $(KeyOdiModules)
Endif
return $(Result) $(CurInstance)
; ===================================================================================
; ===================================================================================
[NwSetIpxCard]
Set OdiCardName = $($0)
Set OdiCardInstance = $($1)
Debug-Output "NwSetIpxCard: OdiCardName = "$(OdiCardName)
Debug-Output "NwSetIpxCard: OdiCardInstance = "$(OdiCardInstance)
read-syms NwBaseVars
read-syms IpxVars
read-syms OdiVars
read-syms OdiNSupVars
read-syms InstallOption$(!STF_LANGUAGE)
Set Result = NO_ERROR
; If more than one board ask the user which board to bind to.
;
Shell $(NwSubsInf) GetOdiAdapterList
Set OdiTitleList = $($R0)
Set OdiCardList = $($R1)
Set OdiNtNumberList = $($R2)
Set NumberOdiAdapters = $($R3)
Shell "" GetLanguageDir
Set NLSDirName = $($R0)
Shell "" GetNTVersion
Set NTMajorVersion = $($R0)
LoadLibrary $(LoadDisk3Text) $(!STF_WINDOWSSYSPATH)"\nwsetup.dll" NwLibHandle
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\setupnw.hlp" $(!MinimumID) $(!MaximumID)
Ifint $(NumberOdiAdapters) > 1
;
; More than one ODI adapter is installed so allow
; the user to select which one to bind to.
;
Ifstr(i) $(OdiCurBindCardName) != ""
Debug-Output "NWSUBS.INF: OdiCurBindCardName = "$(OdiCurBindCardName)
Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiCardList), $(OdiCurBindCardName)))
Endif
Ifstr(i) $(DefaultOdiTitle) == ""
Set DefaultOdiTitle = *($(OdiTitleList), 1)
Endif
Debug-Output "NWSUBS.INF: DefaultOdiTitle = "$(DefaultOdiTitle)
read-syms IPXBindDlg$(!STF_LANGUAGE)
ui start "IPXBIND" $(NwLibHandle)
ui pop 1
ifstr(i) $(DLGEVENT) == "BACK"
set AdapterSelected = ""
else
Set AdapterSelected = *($(DefaultOdiTitle), 1)
endif
Debug-Output "NWSUBS.INF: AdapterSelected = "$(AdapterSelected)
Ifstr(i) $(AdapterSelected) == ""
Debug-Output "NWSUBS.INF: Cancel Selected"
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Set NtAdapterNumber = *($(OdiNtNumberList), 1)
Else
Set CardToBindTo = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "CardToBindTo = "$(CardToBindTo)
Set NtAdapterNumber = *($(OdiNtNumberList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "NtAdapterNumber = "$(NtAdapterNumber)
Set NtAdapterKeyName = $(NetworkCardsKeyName)"\"$(NtAdapterNumber)
OpenRegKey $(!REG_H_LOCAL) "" $(NtAdapterKeyName) $(MAXIMUM_ALLOWED) KeyNtAdapter
Ifstr(i) $(KeyNtAdapter) != ""
GetRegValue $(KeyNtAdapter),"ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
CloseRegKey $(KeyNtAdapter)
; Open the lan man card's service\Parameters.
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyService
ifstr(i) $(KeyService) == ""
Debug-Output "NWSUBS.INF: NwSetIpxCard, Can't open "$(ServiceName)
Else
; Get the OdiLoad link.
;
GetRegValue $(KeyService) $(OdiLinkName) CardInstanceList
Set CardInstanceName = *($(CardInstanceList), 4)
CloseRegKey $(KeyService)
OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName)"\"$(CardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
Ifstr(i) $(KeyOdiCard) != ""
GetRegValue $(KeyOdiCard) "BoardInstance" BoardInstanceList
Set CardInstance = *($(BoardInstanceList), 4)
Debug-Output "1: Selected CardInstance = "$(CardInstance)
CloseRegKey $(KeyOdiCard)
Endif
Endif
Else
Debug-Output "Can't open "$(NtAdapterKeyName)
Endif
Endif
Else
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Set NtAdapterNumber = *($(OdiNtNumberList), 1)
Endif
OpenRegKey $(!REG_H_LOCAL) "" $(IpxParameters) $(MAXIMUM_ALLOWED) KeyIpxParameters
Ifstr(i) $(KeyIpxParameters) == ""
Set Result = "Can't open IpxSpx service."
Debug-Output "NWSUBS.INF: "$(Result)
Else
GetRegValue $(KeyIpxParameters) $(IpxCardName) CurrentCardNameList
Set CurrentCardName = *($(CurrentCardNameList), 4)
Debug-Output "CurrentCardName = "$(CurrentCardName)" CardToBindTo = "$(CardToBindTo)
Set GUIResult = ""
Ifstr(i) $(CurrentCardName) != $(CardToBindTo)
Shell "" NwSetFrameType $(CardToBindTo) $(NtAdapterNumber) $(NwLibHandle)
Set GUIResult = $($R0)
Endif
SetRegValue $(KeyIpxParameters) {$(IpxCardName),$(NoTitle),$(!REG_VT_SZ),$(CardToBindTo)}
Ifstr(i) $(OdiCardInstance) == ""
Debug-Output "NWSUBS.INF: NwSetIpxCard, OdiCardInstance set to default."
Set OdiCardInstance = "1"
Endif
SetRegValue $(KeyIpxParameters) {$(IpxCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(OdiCardInstance)}
Debug-Output "2: NtAdapterNumber = "$(NtAdapterNumber)
SetRegValue $(KeyIpxParameters) {$(IpxNtCardInstance),$(NoTitle),$(!REG_VT_SZ),$(NtAdapterNumber)}
Ifstr(i) $(GUIResult) != ""
SetRegValue $(KeyIpxParameters) {"Frame Type",$(NoTitle),$(!REG_VT_SZ),$(GUIResult)}
Endif
CloseRegKey $(KeyIpxParameters)
Endif
; Find the ODINSUPXX service name
;
OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
Ifstr(i) $(NetCardsKey) != ""
EnumRegKey $(NetCardsKey) NetCardsList
Debug-Output "NetCardsList = "$(NetCardsList)
ForListDo $(NetCardsList)
Set CardNumber = *($($), 1)
Debug-Output "CardNumber = "$(CardNumber)
OpenRegKey $(NetCardsKey) "" $(CardNumber) $(MAXIMUM_ALLOWED) KeyCardNumber
Ifstr(i) $(KeyCardNumber) != ""
GetRegValue $(KeyCardNumber), "ProductName", ProductNameList
Set ProductName = *($(ProductNameList), 4)
Debug-Output "ProductName = "$(ProductName)
Ifstr(i) $(ProductName) == "ODINSUP"
GetRegValue $(KeyCardNumber), "ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyOdiNSupParameters
Endif
CloseRegKey $(KeyCardNumber)
Endif
EndForListDo
CloseRegKey $(NetCardsKey)
Endif
; OpenRegKey $(!REG_H_LOCAL) "" $(OdiNSupParameters) $(MAXIMUM_ALLOWED) KeyOdiNSupParameters
Ifstr(i) $(KeyOdiNSupParameters) != ""
Ifint $(NumberOdiAdapters) > 1
;
; More than one ODI adapter is installed so allow
; the user to select which one to bind to.
;
Ifstr(i) $(OdiCurBindCardName) != ""
Debug-Output "NWSUBS.INF: OdiCurBindCardName = "$(OdiCurBindCardName)
Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiCardList), $(OdiCurBindCardName)))
Endif
Ifstr(i) $(DefaultOdiTitle) == ""
Set DefaultOdiTitle = *($(OdiTitleList), 1)
Endif
Debug-Output "NWSUBS.INF: DefaultOdiTitle = "$(DefaultOdiTitle)
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 "NWSUBS.INF: ODINSUP AdapterSelected = "$(AdapterSelected)
Ifstr(i) $(AdapterSelected) == ""
Debug-Output "NWSUBS.INF: Cancel Selected"
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Else
Set CardToBindTo = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "CardToBindTo = "$(CardToBindTo)
Set NtAdapterNumber = *($(OdiNtNumberList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "NtAdapterNumber = "$(NtAdapterNumber)
Set NtAdapterKeyName = $(NetworkCardsKeyName)"\"$(NtAdapterNumber)
OpenRegKey $(!REG_H_LOCAL) "" $(NtAdapterKeyName) $(MAXIMUM_ALLOWED) KeyNtAdapter
Ifstr(i) $(KeyNtAdapter) != ""
GetRegValue $(KeyNtAdapter),"ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
CloseRegKey $(KeyNtAdapter)
; Open the lan man card's service\Parameters.
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyService
ifstr(i) $(KeyService) == ""
Debug-Output "NWSUBS.INF: NwSetIpxCard, Can't open "$(ServiceName)
Else
; Get the OdiLoad link.
;
GetRegValue $(KeyService) $(OdiLinkName) CardInstanceList
Set CardInstanceName = *($(CardInstanceList), 4)
CloseRegKey $(KeyService)
OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName)"\"$(CardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
Ifstr(i) $(KeyOdiCard) != ""
GetRegValue $(KeyOdiCard) "BoardInstance" BoardInstanceList
Set CardInstance = *($(BoardInstanceList), 4)
Debug-Output "2: Selected CardInstance = "$(CardInstance)
CloseRegKey $(KeyOdiCard)
Endif
Endif
Else
Debug-Output "Can't open "$(NtAdapterKeyName)
Endif
Endif
Else
;
; only one ODI adapter so use same card name as ipx.
;
Debug-Output "NWSUBS.INF: ODISUP bound to "$(CardToBindTo)
Endif
SetRegValue $(KeyOdiNSupParameters) {$(OdiNSupCardName),$(NoTitle),$(!REG_VT_SZ),$(CardToBindTo)}
Ifstr(i) $(OdiCardInstance) == ""
Debug-Output "NWSUBS.INF: NwSetIpxCard, OdiCardInstance set to default."
Set OdiCardInstance = "1"
Endif
SetRegValue $(KeyOdiNSupParameters) {$(OdiNSupCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(OdiCardInstance)}
CloseRegKey $(KeyOdiNSupParameters)
Endif
FreeLibrary $(NwLibHandle)
return $(Result)
; ===================================================================================
;
; Remove an installed NetWare ODI Adapter.
;
; We start with the SOFTWARE\Windows NT\NetworkCards\## key name. Open this key and
; get the 'ServiceName' link value, use this string to open the service\Parameters key
; for this adapter. Get the OdiLoadName link value from service\Parameters and open
; this key.
;
; ===================================================================================
[NwRemoveAdapter]
Set LanManCardInstance = $($0)
read-syms NwBaseVars
read-syms IpxVars
read-syms OdiVars
read-syms OdiNSupVars
read-syms InstallOption$(!STF_LANGUAGE)
Set Result = NO_ERROR
Debug-Output "NWSUBS.INF: ------------------------------------------------------"
Debug-Output "NWSUBS.INF: NwRemoveAdapter called with "$(LanManCardInstance)
; Open the lan man card.
;
OpenRegKey $(!REG_H_LOCAL) "" $(LanManCardInstance) $(MAXIMUM_ALLOWED) KeyLanManCard
Ifstr(i) $(KeyLanManCard) == ""
Debug-Output "NWSUBS.INF: RemoveAdapter, Can't open "$(LanManCardInstance)
Else
; Clear the OdiAdapter Flag so that this adapter does not show up on the
; list of Odi adapters for Ipx to bind too.
;
SetRegValue $(KeyLanManCard) {OdiAdapter,$(NoTitle),$(!REG_VT_DWORD),0}
; Get the lanman cards service name link.
;
GetRegValue $(KeyLanManCard),"ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
CloseRegKey $(KeyLanManCard)
; Open the lan man card's service\Parameters.
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyService
ifstr(i) $(KeyService) == ""
Debug-Output "NWSUBS.INF: RemoveAdapter, Can't open "$(ServiceName)
Else
; Get the OdiLoad link.
;
GetRegValue $(KeyService) $(OdiLinkName) CardInstanceList
Set CardInstanceName = *($(CardInstanceList), 4)
CloseRegKey $(KeyService)
OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName) $(MAXIMUM_ALLOWED) KeyOdiModules
Ifstr(i) $(KeyOdiModules) == ""
Debug-Output "NWSUBS.INF: RemoveAdapter, Can't open "$(OdiModulesName)
Else
;
; Get the Board instance for the card being deleted before we delete it.
;
OpenRegKey $(KeyOdiModules) "" $(CardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
Ifstr(i) $(KeyOdiCard) == ""
Set Result = "Can't open card "$(CardInstanceName)
Debug-Output "NWSUBS.INF: NwRemoveAdapter, "$(Result)
Else
GetRegValue $(KeyOdiCard) "BoardInstance" InstanceValues
Set DeletedCardInstance = *($(InstanceValues), 4)
Debug-Output "NWSUBS.INF: Board Instance of Card being Removed = "$(DeletedCardInstance)
CloseRegKey $(KeyOdiCard)
Endif
;
; Delete the card from ODI Modules.
;
Debug-Output "NWSUBS.INF: Deleting card "$(CardInstanceName)
Debug-Output "NWSUBS.INF: From Key "$(OdiModuleName)
DeleteRegTree $(KeyOdiModules) $(CardInstanceName)
FlushRegKey $(KeyOdiModules)
Shell "" NwSetCardInstance "" $(KeyOdiModules) "" ""
; Check IpxSpx parameters to see if IpxSpx is bound to the
; adapter just removed or to a greater instance of this model of adapter.
;
OpenRegKey $(!REG_H_LOCAL) "" $(IpxParameters) $(MAXIMUM_ALLOWED) KeyIpxParameters
Ifstr(i) $(KeyIpxParameters) == ""
Debug-Output "NWSUBS.INF: NwRemoveAdapter, Can't open "$(IpxParameters)
Else
; Get Ipx CardName and CardInstance
;
GetRegValue $(KeyIpxParameters) $(IpxCardName) TmpCardList
Set CurIpxCardName = *($(TmpCardList), 4)
GetRegValue $(KeyIpxParameters) $(IpxCardInstance) TmpInstanceList
Set CurIpxCardInstance = *($(TmpInstanceList), 4)
GetRegValue $(KeyIpxParameters) $(IpxNtCardInstance) TmpNtInstanceList
Set NtAdapterNumber = *($(TmpNtInstanceList), 4)
Debug-Output "NWSUBS.INF: CurIpxCardName -- "$(CurIpxCardName)
Debug-Output " CurIpxCardInstance -- "$(CurIpxCardInstance)
Debug-Output " NtAdapterNumber -- "$(NtAdapterNumber)
; Get the base name of the ODI Module being removed.
;
Split-String $(CardInstanceName) " " CardInstanceValues
Set CardBaseName = *($(CardInstanceValues), 1)
Debug-Output "NWSUBS.INF: CardBaseName = "$(CardBaseName)
Ifstr(i) $(CardBaseName) == $(CurIpxCardName)
Debug-Output "NWSUBS.INF: Ipx bound to a card with the same name: "$(CardBaseName)
Ifint $(DeletedCardInstance) < $(CurIpxCardInstance)
Debug-Output "NWSUBS.INF: Existing Board Instance Okay"
Else-Ifint $(DeletedCardInstance) == $(CurIpxCardInstance)
Debug-Output "NWSUBS.INF: The board Ipx was bound to has been removed."
Shell $(NwSubsInf) GetOdiAdapterList
Set OdiTitleList = $($R0)
Set OdiCardList = $($R1)
Set OdiNtNumberList = $($R2)
Set NumberOdiAdapters = $($R3)
Debug-Output "NWSUBS.INF: OdiTitleList = "$(OdiTitleList)
Debug-Output "NWSUBS.INF: OdiCardList = "$(OdiCardList)
Debug-Output "NWSUBS.INF: R2 = "$($R2)
Debug-Output "NWSUBS.INF: NumberOdiAdapters = "$(NumberOdiAdapters)
Set ReBind = FALSE
Shell "" GetLanguageDir
Set NLSDirName = $($R0)
Shell "" GetNTVersion
Set NTMajorVersion = $($R0)
LoadLibrary $(LoadDisk3Text) $(!STF_WINDOWSSYSPATH)"\nwsetup.dll" NwLibHandle
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\setupnw.hlp" $(!MinimumID) $(!MaximumID)
Ifint $(NumberOdiAdapters) < 1
Debug-Output "NWSUBS.INF: No ODI Adapters Installed."
Else-Ifint $(NumberOdiAdapters) == 1
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Set NtAdapterNumber = *($(OdiNtNumberList), 1)
Debug-Output "NWSUBS.INF: Only one ODI Adapter Installed "$(CardToBindTo)
Set ReBind = TRUE;
Else
;
; More than one ODI adapter is installed so allow
; the user to select which one to bind to.
;
Ifstr(i) $(OdiCurBindCardName) != ""
Debug-Output "NWSUBS.INF: OdiCurBindCardName = "$(OdiCurBindCardName)
Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiCardList), $(OdiCurBindCardName)))
Endif
Ifstr(i) $(DefaultOdiTitle) == ""
Set DefaultOdiTitle = *($(OdiTitleList), 1)
Endif
Debug-Output "NWSUBS.INF: DefaultOdiTitle = "$(DefaultOdiTitle)
read-syms IPXBindDlg$(!STF_LANGUAGE)
ui start "IPXBIND" $(NwLibHandle)
ui pop 1
ifstr(i) $(DLGEVENT) == "BACK"
set AdapterSelected = ""
else
Set AdapterSelected = *($(DefaultOdiTitle), 1)
endif
Debug-Output "NWSUBS.INF: AdapterSelected = "$(AdapterSelected)
Ifstr(i) $(AdapterSelected) == ""
Debug-Output "NWSUBS.INF: Cancel Selected"
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Set NtAdapterNumber = *($(OdiNtNumberList), 1)
Else
Set CardToBindTo = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "CardToBindTo = "$(CardToBindTo)
Set NtAdapterNumber = *($(OdiNtNumberList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "NtAdapterNumber = "$(NtAdapterNumber)
Set NtAdapterKeyName = $(NetworkCardsKeyName)"\"$(NtAdapterNumber)
OpenRegKey $(!REG_H_LOCAL) "" $(NtAdapterKeyName) $(MAXIMUM_ALLOWED) KeyNtAdapter
Ifstr(i) $(KeyNtAdapter) != ""
GetRegValue $(KeyNtAdapter),"ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
CloseRegKey $(KeyNtAdapter)
; Open the lan man card's service\Parameters.
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyService
ifstr(i) $(KeyService) == ""
Debug-Output "NWSUBS.INF: RemoveAdapter, Can't open "$(ServiceName)
Else
; Get the OdiLoad link.
;
GetRegValue $(KeyService) $(OdiLinkName) CardInstanceList
Set TmpCardInstanceName = *($(CardInstanceList), 4)
CloseRegKey $(KeyService)
OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName)"\"$(TmpCardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
Ifstr(i) $(KeyOdiCard) != ""
GetRegValue $(KeyOdiCard) "BoardInstance" BoardInstanceList
Set CardInstance = *($(BoardInstanceList), 4)
Debug-Output "Selected CardInstance = "$(CardInstance)
CloseRegKey $(KeyOdiCard)
Endif
Endif
Else
Debug-Output "Can't open "$(NtAdapterKeyName)
Endif
Endif
Set ReBind = TRUE
Endif
Ifstr(i) $(ReBind) == TRUE
SetRegValue $(KeyIpxParameters) {$(IpxCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(CardInstance)}
SetRegValue $(KeyIpxParameters) {$(IpxCardName),$(NoTitle),$(!REG_VT_SZ),$(CardToBindTo)}
SetRegValue $(KeyIpxParameters) {$(IpxNtCardInstance),$(NoTitle),$(!REG_VT_SZ),$(NtAdapterNumber)}
Shell "" NwSetFrameType $(CardToBindTo) $(NtAdapterNumber) $(NwLibHandle)
Set GUIResult = $($R0)
Ifstr(i) $(GUIResult) != ""
SetRegValue $(KeyIpxParameters) {"FrameType",$(NoTitle),$(!REG_VT_SZ),$(GUIResult)}
Endif
Endif
FreeLibrary $(NwLibHandle)
Else
Set-sub CardInstance = $(DeletedCardInstance), 1
Debug-Output "NWSUBS.INF: Need to change board instance "$(CardInstance)
SetRegValue $(KeyIpxParameters) {$(IpxCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(CardInstance)}
SetRegValue $(KeyIpxParameters) {$(IpxNtCardInstance),$(NoTitle),$(!REG_VT_SZ),$(NtAdapterNumber)}
Endif
Else
Debug-Output "NWSUBS.INF: Ipx NOT bound to a card with this name : "$(CardBaseName)
Endif
CloseRegKey $(KeyIpxParameters)
Endif
; Find the ODINSUPXX service name
;
OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
Ifstr(i) $(NetCardsKey) != ""
EnumRegKey $(NetCardsKey) NetCardsList
Debug-Output "NetCardsList = "$(NetCardsList)
ForListDo $(NetCardsList)
Set CardNumber = *($($), 1)
Debug-Output "CardNumber = "$(CardNumber)
OpenRegKey $(NetCardsKey) "" $(CardNumber) $(MAXIMUM_ALLOWED) KeyCardNumber
Ifstr(i) $(KeyCardNumber) != ""
GetRegValue $(KeyCardNumber), "ProductName", ProductNameList
Set ProductName = *($(ProductNameList), 4)
Debug-Output "ProductName = "$(ProductName)
Ifstr(i) $(ProductName) == "ODINSUP"
GetRegValue $(KeyCardNumber), "ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyOdiNSupParameters
Endif
CloseRegKey $(KeyCardNumber)
Endif
EndForListDo
CloseRegKey $(NetCardsKey)
Endif
;
; Check to see if ODINSUP was bound too this card.
;
; OpenRegKey $(!REG_H_LOCAL) "" $(OdiNSupParameters) $(MAXIMUM_ALLOWED) KeyOdiNSupParameters
Ifstr(i) $(KeyOdiNSupParameters) != ""
GetRegValue $(KeyOdiNSupParameters) $(OdiNSupCardName) TmpCardList
Set CurOdiNSupCardName = *($(TmpCardList), 4)
Debug-Output "NWSUBS.INF: CurOdiNSupCardName = "$(CurOdiNSupCardName)
GetRegValue $(KeyOdiNSupParameters) $(OdiNSupCardInstance) TmpInstanceList
Set CurOdiNSupCardInstance = *($(TmpInstanceList), 4)
Debug-Output "NWSUBS.INF: CurOdiNSupCardInstance = "$(CurOdiNSupCardInstance)
; Get the base name of the ODI Module being removed.
;
Split-String $(CardInstanceName) " " CardInstanceValues
Set CardBaseName = *($(CardInstanceValues), 1)
Debug-Output "NWSUBS.INF: CardBaseName = "$(CardBaseName)
Ifstr(i) $(CardBaseName) == $(CurOdiNSupCardName)
Debug-Output "NWSUBS.INF: ODINSUP bound to a card with the same name: "$(CardBaseName)
Ifint $(DeletedCardInstance) < $(CurOdiNSupCardInstance)
Debug-Output "NWSUBS.INF: Existing Board Instance Okay"
Else-Ifint $(DeletedCardInstance) == $(CurOdiNSupCardInstance)
Debug-Output "NWSUBS.INF: The board ODINSUP was bound to has been removed."
Shell $(NwSubsInf) GetOdiAdapterList
Set OdiTitleList = $($R0)
Set OdiCardList = $($R1)
Set OdiNtNumberList = $($R2)
Set NumberOdiAdapters = $($R3)
Debug-Output "NWSUBS.INF: OdiTitleList = "$(OdiTitleList)
Debug-Output "NWSUBS.INF: OdiCardList = "$(OdiCardList)
Debug-Output "NWSUBS.INF: R2 = "$($R2)
Debug-Output "NWSUBS.INF: NumberOdiAdapters = "$(NumberOdiAdapters)
Set CardInstance = $(DeletedCardInstance)
Set ReBind = FALSE
Ifint $(NumberOdiAdapters) < 1
Debug-Output "NWSUBS.INF: No ODI Adapters Installed."
Else-Ifint $(NumberOdiAdapters) == 1
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Debug-Output "NWSUBS.INF: Only one ODI Adapter Installed "$(CardToBindTo)
Set ReBind = TRUE;
Else
;
; More than one ODI adapter is installed so allow
; the user to select which one to bind to.
;
Shell "" GetLanguageDir
Set NLSDirName = $($R0)
Shell "" GetNTVersion
Set NTMajorVersion = $($R0)
LoadLibrary $(LoadDisk3Text) $(!STF_WINDOWSSYSPATH)"\nwsetup.dll" NwLibHandle
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\setupnw.hlp" $(!MinimumID) $(!MaximumID)
Ifstr(i) $(OdiCurBindCardName) != ""
Debug-Output "NWSUBS.INF: OdiCurBindCardName = "$(OdiCurBindCardName)
Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiCardList), $(OdiCurBindCardName)))
Endif
Ifstr(i) $(DefaultOdiTitle) == ""
Set DefaultOdiTitle = *($(OdiTitleList), 1)
Endif
Debug-Output "NWSUBS.INF: DefaultOdiTitle = "$(DefaultOdiTitle)
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 "NWSUBS.INF: AdapterSelected = "$(AdapterSelected)
Ifstr(i) $(AdapterSelected) == ""
Debug-Output "NWSUBS.INF: Cancel Selected"
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Else
Set CardToBindTo = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "CardToBindTo = "$(CardToBindTo)
Set NtAdapterNumber = *($(OdiNtNumberList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "NtAdapterNumber = "$(NtAdapterNumber)
Set NtAdapterKeyName = $(NetworkCardsKeyName)"\"$(NtAdapterNumber)
OpenRegKey $(!REG_H_LOCAL) "" $(NtAdapterKeyName) $(MAXIMUM_ALLOWED) KeyNtAdapter
Ifstr(i) $(KeyNtAdapter) != ""
GetRegValue $(KeyNtAdapter),"ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
CloseRegKey $(KeyNtAdapter)
; Open the lan man card's service\Parameters.
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyService
ifstr(i) $(KeyService) == ""
Debug-Output "NWSUBS.INF: RemoveAdapter, Can't open "$(ServiceName)
Else
; Get the OdiLoad link.
;
GetRegValue $(KeyService) $(OdiLinkName) CardInstanceList
Set TmpCardInstanceName = *($(CardInstanceList), 4)
CloseRegKey $(KeyService)
OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName)"\"$(TmpCardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
Ifstr(i) $(KeyOdiCard) != ""
GetRegValue $(KeyOdiCard) "BoardInstance" BoardInstanceList
Set CardInstance = *($(BoardInstanceList), 4)
Debug-Output "Selected CardInstance = "$(CardInstance)
CloseRegKey $(KeyOdiCard)
Endif
Endif
Else
Debug-Output "Can't open "$(NtAdapterKeyName)
Endif
Endif
FreeLibrary $(NwLibHandle)
Set ReBind = TRUE
Endif
Ifstr(i) $(ReBind) == TRUE
SetRegValue $(KeyOdiNSupParameters) {$(OdiNSupCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(CardInstance)}
SetRegValue $(KeyOdiNSupParameters) {$(OdiNSupCardName),$(NoTitle),$(!REG_VT_SZ),$(CardToBindTo)}
Endif
Else
Set-sub CardInstance = $(DeletedCardInstance), 1
Debug-Output "NWSUBS.INF: Need to change board instance "$(CardInstance)
SetRegValue $(KeyOdiNSupParameters) {$(OdiNSupCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(CardInstance)}
Endif
Else
Debug-Output "NWSUBS.INF: Ipx NOT bound to a card with this name : "$(CardBaseName)
Endif
CloseRegKey $(KeyOdiNSupParameters)
Endif
FlushRegKey $(KeyOdiModules)
CloseRegKey $(KeyOdiModules)
Endif
Endif
Endif
Exit_RemoveAdapter = +
Debug-Output "NWSUBS.INF: ------------------------------------------------------"
return $(Result)
; ===================================================================================
;
; Add an Odi Load Module and set its Parameters.
;
; ===================================================================================
[NwAddOdiLoadModule]
read-syms NwBaseVars
read-syms IpxVars
read-syms OdiVars
Set CardInstanceName = $($0)
Set AdapterNumber = $($1)
Set OdiParmList = $($2)
Set Result = "NO_ERROR"
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(DriverName) $(MAXIMUM_ALLOWED) KeyOdiLoad
Ifstr $(KeyOdiLoad) == $(KeyNull)
set Result = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "NWSUBS.INF: Cannot open service "$(DriverName)
goto Exit_AddOdiLoadModule
Endif
Set KeyOdiCard = $(KeyNull)
Debug-Output "NWSUBS.INF: CardInstanceName = "$(CardInstanceName)
;
; Try to create Odi_Modules registry key. If this fails try to open the key.
; If this fails exit.
;
CreateRegKey $(KeyOdiLoad) {$(OdiModules),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyOdiModules
Ifstr(i) $(KeyOdiModules) == $(KeyNull)
OpenRegKey $(KeyOdiLoad) "" $(OdiModules) $(MAXIMUM_ALLOWED) KeyOdiModules
Ifstr(i) $(KeyOdiLoad) == $(KeyNull)
set Result = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "Cannot find "$(DriverName)"\"$(OdiModules)
CloseRegKey $(KeyOdiLoad)
goto Exit_AddOdiLoadModule
Endif
Endif
Ifstr(i) $(AdapterNumber) != ""
; This adapter was just installed; allow creation of the #nn key
CreateRegKey $(KeyOdiModules) {$(CardInstanceName),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyOdiCard
Endif
Ifstr(i) $(KeyOdiCard) == $(KeyNull)
;
; This is either an old card, or a prior version of the key existed.
;
OpenRegKey $(KeyOdiModules) "" $(CardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
Ifstr(i) $(KeyOdiCard) == $(KeyNull)
Set Result = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "NWSUBS.INF: Can't Open "$(CardInstanceName)
CloseRegKey $(KeyOdiLoad)
CloseRegKey $(KeyOdiModules)
goto Exit_AddOdiLoadModule
Endif
Endif
SetRegValue $(KeyOdiCard) {"Parameters",$(NoTitle),$(!REG_VT_MULTI_SZ),$(OdiParmList)}
FlushRegKey $(KeyOdiCard)
;
; flush the Odi_Modules key so that the card we just added will show up in the enum
;
FlushRegKey $(KeyOdiModules)
FlushRegKey $(KeyOdiLoad)
Shell "" NwSetCardInstance $(KeyOdiLoad) $(KeyOdiModules) $(KeyOdiCard) $(CardInstanceName)
Set Result = $($R0)
CloseRegKey $(KeyOdiCard)
CloseRegKey $(KeyOdiModules)
FlushRegKey $(KeyOdiLoad)
CloseRegKey $(KeyOdiLoad)
Ifstr(i) $(Result) != NO_ERROR
Debug-Output "NWSUBS.INF: SetCardInstance "$(Result)
goto Exit_AddOdiLoadModule
Endif
Set OdiCardInstance = $($R1)
Debug-Output "OdiCardInstance = "$(OdiCardInstance)
;
; Update the card name and card instance in IpxSpx to be the last card installed
;
; Shell "" NwSetIpxCard $(CardInstanceName) $(OdiCardInstance)
;
; Set Result = $($R0)
; Ifstr(i) $(Result) != NO_ERROR
; Debug-Output "NWSUBS.INF: NwSetIpxCard "$(Result)
; goto Exit_AddOdiLoadModule
; Endif
Exit_AddOdiLoadModule = +
return $(Result)
;
; Remove the Nt Adapter Info.
;
;
[NwRemoveNtAdapter]
read-syms NwBaseVars
read-syms IpxVars
read-syms OdiVars
Set ProductKeyName = $($0)
Set Manufacturer = $($1)
Set NetCardName = $($2)
Ifstr(i) $(NetCardName) == ""
set NetCardName = $(!NTN_RegBase)
Endif
Debug-Output "NWSUBS.INF: NwRemoveNtAdapter, NTN_RegBase = "$(!NTN_RegBase)
Debug-Output "NWSUBS.INF: ProductKeyName = "$(ProductKeyName)
Debug-Output "NWSUBS.INF: Manufacturer = "$(Manufacturer)
Debug-Output "NWSUBS.INF: NetCardName = "$(NetCardName)
; ===================================================================================
;
; Increment the OdiLoad reference count so OdiLoad is not removed as a
; service.
;
; ===================================================================================
Shell $(UtilityInf), IncrementRefCount, $(ProductKeyName) $(Manufacturer)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "NWSUBS.INF: IncrementRefCount ShellCode error "$($ShellCode)
Set Result = "SHELL_CODE_ERROR"
goto Exit_RemoveNtAdapter
Endif
set Result = $($R0)
; Ifstr(i) $(Result) != NO_ERROR
; Debug-Output "NWSUBS.INF: IncrementRefCount "$(ProductKeyName)": "$(Result)
; goto Exit_RemoveNtAdapter
; Endif
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(DriverName), $(NetCardName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "NWSUBS.INF: RemoveHardwareComponent ShellCode error "$($ShellCode)
Set Result = "SHELL_CODE_ERROR"
goto Exit_RemoveNtAdapter
endif
set Result = $($R0)
Ifstr(i) $(Result) != NO_ERROR
Debug-Output "NWSUBS.INF: RemoveHardwareComponent "$(Result)
Shell "" ReallyRemoveHardwareComponent $(Manufacturer), +
$(DriverName), $(!NTN_RegBase)
endif
; Decrement the reference count so OdiLoad can be removed when all the
; ODI adapters have been removed.
;
Shell $(UtilityInf), DecrementRefCount, $(ProductKeyName)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "NWSUBS.INF: DecrementRefCount ShellCode error "$($ShellCode)
Set Result = "SHELL_CODE_ERROR"
goto Exit_RemoveNtAdapter
Endif
set Result = $($R0)
; Ifstr(i) $(Result) != NO_ERROR
; Debug-Output "NWSUBS.INF: DecrementRefCount "$(Result)
; goto Exit_RemoveNtAdapter
; Endif
Exit_RemoveNtAdapter = +
return $(Result)
;
; Select the card Ipx is bound to.
;
;
[NwSelectIpxCard]
Set OdiCardName = $($0)
Set OdiCardInstance = $($1)
Set AlwaysPromptUser = $($2)
Debug-Output "OdiCardName "$(OdiCardName)
Debug-Output "OdiCardInstance "$(OdiCardInstance)
Debug-Output "AlwaysPromptUser "$(AlwaysPromptUser)
read-syms NwBaseVars
read-syms IpxVars
read-syms OdiVars
read-syms OdiNSupVars
read-syms InstallOption$(!STF_LANGUAGE)
Set Result = NO_ERROR
Shell $(NwSubsInf) GetOdiAdapterList
Set OdiTitleList = $($R0)
Set OdiCardList = $($R1)
Set OdiNtNumberList = $($R2)
Set NumberOdiAdapters = $($R3)
Set DoDialog = FALSE;
Ifint $(NumberOdiAdapters) > 1
Set DoDialog = TRUE
Endif
Ifstr(i) $(AlwaysPromptUser) == TRUE
Set DoDialog = TRUE
Endif
Ifstr(i) $(DoDialog) == TRUE
;
; More than one ODI adapter is installed so allow
; the user to select which one to bind to.
;
Shell "" GetLanguageDir
Set NLSDirName = $($R0)
Shell "" GetNTVersion
Set NTMajorVersion = $($R0)
LoadLibrary $(LoadDisk3Text) $(!STF_WINDOWSSYSPATH)"\nwsetup.dll" NwLibHandle
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\setupnw.hlp" $(!MinimumID) $(!MaximumID)
Ifstr(i) $(OdiCardName) == ""
OpenRegKey $(!REG_H_LOCAL) "" $(IpxParameters) $(MAXIMUM_ALLOWED) KeyIpxParameters
Ifstr(i) $(KeyIpxParameters) != ""
GetRegValue $(KeyIpxParameters) $(IpxCardName) TmpCardList
Set OdiCardName = *($(TmpCardList), 4)
GetRegValue $(KeyIpxParameters) $(IpxCardInstance) TmpInstanceList
Set OdiCardInstance = *($(TmpInstanceList), 4)
GetRegValue $(KeyIpxParameters) $(IpxNtCardInstance) TmpNtInstanceList
Set NtAdapterNumber = *($(TmpNtInstanceList), 4)
Debug-Output "Ipx Currently bound too "$(OdiCardName)
Debug-Output " "$(OdiCardInstance)
Debug-Output "Nt Card Instance "$(NtAdapterNumber)
Debug-Output $(OdiTitleList)
Debug-Output $(OdiCardList)
Debug-Output $(OdiNtNumberList)
CloseRegKey $(KeyIpxParameters)
Endif
Endif
Ifstr(i) $(NtAdapterNumber) != ""
Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiNtNumberList), $(NtAdapterNumber)))
Endif
Ifstr(i) $(DefaultOdiTitle) == ""
Set DefaultOdiTitle = *($(OdiTitleList), 1)
Endif
Debug-Output "NWSUBS.INF: NwSelectIpxCard DefaultOdiTitle = "$(DefaultOdiTitle)
read-syms IPXBindDlg$(!STF_LANGUAGE)
ui start "IPXBIND" $(NwLibHandle)
ui pop 1
ifstr(i) $(DLGEVENT) == "BACK"
set AdapterSelected = ""
else
Set AdapterSelected = *($(DefaultOdiTitle), 1)
endif
Debug-Output "NWSUBS.INF: AdapterSelected = "$(AdapterSelected)
Ifstr(i) $(AdapterSelected) == ""
Debug-Output "NWSUBS.INF: Cancel Selected"
Set CardToBindTo = *($(OdiCardList), 1)
Set CardInstance = 1
Else
Set CardToBindTo = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "CardToBindTo = "$(CardToBindTo)
Set NtAdapterNumber = *($(OdiNtNumberList), ~($(OdiTitleList), $(AdapterSelected)))
Debug-Output "3: NtAdapterNumber = "$(NtAdapterNumber)
Set NtAdapterKeyName = $(NetworkCardsKeyName)"\"$(NtAdapterNumber)
OpenRegKey $(!REG_H_LOCAL) "" $(NtAdapterKeyName) $(MAXIMUM_ALLOWED) KeyNtAdapter
Ifstr(i) $(KeyNtAdapter) != ""
GetRegValue $(KeyNtAdapter),"ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
CloseRegKey $(KeyNtAdapter)
; Open the lan man card's service\Parameters.
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyService
Ifstr(i) $(KeyService) == ""
Debug-Output "NWSUBS.INF: NwSelectIpxCard, Can't open "$(ServiceName)
Else
; Get the OdiLoad link.
;
GetRegValue $(KeyService) $(OdiLinkName) CardInstanceList
Set CardInstanceName = *($(CardInstanceList), 4)
CloseRegKey $(KeyService)
OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName)"\"$(CardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
Ifstr(i) $(KeyOdiCard) != ""
GetRegValue $(KeyOdiCard) "BoardInstance" BoardInstanceList
Set CardInstance = *($(BoardInstanceList), 4)
Debug-Output "3: Selected CardInstance = "$(CardInstance)
CloseRegKey $(KeyOdiCard)
Endif
Endif
Else
Debug-Output "Can't open "$(NtAdapterKeyName)
Endif
Endif
Else
Debug-Output "SelectIpxCard OdiCardList = "$(OdiCardList)
Split-String $(OdiCardName) " " CardNameParts
Set CardToBindTo = *($(CardNameParts),1)
Endif
OpenRegKey $(!REG_H_LOCAL) "" $(IpxParameters) $(MAXIMUM_ALLOWED) KeyIpxParameters
Ifstr(i) $(KeyIpxParameters) == ""
Set Result = "Can't open IpxSpx service."
Debug-Output "NWSUBS.INF: "$(Result)
Else
SetRegValue $(KeyIpxParameters) {$(IpxCardName),$(NoTitle),$(!REG_VT_SZ),$(CardToBindTo)}
Ifstr(i) $(OdiCardInstance) == ""
Debug-Output "NWSUBS.INF: NwSelectIpxCard, OdiCardInstance set to default."
Set OdiCardInstance = "1"
Endif
SetRegValue $(KeyIpxParameters) {$(IpxCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(OdiCardInstance)}
SetRegValue $(KeyIpxParameters) {$(IpxNtCardInstance),$(NoTitle),$(!REG_VT_SZ),$(NtAdapterNumber)}
Shell "" NwSetFrameType $(CardToBindTo) $(NtAdapterNumber) $(NwLibHandle)
Set GUIResult = $($R0)
Ifstr(i) $(GUIResult) != ""
SetRegValue $(KeyIpxParameters) {"FrameType",$(NoTitle),$(!REG_VT_SZ),$(GUIResult)}
Endif
CloseRegKey $(KeyIpxParameters)
Endif
return $(Result)
[ReallyRemoveHardwareComponent]
read-syms NwBaseVars
Set Result = "NO_ERROR"
Set Manufacturer = $($0)
Set DriverName = $($1)
Set AdapterName = $($2)
set DriverKey = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(DriverName)"\CurrentVersion"
Split-String $(AdapterName), "\", AdapterPathList
Set AdapterNumber = *($(AdapterPathList),11)
Set NetCardsBase = *($(AdapterPathList),1)*($(AdapterPathList),2)*($(AdapterPathList),3)*($(AdapterPathList),4)*($(AdapterPathList),5)*($(AdapterPathList),6)*($(AdapterPathList),7)*($(AdapterPathList),8)*($(AdapterPathList),9)
OpenRegKey $(!REG_H_LOCAL) "" $(NetCardsBase) $(MAXIMUM_ALLOWED) NetCardsKey
Ifstr $(NetCardsKey) == ""
Set Result = "Can't Open "$(NetCardsBase)
Debug-Output "NWSUBS.INF: "$(Result)
goto ReallyRemoveHardwareComponent_Return
Endif
OpenRegKey $(NetCardsKey) "" $(AdapterNumber) $(MAXIMUM_ALLOWED) AdapterNumberKey
Ifstr $(AdapterNumberKey) == ""
Set Result = "Can't Open "$(AdapterNumber)
Debug-Output "NWSUBS.INF: "$(Result)
goto ReallyRemoveHardwareComponent_Return
endif
GetRegValue $(AdapterNumberKey),"ServiceName", ServiceNameList
Set ServiceName = *($(ServiceNameList), 4)
CloseRegKey $(AdapterNumberKey)
DeleteRegTree $(NetCardKey) $(AdapterNumber)
CloseRegKey $(NetCardsKey)
Shell $(UtilityInf), RemoveService, $(ServiceName), "NO"
debug-output "remove netbios information..."
LibraryProcedure Result, $(!NCPA_HANDLE), RemoveRouteFromNETBIOS, $(ServiceName)
ReallyRemoveHardwareComponent_Return = +
return $(Result)
[ProgressCopyENG]
!p:ProCaption = "NetWare for Windows NT Setup"
!p:ProCancel = "Cancel"
!p:ProCancelMsg = "NetWare for Windows NT is not correctly installed. Are you sure you want "+
"to cancel copying files?"
!p:ProCancelCap = "Setup Message"
!p:ProText1 = "Copying:"
!p:ProText2 = "To:"
!p:Error = "Unable to determine proper source disk location; copy cannot be performed."
[DoAskSource]
read-syms DoAskSource$(!STF_LANGUAGE)
Set DAS_CWDDIR = $($0)
Set DAS_SRCDIR = $($1)
Set DAS_BUILTIN = $($2)
Set DAS_Result = STATUS_FAILED
Ifstr(i) $(!STF_SRCDIR_OVERRIDE) != ""
Set DAS_SRCDIR = $(!STF_SRCDIR_OVERRIDE)
Set DAS_Result = STATUS_SUCCESSFUL
Goto DAS_exit
Endif
Ifstr(i) $(DAS_BUILTIN) == YES
Ifstr(i) $(!NTN_InstallPhase) == primary
Ifstr(i) $(!STF_SRCDIR_WINNT) != ""
Set DAS_SRCDIR = $(!STF_SRCDIR_WINNT)
Endif
Set DAS_Result = STATUS_SUCCESSFUL
Goto DAS_exit
Endif
Endif
Debug-Output "NWSUBS.INF: [DoAskSource] STF_CWDDIR = "$(DAS_CWDDIR)" STF_SRCDIR = "$(DAS_SRCDIR)
Ifstr(i) $(DAS_SRCDIR) == ""
Set DAS_SRCDIR = "A:\"
Endif
Ifstr(i) $(DAS_SRCDIR) == $(!STF_SRCDIR_USED)
Set DAS_SRCDIR = $(!STF_SRCDIR_KEYED)
Endif
Shell "subroutn.inf" DoAskSourceEx $(DAS_SRCDIR) $(NetWareDlgText)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "UTILITY.INF: shelling SUBROUTN.INF [DoAskSource] failed"
goto DAS_exit
endif
Set DAS_Result = $($R0)
Set DAS_SRCDIR = $($R1)
Set !STF_SRCDIR_USED = $($R1)
Set !STF_SRCDIR_KEYED = $($R3)
DAS_exit =+
Read-syms ProgressCopy$(!STF_LANGUAGE)
Return $(DAS_Result) $(DAS_SRCDIR)
[DoAskLANSource]
read-syms DoAskSource$(!STF_LANGUAGE)
Set DAS_CWDDIR = $($0)
Set DAS_SRCDIR = $($1)
Debug-Output "DAS_CWDDIR = "$(DAS_CWDDIR)
Debug-Output "DAS_SRCDIR = "$(DAS_SRCDIR)
Debug-Output "STF_SRCDIR_USED = "$(!STF_SRCDIR_USED)
Debug-Output "STF_SRCDIR_KEYED = "$(!STF_SRCDIR_KEYED)
Set DAS_BUILTIN = $($2)
Set DAS_Result = STATUS_FAILED
Debug-Output "NWSUBS.INF: [DoAskLANSource] STF_CWDDIR = "$(DAS_CWDDIR)" STF_SRCDIR = "$(DAS_SRCDIR)
Ifstr(i) $(DAS_SRCDIR) == ""
Set DAS_SRCDIR = "A:\"
Endif
Ifstr(i) $(DAS_SRCDIR) == $(!STF_SRCDIR_USED)
Set DAS_SRCDIR = $(!STF_SRCDIR_KEYED)
Endif
Shell "subroutn.inf" DoAskSourceEx $(DAS_SRCDIR) $(NetWareLANDlgText)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "UTILITY.INF: shelling SUBROUTN.INF [DoAskLANSource] failed"
goto DAS_exit
endif
Set DAS_Result = $($R0)
Set DAS_SRCDIR = $($R1)
Set !STF_SRCDIR_USED = $($R1)
Set !STF_SRCDIR_KEYED = $($R3)
DAS_exit =+
Read-syms ProgressCopy$(!STF_LANGUAGE)
Return $(DAS_Result) $(DAS_SRCDIR)
; ===========================================================================
; NwSetFrameType
; Set the frame type for a loaded ODI adapter from the list of frames loaded
; by OdiLoad.
;
; INPUT:
; $($0) Base name of card to set to frame type for (ie NE2000).
; $($1) NT card instance (ie 01).
; $($2) Open handle to nwsubs or "" and I'll open it.
;
; OUTPUT:
; $($R0) Frame Selected or ""
;
; ===========================================================================
[NwSetFrameType]
read-syms NwBaseVars
read-syms IpxVars
read-syms OdiVars
read-syms OdiNSupVars
read-syms InstallOption$(!STF_LANGUAGE)
Set CardToBindTo = $($0)
Set NtAdapterNumber = $($1)
Set NwLibHandle = $($2)
Set CloseLibrary = FALSE
Ifstr(i) $(NwLibHandle) == ""
Shell "" GetLanguageDir
Set NLSDirName = $($R0)
Shell "" GetNTVersion
Set NTMajorVersion = $($R0)
LoadLibrary $(LoadDisk3Text) $(!STF_WINDOWSSYSPATH)"\nwsetup.dll" NwLibHandle
SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\setupnw.hlp" $(!MinimumID) $(!MaximumID)
Set CloseLibrary = TRUE
Endif
Debug-Output "CardToBindTo = "$(CardToBindTo)
Set-add TempAdapterNumber = $(NtAdapterNumber),0
Set OdiLoadModuleName = $(CardToBindTo)" #"$(TempAdapterNumber)
Debug-Output "OdiLoadModuleName = "$(OdiLoadModuleName)
; Set the frame type
;
Set OdiParmList = {}
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\OdiLoad\ODI_Modules\"$(OdiLoadModuleName) $(MAXIMUM_ALLOWED) KeyOdiModule
Ifstr(i) $(KeyOdiModule) != ""
GetRegValue $(KeyOdiModule), "Parameters", OdiParmInfo
Set OdiParmList = *($(OdiParmInfo), 4)
Debug-Output "OdiParmList = "$(OdiParmList)
CloseRegKey $(KeyOdiModule)
Endif
Set FrameList = "AUTO DETECT"
set ProtocolID = ""
set FrameListDefault = ""
ForListDo $(OdiParmList)
Set Item = $($)
Split-String $(Item) " " ParmParts
Set ParmName = *($(ParmParts), 1)
Ifstr(i) $(ParmName) == "Frame"
Set ParmData = *($(ParmParts), 3)
ifstr $(FrameList) == ""
Set FrameList = {$(ParmData)}
else
Set FrameList = >($(FrameList), $(ParmData))
endif
Endif
EndForListDo
set StandardFrameList = $(FrameList)
OpenRegKey $(!REG_H_LOCAL) "" $(IpxParameters) $(MAXIMUM_ALLOWED) KeyIpxParameters
Ifstr(i) $(KeyIpxParameters) != ""
set CloseIPX = TRUE
set ParameterList = {}
GetRegValue $(KeyIpxParameters) "Protocol Id" ParameterList
ifstr *($(ParameterList), 4) != ""
set ProtocolID = *($(ParameterList), 4)
set ParameterList = {}
GetRegValue $(KeyIpxParameters) "Frame Type" ParameterList
set FrameList = >($(FrameList), *($(ParameterList), 4))
set NewFrameTypeName = *($(ParameterList), 4)
set FrameListDefault = *($(ParameterList), 4)
endif
endif
set FrameList = >($(FrameList), "Other Non-Standard Frame Type")
Debug-Output "FrameList "$(FrameList)
ifstr $(FrameListDefault) == ""
Set FrameListDefault = *($(FrameList), 1)
endif
Debug-Output "FrameListDefault = "$(FrameListDefault)
dotheframedlg =+
read-syms IPXDlg$(!STF_LANGUAGE)
ui start "Framelist" $(NwLibHandle)
ifstr(i) $(DLGEVENT) == "CONTINUE"
set GUIResult = *($(ComboOut), 1)
Debug-Output "OK hit"
ifcontains(i) $(GUIResult) IN $(StandardFrameList)
DeleteRegValue $(KeyIpxParameters) "Protocol Id"
else-ifstr(i) $(GUIResult) == "Other Non-Standard Frame Type"
read-syms NewFrameTypeDlg$(!STF_LANGUAGE)
ui start "NewFrameType" $(NwLibHandle)
ui pop 1
ifstr(i) $(DLGEVENT) == "CONTINUE"
Debug-Output "OK hit"
set GUIResult = *($(EditTextOut), 1)
set ProtocolID = *($(EditTextOut), 2)
set KeyValueList = {"Protocol Id",$(NoTitle),$(!REG_VT_DWORD),$(ProtocolID)}
SetRegValue $(KeyIpxParameters) $(KeyValueList)
else-ifstr(i) $(DLGEVENT) == "BACK"
Debug-Output "Action: CANCEL"
goto dotheframedlg
endif
endif
else-ifstr(i) $(DLGEVENT) == "BACK"
;
; if you hit DEFAULT, you get the default frame which is the first item in the list
;
set GUIResult = *($(StandardFrameList), 1)
DeleteRegValue $(KeyIpxParameters) "Protocol Id"
endif
ui pop 1
Ifstr(i) $(CloseIPX) == TRUE
CloseRegKey $(KeyIpxParameters)
Endif
Ifstr(i) $(CloseLibrary) == TRUE
FreeLibrary $(NwLibHandle)
Endif
Debug-Output "Returning GUIResult = "$(GUIResult)
Return $(GUIResult)
; ===========================================================================
; NwGetNICBusInfo
; Get Information about the BUS. If there is only one BUS present then
; the information will be returned without any user intervention. If there
; are more than one BUS, the user will need to select the BUS where the NIC
; will be installed.
;
; INPUT:
; $($0) Network Card Adapter Registry Name (Card type and instance i.e. NE2000)
; $($1) Bus Interface Type
; $($2) Bus Number
;
; OUTPUT:
; $($R0) Return Status
; $($R1) BusNumber
; $($R2) BusTypeName
; $($R3) BusInterfaceType (ID)
;
; ===========================================================================
[NwGetNICBusInfo]
set CardInstanceName = $($0)
set BusInterfaceType = $($1)
set BusNumber = $($2)
set BusTypeName = ""
Shell "UTILITY.INF", GetBusTypeDialog, $(CardInstanceName), $(BusInterfaceType), $(BusNumber)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNADNH.INF: GetBusTypeDialog ShellCode error "$($ShellCode)
goto NwGetNICBusInfoERROR
else
set BusInterfaceType = $($R1)
set BusNumber = $($R2)
;This next section should be redone as a list and internationalized
;==================================================================
ifint $(BusInterfaceType) == 0
set BusTypeName = "Internal"
else-ifint $(BusInterfaceType) == 1
set BusTypeName = "ISA"
else-ifint $(BusInterfaceType) == 2
set BusTypeName = "EISA"
else-ifint $(BusInterfaceType) == 3
set BusTypeName = "MicroChannel"
else-ifint $(BusInterfaceType) == 4
set BusTypeName = "TurboChannel"
else-ifint $(BusInterfaceType) == 5
set BusTypeName = "PCIBus"
else-ifint $(BusInterfaceType) == 6
set BusTypeName = "VMEBus"
else-ifint $(BusInterfaceType) == 7
set BusTypeName = "NuBus"
else-ifint $(BusInterfaceType) == 8
set BusTypeName = "PCMCIABus"
else-ifint $(BusInterfaceType) == 9
set BusTypeName = "CBus"
else-ifint $(BusInterfaceType) == 10
set BusTypeName = "MPIBus"
else-ifint $(BusInterfaceType) == 11
set BusTypeName = "MPSABus"
else
set BusTypeName = "***ERROR:Illegal Bus Type***"
endif
endif
NwGetNICBusInfoERROR = +
Return $(ShellCode) $(BusNumber) $(BusTypeName) $(BusInterfaceType)
;
;
; ===================================================================================
;
; GetTotalAdapterList
; ===================================================================================
;
; Section to create a list of all installed ODI and NDIS adapters. Used by OEMSETUP bindings.
;
; INPUT:
; NONE
;
; OUTPUT:
; $($R0) List of installed ODI adapter names.
; $($R1) List of installed ODI adapter titles.
; $($R2) List of installed ODI adapter card numbers.
; $($R3) Number of installed ODI adapters.
; $($R4) List of installed NDIS adapter names.
; $($R5) List of installed NDIS adapter titles.
; $($R6) List of installed NDIS adapter card numbers.
; $($R7) Number of installed NDIS adapters.
; $($R8) Adapter card number of ODINSUP or "" if not loaded
;
; ===================================================================================
[GetTotalAdapterList]
;
; In this section we will create a list of all installed adapters.
;
read-syms NwBaseVars
read-syms OdiVars
Debug-Output " "
Debug-Output "NWSUBS.INF: Entering function GetTotalAdapterList"
Debug-Output " "
Set OdiCardNumList = {}
Set OdiTitleList = {}
Set OdiCardList = {}
Set NdisCardNumList = {}
Set NdisTitleList = {}
Set NdisCardList = {}
Set NumberNdisAdapters = 0
Set ODINSUPCardNumber = ""
Set NetWareIPCardNumList = {}
Set NWCMDCardNumList = {}
Set IsHidden = ""
set OdiAdapter = ""
Set NumberOdiAdapters = 0
Set NumberNetWareIPAdapters = 0
Set NumberNWCMDAdapters = 0
OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
Ifstr(i) $(NetCardsKey) == ""
Debug-Output "NWSUBS.INF: Can't Open Registry key "$(NetworkCardsKeyName)
set CommonStatus = STATUS_USERCANCEL
Else
FlushRegKey $(NetCardsKey)
;
; Get a list of all installed network cards
;
EnumRegKey $(NetCardsKey) NetCardsList
ForListDo $(NetCardsList)
Set CardNumber = *($($), 1)
OpenRegKey $(NetCardsKey) "" $(CardNumber) $(MAXIMUM_ALLOWED) CardKey
Ifstr(i) $(CardKey) == ""
Debug-Output "NWSUBS.INF: Can't open adapter "$(Card)
Else
GetRegValue $(CardKey) "Title" TitleValues
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set CardTitle = *($(TitleValues), 4)
Else
Set CardTitle = ""
Endif
GetRegValue $(CardKey) "ProductName" NameValues
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set CardName = *($(NameValues), 4)
Else
Set CardName = ""
Endif
GetRegValue $(CardKey) "Hidden" HiddenValues
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set IsHidden = *($(HiddenValues), 4)
Else
Set IsHidden = ""
Endif
GetRegValue $(CardKey) "OdiAdapter" OdiValueList
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set OdiAdapter = *($(OdiValueList), 4)
Else
set OdiAdapter = ""
Endif
Ifstr(i) $(OdiAdapter) == "1"
;
; Must be an ODI Adapter so add it to our lists.
;
Set-add NumberOdiAdapters = $(NumberOdiAdapters), 1
Set OdiCardNumList = >($(OdiCardNumList), $(CardNumber))
Set OdiTitleList = >($(OdiTitleList), $(CardTitle))
Set OdiCardList = >($(OdiCardList), $(CardName))
Else-Ifstr(i) $(CardName) == "ODINSUP"
Set ODINSUPCardNumber = $(CardNumber)
Else-Ifstr(i) $(CardName) == "NetWareIP"
Set-add NumberNetWareIPAdapters = $(NumberNetWareIPAdapters), 1
Set NetWareIPCardNumList = >($(NetWareIPCardNumList), $(CardNumber))
Else-Ifstr(i) $(CardName) == "NWCMD"
Set-add NumberNWCMDAdapters = $(NumberNWCMDAdapters), 1
Set NWCMDCardNumList = >($(NWCMDCardNumList), $(CardNumber))
Else
;
; Must be an NDIS Adapter so add it to our lists if it isn't hidden
;
Ifstr(i) $(IsHidden) != "1"
Set-add NumberNdisAdapters = $(NumberNdisAdapters), 1
Set NdisCardNumList = >($(NdisCardNumList), $(CardNumber))
Set NdisTitleList = >($(NdisTitleList), $(CardTitle))
Set NdisCardList = >($(NdisCardList), $(CardName))
Endif
Endif
CloseRegKey $(CardKey)
Endif
EndForListDo
Debug-Output "NWSUBS.INF: OdiCardList = "$(OdiCardList)
Debug-Output "NWSUBS.INF: OdiTitleList = "$(OdiTitleList)
Debug-Output "NWSUBS.INF: OdiCardNumList = "$(OdiCardNumList)
Debug-Output "NWSUBS.INF: NumberOdiAdapters = "$(NumberOdiAdapters)
Debug-Output "NWSUBS.INF: NdisCardList = "$(NdisCardList)
Debug-Output "NWSUBS.INF: NdisTitleList = "$(NdisTitleList)
Debug-Output "NWSUBS.INF: NdisCardNumList = "$(NdisCardNumList)
Debug-Output "NWSUBS.INF: NumberNdisAdapters = "$(NumberNdisAdapters)
Debug-Output "NWSUBS.INF: ODINSUP card number = "$(ODINSUPCardNumber)
Debug-Output "NWSUBS.INF: NetWareIP card number = "$(NetWareIPCardNumList)
Debug-Output "NWSUBS.INF: NumberNetWareIPAdapters = "$(NumberNetWareIPAdapters)
Debug-Output "NWSUBS.INF: NWCMD card number = "$(NWCMDCardNumList)
Debug-Output "NWSUBS.INF: NumberNWCMDAdapters = "$(NumberNWCMDAdapters)
CloseRegKey $(NetCardsKey)
Endif
Debug-Output " "
Debug-Output "NWSUBS.INF: Exiting function GetTotalAdapterList"
Debug-Output " "
return $(OdiCardList) $(OdiTitleList) $(OdiCardNumList) $(NumberOdiAdapters) $(NdisCardList) $(NdisTitleList) $(NdisCardNumList) $(NumberNdisAdapters) $(ODINSUPCardNumber) $(NetWareIPCardNumList) $(NumberNetWareIPAdapters) $(NWCMDCardNumList) $(NumberNWCMDAdapters)
;
;
; ===================================================================================
;
; GetIpxCardList
; ===================================================================================
;
; Section to create a combined list of all installed Odi and Ndis adapters.
; Used by OEMSETUP when configuring IPX.
;
; INPUT:
; NONE
;
; OUTPUT:
; $($R0) List of installed network cards.
; $($R1) List of media type for installed network cards (ie {"ETHERNET","TOKEN-RING",...}).
; $($R2) List of driver type for installed network cards (ie {"ODI","NDIS",...}).
; $($R3) Number of installed network cards.
; $($R4) Product name list.
; $($R5) Service name list.
; $($R6) NetWareIP installed ? (YES/NO)
; $($R7) List of network card numbers.
;
; ===================================================================================
[GetIpxCardList]
;
; In this section we will create a list of all installed network cards.
;
read-syms NwBaseVars
read-syms OdiVars
Debug-Output "NWSUBS.INF: GetIpxCardList"
Set NetworkCardList = {}
Set MediaTypeList = {}
Set DriverTypeList = {}
Set NumberNetworkCards = 0
Set ProductNameList = {}
Set ServiceNameList = {}
Set NetWareIPInstalled = ""
Set CardNumberList = {}
Set IsHidden = ""
set OdiAdapter = ""
; ;
; ; Check if NetWareIP installed
; ;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NetWareIP" $(MAXIMUM_ALLOWED) KeyNetWareIP
Ifstr $(KeyNetWareIP) != $(KeyNull)
GetRegValue $(KeyNetWareIP) "DeleteFlag" DeleteFlagList
Set NetWareIPDeleteFlag = *($(DeleteFlagList), 4)
Debug-Output "NetWareIPDeleteFlag = "$(NetWareIPDeleteFlag)
Ifint $(NetWareIPDeleteFlag) != 1
Set NetWareIPInstalled = YES
Debug-Output "NWSUBS.INF: bindnetware, NetWareIP is installed"
Else
Set NetWareIPInstalled = ""
Debug-Output "NWSUBS.INF: bindnetware, NetWareIP NOT installed"
Endif
CloseRegKey $(KeyNetWareIP)
Endif
ifstr(i) $(NetWareIPInstalled) == YES
set NetworkCardList = {"Novell NetWare/IP Support"}
set MediaTypeList = {"NetWareIP"}
set DriverTypeList = {"ODI"}
set NumberNetworkCards = 1
set ProductNameList = {"NetWareIP"}
set ServiceNameList = {"NetWareIP"}
goto GetIpxCardListEXIT
endif
OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
Ifstr(i) $(NetCardsKey) == ""
Debug-Output "NWSUBS.INF: Can't Open Registry key "$(NetworkCardsKeyName)
set CommonStatus = STATUS_USERCANCEL
Else
FlushRegKey $(NetCardsKey)
;
; Get a list of all installed network cards
;
EnumRegKey $(NetCardsKey) NetCardsList
ForListDo $(NetCardsList)
Set CardNumber = *($($), 1)
OpenRegKey $(NetCardsKey) "" $(CardNumber) $(MAXIMUM_ALLOWED) CardKey
Ifstr(i) $(CardKey) == ""
Debug-Output "NWSUBS.INF: Can't open adapter "$(Card)
Else
GetRegValue $(CardKey) "Title" TitleValues
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set CardTitle = *($(TitleValues), 4)
Else
Set CardTitle = ""
Endif
GetRegValue $(CardKey) "ProductName" NameValues
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set CardName = *($(NameValues), 4)
Else
Set CardName = ""
Endif
GetRegValue $(CardKey) "Hidden" HiddenValues
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set IsHidden = *($(HiddenValues), 4)
Else
Set IsHidden = ""
Endif
GetRegValue $(CardKey) "OdiAdapter" OdiValueList
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set OdiAdapter = *($(OdiValueList), 4)
Else
set OdiAdapter = ""
Endif
GetRegValue $(CardKey) "ServiceName" ValueList
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set ServiceName = *($(ValueList), 4)
Else
set ServiceName = ""
Endif
ifstr(i) $(IsHidden) != "1"
;
; It's not hidden so add it to the lists
;
Set-add NumberNetworkCards = $(NumberNetworkCards), 1
Set NetworkCardList = >($(NetworkCardList), $(CardTitle))
Set ProductNameList = >($(ProductNameList), $(CardName))
Set ServiceNameList = >($(ServiceNameList), $(ServiceName))
Set CardNumberList = >($(CardNumberList), $(CardNumber))
set MediaType = "UNKNOWN"
set ServiceParameters = $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters"
OpenRegKey $(!REG_H_LOCAL) "" $(ServiceParameters) $(MAXIMUM_ALLOWED) ServiceParametersKey
ifstr(i) $(ServiceParametersKey) != ""
GetRegValue $(ServiceParametersKey) "MediaType" ValueList
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set NdisMediaType = *($(ValueList), 4)
ifstr(i) $(NdisMediaType) == "1"
set MediaType = "ETHERNET"
else-ifstr(i) $(NdisMediaType) == "2"
set MediaType = "TOKEN-RING"
else-ifstr(i) $(NdisMediaType) == "4"
set MediaType = "FDDI"
else
Debug-Output "NWSUBS.INF: Unknown media type "$(NdisMediaType)
endif
Endif
CloseRegKey $(ServiceParametersKey)
endif
set MediaTypeList = >($(MediaTypeList), $(MediaType))
Ifstr(i) $(OdiAdapter) == "1"
;
; Must be an ODI Adapter so add ODI to driver type list.
;
Set DriverTypeList = >($(DriverTypeList), "ODI")
Else
;
; Must be an NDIS Adapter so add NDIS to driver type list.
;
Set DriverTypeList = >($(DriverTypeList), "NDIS")
Endif
endif
CloseRegKey $(CardKey)
Endif
EndForListDo
Debug-Output "NWSUBS.INF: NetworkCardList = "$(NetworkCardList)
Debug-Output "NWSUBS.INF: MediaTypeList = "$(MediaTypeList)
Debug-Output "NWSUBS.INF: DriverTypeList = "$(DriverTypeList)
Debug-Output "NWSUBS.INF: NumberNetworkCards = "$(NumberNetworkCards)
CloseRegKey $(NetCardsKey)
Endif
GetIpxCardListEXIT = +
return $(NetworkCardList) $(MediaTypeList) $(DriverTypeList) $(NumberNetworkCards) $(ProductNameList) $(ServiceNameList) $(NetWareIPInstalled) $(CardNumberList)
;
;
; ===================================================================================
;
;
; ===================================================================================
;
; Section to check for needed drivers - ODINSUP
;
; INPUT:
; NONE
;
; OUTPUT:
; NONE
; ===================================================================================
[CheckIfODINSUPIsNeeded]
read-syms NwBaseVars
Debug-Output " "
Debug-Output "NWSUBS.INF: Entering function CheckIfODINSUPIsNeeded"
Debug-Output " "
Shell $(NwSubsInf), GetTotalAdapterList
Set OdiProductNameList = $($R0)
Set OdiTitleList = $($R1)
Set OdiCardList = $($R2)
Set NumberOdiAdapters = $($R3)
Set NdisProductNameList = $($R4)
Set NdisTitleList = $($R5)
Set NdisCardList = $($R6)
Set NumberNdisAdapters = $($R7)
Set ODINSUPCardNumber = $($R8)
Set NetWareIPCardNumList = $($R9)
Set NumberNetWareIPAdapters = $($R10)
;
; Is there an ODI driver installed?
;
ifint $(NumberOdiAdapters) >= 1
;
; turn on ODINSUP
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Odinsup" $(MAXIMUM_ALLOWED) KeyProduct
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
SetRegValue $(KeyProduct) $(KeyValueList)
CloseRegKey $(KeyProduct)
Endif
;
; turn on Odiload
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Odiload" $(MAXIMUM_ALLOWED) KeyProduct
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
SetRegValue $(KeyProduct) $(KeyValueList)
CloseRegKey $(KeyProduct)
Endif
;
; turn off VMLID
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\OdiVMLID" $(MAXIMUM_ALLOWED) KeyProduct
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
SetRegValue $(KeyProduct) $(KeyValueList)
CloseRegKey $(KeyProduct)
Endif
Else
;
; turn off ODINSUP
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Odinsup" $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
SetRegValue $(KeyProduct) $(KeyValueList)
CloseRegKey $(KeyProduct)
Endif
;
; turn off Odiload
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Odiload" $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
SetRegValue $(KeyProduct) $(KeyValueList)
CloseRegKey $(KeyProduct)
Endif
;
; turn on VMLID
;
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\OdiVMLID" $(MAXIMUM_ALLOWED) KeyProduct
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
SetRegValue $(KeyProduct) $(KeyValueList)
CloseRegKey $(KeyProduct)
Endif
Endif
Debug-Output " "
Debug-Output "NWSUBS.INF: Exiting function CheckIfODINSUPIsNeeded"
Debug-Output " "
Return
;
;
; ===================================================================================
;
; NWConfigureSourceRouting
; ===================================================================================
;
; Section to ask the user if they want source routing.
;
; INPUT:
; $($0) "ODI" or "Novell"
;
; OUTPUT:
; NONE
;
; ===================================================================================
[NWConfigureSourceRouting]
read-syms InstallOption$(!STF_LANGUAGE)
read-syms NwBaseVars
read-syms OdiVars
set SourceRoutingService = $(!NTN_ServiceBase)"\OdiSourceRouting"
OpenRegKey $(!REG_H_LOCAL) "" $(SourceRoutingService) $(MAXIMUM_ALLOWED) KeySetup
Ifstr(i) $(KeySetup) != ""
set DlgType = "MessageBox"
set STF_MB_TITLE = $(UseSourceRouteTitle)
set STF_MB_TEXT = $(UseSourceRouteText)
set STF_MB_TYPE = 3
set STF_MB_ICON = 1
set STF_MB_DEF = 2
GetRegValue $(KeySetup) "Start" StartValueList
set StartValue = *($(StartValueList), 4)
Ifint $(StartValue) != 4
set STF_MB_DEF = 1
Endif
ui start "SourceRoutingBox"
Ifstr(i) $(DLGEVENT) == "YES"
set StartValue = 2
Else
set StartValue = 4
Endif
SetRegValue $(KeySetup) {Start,$(NoTitle),$(!REG_VT_DWORD), $(StartValue)}
Debug-Output "NWSUBS.INF: Source Routing Start value set to "$(StartValue)
CloseRegKey $(KeySetup)
Endif
Return
;*************************************************************************
;
; SECTION: InstallEx-ServiceGroupOrder
;
; PURPOSE: Called at install time and at bind time to install the
; NetWare Services in the Service Group Order.
;
; ARGUMENTS: None
;
; RETURNS: None
;
; REFERENCES: None
;
; MODIFIES: None
;
;*************************************************************************
[InstallEx-ServiceGroupOrder]
StartWait
read-syms NwBaseVars
Set ValueName = "List"
Set Status = STATUS_SUCCESSFUL
Set Predecessor = $($0)
Set ListToAdd = $($1)
Debug-Output "NWSUBS.INF: ListToAdd is "$(ListToAdd)
OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\ServiceGroupOrder" $(MAXIMUM_ALLOWED) KeySgo
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
GetRegValue $(KeySgo) $(ValueName) SgoValue
Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
Debug-Output "NWSUBS.INF: Can't get list value from ServiceGroupOrder"
set Status = STATUS_FAILED
Goto IEX_Sgo_Return
Endif
else
Debug-Output "NWSUBS.INF: Can't open ServiceGroupOrder key"
set Status = STATUS_FAILED
Goto IEX_Sgo_Return
Endif
Set SgoList = *($(SgoValue), 4)
Set NewList = {}
ForListDo $(SgoList)
Set SgoItem = $($)
Ifstr(i) $(SgoItem) == $(Predecessor)
Set NewList = >($(NewList), $(SgoItem))
;
; Add all NetWare names to the list here
;
ForListDo $(ListToAdd)
Set NewList = >($(NewList), $($))
EndForListDo
else
set InListToAdd = 0
ForListDo $(ListToAdd)
set SvcItem = $($)
ifstr(i) $(SgoItem) == $(SvcItem)
;
; The SgoItem is in ListToAdd. Don't add it now. It will
; be added with the ListToAdd when predecessor is found.
;
set InListToAdd = 1
endif
EndForListDo
ifint $(InListToAdd) == 0
set NewList = >($(NewList), $(SgoItem))
endif
endif
EndForListDo
SetRegValue $(KeySgo) {$(ValueName), $(NoTitle), $(!REG_VT_MULTI_SZ), $(NewList)}
Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
Debug-Output "NWSUBS.INF: Can't update ServiceGroupOrder value"
set Status = STATUS_FAILED
Endif
CloseRegKey $(KeySgo)
IEX_Sgo_Return = +
Return $(Status)
; ===================================================================================
;
; SECTION: GetLanguageDir Gets the NLS directory from the registry
;
; INPUT: NONE
;
; OUTPUT: $($R0) Language directory if found
;
; ===================================================================================
[GetLanguageDir]
set NLSDirName = ""
set NovellParameters = $(!NTN_ServiceBase)"\Novell\Parameters"
OpenRegKey $(!REG_H_LOCAL) "" $(NovellParameters) $(MAXIMUM_ALLOWED) KeyNovellParameters
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
GetRegValue $(KeyNovellParameters) "NWLanguage" NWLanguageList
ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
set ValueType = *($(NWLanguageList), 3)
ifstr(i) $(ValueType) == $(!REG_VT_SZ)
set NLSDirName = *($(NWLanguageList), 4)
else-ifstr(i) $(ValueType) == $(!REG_VT_MULTI_SZ)
set LanguageList = *($(NWLanguageList), 4)
set NLSDirName = *($(LanguageList), 1)
endif
else
goto nolanguage
endif
CloseRegKey $(KeyNovellParameters)
else
goto nolanguage
Endif
nolanguage = +
ifstr(i) $(NLSDirName) == ""
set NLSDirName = "English"
endif
return $(NLSDirName)
; ====================================================================================
;
; SECTION: GetNTVersion Gets the NT major and minor versions from the registry
;
; INPUT: NONE
;
; OUTPUT: $($R0) = MajorNTVersion
; $($R1) = MinorNTVersion
;
; ====================================================================================
[GetNTVersion]
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 "NWSUBS.INF: Windows NT current version is "$(VersionListData)
Debug-OutPut "NWSUBS.INF: Windows NT Major version is "$(NTMajorVersion)
Debug-OutPut "NWSUBS.INF: Windows NT Minor version is "$(NTMinorVersion)
else
Debug-Output "NWSUBS.INF: Error getting NT version"
endif
CloseRegKey $(CurrentVersionKey)
else
Debug-Output "NWSUBS.INF: Error opening "$(CurrentVersion)
endif
return $(NTMajorVersion) $(NTMinorVersion)
;----------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]
UseSourceRouteTitle = "Configure ODI Source Routing"
UseSourceRouteText = "Use ODI Source Routing support?"
LoadDisk3Text = "Please load the Novell NetWare Client for Windows NT "+
"disk 3 into drive "
[DoAskSourceENG]
NetWareDlgText = "Please enter the full path to the Novell NetWare "+
"Client for Windows NT distribution files. Then choose Continue."
NetWareLANDlgText = "Please enter the full path to the NetWare Client "+
"for Windows NT distribution files. If installing from floppy "+
"diskette, enter the floppy drive to use and the system will "+
"prompt you for the correct diskette."
[OdinsupDlgENG]
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" }
[IPXBindDlgENG]
DlgType = "RadioCombination"
DlgTemplate = "ONELIST"
Caption = "NetWare IPX Bind"
Label1 = "ODI Adapter to bind IPX to"
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
HelpContext = $(IDH_NETWAREIPXBIND)
ComboListItemsIn = { OdiTitleList }
ComboListItemsOut = { DefaultOdiTitle }
NotifyFields = { "NO" }
[IPXDlgENG]
DlgType = "RadioCombination"
Label1 = "Enter the board and the default frame type to bind to IPX"
Label2 = "Board"
Label3 = "Frame"
DlgTemplate = "IPXFRAME"
Caption = "IPX Bind Parameters"
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
RadioOptionsGreyed = {}
HelpContext = $(IDH_NETWAREIPXBIND)
ComboOut = $(FrameListDefault)
ComboListItemsIn = { FrameList }
ComboListItemsOut = { ComboOut }
NotifyFields = { "NO" }
[NewFrameTypeDlgENG]
Label1 = "WARNING: Entering a non-standard frametype could prevent this workstation from communicating with the network."
Label2 = "Frame Type"
Label3 = "Protocol Identifier"
ICON = BANG
DlgType = "RadioCombination"
DlgTemplate = "DLG_NETWORKPROTOCOL"
Caption = "Network Protocol"
EditTextIn = { $(NewFrameTypeName), $(ProtocolID) }
EditTextLim = { "", 12 }
CBOptionsGreyed = {}
RadioOptionsGreyed = {}
HelpContext = $(IDH_NETWORKPROTOCOL)
ComboOut = {}
ComboListItemsIn = {}
ComboListItemsOut = {}
NotifyFields = {}
[AdvancedIPXSPXDlgENG]
DlgType = "RadioCombination"
DlgTemplate = "DLG_IPXSPXPARAMETERS"
Caption = "IPX/SPX Parameters"
EditTextLim = { "5", "1", "2", "5", "10", "10", "10" }
CBOptionsGreyed = {}
HelpContext = $(IDH_IPXSPXPARMS)
; ===================================================================================
;
; ===================================================================================
[DriverTable]
NE2000, ODI_NE2000
NE1000, ODI_NE2000
AM1500T, ODI_NE1500T
AM1500T, ODI_M1500
AM1500T, ODI_NE2100
NONE, ODI_M2100
IBMTOK, ODI_IBMTOK1
IBMTOK, ODI_NTR2000
EWORK, ODI_EWRK3
HP27247B, ODI_HP27247B
HP27252A, ODI_HP27252A
J2573A, ODI_HPJ2573A
NONE, ODI_MADGEODI
NONE, ODI_SMC8216
SMC8416, ODI_SMC8416
NONE, ODI_SMC8115T
NONE, ODI_SMC8115T_A
TC$4045e, ODI_TC4045
TC$4046e, ODI_TC4046
NE2000MCA, ODI_NE2
NONE, ODI_NE232
IBMTOKMC, ODI_IBMTOKMC
NONE, ODI_MADGEODIMC
NONE, ODI_SMC8216MC
NONE, ODI_SMC8416MC
NONE, ODI_SMC8115TMC
NONE, ODI_SMC8115T_AMC
NONE, ODI_TCTOKHMC
NE3200, ODI_NE3200
NONE, ODI_ES3210
NONE, ODI_EWRK3EISA
NONE, ODI_HP27247BEISA
NONE, ODI_HP27252AEISA
NONE, ODI_HPJ2577AEISA
NONE, ODI_MADGEODIEISA
NONE, ODI_NE3300EISA
NONE, ODI_SMC8216EISA
NONE, ODI_SMC8416EISA
NONE, ODI_SMC8115TEISA
NONE, ODI_SMC8115T_AEISA
SMC8232, ODI_SMC8232EISA
NONE, ODI_SMC8332EISA
NONE, ODI_SMC9232
NONE, ODI_TCE32ESHEISA
NONE, ODI_TC4045EISA
NONE, ODI_TC4046EISA
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.