;*****************************************************************************
;* Copyright (c) 1996-98 Digi International Inc., All Rights Reserved
;*
;* This software contains proprietary and confidential information of Digi
;* International Inc. By accepting transfer of this copy, Recipient agrees
;* to retain this software in confidence, to prevent disclosure to others,
;* and to make no use of this software other than that for which it was
;* delivered. This is an unpublished copyrighted work of Digi International
;* Inc. Except as permitted by federal law, 17 USC 117, copying is strictly
;* prohibited.
;*
;* Restricted Rights Legend
;*
;* Use, duplication, or disclosure by the Government is subject to
;* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
;* Technical Data and Computer Software clause at DFARS 252.227-7031 or
;* subparagraphs (c)(1) and (2) of the Commercial Computer Software -
;* Restricted Rights at 48 CFR 52.227-19, as applicable.
;*
;* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
;*
;*****************************************************************************
[Identification]
OptionType = NetAdapter
InstallVersion = 3"."3"."3
[GlobalConstants]
Manufacturer = "Digi"
TYPECHECK_NONE = "NoValueTypeCheck"
[GlobalRegistryConstants]
KEY_DIGIROOT = $(!NTN_SoftwareBase)"\"$(Manufacturer)
KEY_NETWORKCARDS = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
[GlobalPathConstants]
SYSTEM32_DIR = "%SystemRoot%\System32"
DRIVER_DIR = $(SYSTEM32_DIR)"\drivers"
IoLogMsgDLLPath = $(SYSTEM32_DIR)"\IoLogMsg.dll"
[DetectionConstants]
DETECTDLL_PATH = $(!STF_WINDOWSSYSPATH)"\DigiDtct.dll"
[UpdateConstants]
UPDATEDLL_PATH = $(!STF_WINDOWSSYSPATH)"\DigiInf.dll"
[DriverPackageConstants]
PackageSoftwareName = "WAN Links"
PackageKeyName = $(KEY_DIGIROOT)"\"$(PackageSoftwareName)"\CurrentVersion"
PackageInstalledOptionsKeyName = $(PackageKeyName)"\InstalledOptions"
PackageOptionInstalledKeyName = $(PackageInstalledOptionsKeyName)"\"$(Option)
PackageOptionDiagKeyName = $(PackageOptionInstalledKeyName)
PackageConfigMapKey = $(PackageKeyName)"\Config"
[DriverConstants]
SoftwareType = "driver"
ProductMajorVersion = 3
ProductMinorVersion = 3
ProductBuildNumber = 3
ProductVersion = 3"."3"."3
NetRuleSoftwareUse = $(SoftwareType)
NetRuleMiniportUse = $(SoftwareType)
NetRuleHardwareBindForm = " yes yes container"
[DriverConstants-SyncPort]
ProductSoftwareName = "DigiDxb"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiDxb.sys"
Review = 1
Hidden = 0
NetRuleSoftwareType = "DigiDxbSys DigiDxbDriver"
NetRuleSoftwareBindForm = """DigiDxbDriver"" yes no container"
NetRuleSoftwareClass = {"DigiDxbDriver basic"}
NetRuleSoftwareBindable = {"DigiDxbDriver DigiDxbAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {}
ProductHardwareName = "DigiDxb"
NetRuleHardwareType = "DigiDxb DigiDxbAdapter"
NetRuleHardwareClass = {"DigiDxbAdapter basic"}
MiniPortDriverName = ""
[DriverConstants-Houston]
ProductSoftwareName = "DigiDxb"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiDxb.sys"
Review = 1
Hidden = 0
NetRuleSoftwareType = "DigiDxbSys DigiDxbDriver"
NetRuleSoftwareBindForm = """DigiDxbDriver"" yes no container"
NetRuleSoftwareClass = {"DigiDxbDriver basic"}
NetRuleSoftwareBindable = {"DigiDxbDriver DigiDxbAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {}
ProductHardwareName = "DigiDxb"
NetRuleHardwareType = "DigiDxb DigiDxbAdapter"
NetRuleHardwareClass = {"DigiDxbAdapter basic"}
MiniPortDriverName = ""
[DriverConstants-London]
ProductSoftwareName = "DigiDxb"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiDxb.sys"
Review = 1
Hidden = 0
NetRuleSoftwareType = "DigiDxbSys DigiDxbDriver"
NetRuleSoftwareBindForm = """DigiDxbDriver"" yes no container"
NetRuleSoftwareClass = {"DigiDxbDriver basic"}
NetRuleSoftwareBindable = {"DigiDxbDriver DigiDxbAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {}
ProductHardwareName = "DigiDxb"
NetRuleHardwareType = "DigiDxb DigiDxbAdapter"
NetRuleHardwareClass = {"DigiDxbAdapter basic"}
MiniPortDriverName = ""
[DriverConstants-Chaska]
ProductSoftwareName = "DigiDxb"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiDxb.sys"
Review = 1
Hidden = 0
NetRuleSoftwareType = "DigiDxbSys DigiDxbDriver"
NetRuleSoftwareBindForm = """DigiDxbDriver"" yes no container"
NetRuleSoftwareClass = {"DigiDxbDriver basic"}
NetRuleSoftwareBindable = {"DigiDxbDriver DigiDxbAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {}
ProductHardwareName = "DigiDxb"
NetRuleHardwareType = "DigiDxb DigiDxbAdapter"
NetRuleHardwareClass = {"DigiDxbAdapter basic"}
MiniPortDriverName = ""
[DriverConstants-Clydesdale]
ProductSoftwareName = "DigiDxb"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiDxb.sys"
Review = 1
Hidden = 0
NetRuleSoftwareType = "DigiDxbSys DigiDxbDriver"
NetRuleSoftwareBindForm = """DigiDxbDriver"" yes no container"
NetRuleSoftwareClass = {"DigiDxbDriver basic"}
NetRuleSoftwareBindable = {"DigiDxbDriver DigiDxbAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {}
ProductHardwareName = "DigiDxb"
NetRuleHardwareType = "DigiDxb DigiDxbAdapter"
NetRuleHardwareClass = {"DigiDxbAdapter basic"}
MiniPortDriverName = ""
[DriverConstants-PCI]
ProductSoftwareName = "DigiPci"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiPci.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = ""
NetRuleSoftwareUse = ""
NetRuleSoftwareBindForm = ""
NetRuleSoftwareClass = {}
NetRuleSoftwareBindable = {}
ServiceType = "kernel"
Group = "Base"
DependsOn = {}
ProductHardwareName = "DigiPci"
NetRuleHardwareType = ""
NetRuleHardwareClass = {}
CircuitName = ""
LineServiceKeyName = ""
MediaType = ""
[DriverConstants-FR]
ProductSoftwareName = "DigiLan"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiLan.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = "DigiLanSys ndisDriver DigiLanDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """DigiLanDriver"" yes no container"
NetRuleSoftwareClass = {"DigiLanDriver basic"}
NetRuleSoftwareBindable = {"DigiLanDriver DigiLanAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {"DigiDxb"}
ProductHardwareName = "DigiLan"
NetRuleHardwareType = "DigiLan DigiLanAdapter"
NetRuleHardwareClass = {"DigiLanAdapter basic"}
CircuitName = "DLCI"
LineServiceKeyName = "FRService"
MediaType = "FR"
[DriverConstants-X25L]
ProductSoftwareName = "DigiLan"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiLan.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = "DigiLanSys ndisDriver DigiLanDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """DigiLanDriver"" yes no container"
NetRuleSoftwareClass = {"DigiLanDriver basic"}
NetRuleSoftwareBindable = {"DigiLanDriver DigiLanAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {"DigiDxb"}
ProductHardwareName = "DigiLan"
NetRuleHardwareType = "DigiLan DigiLanAdapter"
NetRuleHardwareClass = {"DigiLanAdapter basic"}
CircuitName = "Channel"
LineServiceKeyName = "X25Service"
MediaType = "X25"
[DriverConstants-X25]
ProductSoftwareName = "DigiWanX"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiWanX.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = "DigiWanXSys DigiWanXDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """"DigiWanXDriver""" yes no container"
NetRuleSoftwareClass = {"DigiWanXDriver basic"}
NetRuleSoftwareBindable = {"DigiWanXDriver DigiWanXAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {"DigiDxb"}
ProductHardwareName = "DigiWanX"
NetRuleHardwareType = "DigiWanX DigiWanXAdapter"
NetRuleHardwareClass = {"DigiWanXAdapter basic"}
CircuitName = "Channel"
LineServiceKeyName = "X25Service"
MediaType = "X25"
[DriverConstants-SNA]
ProductSoftwareName = "DigiSNA"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiSNA.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = "DigiSNASys ndisDriver DigiSNADriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """DigiSNADriver"" yes no container"
NetRuleSoftwareClass = {"DigiSNADriver basic"}
NetRuleSoftwareBindable = {"DigiSNADriver DigiSNAAdapter non exclusive 100"}
ServiceType = "kernel"
Group = "Extended Base"
DependsOn = {"DigiDxb"}
ProductHardwareName = "DigiSNA"
NetRuleHardwareType = "DigiSNA DigiSNAAdapter"
NetRuleHardwareClass = {"DigiSNAAdapter basic"}
CircuitName = ""
LineServiceKeyName = "SNAService"
MediaType = "SNA"
[DriverConstants-PPP]
ProductSoftwareName = "DigiPPP"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiPPP.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = "DigiPPPSys DigiPPPDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """"DigiPPPDriver""" yes no container"
NetRuleSoftwareClass = {"DigiPPPDriver basic"}
NetRuleSoftwareBindable = {"DigiPPPDriver DigiPPPAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {"DigiDxb"}
ProductHardwareName = "DigiPPP"
NetRuleHardwareType = "DigiPPP DigiPPPAdapter"
NetRuleHardwareClass = {"DigiPPPAdapter basic"}
CircuitName = ""
LineServiceKeyName = "PPPService"
MediaType = "PPP"
[DriverConstants-ISDN]
ProductSoftwareName = "DigiIsdn"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiIsdn.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = "DigiIsdnSys DigiIsdnDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """"DigiIsdnDriver""" yes no container"
NetRuleSoftwareClass = {"DigiIsdnDriver basic"}
NetRuleSoftwareBindable = {"DigiIsdnDriver DigiIsdnAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "NDIS"
DependsOn = {"DigiDxb"}
ProductHardwareName = "DigiIsdn"
NetRuleHardwareType = "DigiIsdn DigiIsdnAdapter"
NetRuleHardwareClass = {"DigiIsdnAdapter basic"}
CircuitName = ""
LineServiceKeyName = "ISDN"
MediaType = "ISDN"
[DriverConstants-ASYN]
ProductSoftwareName = "DigiAsyn"
ProductKeyName = $(KEY_DIGIROOT)"\"$(ProductSoftwareName)"\CurrentVersion"
ProductSoftwareImagePath = $(DRIVER_DIR)"\DigiAsyn.sys"
Review = 0
Hidden = 1
NetRuleSoftwareType = "DigiAsynSys DigiAsynDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """"DigiAsynDriver""" yes no container"
NetRuleSoftwareClass = {"DigiAsynDriver basic"}
NetRuleSoftwareBindable = {"DigiAsynDriver DigiAsynAdapter non exclusive 100"}
ServiceType = "kernelautostart"
Group = "Extended Base"
DependsOn = {"DigiDxb"}
ProductHardwareName = "DigiAsyn"
NetRuleHardwareType = "DigiAsyn DigiAsynAdapter"
NetRuleHardwareClass = {"DigiAsynAdapter basic"}
CircuitName = ""
LineServiceKeyName = "ASYN"
MediaType = ""
[WriteConfigData]
StartWait
RunProgram Result "" "" RUNDLL32.EXE "syssetup,SetupInfObjectInstallAction DefaultInstall 128 DigiCfg.inf"
ifstr(i) $(Result) != "ERROR"
set RunProgramWorked = 1
else
set RunProgramWorked = 0
endif
ifint $(RunProgramWorked) == 0
goto Exit
endif
set Success = 1
Exit = +
EndWait
Return $(Success)
[DetectionFilesList]
"Detection Files" = Files-Detect, $(!STF_WINDOWSSYSPATH)
"Detection Drivers" = Files-Detect-Driver, $(!STF_WINDOWSSYSPATH)"\drivers"
[CopyDetectionFiles]
set SrcDir = $($0)
set Success = 0
set DescList = ^(DetectionFilesList, 0)
ForListDo $(DescList)
set Desc = $($)
set Section = #(DetectionFilesList, $(Desc), 1)
set DstDir = #(DetectionFilesList, $(Desc), 2)
set FileList = ^($(Section), 2)
ForListDo $(FileList)
LibraryProcedure Result $(!NCPA_HANDLE) CopySingleFile $(!STF_HWND) $(SrcDir)"\"$($) $(DstDir)"\"$($)
EndForListDo
EndForListDo
set Success = 1
Exit = +
Return $(Success)
[Install-AddFiles]
ifstr(i) $(AddCopy) == "YES"
Ifcontains $(Section)$(SrcDir)$(DstDir) not-in $(!DIGI_FileSectionsToCopyCoalesceList)
set !DIGI_FileSectionsToCopyCoalesceList = >($(!DIGI_FileSectionsToCopyCoalesceList), $(Section)$(SrcDir)$(DstDir))
AddSectionFilesToCopyList $(Section) $(SrcDir) $(DstDir)
else
endif
endif
Exit
[Install-CopyFiles]
ifstr(i) $(DoCopy) == "YES"
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
set !STF_NCPA_FLUSH_COPYLIST = 1
CopyFilesInCopyList
set !DIGI_FileSectionsToCopyCoalesceList = {};
endif
Exit
[CoreFilesList-Houston]
"Redistributable Files" = Files-Redistributable, $(!STF_WINDOWSSYSPATH)
"Config Files All" = Files-Config, $(!STF_WINDOWSSYSPATH)
"Config Files" = Files-Config-Houston, $(!STF_WINDOWSSYSPATH)
"Diag Files" = Files-Diags-Houston, $(!STF_WINDOWSSYSPATH)
"Modem Files" = Files-Modem, $(!STF_WINDOWSPATH)"\INF"
"Firmware Files" = Files-Firmware-Houston, $(!STF_WINDOWSSYSPATH)"\drivers"
"Driver Files" = Files-Driver-Houston, $(!STF_WINDOWSSYSPATH)"\drivers"
[CoreFilesList-London]
"Redistributable Files" = Files-Redistributable, $(!STF_WINDOWSSYSPATH)
"Config Files All" = Files-Config, $(!STF_WINDOWSSYSPATH)
"Config Files" = Files-Config-London, $(!STF_WINDOWSSYSPATH)
"Diag Files" = Files-Diags-London, $(!STF_WINDOWSSYSPATH)
"Modem Files" = Files-Modem, $(!STF_WINDOWSPATH)"\INF"
"Firmware Files" = Files-Firmware-London, $(!STF_WINDOWSSYSPATH)"\drivers"
"Driver Files" = Files-Driver-London, $(!STF_WINDOWSSYSPATH)"\drivers"
[CoreFilesList-Chaska]
"Redistributable Files" = Files-Redistributable, $(!STF_WINDOWSSYSPATH)
"Config Files All" = Files-Config, $(!STF_WINDOWSSYSPATH)
"Config Files" = Files-Config-Chaska, $(!STF_WINDOWSSYSPATH)
"Diag Files" = Files-Diags-Chaska, $(!STF_WINDOWSSYSPATH)
"Modem Files" = Files-Modem, $(!STF_WINDOWSPATH)"\INF"
"Firmware Files" = Files-Firmware-Chaska, $(!STF_WINDOWSSYSPATH)"\drivers"
"Driver Files" = Files-Driver-Chaska, $(!STF_WINDOWSSYSPATH)"\drivers"
[CoreFilesList-Clydesdale]
"Redistributable Files" = Files-Redistributable, $(!STF_WINDOWSSYSPATH)
"Config Files All" = Files-Config, $(!STF_WINDOWSSYSPATH)
"Config Files" = Files-Config-Clydesdale, $(!STF_WINDOWSSYSPATH)
"Diag Files" = Files-Diags-Clydesdale, $(!STF_WINDOWSSYSPATH)
"Firmware Files" = Files-Firmware-Clydesdale, $(!STF_WINDOWSSYSPATH)"\drivers"
"Driver Files" = Files-Driver-Clydesdale, $(!STF_WINDOWSSYSPATH)"\drivers"
"SNA Driver Files" = Files-SNA-Driver-Clydesdale, $(!STF_WINDOWSSYSPATH)
"SNA Config Files" = Files-SNA-Config-Clydesdale, $(!STF_WINDOWSSYSPATH)
[CopyCoreFiles]
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set Success = 0
set DescList = ^(CoreFilesList-$(Option), 0)
ForListDo $(DescList)
set Desc = $($)
set Section = #(CoreFilesList-$(Option), $(Desc), 1)
set DstDir = #(CoreFilesList-$(Option), $(Desc), 2)
Install Install-AddFiles
EndForListDo
read-syms $(Option)-Strings-$(!STF_LANGUAGE)
read-syms Generic-Strings-$(!STF_LANGUAGE)
read-syms InstallProgress-Strings-$(!STF_LANGUAGE)
Install Install-CopyFiles
ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
ifstr(i) "UNABLE_COPY_FILE" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "UNABLE_COPY_FILE"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
endif
set Success = 1
Exit = +
Return $(Success)
[Install-DiagShortcuts]
CreateCommonProgManGroup $(IconGroupName), ""
ShowCommonProgManGroup $(IconGroupName), 1
RemoveCommonProgManItem $(IconGroupName), $(IconDiagName)
CreateCommonProgManItem $(IconGroupName), $(IconDiagName), """"$(!STF_WINDOWSSYSPATH)"\SxbDiag.exe""", "" 0
CreateCommonProgManItem $(IconGroupName), $(IconDiagHelp), """"$(!STF_WINDOWSSYSPATH)"\SxbDiag.hlp""", "" 0
ShowCommonProgManGroup $(IconGroupName), 6
Exit
[Remove-DiagShortcuts]
CreateCommonProgManGroup $(IconGroupName), ""
ShowCommonProgManGroup $(IconGroupName), 1
RemoveCommonProgManItem $(IconGroupName), $(IconDiagName)
RemoveCommonProgManItem $(IconGroupName), $(IconDiagHelp)
ShowCommonProgManGroup $(IconGroupName), 6
RemoveCommonProgManGroup $(IconGroupName)
Exit
[InstallDiags]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set Success = 0
set OptionsThatNeedDiags = { +
"Houston", +
"London", +
"Chaska", +
"Clydesdale", +
}
Ifcontains $(Option) in $(OptionsThatNeedDiags)
read-syms IconInfo$(!STF_LANGUAGE)
Install Install-DiagShortcuts
endif
set Success = 1
Exit = +
Return $(Success)
[RemoveDiags]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set Success = 0
read-syms IconInfo$(!STF_LANGUAGE)
Install Remove-DiagShortcuts
set Success = 1
Exit = +
Return $(Success)
[OldDriverConstants]
OldManufacturer = "DigiBoard"
OldProductSoftwareName = "DigiSxb"
OldProductKeyNameList = { $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(OldProductSoftwareName)"\CurrentVersion", +
$(!NTN_SoftwareBase)"\"$(OldManufacturer)"\"$(OldProductSoftwareName)"\CurrentVersion" }
[GetPackageKey]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms DriverPackageConstants
set KeyPackage = ""
OpenRegKey $(!REG_H_LOCAL) "" $(PackageKeyName) 33554432 KeyPackage
ifstr $(KeyPackage) != ""
goto Exit
endif
Exit = +
Return $(KeyPackage)
[IsPackageInstalled]
shell "" GetExistingSoftwareVersion
set Installed = $($R0)
Return $(Installed)
[IsOptionInstalled]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Option = $($0)
read-syms DriverPackageConstants
set Installed = 0
shell "utility.inf" IsRefCountEqualZero $(PackageOptionInstalledKeyName)
shell "" Boolean-Not $($R1)
set Installed = $($R0)
Return $(Installed)
[NumericVersion]
set StrVersion = $($0)
Split-String $(StrVersion) "." ComponentList
set IntVersion = 0
ForListDo $(ComponentList)
ifstr(i) $($) != "."
set-mul IntVersion = $(IntVersion), 256
set-add IntVersion = $(IntVersion), $($)
endif
EndForListDo
Return $(IntVersion)
[GetExistingSoftwareVersion]
read-syms Identification
set Success = 0
set Version = $(InstallVersion)
shell "" GetPackageKey
set KeyPackage = $($R0)
ifstr $(KeyPackage) == ""
goto Error
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyPackage) "SoftwareVersion"
ifint $($R0) == 1
set Version = $($R1)
goto Exit
endif
goto Error
Exit = +
set Success = 1
Error = +
shell "" CloseOpenRegKey $(KeyPackage)
Return $(Success) $(Version)
[GetSourceDir]
set SrcDir = $($0)
set Status = "STATUS_FAILED"
set UserDir = $(SrcDir)
shell "utility.inf" DoAskSource $(!STF_CWDDIR) $(SrcDir) "NO"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
set Status = $($R0)
ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
ifstr(i) "ASK_SOURCE_FAIL" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "ASK_SOURCE_FAIL"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
endif
set UserDir = $($R1)
set !STF_SRCDIR_OVERRIDE = $(UserDir)
Exit = +
Return $(Status) $(UserDir)
[AdapterDataMap]
AdapterDataMap = { +
{ "Houston", "PCI", 4431, 29, 82, 1, "DigiHoustonT1Single" }, +
{ "Houston", "PCI", 4431, 29, 83, 2, "DigiHoustonT1Dual" }, +
{ "Houston", "PCI", 4431, 29, 80, 1, "DigiHoustonE1Single" }, +
{ "Houston", "PCI", 4431, 29, 81, 2, "DigiHoustonE1Dual" }, +
{ "London", "PCI", 4431, 36, 49, 4, "DigiLondonST" }, +
{ "London", "PCI", 4431, 36, 48, 4, "DigiLondonU" }, +
{ "Chaska", "PCI", 4431, 35, 97, 4, "DigiChaska4" }, +
{ "Chaska", "PCI", 4431, 35, 99, 4, "DigiChaska4" }, +
{ "Chaska", "PCI", 4431, 35, 101, 4, "DigiChaska4" }, +
{ "Chaska", "PCI", 4431, 35, 103, 4, "DigiChaska4" }, +
{ "Chaska", "PCI", 4431, 35, 105, 4, "DigiChaska4" }, +
{ "Chaska", "PCI", 4431, 35, 107, 4, "DigiChaska4" }, +
{ "Chaska", "PCI", 4431, 35, 96, 8, "DigiChaska8" }, +
{ "Chaska", "PCI", 4431, 35, 98, 8, "DigiChaska8" }, +
{ "Chaska", "PCI", 4431, 35, 100, 8, "DigiChaska8" }, +
{ "Chaska", "PCI", 4431, 35, 102, 8, "DigiChaska8" }, +
{ "Chaska", "PCI", 4431, 35, 104, 8, "DigiChaska8" }, +
{ "Chaska", "PCI", 4431, 35, 106, 8, "DigiChaska8" }, +
{ "Clydesdale", "PCI", 4431, 34, 0, 2, "DigiClydeNonCsu2" }, +
{ "Clydesdale", "PCI", 4431, 33, 0, 4, "DigiClydeNonCsu4" }, +
{ "Clydesdale", "PCI", 4431, 32, 0, 2, "DigiClydeNonCsu6032" }, +
{ "Clydesdale", "PCI", 4431, 31, 0, 4, "DigiClydeNonCsu6034" }, +
}
[ResetInfOption]
set Option = $($0)
set VendorID = $($1)
set PciID = $($2)
set SubPciID = $($3)
set Success = 0
set RealOption = $(Option)
set OptionsThatGetReset = { "DigiRAS", "PowerSync" }
Ifcontains $(Option) in $(OptionsThatGetReset)
read-syms AdapterDataMap
ForListDo $(AdapterDataMap)
set MapVendorID = *($($), 3)
ifint $(MapVendorID) == $(VendorID)
set MapPciID = *($($), 4)
set MapSubPciID = *($($), 5)
ifint $(MapPciID) == $(PciID)
set _B1 = 1
else
set _B1 = 0
endif
ifint $(MapSubPciID) == $(SubPciID)
set _B2 = 1
else
set _B2 = 0
endif
shell "" Boolean-And $(_B1) $(_B2)
ifint $($R0) == 1
set RealOption = *($($), 1)
goto Exit
endif
endif
EndForListDo
goto Error
endif
Exit = +
set Success = 1
Error = +
Return $(Success) $(RealOption)
[FirmwareImageNames]
set Option = $($0)
set BusName = $($1)
set BiosImage = ""
set FepImage = ""
set OptionsThatHaveBiosImages = { +
}
Ifcontains $(Option) in $(OptionsThatHaveBiosImages)
set BiosImage = #(Files-Firmware-$(Option), BIOS$(BusName), 2)
endif
set OptionsThatHaveFepImages = { +
"Houston", +
"London", +
"Chaska", +
"Clydesdale", +
}
Ifcontains $(Option) in $(OptionsThatHaveFepImages)
set FepImage = #(Files-Firmware-$(Option), FEP$(BusName), 2)
endif
Exit = +
Return $(BiosImage) $(FepImage)
[CalculateNumberOfLines]
set Option = $($0)
set BusName = $($1)
set VendorID = $($2)
set PciID = $($3)
set SubPciID = $($4)
set NumberOfLines = 1
read-syms AdapterDataMap
ForListDo $(AdapterDataMap)
set MapOption = *($($), 1)
set MapBusName = *($($), 2)
ifstr(i) $(MapOption) == $(Option)
set _B1 = 1
else
set _B1 = 0
endif
ifstr(i) $(MapBusName) == $(BusName)
set _B2 = 1
else
set _B2 = 0
endif
shell "" Boolean-And $(_B1) $(_B2)
ifint $($R0) == 1
ifstr(i) $(BusName) == "PCI"
set MapVendorID = *($($), 3)
ifint $(MapVendorID) == $(VendorID)
set MapPciID = *($($), 4)
set MapSubPciID = *($($), 5)
ifint $(MapPciID) == $(PciID)
set _B1 = 1
else
set _B1 = 0
endif
ifint $(MapSubPciID) == $(SubPciID)
set _B2 = 1
else
set _B2 = 0
endif
shell "" Boolean-And $(_B1) $(_B2)
ifint $($R0) == 1
set NumberOfLines = *($($), 6)
goto Exit
endif
endif
else
set NumberOfLines = *($($), 6)
goto Exit
endif
endif
EndForListDo
Exit = +
Return $(NumberOfLines)
[GetAdapterEnum]
set Option = $($0)
set BusName = $($1)
set VendorID = $($2)
set PciID = $($3)
set SubPciID = $($4)
set AdapterEnum = ""
read-syms AdapterDataMap
ForListDo $(AdapterDataMap)
set MapOption = *($($), 1)
set MapBusName = *($($), 2)
ifstr(i) $(MapOption) == $(Option)
set _B1 = 1
else
set _B1 = 0
endif
ifstr(i) $(MapBusName) == $(BusName)
set _B2 = 1
else
set _B2 = 0
endif
shell "" Boolean-And $(_B1) $(_B2)
ifint $($R0) == 1
ifstr(i) $(BusName) == "PCI"
set MapVendorID = *($($), 3)
ifint $(MapVendorID) == $(VendorID)
set MapPciID = *($($), 4)
set MapSubPciID = *($($), 5)
ifint $(MapPciID) == $(PciID)
set _B1 = 1
else
set _B1 = 0
endif
ifint $(MapSubPciID) == $(SubPciID)
set _B2 = 1
else
set _B2 = 0
endif
shell "" Boolean-And $(_B1) $(_B2)
ifint $($R0) == 1
set AdapterEnum = *($($), 7)
goto Exit
endif
endif
else
set AdapterEnum = *($($), 7)
goto Exit
endif
endif
EndForListDo
Exit = +
Return $(AdapterEnum)
[InstallMode]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms Identification
read-syms DriverPackageConstants
read-syms InstallMessages-$(!STF_LANGUAGE)
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set DoConfig = $($4)
StartWait
set Status = "STATUS_FAILED"
set DeleteInfOnExit = 0
set KeyPackage = ""
set KeyInstalledOptions = ""
set KeyOptionInstalled = ""
set IncrementedPackageRefCount = 0
set IncrementedInstalledOptionRefCount = 0
set InstalledDriverList = {}
set InstalledAdapterList = {}
shell "" GetExistingSoftwareVersion
set OnDiskVersion = $($R1)
shell "" NumericVersion $(OnDiskVersion)
set IntOnDiskVersion = $($R0)
shell "" NumericVersion $(InstallVersion)
set IntInstallVersion = $($R0)
ifint $(IntInstallVersion) > $(IntOnDiskVersion)
shell "" MessageBox $(UpdateNowTitle) $(UpdateNow) 3 4 1
ifstr(i) $($R0) == "YES"
shell "" UpdateMode $(Option) $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
set Status = $($R0)
ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
goto Error
endif
else
shell "" StatusMessage $(UpdateLater)
set Status = "STATUS_USERCANCEL"
goto Exit
endif
endif
ifint $(IntInstallVersion) < $(IntOnDiskVersion)
shell "" StatusMessage $(NewerInstalled)
goto Exit
endif
shell "" GetRegValueByName $(TYPECHECK_NONE) $(PackageKeyName)"\NetRules" "InfName"
ifint $($R0) == 1
set InfName = $($R1)
set InfPath = $(!STF_WINDOWSSYSPATH)"\"$(InfName)
ifstr(i) $(InfPath) != $(STF_CONTEXTINFNAME)
shell $(InfPath) InstallOption $(!STF_LANGUAGE) $(Option) $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
set Status = $($R0)
set DeleteInfOnExit = 1
goto Exit
endif
endif
shell "" IsPackageInstalled
ifint $($R0) == 0
shell "utility.inf" InstallSoftwareProduct $(Manufacturer) $(PackageSoftwareName) $(STF_CONTEXTINFNAME)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
set KeyPackage = $($R1)
set KeyNetRules = $($R2)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyPackage) "SoftwareVersion" $(InstallVersion)
ifint $($R0) == 0
goto Error
endif
shell "" SetRegValueByKey $(!REG_VT_DWORD) $(KeyPackage) "Hidden" 1
ifint $($R0) == 0
goto Error
endif
shell "" CloseOpenRegKey $(KeyPackage)
shell "" CloseOpenRegKey $(KeyNetRules)
ifstr $(SrcDir) == ""
shell "" GetSourceDir $(SrcDir)
ifstr $($R0) != "STATUS_SUCCESSFUL"
set Status = $($R0)
ifint 0 == 0
goto Error
endif
endif
set SrcDir = $($R1)
endif
shell "" CopyDetectionFiles $(SrcDir)
ifint $($R0) == 0
goto Error
endif
shell "" AddService "PCI"
ifint $($R0) == 0
goto Error
endif
set InstalledDriverList = >($(InstalledDriverList), "PCI")
endif
GetBusInfo = +
shell "" GetBusData $(Option) $(ProductHardwareDescription)
ifint $($R0) == 0
goto Error
endif
set BusName = $($R1)
set BusType = $($R2)
set BusNumber = $($R3)
shell "" Find$(BusName) $(BusType) $(BusNumber) $(Option)
set AdapterData = $($R0)
ifstr $(AdapterData) == {}
shell "" SetupMessage "FATAL" $(NoNetworkCard)
goto Error
endif
set BusNumber = 0
set SlotNumber = 0
set IOBaseAddress = 0
set MemoryAddress = 0
set InterruptNumber = 0
set VendorID = 0
set PciID = 0
set SubVendorID = 0
set SubPciID = 0
set RevisionID = 0
set CardID = 0
set BusNumber = *($(AdapterData), 1)
set SlotNumber = *($(AdapterData), 2)
ifstr $(BusName) == "ISA"
set IOBaseAddress = *($(AdapterData), 3)
set MemoryAddress = *($(AdapterData), 4)
set InterruptNumber = *($(AdapterData), 5)
else-ifstr $(BusName) == "PCI"
set VendorID = *($(AdapterData), 3)
set PciID = *($(AdapterData), 4)
set SubVendorID = *($(AdapterData), 5)
set SubPciID = *($(AdapterData), 6)
set RevisionID = *($(AdapterData), 7)
endif
shell "" ResetInfOption $(Option) $(VendorID) $(PciID) $(SubPciID)
ifint $($R0) == 0
goto Error
endif
set Option = $($R1)
read-syms DriverPackageConstants
read-syms DriverConstants-$(Option)
shell "" IsOptionInstalled $(Option)
ifint $($R0) == 1
goto InstallAdapter
endif
InstallSoftware = +
ifstr(i) $(DoCopy) == "YES"
shell "" GetSourceDir $(SrcDir)
ifstr $($R0) != "STATUS_SUCCESSFUL"
set Status = $($R0)
ifint 0 == 0
goto Error
endif
endif
set SrcDir = $($R1)
shell "" CopyCoreFiles $(Option) $(SrcDir) $(AddCopy) $(DoCopy)
ifint $($R0) == 0
goto Error
endif
endif
shell "" MakeRegKey $(!REG_H_LOCAL) { $(PackageInstalledOptionsKeyName), 0, "GenericClass" }
set KeyInstalledOptions = $($R0)
ifstr $(KeyInstalledOptions) == ""
ifint 0 == 0
goto Error
endif
endif
shell "" MakeRegKey $(!REG_H_LOCAL) { $(PackageOptionInstalledKeyName), 0, "GenericClass" }
set KeyOptionInstalled = $($R0)
ifstr $(KeyOptionInstalled) == ""
ifint 0 == 0
goto Error
endif
endif
shell "" SetRefCountByKey $(KeyOptionInstalled) 0
ifint $($R0) == 0
goto Error
endif
shell "" WriteConfigData
ifstr(i) $(DoCopy) == "YES"
shell "" InstallDiags $(Option) $(SrcDir) $(AddCopy) $(DoCopy)
ifint $($R0) == 0
goto Error
endif
endif
InstallDriver = +
shell "" AddService $(Option)
ifint $($R0) == 0
goto Error
endif
set InstalledDriverList = >($(InstalledDriverList), $(Option))
InstallAdapter = +
shell "utility.inf" IncrementRefCount $(PackageKeyName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
set IncrementedPackageRefCount = 1
shell "utility.inf" IncrementRefCount $(PackageOptionInstalledKeyName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
set IncrementedInstalledOptionRefCount = 1
set HardwareParametersValueList = {}
set HardwareParametersValueList = >($(HardwareParametersValueList), { "BusName", 0, $(!REG_VT_SZ), $(BusName) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "BusType", 0, $(!REG_VT_DWORD), $(BusType) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "BusNumber", 0, $(!REG_VT_DWORD), $(BusNumber) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "SlotNumber", 0, $(!REG_VT_DWORD), $(SlotNumber) })
ifstr $(BusName) == "ISA"
set HardwareParametersValueList = >($(HardwareParametersValueList), { "IOBaseAddress", 0, $(!REG_VT_DWORD), $(IOBaseAddress) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "MemoryMappedBaseAddress", 0, $(!REG_VT_DWORD), $(MemoryAddress) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "InterruptNumber", 0, $(!REG_VT_DWORD), $(InterruptNumber) })
else-ifstr $(BusName) == "PCI"
set HardwareParametersValueList = >($(HardwareParametersValueList), { "VendorId", 0, $(!REG_VT_DWORD), $(VendorID) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "PciId", 0, $(!REG_VT_DWORD), $(PciID) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "SubVendorId", 0, $(!REG_VT_DWORD), $(SubVendorID) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "SubDeviceId", 0, $(!REG_VT_DWORD), $(SubPciID) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "RevisionId", 0, $(!REG_VT_DWORD), $(RevisionID) })
endif
shell "" FirmwareImageNames $(Option) $(BusName)
set BiosImage = $($R0)
set FepImage = $($R1)
set HardwareParametersValueList = >($(HardwareParametersValueList), { "FepImagePath", 0, $(!REG_VT_SZ), $(FepImage) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "BiosImagePath", 0, $(!REG_VT_SZ), $(BiosImage) })
shell "" CalculateNumberOfLines $(Option) $(BusName) $(VendorID) $(PciID) $(SubPciID)
set NumberOfLines = $($R0)
set HardwareParametersValueList = >($(HardwareParametersValueList), { "NumberOfLines", 0, $(!REG_VT_DWORD), $(NumberOfLines) })
set HardwareParametersValueList = >($(HardwareParametersValueList), { "Option", 0, $(!REG_VT_SZ), $(Option) })
shell "" AddAdapter $(Option) $(Option) "" "" {} {} $(HardwareParametersValueList)
ifint $($R0) == 0
goto Error
endif
set AdapterNumber = $($R1)
set AdapterServiceName = $(ProductHardwareName)$(AdapterNumber)
set InstalledAdapterList = >($(InstalledAdapterList), { $(Option), $(AdapterNumber) })
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyHardwareParameters = $($R0)
ifstr $(KeyHardwareParameters) == ""
ifint 0 == 0
goto Error
endif
endif
shell "" ConfigureAdapter-$(Option) $(SrcDir) $(Option) $(KeyHardwareParameters) $(AdapterServiceName)
set Status = $($R0)
ifstr(i) $(Status) == "STATUS_USERCANCEL"
goto Error
endif
ifstr(i) $(Status) == "STATUS_FAILED"
goto Error
endif
goto Exit
Error = +
ifint $(IncrementedInstalledOptionRefCount) == 1
shell "utility.inf" DecrementRefCount $(PackageOptionInstalledKeyName)
shell "utility.inf" IsRefCountEqualZero $(PackageOptionInstalledKeyName)
ifint $($R1) == 1
DeleteRegTree $(!REG_H_LOCAL) $(PackageOptionInstalledKeyName)
endif
endif
ifint $(IncrementedPackageRefCount) == 1
shell "utility.inf" DecrementRefCount $(PackageKeyName)
endif
shell "utility.inf" IsRefCountEqualZero $(PackageKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(PackageSoftwareName)
shell "" RemoveDiags $(Option) $(SrcDir) $(AddCopy) $(DoCopy)
set DeleteInfOnExit = 1
endif
ForListDo $(InstalledAdapterList)
set Type = *($($), 1)
set AdapterNumber = *($($), 2)
read-syms DriverConstants-$(Type)
shell "utility.inf" RemoveHardwareComponent $(Manufacturer) $(ProductHardwareName) $(KEY_NETWORKCARDS)"\"$(AdapterNumber)
EndForListDo
ForListDo $(InstalledDriverList)
set Type = $($)
read-syms DriverConstants-$(Type)
shell "utility.inf" IsRefCountEqualZero $(ProductKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
endif
EndForListDo
shell "" RemoveFilesInRemoveList
set ManufacturerKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)
OpenRegKey $(!REG_H_LOCAL) "" $(ManufacturerKeyName) 33554432 KeyManufacturer
ifstr $(KeyManufacturer) != ""
EnumRegKey $(KeyManufacturer) DigiProductList
CloseRegKey $(KeyManufacturer)
QueryListSize NumDigiProducts $(DigiProductList)
ifint $(NumDigiProducts) == 0
DeleteRegTree $(!REG_H_LOCAL) $(ManufacturerKeyName)
endif
endif
Exit = +
ifint $(DeleteInfOnExit) == 1
LibraryProcedure Result $(!LIBHANDLE) DelFile $(STF_CONTEXTINFNAME)
endif
shell "" CloseOpenRegKey $(KeyPackage)
shell "" CloseOpenRegKey $(KeyInstalledOptions)
shell "" CloseOpenRegKey $(KeyOptionInstalled)
shell "" CloseOpenRegKey $(KeyHardwareParameters)
EndWait
Return $(Status)
[UpdateAllFiles]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms Identification
read-syms DriverPackageConstants
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set Success = 0
set FileListSectionsToUpdate = { +
DetectionFilesList, +
CoreFilesList-Houston, +
CoreFilesList-London, +
CoreFilesList-Chaska, +
CoreFilesList-Clydesdale, +
}
ForListDo $(FileListSectionsToUpdate)
set FileListSection = $($)
set DescList = ^($(FileListSection), 0)
ForListDo $(DescList)
set Desc = $($)
set Section = #($(FileListSection), $(Desc), 1)
set DstDir = #($(FileListSection), $(Desc), 2)
Install Install-AddFiles
EndForListDo
EndForListDo
read-syms UpdateProgress-Strings-$(!STF_LANGUAGE)
Install Install-CopyFiles
ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
ifstr(i) "UNABLE_COPY_FILE" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "UNABLE_COPY_FILE"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
endif
shell "" GetRegValueByName $(TYPECHECK_NONE) $(PackageKeyName)"\NetRules" "InfName"
ifint $($R0) == 0
goto Exit
endif
set InfName = $($R1)
set InfPath = $(!STF_WINDOWSSYSPATH)"\"$(InfName)
LibraryProcedure Result $(!NCPA_HANDLE) CopySingleFile $(!STF_HWND) $(STF_CONTEXTINFNAME) $(InfPath)
set Success = 1
Exit = +
Return $(Success)
[UpdateMode]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms Identification
read-syms DriverPackageConstants
read-syms InstallMessages-$(!STF_LANGUAGE)
read-syms UpdateMessages-$(!STF_LANGUAGE)
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set DoConfig = $($4)
set Status = "STATUS_USERCANCEL"
shell "" GetExistingSoftwareVersion
set OnDiskVersion = $($R1)
shell "" NumericVersion $(OnDiskVersion)
set IntOnDiskVersion = $($R0)
shell "" NumericVersion $(InstallVersion)
set IntInstallVersion = $($R0)
ifint $(IntInstallVersion) == $(IntOnDiskVersion)
shell "" StatusMessage $(AlreadyUpdated)
goto Exit
endif
ifint $(IntInstallVersion) < $(IntOnDiskVersion)
shell "" StatusMessage $(NewerInstalled)
goto Exit
endif
shell "" MessageBox $(UpdateWarningTitle) $(UpdateWarning) 3 2 1
ifstr(i) $($R0) != "YES"
shell "" StatusMessage $(UpdateLater)
set Status = "STATUS_USERCANCEL"
goto Exit
endif
set Status = "STATUS_FAILED"
shell "" UpdateAllFiles $(Option) $(SrcDir) $(AddCopy) $(DoCopy)
ifint $($R0) == 0
goto Exit
endif
shell "" WriteConfigData
shell "subroutn.inf" PopBillboard
read-syms UpdateConstants
LoadLibrary "x" $(UPDATEDLL_PATH) DIGIHANDLE
LibraryProcedure Result $(DIGIHANDLE) Update $(!STF_HWND) $(Option)
FreeLibrary $(DIGIHANDLE)
set Status = "STATUS_SUCCESSFUL"
Exit = +
Return $(Status)
[RemoveFiles]
set FileList = $($0)
ForListDo $(FileList)
set CurrentPath = $($)
LibraryProcedure Result $(!LIBHANDLE) CheckFileExistance $(CurrentPath)
ifstr(i) $(Result) == "YES"
LibraryProcedure Result $(!LIBHANDLE) DelFile $(CurrentPath)
ifstr(i) $(Result) != "SUCCESS"
shell "" DirectoryFromPath $(CurrentPath)
set Directory = $($R0)
shell "" BaseFromPath $(CurrentPath)
set Base = $($R0)
set BackupPath = $(Directory)$(Base)".old"
LibraryProcedure Result $(!LIBHANDLE) CheckFileExistance $(BackupPath)
ifstr(i) $(Result) == "YES"
LibraryProcedure Result $(!LIBHANDLE) DelFile $(BackupPath)
endif
LibraryProcedure Result $(!LIBHANDLE) RenFile $(CurrentPath) $(BackupPath)
AddFileToDeleteList $(BackupPath)
endif
endif
EndForListDo
Return
[AddSingleFileToRemoveList]
set Path = $($0)
set !DIGI_RemoveFilesList = >($(!DIGI_RemoveFilesList), $(Path))
Return
[AddSectionFilesToRemoveList]
set Section = $($0)
set Dir = $($1)
Ifcontains $(Section)$(Dir) not-in $(!DIGI_FileSectionsToRemoveCoalesceList)
set !DIGI_FileSectionsToRemoveCoalesceList = >($(!DIGI_FileSectionsToRemoveCoalesceList), $(Section)$(Dir))
set FileList = ^($(Section), 2)
ForListDo $(FileList)
shell "" AddSingleFileToRemoveList $(Dir)"\"$($)
EndForListDo
else
endif
Return
[RemoveFilesInRemoveList]
shell "" RemoveFiles $(!DIGI_RemoveFilesList)
shell "" ClearRemoveList
Return
[ClearRemoveList]
set !DIGI_RemoveFilesList = {};
set !DIGI_FileSectionsToRemoveCoalesceList = {};
Return
[RemoveServices]
read-syms GlobalConstants
set Line = $($0)
set AdapterServiceName = $($1)
set KeyParameters = ""
set KeyLine = ""
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyParameters = $($R0)
ifstr $(KeyParameters) == ""
goto Exit
endif
OpenRegKey $(KeyParameters) "" $(Line) 33554432 KeyLine
ifstr $(KeyLine) == ""
goto Exit
endif
set LineServices = {}
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyLine) "LineServices"
ifint $($R0) == 1
set LineServices = $($R1)
endif
ForListDo $(LineServices)
set Service = $($)
shell "" "Remove-"$(Service) $(Line) $(KeyLine) $(AdapterServiceName)
EndForListDo
Exit = +
shell "" CloseOpenRegKey $KeyParameters
shell "" CloseOpenRegKey $KeyLine
Return
[DeinstallMode]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms Identification
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set DoConfig = $($4)
read-syms DriverPackageConstants
read-syms DriverConstants-$(Option)
read-syms InstallMessages-$(!STF_LANGUAGE)
set Status = "STATUS_FAILED"
set KeyAdapter = ""
set KeyNetRules = ""
set KeyProduct = ""
set KeyDigiRoot = ""
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
goto CheckProductList
endif
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) 33554432 KeyAdapter
ifstr $(KeyAdapter) == ""
goto Exit
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyAdapter) "ServiceName"
set ServiceName = $($R1)
OpenRegKey $(KeyAdapter) "" "NetRules" 33554432 KeyNetRules
ifstr $(KeyNetRules) == ""
goto Exit
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyNetRules) "InfOption"
ifstr(i) $($R1) == $(Option)
set OptionMatch = 1
else
set OptionMatch = 0
endif
set Option = $($R1)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) 33554432 KeyAdapter
ifstr $(KeyAdapter) == ""
goto Exit
endif
shell "" OpenServiceParamKey $(ServiceName)
set KeyParameters = $($R0)
ifstr $(KeyParameters) == ""
goto Exit
endif
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyParameters) "NumberOfLines"
set NumberOfLines = $($R1)
set LineNumber = 0
goto Continue_RemoveLineServices
Top_RemoveLineServices = +
shell "" NumberToName $(LineNumber)
set LineName = $($R0)
shell "" RemoveServices $(LineName) $(ServiceName)
set-add LineNumber = $(LineNumber), 1
Continue_RemoveLineServices = +
ifint $(LineNumber) < $(NumberOfLines)
goto Top_RemoveLineServices
endif
Break_RemoveLineServices = +
shell "utility.inf" RemoveHardwareComponent $(Manufacturer) $(ProductHardwareName) $(!NTN_RegBase)
shell "utility.inf" IsRefCountEqualZero $(ProductKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
endif
shell "utility.inf" DecrementRefCount $(PackageOptionInstalledKeyName)
shell "utility.inf" IsRefCountEqualZero $(PackageOptionInstalledKeyName)
ifint $($R1) == 1
DeleteRegTree $(!REG_H_LOCAL) $(PackageOptionInstalledKeyName)
endif
shell "utility.inf" DecrementRefCount $(PackageKeyName)
shell "utility.inf" IsRefCountEqualZero $(PackageKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(PackageSoftwareName) "FALSE"
read-syms DriverConstants-PCI
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName) "FALSE"
shell "" RemoveDiags $(Option) $(SrcDir) $(AddCopy) $(DoCopy)
set FileListSectionsToDelete = { +
DetectionFilesList, +
CoreFilesList-Houston, +
CoreFilesList-London, +
CoreFilesList-Chaska, +
CoreFilesList-Clydesdale, +
}
ForListDo $(FileListSectionsToDelete)
set FileListSection = $($)
set DescList = ^($(FileListSection), 0)
ForListDo $(DescList)
set Desc = $($)
set Section = #($(FileListSection), $(Desc), 1)
set DstDir = #($(FileListSection), $(Desc), 2)
ifstr(i) $(Section) != "Files-Redistributable"
shell "" AddSectionFilesToRemoveList $(Section) $(DstDir)
endif
EndForListDo
EndForListDo
shell "" AddSingleFileToRemoveList $(STF_CONTEXTINFNAME)
shell "" RemoveFilesInRemoveList
endif
CheckProductList = +
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_DIGIROOT) 33554432 KeyDigiRoot
ifstr $(KeyDigiRoot) != ""
EnumRegKey $(KeyDigiRoot) DigiProductList
QueryListSize NumDigiProducts $(DigiProductList)
ifint $(NumDigiProducts) == 0
DeleteRegTree $(!REG_H_LOCAL) $(KEY_DIGIROOT)
endif
endif
set Status = "STATUS_SUCCESSFUL"
Exit = +
shell "" CloseOpenRegKey $(KeyAdapter)
shell "" CloseOpenRegKey $(KeyNetRules)
shell "" CloseOpenRegKey $(KeyProduct)
shell "" CloseOpenRegKey $(KeyDigiRoot)
Return $(Status)
[NumberToName]
set Num = $($0)
set Name = ""
set Name = $(Name)$(Num)
Exit = +
Return $(Name)
[ConfigureAdapter]
set SrcDir = $($0)
set Option = $($1)
set KeyParameters = $($2)
set AdapterServiceName = $($3)
set CfgDllPath = $($4)
set CfgDllEntry = $($5)
set Status = "STATUS_FAILED"
set NeedBindingReview = 0
set OldLineConfigList = {}
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyParameters) "NumberOfLines"
set NumberOfLines = $($R1)
set LineNumber = 0
goto Continue_GetOldLineConfigs
Top_GetOldLineConfigs = +
shell "" NumberToName $(LineNumber)
set LineName = $($R0)
set OldLineServices = {}
OpenRegKey $(KeyParameters) "" $(LineName) 33554432 KeyLine
ifstr $(KeyLine) == ""
shell "" MakeRegKey $(KeyParameters) { $(LineName), 0, "GenericClass" }
set KeyLine = $($R0)
set OldLineServices = { "None" }
else
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyLine) "LineServices"
set OldLineServices = $($R1)
ForListDo $(OldLineServices)
set Service = $($)
shell "" "SetUp-"$(Service) $(LineName) $(KeyLine) $(AdapterServiceName)
EndForListDo
endif
CloseRegKey $(KeyLine)
set OldLineConfigList = >($(OldLineConfigList), { $(LineName), $(OldLineServices) })
set-add LineNumber = $(LineNumber), 1
Continue_GetOldLineConfigs = +
ifint $(LineNumber) < $(NumberOfLines)
goto Top_GetOldLineConfigs
endif
Break_GetOldLineConfigs = +
shell "subroutn.inf" PopBillboard
LoadLibrary "x" $(CfgDllPath) DIGIHANDLE
LibraryProcedure Result $(DIGIHANDLE) $(CfgDllEntry) $(!STF_HWND) $(Option) $(AdapterServiceName)
FreeLibrary $(DIGIHANDLE)
ifstr(i) $(Result) != "OK"
read-syms InstallMessages-$(!STF_LANGUAGE)
ifstr(i) $(Result) == "Cancel"
set Status = "STATUS_USERCANCEL"
ifstr(i) $(!NTN_InstallMode) == "Install"
shell "" SetupMessage "FATAL" $(UserCanceledInstall)
endif
else
shell "" SetupMessage "FATAL" $(CfgDllFailed)
endif
goto Exit
endif
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyParameters) "NumberOfLines"
set NewNumberOfLines = $($R1)
ifint $(NewNumberOfLines) > $(NumberOfLines)
set NumberOfLines = $(NewNumberOfLines)
endif
set LineNumber = 0
goto Continue_GetNewLineConfigs
Top_GetNewLineConfigs = +
shell "" NumberToName $(LineNumber)
set LineName = $($R0)
set OldLineServices = { "None" }
ForListDo $(OldLineConfigList)
set OldLineName = *($($), 1)
ifstr(i) $(LineName) == $(OldLineName)
set OldLineServices = *($($), 2)
endif
EndForListDo
OpenRegKey $(KeyParameters) "" $(LineName) 33554432 KeyLine
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyLine) "LineServices"
set NewLineServices = $($R1)
ForListDo $(NewLineServices)
set Service = $($)
Ifcontains(i) $(Service) not-in $(OldLineServices)
shell "" "Add-"$(Service) $(LineName) $(KeyLine) $(AdapterServiceName) $(LineNumber) $(SrcDir) $(Option)
set NeedBindingReview = 1
endif
EndForListDo
ForListDo $(OldLineServices)
set Service = $($)
Ifcontains(i) $(Service) not-in $(NewLineServices)
shell "" "Remove-"$(Service) $(LineName) $(KeyLine) $(AdapterServiceName)
set NeedBindingReview = 1
endif
EndForListDo
ForListDo $(NewLineServices)
set Service = $($)
shell "" "Config-"$(Service) $(LineName) $(KeyLine) $(AdapterServiceName) $(Option)
ifint $($R1) == 1
set NeedBindingReview = 1
endif
shell "" "CleanUp-"$(Service) $(LineName) $(KeyLine) $(AdapterServiceName) $(Result)
EndForListDo
ForListDo $(OldLineServices)
set Service = $($)
shell "" "CleanUp-"$(Service) $(LineName) $(KeyLine) $(AdapterServiceName) $(Result)
EndForListDo
CloseRegKey $(KeyLine)
set-add LineNumber = $(LineNumber), 1
Continue_GetNewLineConfigs = +
ifint $(LineNumber) < $(NumberOfLines)
goto Top_GetNewLineConfigs
endif
Break_GetNewLineConfigs = +
set Status = "STATUS_SUCCESSFUL"
Exit = +
Return $(Status) $(NeedBindingReview)
[ConfigureMode]
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set DoConfig = $($4)
set Status = "STATUS_FAILED"
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
goto Error_CannotConfig
endif
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) 33554432 KeySoftware
ifstr $(KeySoftware) == ""
goto Error_CannotConfig
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeySoftware) "ServiceName"
set AdapterServiceName = $($R1)
CloseRegKey $(KeySoftware)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyParameters = $($R0)
ifstr $(KeyParameters) == ""
goto Error_CannotConfig
endif
shell "" ConfigureAdapter-$(Option) $(SrcDir) $(Option) $(KeyParameters) $(AdapterServiceName)
set Status = $($R0)
CloseRegKey $(KeyParameters)
goto Exit
Error_CannotConfig = +
ifstr(i) "CANNOT_CONFIGURE_SOFTWARE" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "CANNOT_CONFIGURE_SOFTWARE"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
set Status = "STATUS_USERCANCEL"
Exit = +
Return $(Status)
[GetBindings]
set Key = $($0)
shell "" DefaultGetRegValueByKey $(!REG_VT_MULTI_SZ) $(Key) "Bind" {}
set BindList = $($R0)
shell "" DefaultGetRegValueByKey $(!REG_VT_MULTI_SZ) $(Key) "Route" {}
set RouteList = $($R0)
shell "" DefaultGetRegValueByKey $(!REG_VT_MULTI_SZ) $(Key) "Export" {}
set ExportList = $($R0)
Exit = +
Return $(BindList) $(RouteList) $(ExportList)
[BindMode]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Option = $($0)
set SrcDir = $($1)
set AddCopy = $($2)
set DoCopy = $($3)
set DoConfig = $($4)
set OptionsThatNeedSpecialBindings = { "SyncPort" }
Ifcontains $(Option) not-in $(OptionsThatNeedSpecialBindings)
goto Exit
endif
set Status = "STATUS_FAILED"
read-syms DriverConstants-$(Option)
StartWait
shell "" InstallSNMP $(Option)
set Installed = $($R0)
ifint $(Installed) == 1
shell "" ConfigSNMP $(Option)
endif
set TCPIPUsageList = {}
set IPXUsageList = {}
set EthernetUsageList = {}
shell "" EnumAdapters { "FR", "X25L" } 0
set AdapterDataList = $($R0)
ForListDo $(AdapterDataList)
set ServiceName = *($($), 1)
shell "" OpenServiceParamKey $(ServiceName)
set KeyService = $($R0)
shell "" GetRegValueByKey $(TYPECHECK_NONE) $(KeyService) "TCPIP"
set TCPIPUsageList = >($(TCPIPUsageList), $($R1))
shell "" GetRegValueByKey $(TYPECHECK_NONE) $(KeyService) "IPX"
set IPXUsageList = >($(IPXUsageList), $($R1))
shell "" GetRegValueByKey $(TYPECHECK_NONE) $(KeyService) "Ethernet"
set EthernetUsageList = >($(EthernetUsageList), $($R1))
EndForListDo
CloseRegKey $(KeyService)
set TypeList = { "TCPIP", "IPX", "Ethernet" }
set TCPIPServiceList = { "Tcpip", "NetBT" }
set IPXServiceList = { "NwlnkIpx" }
set EthernetServiceList = { "Nbf", "AppleTalk", "DLC" }
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) 33554432 KeyServiceRoot
EnumRegKey $(KeyServiceRoot) ServicesList
ForListDo $(ServicesList)
set Service = *($($), 1)
set KeyBind = ""
set KeyDisabledBind = ""
Ifcontains(i) $(Service) in $(HardwareList)
goto NextService
endif
OpenRegKey $(KeyServiceRoot) "" $(Service)"\Linkage" 33554432 KeyBind
ifstr $(KeyBind) == ""
goto NextService
endif
OpenRegKey $(KeyBind) "" "Disabled" 33554432 KeyDisabledBind
ifstr $(KeyDisabledBind) == ""
goto NextService
endif
shell "" GetBindings $(KeyBind)
set BindList = $($R0)
set RouteList = $($R1)
set ExportList = $($R2)
shell "" GetBindings $(KeyDisabledBind)
set DisabledBindList = $($R0)
set DisabledRouteList = $($R1)
set DisabledExportList = $($R2)
ifstr $(BindList) == {}
ifstr $(DisabledBindList) == {}
goto NextService
endif
endif
set NewBindList = {}
set NewRouteList = {}
set NewExportList = {}
set NewDisabledBindList = {}
set NewDisabledRouteList = {}
set NewDisabledExportList = {}
ForListDo $(BindList)
set Activate = 1
Split-String $($) "_\" BindComponentList
ForListDo $(AdapterDataList)
set AdapterName = *($($), 1)
set AdapterIndex = $(#)
Ifcontains(i) $(AdapterName) in $(BindComponentList)
ForListDo $(TypeList)
set Protocol = $($)
set Usage = *($($(Protocol)UsageList), $(AdapterIndex))
ifint $(Usage) == 0
Ifcontains(i) $(Service) in $($(Protocol)ServiceList)
set Activate = 0
else
ForListDo $($(Protocol)ServiceList)
Ifcontains(i) $($) in $(BindComponentList)
set Activate = 0
endif
EndForListDo
Endif
endif
EndForListDo
endif
EndForListDo
set BindValue = *($(BindList), $(#))
set RouteValue = *($(BindList), $(#))
set ExportValue = *($(BindList), $(#))
ifint $(Activate) == 1
set NewBindList = >($(NewBindList), $(BindValue))
set NewRouteList = >($(NewRouteList), $(RouteValue))
set NewExportList = >($(NewExportList), $(ExportValue))
else
set NewDisabledBindList = >($(NewDisabledBindList), $(BindValue))
set NewDisabledRouteList = >($(NewDisabledRouteList), $(RouteValue))
set NewDisabledExportList = >($(NewDisabledExportList), $(ExportValue))
endif
EndForListDo
ForListDo $(DisabledBindList)
set Activate = 0
Split-String $($) "_\" BindComponentList
ForListDo $(AdapterDataList)
set AdapterName = *($($), 1)
set AdapterIndex = $(#)
Ifcontains(i) $(AdapterName) in $(BindComponentList)
ForListDo $(TypeList)
set Protocol = $($)
set Usage = *($($(Protocol)UsageList), $(AdapterIndex))
ifint $(Usage) > 0
Ifcontains(i) $(Service) in $($(Protocol)ServiceList)
set Activate = 1
else
ForListDo $($(Protocol)ServiceList)
Ifcontains(i) $($) in $(BindComponentList)
set Activate = 1
endif
EndForListDo
Endif
endif
EndForListDo
endif
EndForListDo
set BindValue = *($(DisabledBindList), $(#))
set RouteValue = *($(DisabledRouteList), $(#))
set ExportValue = *($(DisabledExportList), $(#))
ifint $(Activate) == 1
set NewBindList = >($(NewBindList), $(BindValue))
set NewRouteList = >($(NewRouteList), $(BindValue))
set NewExportList = >($(NewExportList), $(ExportValue))
else
set NewDisabledBindList = >($(NewDisabledBindList), $(BindValue))
set NewDisabledRouteList = >($(NewDisabledRouteList), $(RouteValue))
set NewDisabledExportList = >($(NewDisabledExportList), $(ExportValue))
endif
EndForListDo
set BindValueList = { +
{ "Bind", 0, $(!REG_VT_MULTI_SZ), $(NewBindList) }, +
{ "Route", 0, $(!REG_VT_MULTI_SZ), $(NewRouteList) }, +
{ "Export", 0, $(!REG_VT_MULTI_SZ), $(NewExportList) } }
shell "" SetValuesFromList $(KeyBind) $(BindValueList)
set DisabledBindValueList = { +
{ "Bind", 0, $(!REG_VT_MULTI_SZ), $(NewDisabledBindList) }, +
{ "Route", 0, $(!REG_VT_MULTI_SZ), $(NewDisabledRouteList) }, +
{ "Export", 0, $(!REG_VT_MULTI_SZ), $(NewDisabledExportList) } }
shell "" SetValuesFromList $(KeyDisabledBind) $(DisabledBindValueList)
NextService = +
shell "" CloseOpenRegKey $(KeyDisabledBind)
shell "" CloseOpenRegKey $(KeyBind)
EndForListDo
shell "" CloseOpenRegKey $(KeyServiceRoot)
EndWait
Exit = +
set Status = "STATUS_SUCCESSFUL"
Return $(Status)
[EnumAdapters]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set ProductTypeList = $($0)
set WantAdapterKeys = $($1)
set ProductNameList = {}
ForListDo $(ProductTypeList)
read-syms DriverConstants-$($)
set ProductNameList = >($(ProductNameList), $(ProductHardwareName))
EndForListDo
set AdapterDataList = {}
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_NETWORKCARDS) 33554432 KeyNetCards
ifstr $(KeyNetCards) != ""
EnumRegKey $(KeyNetCards) KeyNameList
ForListDo $(KeyNameList)
set NetCardNum = *($($), 1)
OpenRegKey $(KeyNetCards) "" $(NetCardNum) 33554432 KeyNetCard
ifstr $(KeyNetCard) != ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyNetCard) "ProductName"
set ProductName = $($R1)
Ifcontains(i) $(ProductName) in $(ProductNameList)
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyNetCard) "ServiceName"
set ServiceName = $($R1)
ifint $(WantAdapterKeys) == 0
CloseRegKey $(KeyNetCard)
set KeyNetCard = ""
endif
set AdapterData = { $(ServiceName), $(NetCardNum), $(KeyNetCard) }
set AdapterDataList = >($(AdapterDataList), $(AdapterData))
else
CloseRegKey $(KeyNetCard)
endif
endif
EndForListDo
CloseRegKey $(KeyNetCards)
endif
Exit = +
Return $(AdapterDataList)
[FindAdapter]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
set ProductHardwareName = $($0)
set Success = 0
set AdapterNumber = ""
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_NETWORKCARDS) 33554432 KeyNetCards
ifstr $(KeyNetCards) != ""
EnumRegKey $(KeyNetCards) NetworkCardList
ForListDo $(NetworkCardList)
ifint $(Success) == 0
set NetworkCardKeyName = *($($), 1)
OpenRegKey $(KeyNetCards) "" $(NetworkCardKeyName) 33554432 NetworkCardKey
ifstr $(NetworkCardKey) != ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(NetworkCardKey) "ProductName"
set ProductName = $($R1)
ifstr(i) $(ProductName) == $(ProductHardwareName)
set AdapterNumber = $(NetworkCardKeyName)
set Success = 1
endif
endif
endif
EndForListDo
endif
Exit = +
Return $(Success) $(AdapterNumber)
[AddAdapter]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Type = $($0)
set Option = $($1)
set StringsOverride = $($2)
set AdapterNumberStartingPoint = $($3)
set AdditionalNetCardValues = $($4)
set AdditionalAdapterRules = $($5)
set AdditionalParameters = $($6)
read-syms DriverConstants-$(Type)
read-syms $(Type)-Strings-$(!STF_LANGUAGE)
read-syms Generic-Strings-$(!STF_LANGUAGE)
ifstr $(StringsOverride) != ""
read-syms $(StringsOverride)
endif
set Success = 0
set AdapterNumber = 0
set KeyNetCard = ""
set KeyAdapterRules = ""
set KeyParameters = ""
set HardwareInstalled = 0
shell "utility.inf" AssignAdapterNumber "" $(AdapterNumberStartingPoint)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
set AssignedAdapterNumber = $($R1)
shell "utility.inf" AddHardwareComponent +
$(ProductHardwareName) +
$(STF_CONTEXTINFNAME) +
$(ProductKeyName) +
"" +
"" +
$(AssignedAdapterNumber)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
set KeyNetCard = $($R1)
set KeyAdapterRules = $($R2)
set KeyParameters = $($R3)
set AdapterNumber = $($R4)
set AdapterServiceName = $($R5)
set HardwareInstalled = 1
set NewAdapterTitle = "["$(AdapterNumber)"] "$(AdapterTitle)
shell "" SetRefCountByKey $(KeyNetCard) 1
ifint $($R0) == 0
goto Error
endif
shell "" GetElapsedTime
set CurrentTime = $($R0)
set NetCardValueList = { +
{ "Manufacturer", 0, $(!REG_VT_SZ), $(Manufacturer) }, +
{ "Title", 0, $(!REG_VT_SZ), $(NewAdapterTitle) }, +
{ "Description", 0, $(!REG_VT_SZ), $(AdapterDescription) }, +
{ "ProductName", 0, $(!REG_VT_SZ), $(ProductHardwareName) }, +
{ "ServiceName", 0, $(!REG_VT_SZ), $(AdapterServiceName) }, +
{ "InstallDate", 0, $(!REG_VT_DWORD), $(CurrentTime) } }
shell "" SetValuesFromList $(KeyNetCard) $(NetCardValueList)
ifint $($R0) == 0
goto Error
endif
shell "" SetValuesFromList $(KeyNetCard) $(AdditionalNetCardValues)
ifint $($R0) == 0
goto Error
endif
set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
set AdapterRulesValueList = { +
{ "type", 0, $(!REG_VT_SZ), $(NetRuleHardwareType) }, +
{ "bindform", 0, $(!REG_VT_SZ), $(TempBindForm) }, +
{ "class", 0, $(!REG_VT_MULTI_SZ), $(NetRuleHardwareClass) }, +
{ "InfOption", 0, $(!REG_VT_SZ), $(Option) } }
shell "" SetValuesFromList $(KeyAdapterRules) $(AdapterRulesValueList)
ifint $($R0) == 0
goto Error
endif
shell "" SetValuesFromList $(KeyAdapterRules) $(AdditionalAdapterRules)
ifint $($R0) == 0
goto Error
endif
set ParametersValueList = { +
{ "ServiceName", 0, $(!REG_VT_SZ), $(AdapterServiceName) }, +
{ "VAdapterNum", 0, $(!REG_VT_SZ), $(AdapterNumber) } }
shell "" SetValuesFromList $(KeyParameters) $(ParametersValueList)
ifint $($R0) == 0
goto Error
endif
shell "" SetValuesFromList $(KeyParameters) $(AdditionalParameters)
ifint $($R0) == 0
goto Error
endif
set Success = 1
goto Exit
Error = +
ifint $(HardwareInstalled) == 1
shell "utility.inf" RemoveHardwareComponent $(Manufacturer) $(ProductHardwareName) $(KEY_NETWORKCARDS)"\"$(AdapterNumber)
endif
Exit = +
set KeyCloseList = { $(KeyNetCard), $(KeyAdapterRules), $(KeyParameters) }
shell "" CloseOpenRegKeyList $(KeyCloseList)
Return $(Success) $(AdapterNumber)
[SetParams]
set AdapterParametersKey = $($0)
set DLCI = $($1)
set DLCIList = $($2)
set KeyPVCList = $($3)
set KeyNetCard = $($4)
read-syms GlobalConstants
set Success = 0
set NeedBindingReview = 0
ForListDo $(DLCIList)
ifint $(DLCI) == $($)
set ItemNumber = $(#)
endif
EndForListDo
set KeyPVC = *($(KeyPVCList), $(ItemNumber))
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyPVC) "Desc"
set Desc = $($R1)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyNetCard) "Title" $(Desc)
set ValueNameList = { "TCPIP", "IPX", "Ethernet" }
ForListDo $(ValueNameList)
set ValueName = $($)
shell "" GetRegValueByKey $(TYPECHECK_NONE) $(KeyPVC) $(ValueName)
ifint $($R1) != 0
set PVCHasConnections = 1
else
set PVCHasConnections = 0
endif
shell "" GetRegValueByKey $(TYPECHECK_NONE) $(AdapterParametersKey) $(ValueName)
ifint $($R1) != 0
set AdapterHasConnections = 1
else
set AdapterHasConnections = 0
endif
shell "" Boolean-Xor $(PVCHasConnections) $(AdapterHasConnections)
ifint $($R0) == 1
set NeedBindingReview = 1
endif
EndForListDo
shell "" CopyRegTree $(KeyPVC) $(AdapterParametersKey)
ifint $($R0) == 0
goto Exit
endif
set Success = 1
Exit = +
Return $(Success) $(NeedBindingReview)
[CreateVirtualAdapters]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Type = $($0)
set Line = $($1)
set AdapterNameNumber = $($2)
set Option = $($3)
read-syms DriverConstants-$(Type)
set Success = 0
set NeedBindingReview = 0
set KeyParams = ""
shell "" OpenServiceParamKey $(AdapterNameNumber)
set KeyParams = $($R0)
ifstr $(KeyParams) == ""
ifstr(i) "UNABLE_ACCESS_SOFTWARE_REG" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "UNABLE_ACCESS_SOFTWARE_REG"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
endif
set Key = ""
set KeySubPVCList = {}
OpenRegKey $(KeyParams) "" $(LineServiceKeyName)\$(Line) 33554432 Key
ifstr $(Key) == ""
ifstr(i) "UNABLE_ACCESS_SOFTWARE_REG" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "UNABLE_ACCESS_SOFTWARE_REG"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
endif
set DLCIList = {}
EnumRegKey $(Key) SubKeyList
ForListDo $(SubKeyList)
set SubKeyName = *($($), 1)
OpenRegKey $(Key) "" $(SubKeyName) 33554432 KeySubPVC
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeySubPVC) $(CircuitName)
ifint $($R0) == 0
goto NextSubKey1
endif
set DLCI = $($R1)
set DLCIList = >($(DLCIList), $(DLCI))
set KeySubPVCList = >($(KeySubPVCList), $(KeySubPVC))
NextSubKey1 = +
EndForListDo
set ProcessedDLCIList = {}
shell "" EnumAdapters { $(Type) } 1
set AdapterDataList = $($R0)
ForListDo $(AdapterDataList)
set ServiceName = *($($), 1)
set NetCardNum = *($($), 2)
set KeyNetworkCard = *($($), 3)
set KeyVirtualAdapterService = ""
shell "" OpenServiceParamKey $(ServiceName)
set KeyVirtualAdapterService = $($R0)
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyVirtualAdapterService) "Adapter"
ifint $($R0) == 0
goto NextNetCard
endif
set AdapterName = $($R1)
ifstr(i) $(AdapterName) != $(AdapterNameNumber)
goto NextNetCard
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyVirtualAdapterService) "Line"
ifint $($R0) == 0
goto NextNetCard
endif
set AdapterLine = $($R1)
ifstr(i) $(AdapterLine) != $(Line)
goto NextNetCard
endif
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyVirtualAdapterService) $(CircuitName)
ifint $($R0) == 0
goto NextNetCard
endif
set DLCI = $($R1)
Ifcontains $(DLCI) in $(DLCIList)
shell "" SetParams $(KeyVirtualAdapterService) $(DLCI) $(DLCIList) $(KeySubPVCList) $(KeyNetworkCard)
ifint $($R0) == 0
goto NextNetCard
endif
ifint $($R1) == 1
set NeedBindingReview = 1
endif
else
shell "utility.inf" RemoveHardwareComponent $(Manufacturer) $(ProductHardwareName) $(KEY_NETWORKCARDS)"\"$(NetCardNum)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto NextNetCard
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto NextNetCard
endif
set NeedBindingReview = 1
endif
set ProcessedDLCIList = >($(ProcessedDLCIList), $(DLCI))
NextNetCard = +
set KeyCloseList = { $(KeyNetworkCard), $(KeyVirtualAdapterService) }
shell "" CloseOpenRegKeyList $(KeyCloseList)
EndForListDo
ForListDo $(SubKeyList)
set SubKeyName = *($($), 1)
OpenRegKey $(Key) "" $(SubKeyName) 33554432 KeySubPVC
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeySubPVC) $(CircuitName)
ifint $($R0) == 0
goto NextSubKey2
endif
set DLCI = $($R1)
Ifcontains $(DLCI) not-in $(ProcessedDLCIList)
set RegPath = $(AdapterNameNumber)"\Parameters\"$(LineServiceKeyName)"\"$(Line)"\"$(SubKeyName)
shell "" AddVirtualAdapter $(Type) $(Line) $(AdapterNameNumber) $(DLCI) $(Option) $(RegPath)
set VAdapterNum = $($R1)
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_NETWORKCARDS)"\"$(VAdapterNum) 33554432 KeyNetcard
shell "" OpenServiceParamKey $(ProductHardwareName)$(VAdapterNum)
set KeyParameters = $($R0)
shell "" SetParams $(KeyParameters) $(DLCI) $(DLCIList) $(KeySubPVCList) $(KeyNetcard)
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyNetcard)
set NeedBindingReview = 1
endif
NextSubKey2 = +
CloseRegKey $(KeySubPVC)
EndForListDo
set Success = 1
Exit = +
set KeyCloseList = >($(KeySubPVCList), $(Key))
shell "" CloseOpenRegKeyList $(KeyCloseList)
Return $(Success) $(NeedBindingReview)
[AddVirtualAdapter]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Type = $($0)
set Line = $($1)
set ParentAdapterServiceName = $($2)
set Circuit = $($3)
set Option = $($4)
set RegPath = $($5)
set Success = 0
set AdapterNumber = 0
set NetCardValueList = { +
{ "Adapter", 0, $(!REG_VT_SZ), $(ParentAdapterServiceName) }, +
{ "Hidden", 0, $(!REG_VT_DWORD), 1 } }
set ParametersValueList = { +
{ "Adapter", 0, $(!REG_VT_SZ), $(ParentAdapterServiceName) }, +
{ "Line", 0, $(!REG_VT_SZ), $(Line) }, +
{ "Protocol", 0, $(!REG_VT_SZ), $(Type) }, +
{ "RegPath", 0, $(!REG_VT_SZ), $(RegPath) } }
ifstr $(CircuitName) != ""
set ParametersValueList = >($(ParametersValueList), { $(CircuitName), 0, $(!REG_VT_DWORD), $(Circuit) })
endif
shell "" AddAdapter $(Type) $(Option) "" "1000" $(NetCardValueList) {} $(ParametersValueList)
set Success = $($R0)
set AdapterNumber = $($R1)
Exit = +
Return $(Success) $(AdapterNumber)
[RemoveVirtual]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Type = $($0)
set VAdapterNum = $($1)
set Manufacturer = $($2)
read-syms DriverConstants-$(Type)
set AdapterKeyName = $(KEY_NETWORKCARDS)"\"$(VAdapterNum)
shell "utility.inf" DecrementRefCount $(AdapterKeyName)
shell "utility.inf" IsRefCountEqualZero $(AdapterKeyName)
ifint $($R1) == 0
goto Exit
endif
shell "utility.inf" RemoveHardwareComponent $(Manufacturer) $(ProductHardwareName) $(AdapterKeyName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
Exit = +
Return
[RemoveVirtualAdapters]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Type = $($0)
set Line = $($1)
set AdapterNameNumber = $($2)
set Manufacturer = $($3)
read-syms DriverConstants-$(Type)
shell "" EnumAdapters { $(Type) } 0
set AdapterDataList = $($R0)
ForListDo $(AdapterDataList)
set ServiceName = *($($), 1)
set NetCardNum = *($($), 2)
shell "" OpenServiceParamKey $(ServiceName)
set KeyService = $($R0)
ifstr $(KeyService) != ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyService) "Adapter"
ifint $($R0) == 0
goto NextNetCard
endif
set AdapterName = $($R1)
ifstr(i) $(AdapterName) != $(AdapterNameNumber)
goto NextNetCard
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyService) "Line"
ifint $($R0) == 0
goto NextNetCard
endif
set AdapterLine = $($R1)
ifstr(i) $(AdapterLine) != $(Line)
goto NextNetCard
endif
endif
shell "utility.inf" RemoveHardwareComponent $(Manufacturer) $(ProductHardwareName) $(KEY_NETWORKCARDS)"\"$(NetCardNum)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto NextNetCard
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto NextNetCard
endif
NextNetCard = +
shell "" CloseOpenRegKey $(KeyService)
EndForListDo
Return
[PCIVendorInfo-SyncPort]
VendorIDList = { 4431 }
[PCIVendorInfo-DigiRAS]
VendorIDList = { 4431, +
}
[PCIVendorInfo-PowerSync]
VendorIDList = { 4431 }
[PCICardInfo-SyncPort]
PciIDList = { 13 }
[PCICardInfo-DigiRAS]
PciIDList = { 29, +
36, +
35, +
}
[PCICardInfo-PowerSync]
PciIDList = { 34, +
33, +
32, +
31, +
}
[BusTypesSupported-SyncPort]
1
5
[BusTypesSupported-DigiRAS]
5
[BusTypesSupported-PowerSync]
5
[BusTypesSupported]
BusTypeList = ^(BusTypesSupported-$(BoardType),1)
[BusInterfaceMap]
1 = ISA
2 = ISA
5 = PCI
[GetBusData]
set BoardType = $($0)
set Description = $($1)
read-syms BusTypesSupported
set Success = 0
set BusName = ""
ifstr $(!STF_NCDETINFO) == {}
QueryListSize NumberOfBusesSupported $(BusTypeList)
ifint $(NumberOfBusesSupported) > 1
shell "utility.inf" GetBusTypeDialog $(Description)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
set BusType = $($R1)
set BusNumber = $($R2)
else
set BusType = *($(BusTypeList), 1)
set BusNumber = -1
endif
else
set BusType = *($(!STF_NCDETINFO), 5)
set BusNumber = *($(!STF_NCDETINFO), 6)
endif
Ifcontains(i) $(BusType) not-in $(BusTypeList)
read-syms InstallMessages-$(!STF_LANGUAGE)
shell "" SetupMessage "FATAL" $(BusTypeNotSupported)
goto Exit
endif
set BusName = #(BusInterfaceMap, $(BusType), 1)
set Success = 1
Exit = +
Return $(Success) $(BusName) $(BusType) $(BusNumber)
[FirstUninstalledAdapter]
set AdapterList = $($0)
set BusNumber = $($1)
set Adapter = {}
ForListDo $(AdapterList)
set AdapterBusNum = *($($), 1)
ifint $(BusNumber) == -1
set _B1 = 1
else
set _B1 = 0
endif
ifint $(AdapterBusNum) == $(BusNumber)
set _B2 = 1
else
set _B2 = 0
endif
shell "" Boolean-Or $(_B1) $(_B2)
ifint $($R0) == 1
set AdapterSlotNum = *($($), 2)
set Description = ""
set Product = ""
set SkipDescCheck = "YES"
shell "utility.inf" IsNetCardAlreadyInstalled $(AdapterBusNum) $(AdapterSlotNum) $(Description) $(Product) $(SkipDescCheck)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
ifstr(i) $($R1) != "YES"
set Adapter = $($)
goto Exit
endif
endif
EndForListDo
Exit = +
Return $(Adapter)
[FindPCI]
set InterfaceType = $($0)
set BusNumber = $($1)
set BoardType = $($2)
read-syms PCIVendorInfo-$(BoardType)
read-syms PCICardInfo-$(BoardType)
set AdapterData = {}
ForListDo $(VendorIDList)
set VendorID = $($)
ForListDo $(PciIDList)
set PciID = $($)
shell "utility.inf" GetPCIInformation $(VendorID) $(PciID)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
set AdapterList = $($R0)
ifstr $(AdapterList) != {}
shell "" FirstUninstalledAdapter $(AdapterList) $(BusNumber)
set AdapterData = $($R0)
ifstr $(AdapterData) != {}
goto GetRestOfTheData
endif
endif
EndForListDo
EndForListDo
goto Exit
GetRestOfTheData = +
set BusNumber = *($(AdapterData), 1)
set SlotNumber = *($(AdapterData), 2)
read-syms DetectionConstants
LoadLibrary "x" $(DETECTDLL_PATH) DetectHandle
LibraryProcedure Result $(DetectHandle) DetectEntry $(!STF_HWND) $(BoardType) $(InterfaceType) $(BusNumber) $(SlotNumber)
FreeLibrary $(DetectHandle)
set AdapterData = {}
set DetectionResult = *($(Result), 1)
ifstr(i) $(DetectionResult) == "SUCCESS"
set DetectionWorked = 1
else
set DetectionWorked = 0
endif
ifint $(DetectionWorked) == 0
goto Exit
endif
set AdapterData = *($(Result), 2)
Exit = +
Return $(AdapterData)
[FindISA]
set InterfaceType = $($0)
set BusNumber = $($1)
set BoardType = $($2)
set AdapterData = {}
set UsedMemBaseList = {}
set UsedIOBaseList = {}
set UsedIRQList = {}
ifint $(BusNumber) == -1
set BusNumber = 0
endif
shell "" EnumAdapters { $(BoardType) } 0
set AdapterDataList = $($R0)
ForListDo $(AdapterDataList)
set ServiceName = *($($), 1)
shell "" OpenServiceParamKey $(ServiceName)
set KeyService = $($R0)
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyService) "IOBaseAddress"
set UsedIOBaseList = >($(UsedIOBaseList), $($R1))
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyService) "MemoryMappedBaseAddress"
set UsedMemBaseList = >($(UsedMemBaseList), $($R1))
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyService) "InterruptNumber"
set UsedIRQList = >($(UsedIRQList), $($R1))
shell "" CloseOpenRegKey $(KeyService)
EndForListDo
shell "subroutn.inf" PopBillboard
read-syms DetectionConstants
LoadLibrary "x" $(DETECTDLL_PATH) DetectHandle
LibraryProcedure Result $(DetectHandle) DetectEntry $(!STF_HWND) $(BoardType) $(InterfaceType) $(BusNumber) $(UsedIOBaseList) $(UsedMemBaseList) $(UsedIRQList)
set AdapterData = { $(BusNumber), 0, 0, 0, 0 }
set DetectionResult = *($(Result), 1)
ifstr(i) $(DetectionResult) != "SUCCESS"
goto Error_FreeLibrary
endif
set DetectionData = *($(Result), 2)
set AdapterData = { $(BusNumber), +
0, +
*($(DetectionData), 1), +
*($(DetectionData), 2), +
*($(DetectionData), 3) +
}
Error_FreeLibrary = +
FreeLibrary $(DetectHandle)
Exit = +
Return $(AdapterData)
[TapiConstants]
KEY_DEVICEMAPROOT = "HARDWARE\DEVICEMAP"
KEY_TAPIDEVICES = "TAPI DEVICES"
VALUE_ADDRESS = "Address"
VALUE_MEDIATYPE = "Media Type"
[SetTapi]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms TapiConstants
set SvcType = $($0)
set VirtualAdapterNumber = $($1)
set PortCount = $($2)
set AddrScheme = $($3)
read-syms DriverConstants-$(SvcType)
set Success = 0
set KeyDeviceMap = ""
set KeyTapiDevices = ""
set KeyServiceProvider = ""
StartWait
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_DEVICEMAPROOT) 33554432 KeyDeviceMap
ifstr $(KeyDeviceMap) == ""
ifstr(i) "UNABLE_ACCESS_DEVICEMAP_REG" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "UNABLE_ACCESS_DEVICEMAP_REG"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
endif
shell "" MakeRegKey $(KeyDeviceMap) { $(KEY_TAPIDEVICES), 0, "GenericClass" }
set KeyTapiDevices = $($R0)
ifstr $(KeyTapiDevices) == ""
ifstr(i) "UNABLE_ACCESS_TAPIDEVICES_REG" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "UNABLE_ACCESS_TAPIDEVICES_REG"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
endif
shell "" MakeRegKey $(KeyTapiDevices) { $(ProductSoftwareName), 0, "GenericClass" }
set KeyServiceProvider = $($R0)
ifstr $(KeyServiceProvider) == ""
ifstr(i) "UNABLE_ACCESS_SOFTWARE_REG" != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString "UNABLE_ACCESS_SOFTWARE_REG"
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
endif
set PreviousAddressList = {}
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyServiceProvider) $(VALUE_ADDRESS)
ifint $($R0) == 1)
set PreviousAddressList = $($R1)
endif
set CurrentAddressList = {}
ForListDo $(PreviousAddressList)
set Address = $($)
Split-String $(Address) "-" AddressParts
ifstr(i) *($(AddressParts), 1) != $(VirtualAdapterNumber)
set CurrentAddressList = >($(CurrentAddressList), $(Address))
endif
EndForListDo
set BuildDigit2 = 0
set BuildDigit3 = 0
set DigitToInc = BuildDigit$(AddrScheme)
goto Continue_Build
Top_Build = +
set BuildAddress = $(VirtualAdapterNumber)"-"$(BuildDigit2)"-"$(BuildDigit3)
set CurrentAddressList = >($(CurrentAddressList), $(BuildAddress))
set-add $(DigitToInc) = $($(DigitToInc)), 1
Continue_Build = +
ifint $($(DigitToInc)) < $(PortCount)
goto Top_Build
endif
Break_Build = +
QueryListSize AddressListSize $(CurrentAddressList)
ifint $(AddressListSize) == 0
shell "" CloseOpenRegKey $(KeyServiceProvider)
DeleteRegKey $(KeyTapiDevices) $(ProductSoftwareName)
goto Exit
endif
set NewValueList = { +
{ $(VALUE_MEDIATYPE), 0, $(!REG_VT_SZ), $(MediaType) } +
{ $(VALUE_ADDRESS), 0, $(!REG_VT_MULTI_SZ), $(CurrentAddressList) } }
shell "" SetValuesFromList $(KeyServiceProvider) $(NewValueList)
ifint $($R0) == 0
goto Error
endif
Exit = +
set Success = 1
Error = +
shell "" CloseOpenRegKey $(KeyDeviceMap)
shell "" CloseOpenRegKey $(KeyTapiDevices)
shell "" CloseOpenRegKey $(KeyServiceProvider)
EndWait
Return $(Success)
[CopyPVCData]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Type = $($0)
set Line = $($1)
set KeyLine = $($2)
set AdapterName = $($3)
read-syms DriverConstants-$(Type)
set KeyParams = ""
shell "" OpenServiceParamKey $(AdapterName)
set KeyParams = $($R0)
ifstr $(KeyParams) == ""
ifint 0 == 0
goto Exit
endif
endif
OpenRegKey $(KeyParams) "" $(LineServiceKeyName)\$(Line) 33554432 KeyPVC
ifstr $(KeyPVC) == ""
ifint 0 == 0
goto Exit
endif
endif
shell "" EnumAdapters { $(Type) } 1
set AdapterDataList = $($R0)
ForListDo $(AdapterDataList)
set ServiceName = *($($), 1)
set NetworkCardKey = *($($), 3)
shell "" OpenServiceParamKey $(ServiceName)
set KeyVirtualAdapterService = $($R0)
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyVirtualAdapterService) "Adapter"
ifint $($R0) == 0
goto NextNetCard
endif
ifstr(i) $($R1) != $(AdapterName)
goto NextNetCard
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyVirtualAdapterService) "Line"
ifint $($R0) == 0
goto NextNetCard
endif
ifstr(i) $($R1) != $(Line)
goto NextNetCard
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(NetworkCardKey) "Title"
ifint $($R0) == 0
goto NextNetCard
endif
set Description = $($R1)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyVirtualAdapterService) "Description" $(Description)
ifint $($R0) == 0
goto NextNetCard
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyVirtualAdapterService) "RegPath"
ifint $($R0) == 0
goto NextNetCard
endif
set Circuit = $($R1)
shell "" MakeRegKey $(!REG_H_LOCAL) { $(!NTN_ServiceBase)"\"$(Circuit), 0, "GenericClass" }
set PVCKey = $($R0)
ifstr $(PVCKey) == ""
ifint 0 == 0
goto NextNetCard
endif
endif
shell "" CopyRegTree $(KeyVirtualAdapterService) $(PVCKey)
ifint $($R0) == 0
goto NextNetCard
endif
CloseRegKey $(PVCKey)
NextNetCard = +
CloseRegKey $(NetworkCardKey)
EndForListDo
CloseRegKey $(KeyParams)
CloseRegKey $(KeyPVC)
Exit = +
Return
[CopyRouterData]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-X25
set KeyParameters = $($0)
set KeyX25Adapter = ""
set AdapterNumber = ""
shell "" FindAdapter $(ProductSoftwareName)
ifint $($R0) == 1
set AdapterNumber = $($R1)
shell "" OpenServiceParamKey $(ProductHardwareName)$(AdapterNumber)
set KeyX25Adapter = $($R0)
shell "" MakeRegKey $(KeyParameters) { "WanX", 0, "GenericClass" }
set KeyX25Route = $($R0)
shell "" CopyRegTree $(KeyX25Adapter) $(KeyX25Route)
shell "" CloseOpenRegKey $(KeyX25Adapter)
shell "" CloseOpenRegKey $(KeyX25Route)
endif
Return
[UpdateRouter]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-X25
set KeyParameters = $($0)
set KeyX25Adapter = ""
set AdapterNumber = ""
shell "" FindAdapter $(ProductSoftwareName)
ifint $($R0) == 1
set AdapterNumber = $($R1)
shell "" OpenServiceParamKey $(ProductHardwareName)$(AdapterNumber)
set KeyX25Adapter = $($R0)
OpenRegKey $(KeyParameters) "" "WanX" 33554432 KeyX25Route
ifstr $(KeyX25Route) != ""
shell "" CopyRegTree $(KeyX25Route) $(KeyX25Adapter)
shell "" CloseOpenRegKey $(KeyX25Route)
endif
endif
Return
[CleanUpAfterConfig]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Type = $($0)
set Line = $($1)
set LineKey = $($2)
read-syms DriverConstants-$(Type)
ifstr(i) $(Group) == "NDIS"
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductSoftwareName) 33554432 KeyDriverService
ifstr $(KeyDriverService) != ""
shell "" EnumAdapters { $(Type) } 0
set AdapterDataList = $($R0)
QueryListSize NumVA $(AdapterDataList)
ifint $(NumVA) > 0
set Start = 2
else
set Start = 4
endif
shell "" SetRegValueByKey $(!REG_VT_DWORD) $(KeyDriverService) "Start" $(Start)
CloseRegKey $(KeyDriverService)
endif
endif
Return
[AddService]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms Identification
set Type = $($0)
read-syms DriverConstants-$(Type)
read-syms $(Type)-Strings-$(!STF_LANGUAGE)
read-syms Generic-Strings-$(!STF_LANGUAGE)
set Installed = 1
set SoftwareInstalled = 0
set KeyProduct = ""
set KeyNetRules = ""
set KeyService = ""
set KeyParameters = ""
set KeyLinkage = ""
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) 33554432 KeyProduct
ifstr $(KeyProduct) != ""
goto Exit
endif
StartWait
shell "utility.inf" AddSoftwareComponent +
$(Manufacturer), +
$(ProductSoftwareName) +
$(ProductSoftwareName) +
$(DriverTitle) +
$(STF_CONTEXTINFNAME) +
$(ProductSoftwareImagePath) +
$(ServiceType) +
$(Group) +
$(DependsOn) +
"" +
$(ProductSoftwareImagePath)";"$(IoLogMsgDLLPath)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Error
endif
set KeyProduct = $($R1)
set KeyNetRules = $($R2)
set KeyService = $($R3)
set KeyParameters = $($R4)
set KeyLinkage = $($R5)
set SoftwareInstalled = 1
shell "" GetElapsedTime
set CurrentTime = $($R0)
set ProductValueList = { +
{ "SoftwareType", 0, $(!REG_VT_SZ), $(SoftwareType) }, +
{ "SoftwareVersion", 0, $(!REG_VT_SZ), $(InstallVersion) }, +
{ "ProductVersion", 0, $(!REG_VT_SZ), $(ProductVersion) }, +
{ "MajorVersion", 0, $(!REG_VT_SZ), $(ProductMajorVersion) }, +
{ "MinorVersion", 0, $(!REG_VT_SZ), $(ProductMinorVersion) }, +
{ "BuildNumber", 0, $(!REG_VT_SZ), $(ProductBuildNumber) }, +
{ "Title", 0, $(!REG_VT_SZ), $(DriverTitle) }, +
{ "Description", 0, $(!REG_VT_SZ), $(DriverDescription) }, +
{ "ServiceName", 0, $(!REG_VT_SZ), $(ProductSoftwareName) }, +
{ "Review", 0, $(!REG_VT_DWORD), $(Review) }, +
{ "InstallDate", 0, $(!REG_VT_DWORD), $(CurrentTime) }, +
{ "Hidden", 0, $(!REG_VT_DWORD), $(Hidden) } }
shell "" SetValuesFromList $(KeyProduct) $(ProductValueList)
ifint $($R0) == 0
goto Error
endif
set NetRulesValueList = { +
{ "type", 0, $(!REG_VT_SZ), $(NetRuleSoftwareType) }, +
{ "use", 0, $(!REG_VT_SZ), $(NetRuleSoftwareUse) }, +
{ "bindform", 0, $(!REG_VT_SZ), $(NetRuleSoftwareBindForm) }, +
{ "class", 0, $(!REG_VT_MULTI_SZ), $(NetRuleSoftwareClass) }, +
{ "bindable", 0, $(!REG_VT_MULTI_SZ), $(NetRuleSoftwareBindable) }, +
{ "InfOption", 0, $(!REG_VT_SZ), $(Type) } }
shell "" SetValuesFromList $(KeyNetRules) $(NetRulesValueList)
ifint $($R0) == 0
goto Error
endif
set LinkageValueList = { +
{ "OtherDependencies", 0, $(!REG_VT_MULTI_SZ), $(DependsOn) } }
shell "" SetValuesFromList $(KeyLinkage) $(LinkageValueList)
ifint $($R0) == 0
goto Error
endif
goto Exit
Error = +
ifint $(SoftwareInstalled) == 1
set SoftwareInstalled = 0
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName) "FALSE"
endif
set Installed = 0
Exit = +
shell "" CloseOpenRegKey $(KeyProduct)
shell "" CloseOpenRegKey $(KeyNetRules)
shell "" CloseOpenRegKey $(KeyService)
shell "" CloseOpenRegKey $(KeyParameters)
shell "" CloseOpenRegKey $(KeyLinkage)
EndWait
Return $(Installed)
[SetUp-FRService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
shell "" CopyPVCData "FR" $(Line) $(KeyLine) $(AdapterServiceName)
Return
[CleanUp-FRService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set ConfigResult = $($3)
shell "" CleanUpAfterConfig "FR" $(Line) $(KeyLine)
Return
[Add-FRService]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-FR
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set LineNum = $($3)
set SrcDir = $($4)
set Option = $($5)
shell "" AddService "FR"
set Installed = $($R0)
ifint $(Installed) == 0
goto Exit
endif
shell "utility.inf" IncrementRefCount $(ProductKeyName)
Exit = +
Return $(Installed)
[Remove-FRService]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-FR
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
shell "" RemoveVirtualAdapters "FR" $(Line) $(AdapterServiceName) $(Manufacturer)
shell "utility.inf" DecrementRefCount $(ProductKeyName)
shell "utility.inf" IsRefCountEqualZero $(ProductKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
endif
Exit = +
Return
[Config-FRService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set Option = $($3)
shell "" CreateVirtualAdapters "FR" $(Line) $(AdapterServiceName) $(Option)
set Success = $($R0)
set NeedBindingReview = $($R1)
shell "" CopyPVCData "FR" $(Line) $(KeyLine) $(AdapterServiceName)
Return $(Success) $(NeedBindingReview)
[SetUp-X25Service]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
shell "" CopyPVCData "X25L" $(Line) $(KeyLine) $(AdapterServiceName)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
shell "" CopyRouterData $(KeyAdapterParams)
endif
Return
[CleanUp-X25Service]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set ConfigResult = $($3)
shell "" CleanUpAfterConfig "X25L" $(Line) $(KeyLine)
Return
[Add-X25Service]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set LineNum = $($3)
set SrcDir = $($4)
set Option = $($5)
shell "" AddService "X25"
set Installed = $($R0)
ifint $(Installed) == 0
goto Exit
endif
read-syms DriverConstants-X25
shell "" FindAdapter $(ProductHardwareName)
ifint $($R0) == 0
shell "" AddVirtualAdapter "X25" $(Line) $(AdapterServiceName) "" $(Option) ""
else
set VAdapterNum = $($R1)
shell "utility.inf" IncrementRefCount $(KEY_NETWORKCARDS)"\"$(VAdapterNum)
endif
read-syms DriverConstants-X25L
shell "" AddService "X25L"
shell "utility.inf" IncrementRefCount $(ProductKeyName)
Exit = +
Return $(Installed)
[Remove-X25Service]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
read-syms DriverConstants-X25L
shell "" RemoveVirtualAdapters "X25L" $(Line) $(AdapterServiceName) $(Manufacturer)
shell "utility.inf" DecrementRefCount $(ProductKeyName)
shell "utility.inf" IsRefCountEqualZero $(ProductKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
endif
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" "WanX" 33554432 KeyWanX
ifstr $(KeyWanX) != ""
OpenRegKey $(KeyAdapterParams) "" $(Line)\"X25" 33554432 KeyX25Line
ifstr $(KeyX25Line) != ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyX25Line) "Alias"
set ThisAlias = $($R1)
read-syms DriverConstants-X25
shell "" FindAdapter $(ProductHardwareName)
set RouterVAdapterNum = $($R1)
shell "" OpenServiceParamKey $(ProductHardwareName)$(RouterVAdapterNum)
set KeyX25Adapter = $($R0)
ifstr $(KeyX25Adapter) != ""
set AliasList = {}
set DeviceList = {}
set SnidList = {}
set NumVCList = {}
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "Alias"
ifint $($R0) == 1
set AliasList = $($R1)
endif
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "Device"
ifint $($R0) == 1
set DeviceList = $($R1)
endif
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "Snid"
ifint $($R0) == 1
set SnidList = $($R1)
endif
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "NumVC"
ifint $($R0) == 1
set NumVCList = $($R1)
endif
set NewAliasList = {}
set NewDeviceList = {}
set NewSnidList = {}
set NewNumVCList = {}
set NewTotal = 0
ForListDo $(AliasList)
set Alias = *($(AliasList), $(#))
set Device = *($(DeviceList), $(#))
set Snid = *($(SnidList), $(#))
set NumVC = *($(NumVCList), $(#))
ifstr(i) $(ThisAlias) != $(Alias)
set NewAliasList = >($(NewAliasList), $(Alias))
set NewDeviceList = >($(NewDeviceList), $(Device))
set NewSnidList = >($(NewSnidList), $(Snid))
set NewNumVCList = >($(NewNumVCList), $(NumVC))
set-add NewTotal = $(NewTotal), $(NumVC)
endif
EndForListDo
shell "" SetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "Alias" $(NewAliasList)
shell "" SetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "Device" $(NewDeviceList)
shell "" SetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "SNID" $(NewSnidList)
shell "" SetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "NumVC" $(NewNumVCList)
ifint $(NewTotal) > 255
shell "" GetRegValueByName $(!REG_VT_SZ) "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" "CurrentVersion"
shell "" NumericVersion $($R1)
set CurrentVersion = $($R1)
shell "" NumericVersion "3.51"
set TargetVersion = $($R1)
ifint $(CurrentVersion) <= $(TargetVersion)
set NewTotal = 255
endif
endif
shell "" SetRegValueByKey $(!REG_VT_DWORD) $(KeyX25Adapter) "NumRASPorts" $(NewTotal)
set RouteAddressList = {}
set RouteAliasList = {})
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "RouteAddress"
ifint $($R0) == 1
set RouteAddressList = $($R1)
endif
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "RouteAlias"
ifint $($R0) == 1
set RouteAliasList = $($R1)
endif
set NewRouteAddressList = {}
set NewRouteAliasList = {}
ForListDo $(RouteAliasList)
set RouteAddress = *($(RouteAddressList), $(#))
set RouteAlias = *($(RouteAliasList), $(#))
ifstr(i) $(RouteAlias) != $(ThisAlias)
set NewRouteAddressList = >($(NewRouteAddressList), $(RouteAddress))
set NewRouteAliasList = >($(NewRouteAliasList), $(RouteAlias))
endif
EndForListDo
shell "" SetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "RouteAddress" $(NewRouteAddressList)
shell "" SetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyX25Adapter) "RouteAlias" $(NewRouteAliasList)
CloseRegKey $(KeyX25Adapter)
endif
CloseRegKey $(KeyX25Line)
endif
CloseRegKey $(KeyWanX)
endif
CloseRegKey $(KeyAdapterParams)
endif
shell "" SetTapi "X25" $(RouterVAdapterNum) $(NewTotal) 3
shell "" RemoveVirtual "X25" $(RouterVAdapterNum) $(Manufacturer)
Return
[Config-X25Service]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set Option = $($3)
shell "" CreateVirtualAdapters "X25L" $(Line) $(AdapterServiceName) $(Option)
set Success = $($R0)
set NeedBindingReview = $($R1)
shell "" CopyPVCData "X25L" $(Line) $(KeyLine) $(AdapterServiceName)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
shell "" UpdateRouter $(KeyAdapterParams)
endif
Return $(Success) $(NeedBindingReview)
[SetUp-SNAService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
Return
[CleanUp-SNAService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set ConfigResult = $($3)
Return
[Add-SNAService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set LineNum = $($3)
set SrcDir = $($4)
set Option = $($5)
set Installed = 1
Return $(Installed)
[Remove-SNAService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
Return
[Config-SNAService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set Option = $($3)
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-SNA
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" $(LineServiceKeyName)"\"$(Line) 33554432 KeyLineService
ifstr $(KeyLineService) != ""
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyLineService) "Adapter" $(AdapterServiceName)
CloseRegKey $(KeyLineService)
endif
CloseRegKey $(KeyAdapterParams)
endif
set Success = 1
set NeedBindingReview = 0
Return $(Success) $(NeedBindingReview)
[SetUp-ASYN]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
Return
[CleanUp-ASYN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ASYN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set ConfigResult = $($3)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" $(LineServiceKeyName) 33554432 KeyLineService
ifstr $(KeyLineService) != ""
EnumRegKey $(KeyLineService) SubKeyList
CloseRegKey $(KeyLineService)
ifstr $(SubKeyList) == {}
DeleteRegTree $(KeyAdapterParams) $(LineServiceKeyName)
endif
endif
CloseRegKey $(KeyAdapterParams)
endif
Return
[Add-ASYN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ASYN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set LineNum = $($3)
set SrcDir = $($4)
set Option = $($5)
shell "" AddService "ASYN"
set Installed = $($R0)
ifint $(Installed) == 0
goto Exit
endif
shell "utility.inf" IncrementRefCount $(ProductKeyName)
Exit = +
Return $(Installed)
[Remove-ASYN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ASYN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" $(LineServiceKeyName) 33554432 KeyLineService
ifstr $(KeyLineService) != ""
DeleteRegTree $(KeyLineService) $(Line)
EnumRegKey $(KeyLineService) SubKeyList
ifstr $(SubKeyList) == {}
shell "" OpenServiceParamKey $(ProductHardwareName)
set KeyAsynParams = $($R0)
ifstr $(KeyAsynParams) != ""
DeleteRegTree $(KeyAsynParams) $(AdapterServiceName)
CloseRegKey $(KeyAsynParams)
endif
endif
CloseRegKey $(KeyLineService)
endif
CloseRegKey $(KeyAdapterParams)
endif
shell "utility.inf" DecrementRefCount $(ProductKeyName)
shell "utility.inf" IsRefCountEqualZero $(ProductKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
endif
Return
[Config-ASYN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ASYN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set Option = $($3)
set Success = 0
set NeedBindingReview = 0
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
shell "" MakeRegKey $(KeyAdapterParams) { $(LineServiceKeyName), 0, "GenericClass" }
set KeyLineService = $($R0)
ifstr $(KeyLineService) != ""
shell "" MakeRegKey $(KeyLineService) { $(Line), 0, "GenericClass" }
set KeyLineServiceLine = $($R0)
ifstr $(KeyLineServiceLine) != ""
CloseRegKey $(KeyLineServiceLine)
endif
CloseRegKey $(KeyLineService)
endif
CloseRegKey $(KeyAdapterParams)
endif
shell "" OpenServiceParamKey $(ProductHardwareName)
set KeyAsynParams = $($R0)
ifstr $(KeyAsynParams) != ""
shell "" MakeRegKey $(KeyAsynParams) { $(AdapterServiceName), 0, "GenericClass" }
set KeyAsynParamsAdapter = $($R0)
ifstr $(KeyAsynParamsAdapter) != ""
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyAsynParamsAdapter) "Adapter" $(AdapterServiceName)
set RegPath = $(AdapterServiceName)"\Parameters\"$(LineServiceKeyName)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyAsynParamsAdapter) "RegPath" $(RegPath)
CloseRegKey $(KeyAsynParamsAdapter)
endif
CloseRegKey $(KeyAsynParams)
endif
set Success = 1
Exit = +
Return $(Success) $(NeedBindingReview)
[SetUp-ISDN]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
Return
[CleanUp-ISDN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ISDN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set ConfigResult = $($3)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" $(LineServiceKeyName) 33554432 KeyLineService
ifstr $(KeyLineService) != ""
EnumRegKey $(KeyLineService) SubKeyList
CloseRegKey $(KeyLineService)
ifstr $(SubKeyList) == {}
DeleteRegTree $(KeyAdapterParams) $(LineServiceKeyName)
endif
endif
CloseRegKey $(KeyAdapterParams)
endif
Return
[Add-ISDN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ISDN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set LineNum = $($3)
set SrcDir = $($4)
set Option = $($5)
shell "" AddService "ISDN"
set Installed = $($R0)
ifint $(Installed) == 0
goto Exit
endif
shell "utility.inf" IncrementRefCount $(ProductKeyName)
Exit = +
Return $(Installed)
[Remove-ISDN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ISDN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" $(LineServiceKeyName) 33554432 KeyLineService
ifstr $(KeyLineService) != ""
OpenRegKey $(KeyLineService) "" $(Line) 33554432 KeyLineServiceLine
ifstr $(KeyLineServiceLine) != ""
set VAdapterNum = ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "VAdapterNum"
ifint $($R0) == 1
set VAdapterNum = $($R1)
endif
ifstr $(VAdapterNum) != ""
shell "" RemoveVirtual "ISDN" $(VAdapterNum) $(Manufacturer)
shell "" SetTapi "ISDN" $(VAdapterNum) 0 2
endif
CloseRegKey $(KeyLineServiceLine)
endif
DeleteRegTree $(KeyLineService) $(Line)
CloseRegKey $(KeyLineService)
endif
CloseRegKey $(KeyAdapterParams)
endif
shell "utility.inf" DecrementRefCount $(ProductKeyName)
shell "utility.inf" IsRefCountEqualZero $(ProductKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
endif
Return
[Config-ISDN]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-ISDN
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set Option = $($3)
set Success = 0
set NeedBindingReview = 0
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
shell "" MakeRegKey $(KeyAdapterParams) { $(LineServiceKeyName), 0, "GenericClass" }
set KeyLineService = $($R0)
ifstr $(KeyLineService) != ""
shell "" MakeRegKey $(KeyLineService) { $(Line), 0, "GenericClass" }
set KeyLineServiceLine = $($R0)
ifstr $(KeyLineServiceLine) != ""
set VAdapterNum = ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "VAdapterNum"
ifint $($R0) == 1
set VAdapterNum = $($R1)
endif
ifstr $(VAdapterNum) == ""
set RegPath = $(AdapterServiceName)"\Parameters\"$(LineServiceKeyName)"\"$(Line)
shell "" AddVirtualAdapter "ISDN" $(Line) $(AdapterServiceName) "" $(Option) $(RegPath)
set VAdapterNum = $($R1)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "VAdapterNum" $(VAdapterNum)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "Adapter" $(AdapterServiceName)
set VAServiceName = $(ProductHardwareName)$(VAdapterNum)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "ServiceName" $(VAServiceName)
endif
set EndPoints = 0
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyLineServiceLine) "Endpoints"
ifint $($R0) == 1
set EndPoints = $($R1)
endif
shell "" SetTapi "ISDN" $(VAdapterNum) $(EndPoints) 2
set NeedBindingReview = 1
CloseRegKey $(KeyLineServiceLine)
endif
CloseRegKey $(KeyLineService)
endif
CloseRegKey $(KeyAdapterParams)
endif
set Success = 1
Exit = +
Return $(Success) $(NeedBindingReview)
[SetUp-PPPService]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
Return
[CleanUp-PPPService]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-PPP
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set ConfigResult = $($3)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" $(LineServiceKeyName) 33554432 KeyLineService
ifstr $(KeyLineService) != ""
EnumRegKey $(KeyLineService) SubKeyList
CloseRegKey $(KeyLineService)
ifstr $(SubKeyList) == {}
DeleteRegTree $(KeyAdapterParams) $(LineServiceKeyName)
endif
endif
CloseRegKey $(KeyAdapterParams)
endif
Return
[Add-PPPService]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-PPP
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set LineNum = $($3)
set SrcDir = $($4)
set Option = $($5)
shell "" AddService "PPP"
set Installed = $($R0)
ifint $(Installed) == 0
goto Exit
endif
shell "utility.inf" IncrementRefCount $(ProductKeyName)
Exit = +
Return $(Installed)
[Remove-PPPService]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-PPP
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
OpenRegKey $(KeyAdapterParams) "" $(LineServiceKeyName) 33554432 KeyLineService
ifstr $(KeyLineService) != ""
OpenRegKey $(KeyLineService) "" $(Line) 33554432 KeyLineServiceLine
ifstr $(KeyLineServiceLine) != ""
set VAdapterNum = ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "VAdapterNum"
ifint $($R0) == 1
set VAdapterNum = $($R1)
endif
ifstr $(VAdapterNum) != ""
shell "" RemoveVirtual "PPP" $(VAdapterNum) $(Manufacturer)
shell "" SetTapi "PPP" $(VAdapterNum) 0 2
endif
CloseRegKey $(KeyLineServiceLine)
endif
DeleteRegTree $(KeyLineService) $(Line)
CloseRegKey $(KeyLineService)
endif
CloseRegKey $(KeyAdapterParams)
endif
shell "utility.inf" DecrementRefCount $(ProductKeyName)
shell "utility.inf" IsRefCountEqualZero $(ProductKeyName)
ifint $($R1) == 1
shell "utility.inf" RemoveSoftwareComponent $(Manufacturer) $(ProductSoftwareName)
endif
Return
[Config-PPPService]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms GlobalPathConstants
read-syms DriverConstants
read-syms DriverConstants-PPP
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set Option = $($3)
set Success = 1
set NeedBindingReview = 0
shell "" OpenServiceParamKey $(AdapterServiceName)
set KeyAdapterParams = $($R0)
ifstr $(KeyAdapterParams) != ""
shell "" MakeRegKey $(KeyAdapterParams) { $(LineServiceKeyName), 0, "GenericClass" }
set KeyLineService = $($R0)
ifstr $(KeyLineService) != ""
shell "" MakeRegKey $(KeyLineService) { $(Line), 0, "GenericClass" }
set KeyLineServiceLine = $($R0)
ifstr $(KeyLineServiceLine) != ""
set VAdapterNum = ""
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "VAdapterNum"
ifint $($R0) == 1
set VAdapterNum = $($R1)
endif
ifstr $(VAdapterNum) == ""
set RegPath = $(AdapterServiceName)"\Parameters\"$(LineServiceKeyName)"\"$(Line)
shell "" AddVirtualAdapter "PPP" $(Line) $(AdapterServiceName) "" $(Option) $(RegPath)
set VAdapterNum = $($R1)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "VAdapterNum" $(VAdapterNum)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "Adapter" $(AdapterServiceName)
set VAServiceName = $(ProductHardwareName)$(VAdapterNum)
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyLineServiceLine) "ServiceName" $(VAServiceName)
set EndPoints = 1
shell "" SetTapi "PPP" $(VAdapterNum) $(EndPoints) 2
set NeedBindingReview = 1
endif
CloseRegKey $(KeyLineServiceLine)
endif
CloseRegKey $(KeyLineService)
endif
CloseRegKey $(KeyAdapterParams)
endif
set Success = 1
Exit = +
Return $(Success) $(NeedBindingReview)
[SetUp-None]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
Return
[CleanUp-None]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set ConfigResult = $($3)
Return
[Add-None]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set LineNum = $($3)
set SrcDir = $($4)
set Option = $($5)
set Installed = 1
Return $(Installed)
[Remove-None]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
Return
[Config-None]
set Line = $($0)
set KeyLine = $($1)
set AdapterServiceName = $($2)
set Option = $($3)
set Success = 1
set NeedBindingReview = 0
Return $(Success) $(NeedBindingReview)
[MIBConstants]
MIB_HDLC = 1
MIB_FR = 2
MIB_LAPB = 3
MIB_X25 = 4
[SNMPConstants]
SNMPAgentNameList = ^(Files-SNMP, 0)
SNMPDllNameList = ^(Files-SNMP, 2)
[LocalSNMPRegistryConstants]
KEY_SNMPROOT = $(!NTN_ServiceBase)"\SNMP"
KEY_PARAMETERS = $(KEY_SNMPROOT)"\Parameters"
KEY_AGENTLIST = $(KEY_SNMPARAMETERS)"\ExtensionAgents"
[SNMPInstalled]
read-syms LocalSNMPRegistryConstants
set Installed = 0
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_SNMPROOT) 33554432 KeySNMPRoot
ifstr $(KeySNMPRoot) == ""
goto Exit
endif
CloseRegKey $(KeySNMPRoot)
set Installed = 1
Exit = +
Return $(Installed)
[InstallAgent]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms LocalSNMPRegistryConstants
set AgentName = $($0)
set AgentPath = $($1)
set Result = 0
OpenRegKey $(!REG_H_LOCAL) "" $(DIGI_ROOT) 33554432 KeyRoot
shell "" MakeRegKey $(KeyRoot) { $(AgentName), 0, "GenericClass" }
set KeyAgent = $($R0)
shell "" MakeRegKey $(KeyAgent) { "CurrentVersion", 0, "GenericClass" }
set KeyCurrentVersion = $($R0)
shell "" SetRegValueByKey $(!REG_VT_EXPAND_SZ) $(KeyCurrentVersion) "Pathname" $(Path)
CloseRegKey $(KeyCurrentVersion)
CloseRegKey $(KeyAgent)
CloseRegKey $(KeyRoot)
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_PARAMETERS) 33554432 KeyParameters
shell "" MakeRegKey $(KeyParameters) { $(AgentName), 0, "GenericClass" }
set KeyAgent = $($R0)
shell "" CloseOpenRegKey $(KeyAgent)
CloseRegKey $(KeyParameters)
set Result = 1
Return $(Result)
[RemoveAgent]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms LocalSNMPRegistryConstants
set AgentName = $($0)
OpenRegKey $(!REG_H_LOCAL) "" $(DIGI_ROOT) 33554432 KeyRoot
DeleteRegTree $(KeyRoot) $(AgentName)
CloseRegKey $(KeyRoot)
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_PARAMETERS) 33554432 KeyParameters
DeleteRegTree $(KeyParameters) $(AgentName)
CloseRegKey $(KeyParameters)
shell "" RemoveExtensionAgent $(AgentName)
Return
[RemoveExtensionAgent]
read-syms GlobalConstants
read-syms GlobalRegistryConstants
read-syms LocalSNMPRegistryConstants
set AgentName = $($0)
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_AGENTLIST) 33554432 KeyCurrentAgentList
ifstr $(KeyCurrentAgentList) != ""
EnumRegValue $(AgentKey) AgentList
ForListDo $(AgentList)
set AgentRegPath = *($($), 4)
Split-String $(AgentRegPath) "\" AgentInfo
Ifcontains(i) $(AgentName) in $(AgentInfo)
DeleteRegValue $(AgentKey) *($($), 1)
endif
EndForListDo
CloseRegKey $(AgentKey)
endif
Return
[EnumCircuits-FR]
set KeyLine = $($0)
set TargetServiceName = $($1)
set TargetLineName = $($2)
set Success = 1
set CircuitList = {}
shell "" EnumAdapters { "FR" } 0
set AdapterDataList = $($R0)
ForListDo $(AdapterDataList)
set ServiceName = *($($), 1)
shell "" OpenServiceParamKey $(ServiceName)
set KeyService = $($R0)
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyService) "Adapter"
set AdapterName = $($R1)
ifstr(i) $(AdapterName) != $(ServiceName)
goto NextAdapterName
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyService) "Line"
set AdapterLine = $($R1)
ifstr(i) $(AdapterLine) != $(TargetLineName)
goto NextAdapterName
endif
shell "" GetRegValueByKey $(!REG_VT_SZ) $(KeyService) "DLCI"
set DLCI = $($R1)
set CircuitList = >($(CircuitList), $(DLCI))
NextAdapterName = +
CloseRegKey $(KeyService)
EndForListDo
read-syms MIBConstants
set AgentList = { $(MIB_HDLC) $(MIB_FR) }
shell "" InstallExtensionAgents $(AgentList)
Return $(Success) $(CircuitList)
[EnumCircuits-X25]
set KeyLine = $($0)
set TargetServiceName = $($1)
set TargetLineName = $($2)
set Success = 1
set CircuitList = {}
OpenRegKey $(KeyLine) "" "X25" 33554432 X25Key
set RangeList = { "PC", "IC", "TC", "OC" }
ForListDo $(RangeList)
shell "" GetRegValueByKey $(!REG_VT_SZ) $(X25Key) "L"$($)
set Low = $($R1)
shell "" GetRegValueByKey $(!REG_VT_SZ) $(X25Key), "H"$($)
set High = $($R1)
ifint $(High) > 0
goto Continue_RangeTest
Top_RangeTest = +
set CircuitList = >($(CircuitList), $(Low))
set-add Low = $(Low), 1
Continue_RangeTest = +
ifint $(Low) <= $(High)
goto Top_RangeTest
endif
Break_RangeTest = +
endif
endForListDo
CloseRegKey $(X25Key)
read-syms MIBConstants
set AgentList = { $(MIB_HDLC) $(MIB_LAPB) $(MIB_X25) }
shell "" InstallExtensionAgents $(AgentList)
Return $(Success) $(CircuitList)
[EnumCircuits-None]
set KeyLine = $($0)
set TargetServiceName = $($1)
set TargetLineName = $($2)
set Success = 1
set CircuitList = {}
Return $(Success) $(CircuitList)
[InstallExtensionAgents]
read-syms GlobalConstants
read-syms GlobalRegistryConstatns
read-syms SNMPConstants
read-syms LocalSNMPRegistryConstants
set NewAgentIndexList = $($0)
set NewAgentList = {}
set NewAgentPosition = 0
ForListDo $(NewAgentIndexList)
set AgentName = *($(SNMPAgentNameList), $($))
set AgentRegPath = $(NTN_SoftwareBase)"\"$(Manufacturer)"\"$(AgentName)"\CurrentVersion"
set AgentValue = { $(NewAgentPosition), 0, $(!REG_VT_SZ), $(AgentRegPath) }
set NewAgentList = >($(NewAgentList), $(AgentValue))
set-add Pos = $(Pos), 1
EndForListDo
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_AGENTLIST) 33554432 KeyCurrentAgentList
ifstr $(KeyCurrentAgentList) == ""
goto Exit
endif
EnumRegValue $(KeyCurrentAgentList) CurrentAgentList
ForListDo $(CurrentAgentList)
set CurrentAgentValueName = *($($), 1)
DeleteRegValue $(KeyCurrentAgentList) $(CurrentAgentValueName)
set CurrentAgentRegPath = *($($), 1)
set InNewAgentList = 0
ForListDo $(NewAgentList)
set NewAgentRegPath = *($($), 1)
ifstr(i) $(CurrentAgentRegPath) == $(NewAgentRegPath)
set InNewAgentList = 1
endif
EndForListDo
ifint $(InNewAgentList) == 0
set ExistingAgent = { $(Pos), 0, $(!REG_VT_SZ), $(CurrentAgentRegPath) }
set NewAgentList = >($(NewAgentList), $(ExistingAgent))
set-add Pos = $(Pos), 1
endif
EndForListDo
shell "" SetValuesFromList $(KeyCurrentAgentList) $(NewAgentList)
CloseRegKey $(KeyCurrentAgentList)
Exit = +
Return
[ConfigMIB]
read-syms LocalSNMPRegistryConstants
set AgentName = $($0)
set AdapterDataList = $($1)
OpenRegKey $(!REG_H_LOCAL) "" $(KEY_PARAMETERS) 33554432 KeyParameters
OpenRegKey $(KeyParameters) "" $(AgentName) 33554432 KeyAgent
ifstr $(KeyAgent) == ""
goto Exit
endif
CloseRegKey $(KeyAgent)
DeleteRegTree $(KeyParameters) $(AgentName)
shell "" MakeRegKey $(KeyParameters) { $(SNMPMainAgent), 0, "GenericClass" }
set KeyAgent = $($R0)
ifstr $(KeyAgent) == ""
ifint 0 == 0
goto Exit
endif
endif
ForListDo $(AdapterDataList)
set ServiceName = *($($), 1)
shell "" OpenServiceParamKey $(ServiceName)
set KeyService = $($R0)
shell "" MakeRegKey $(KeyAgent) { $(ServiceName), 0, "GenericClass" }
set KeyAdapter = $($R0)
ifstr $(KeyAdapter) != ""
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyAdapter) "NumberOfLines"
set NumberOfLines = $($R1)
set LineNumber = 0
goto Continue_EnumLines
Top_EnumLines = +
shell "" NumberToName $(LineNumber)
set LineName = $($R0)
set KeyAdapterLine = ""
set KeyServiceLine = ""
shell "" MakeRegKey $(KeyAdapter) { $(LineName), 0, "GenericClass" }
set KeyAdapterLine = $($R0)
ifstr $(KeyAdapterLine) == ""
ifint 0 == 0
goto NextLineName
endif
endif
OpenRegKey $(ServiceKey) "" $(LineName) 33554432 KeyServiceLine
ifstr $(KeyServiceLine) == ""
endif
shell "" GetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyServiceLine) "LineServices"
set LineServices = $($R1)
QueryListSize NumberOfServices $(LineServices)
ifint $(NumberOfServices) != 1
set Protocol = "None"
else
set Protocol = *($(LineServices), 1)
endif
shell "" SetRegValueByKey $(!REG_VT_SZ) $(KeyAdapterLine) "ProtocolIdentifier" $(Protocol)
set CircuitsList = {}
shell "" "EnumCircuits-"$(Protocol) $(KeyServiceLine) $(ServiceName) $(LineLetter)
ifint $($R0) == 1
set CircuitsList = $($R1)
endif
shell "" SetRegValueByKey $(!REG_VT_MULTI_SZ) $(KeyAdapterLine) "Circuits" $(CircuitsList)
NextLineName = +
shell "" CloseOpenRegKey $(KeyAdapterLine)
shell "" CloseOpenRegKey $(KeyServiceLine)
set-add LineNumber = $(LineNumber), 1
Continue_EnumLines = +
ifint $(LineNumber) < $(NumberOfLines)
goto Top_EnumLines
endif
Break_EnumLines = +
CloseRegKey $(KeyAdapter)
endif
CloseRegKey $(KeyService)
EndForListDo
CloseRegKey $(KeyAgent)
Exit = +
CloseRegKey $(KeyParameters)
Return
[DoesOptionUseSNMP]
set Option = $($0)
set OptionsThatUseSNMP = { "SyncPort" }
Ifcontains $(Option) in $(OptionsThatUseSNMP)
set UsesSNMP = 1
else
set UsesSNMP = 0
endif
Return $(UsesSNMP)
[InstallSNMP]
read-syms GlobalConstants
read-syms GlobalPathConstants
read-syms SNMPConstants
set Option = $($0)
set Success = 0
shell "" DoesOptionUseSNMP $(Option)
ifint $($R0) == 0
goto Exit
endif
shell "" SNMPInstalled
ifint $($R0) == 0
goto Exit
endif
ForListDo $(SNMPAgentNameList)
set AgentName = $($)
set AgentDll = *($(SNMPDllNameList), $(#))
set AgentPath = $(!STF_WINDOWSSYSPATH)"\"$(AgentDll)
shell "" InstallAgent $(AgentName) $(AgentPath)
set Sucess = $($R0)
ifint $(Success) == 0
read-syms SNMPMessages-$(!STF_LANGUAGE)
shell "" RemoveAgent $($)
shell "" StatusMessage $(InstallError)
goto Exit
endif
EndForListDo
Exit = +
Return $(Success)
[RemoveSNMP]
read-syms SNMPConstants
set Option = $($0)
shell "" DoesOptionUseSNMP $(Option)
ifint $($R0) == 0
goto Exit
endif
shell "" SNMPInstalled
ifint $($R0) == 0
goto Exit
endif
ForListDo $(SNMPAgentNameList)
shell "" RemoveAgent $($)
EndForListDo
Exit = +
Return
[ConfigSNMP]
set BoardName = $($0)
shell "" DoesOptionUseSNMP $(BoardName)
ifint $($R0) == 0
goto Exit
endif
shell "" EnumAdapters { $(BoardName) } 0
set AdapterDataList = $($R0)
ForListDo $(SNMPAgentNameList)
set AgentName = $($)
shell "" RemoveExtensionAgent $(AgentName)
shell "" ConfigMIB $(AgentName) $(AdapterDataList)
EndForListDo
Exit = +
Return
[InvokeRAS]
read-syms InvokeRasDlg-$(!STF_LANGUAGE)
set Success = 1
shell "" MessageBox $(InvokeRasTitle) $(InvokeRasConfigMsg) 3 4 1
ifstr(i) $($R0) != "YES"
goto Exit
endif
shell "oemnsvra.inf" CheckRasInstalled
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
set RasInstalled = $($R0)
ifstr(i) $(RasInstalled) == "FALSE"
shell "" StatusMessage $(RemindRasConfigMsg)
goto Exit
endif
set AddCopy = "YES"
set DoCopy = "YES"
set DoConfig = "YES"
set SaveSTF_SRCDIR_OVERRIDE = $(!STF_SRCDIR_OVERRIDE)
set !STF_SRCDIR_OVERRIDE = ""
set SaveNTN_InstallMode = $(!NTN_InstallMode)
set !NTN_InstallMode = "configure"
shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" $(SourceDir) $(AddCopy) $(DoCopy) $(DoConfig)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
set !STF_SRCDIR_OVERRIDE = $(SaveSTF_SRCDIR_OVERRIDE)
set !NTN_InstallMode = $(SaveNTN_InstallMode)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Error
endif
goto Exit
Error = +
set Success = 0
shell "" StatusMessage $(InvokeRasError)
Exit = +
Return $(Success)
[RefCountConstants]
ValueName = "RefCount"
[GetRefCountByKey]
read-syms RefCountConstants
set Key = $($0)
set Name = $($1)
set Success = 0
set RefCount = "Invalid"
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(Key) $(Name)$(ValueName)
ifint $($R0) == 0
goto Exit
endif
set Test = $($R1)
ifint $(Test) < 0
goto Exit
endif
set RefCount = $(Test)
set Success = 1
Exit = +
Return $(Success) $(RefCount)
[SetRefCountByKey]
read-syms RefCountConstants
set Key = $($0)
set RefCount = $($1)
set Name = $($2)
shell "" SetRegValueByKey $(!REG_VT_DWORD) $(Key) $(Name)$(ValueName) $(RefCount)
set Success = $($R0)
Return $(Success)
[ModRefCountByKey]
set Key = $($0)
set Delta = $($1)
set Name = $($2)
set Success = 0
set RefCount = "Invalid"
shell "" GetRefCountByKey $(Key) $(Name)
ifint $($R0) == 0
goto Exit
endif
set RefCount = $($R1)
set-add RefCount = $(RefCount), $(Delta)
shell "" SetRefCountByKey $(Key) $(RefCount) $(Name)
ifint $($R0) == 0
goto Exit
endif
set Success = $($R0)
Exit = +
Return $(Success) $(RefCount)
[GetRefCountByName]
set Path = $($0)
set Name = $($2)
set Success = 0
set RefCount = "Invalid"
OpenRegKey $(!REG_H_LOCAL) "" $(Path) 33554432 Key
ifstr $(Key) == ""
goto Exit
endif
shell "" GetRefCountByKey $(Key) $(Name) $(Default)
ifint $($R0) == 0
goto Exit
endif
set Success = 1
set RefCount = $($R1)
CloseRegKey $(Key)
Exit = +
Return $(Success) $(RefCount)
[SetRefCountByName]
set Path = $($0)
set RefCount = $($1)
set Name = $($2)
set Success = 0
shell "" MakeRegKey $(!REG_H_LOCAL) { $(Path), 0, "GenericClass" }
set Key = $($R0)
ifstr $(Key) == ""
ifint 0 == 0
goto Exit
endif
endif
shell "" SetRefCountByKey $(Key) $(RefCount) $(Name)
set Success = $($R0)
CloseRegKey $(Key)
Exit = +
Return $(Success)
[ModRefCountByName]
set Path = $($0)
set Delta = $($1)
set Name = $($2)
set Success = 0
set RefCount = "Invalid"
OpenRegKey $(!REG_H_LOCAL) "" $(Path) 33554432 Key
ifstr $(Key) == ""
goto Exit
endif
shell "" ModRefCountByKey $(Key) $(Delta) $(Name)
ifint $($R0) == 0
goto Exit
endif
set Success = 1
set RefCount = $($R1)
CloseRegKey $(Key)
Exit = +
Return $(Success) $(RefCount)
[DirectoryFromPath]
set Path = $($0)
set Directory = ""
Split-String $(Path) "\" PathComponents
QueryListSize Size $(PathComponents)
ifint $(Size) == 1
goto Exit
endif
ForListDo $(PathComponents)
ifint $(#) < $(Size)
set Directory = $(Directory)$($)
endif
EndForListDo
Return $(Directory)
[FilenameFromPath]
set Path = $($0)
Split-String $(Path) "\" PathComponents
QueryListSize Size $(PathComponents)
set Filename = *($(PathComponents), $(Size))
Return $(Filename)
[BaseFromFilename]
set Filename = $($0)
Split-String $(Filename) "." FilenameComponents
QueryListSize Size $(FilenameComponents)
set Dot = $(Size)
ifstr *($(FilenameComponents), $(Dot)) == "."
goto Make
endif
set-sub Dot = $(Dot), 1
ifstr *($(FilenameComponents), $(Dot)) == "."
goto Make
endif
set Base = $(Filename)
goto Exit
Make = +
set Base = ""
ForListDo $(FilenameComponents)
ifint $(#) < $(Dot)
set Base = $(Base)$($)
endif
EndForListDo
Exit = +
Return $(Base)
[ExtensionFromFilename]
set Filename = $($0)
set Extension = ""
Split-String $(Filename) "." FilenameComponents
QueryListSize Size $(FilenameComponents)
set Dot = $(Size)
ifstr *($(FilenameComponents), $(Dot)) == "."
goto Exit
endif
set-sub Dot = $(Dot), 1
ifstr *($(FilenameComponents), $(Dot)) == "."
goto Make
endif
goto Exit
Make = +
set Extension = *($(FilenameComponents), Size)
Exit = +
Return $(Extension)
[BaseFromPath]
set Path = $($0)
shell "" FilenameFromPath $(Path)
set Filename = $($R0)
shell "" BaseFromFilename $(Filename)
set Base = $($R0)
Return $(Base)
[MakeRegKey]
set KeyRoot = $($0)
set Data = $($1)
set KeyName = *($(Data), 1)
OpenRegKey $(KeyRoot) "" $(KeyName) 33554432 KeyResult
ifstr $(KeyResult) == ""
CreateRegKey $(KeyRoot) $(Data) "" 33554432 "" KeyResult
endif
Return $(KeyResult)
[SetRegValueByKey]
set Type = $($0)
set Key = $($1)
set ValueName = $($2)
set Value = $($3)
set Success = 0
set ValueData = { $(ValueName), 0, $(Type), $(Value) }
SetRegValue $(Key) $(ValueData)
ifint $($R0) == 0
set Success = 1
endif
Return $(Success)
[GetRegValueByKey]
read-syms GlobalConstants
set Type = $($0)
set Key = $($1)
set ValueName = $($2)
set Success = 0
set Value = ""
GetRegValue $(Key) $(ValueName) ValueData
ifint $($R0) != 0
goto Exit
endif
set Value = *($(ValueData), 4)
ifstr(i) $(Type) != $(TYPECHECK_NONE)
set TypeRead = *($(ValueData), 3)
ifstr(i) $(TypeRead) != $(Type)
goto Exit
endif
endif
set Success = 1
Exit = +
Return $(Success) $(Value)
[DefaultGetRegValueByKey]
set Type = $($0)
set Key = $($1)
set ValueName = $($2)
set Default = $($3)
set Value = $(Default)
shell "" GetRegValueByKey $(Type) $(Key) $(ValueName)
ifint $($R0) == 1
set Value = $($R1)
endif
Return $(Value)
[SetRegValueByName]
set Type = $($0)
set Path = $($1)
set ValueName = $($2)
set Value = $($3)
set Success = 0
shell "" MakeRegKey $(!REG_H_LOCAL) { $(Path), 0, "GenericClass" }
set Key = $($R0)
ifstr $(Key) == ""
ifint 0 == 0
goto Exit
endif
endif
shell "" SetRegValueByKey $(Type) $(Key) $(ValueName) $(Value)
ifint $($R0) == 0
goto Exit
endif
set Success = 1
CloseRegKey $(Key)
Exit = +
Return $(Success)
[GetRegValueByName]
set Type = $($0)
set Path = $($1)
set ValueName = $($2)
set Success = 0
set Value = ""
OpenRegKey $(!REG_H_LOCAL) "" $(Path) 33554432 Key
ifstr $(Key) == ""
goto Exit
endif
shell "" GetRegValueByKey $(Type) $(Key) $(ValueName)
ifint $($R0) == 0
goto Exit
endif
set Success = 1
set Value = $($R1)
CloseRegKey $(Key)
Exit = +
Return $(Success) $(Value)
[SetValuesFromList]
set Key = $($0)
set List = $($1)
set Success = 0
shell "utility.inf" AddValueList $(Key) $(List)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
ifstr(i) $($R0) != "NO_ERROR"
set _UE = 1
else
set _UE = 0
endif
ifint $(_UE) == 1
shell "" GetRegistryErrorString $($R0)
shell "" SetupMessage "FATAL" $($R0)
endif
ifint $(_UE) == 1
goto Exit
endif
set Success = 1
Exit = +
Return $(Success)
[CloseOpenRegKey]
set Key = $($0)
ifstr $(Key) != ""
CloseRegKey $(Key)
endif
Return
[CloseOpenRegKeyList]
set KeyList = $($0)
ForListDo $(KeyList)
shell "" CloseOpenRegKey $($)
EndForListDo
Return
[CopyRegValues]
set KeySource = $($0)
set KeyDestination = $($1)
set Success = 0
ifstr $(KeySource) == ""
goto Error
endif
ifstr $(KeyDestination) == ""
goto Error
endif
EnumRegValue $(KeySource) ValueList
ifint $($R0) != 0
goto Exit
endif
shell "" SetValuesFromList $(KeyDestination) $(ValueList)
ifint $($R0) == 0
goto Error
endif
Exit = +
set Success = 1
Error = +
Return $(Success)
[CopyRegTree]
set KeySource = $($0)
set KeyDestination = $($1)
set Success = 0
shell "" CopyRegValues $(KeySource) $(KeyDestination)
ifint $($R0) == 0
goto Error
endif
EnumRegKey $(KeySource) SourceSubKeyList
QueryListSize NumSubKeys $(SourceSubKeyList)
ifint $(NumSubKeys) == 0
goto Exit
endif
ForListDo $(SourceSubKeyList)
set SubKeyName = *($($), 1)
OpenRegKey $(KeySource) "" $(SubKeyName) 33554432 KeySourceSubKey
ifstr $(KeySourceSubKey) == ""
;
endif
shell "" MakeRegKey $(KeyDestination) { $(SubKeyName), 0, "GenericClass" }
set KeyDestinationSubKey = $($R0)
shell "" CopyRegTree $(KeySourceSubKey) $(KeyDestinationSubKey)
ifint $($R0) == 0
goto Error
endif
shell "" CloseOpenRegKey $(KeySourceSubKey)
shell "" CloseOpenRegKey $(KeyDestinationSubKey)
EndForListDo
Exit = +
set Success = 1
Error = +
Return $(Success)
[OpenServiceParamKey]
set ServiceName = $($0)
set KeyParameters = ""
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" 33554432 KeyParameters
Return $(KeyParameters)
[SystemDate]
DateList = {} ? $(!LIBHANDLE) GetSystemDate
[ShellCodeError]
read-syms ShellCodeError-$(!STF_LANGUAGE)
set DlgType = "MessageBox"
set STF_MB_TITLE = $(ShellCodeErrorTitle)
set STF_MB_TEXT = $(ShellCodeErrorText)
set STF_MB_TYPE = 1
set STF_MB_ICON = 3
set STF_MB_DEF = 1
ui start "Error Message"
Return
[SetupMessage]
set Type = $($0)
set Message = $($1)
set Status = "STATUS_FAILURE"
set Button = ""
shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) $(Type) $(Message)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
set Status = $($R0)
set Button = $($R1)
Exit = +
Return $(Status) $(Button)
[StatusMessage]
shell "" SetupMessage "STATUS" $($0)
Return $($R0)
[MessageBox]
set Title = $($0)
set Text = $($1)
set Type = $($2)
set Icon = $($3)
set DefButton = $($4)
ifstr(i) $(Type) == ""
set Type = 1
endif
ifstr(i) $(Icon) == ""
set Icon = 2
endif
ifstr(i) $(DefButton) == EMPTY_ST
set DefButton = 1
endif
set DlgType = "MessageBox"
set STF_MB_TITLE = $(Title)
set STF_MB_TEXT = $(Text)
set STF_MB_TYPE = $(Type)
set STF_MB_ICON = $(Icon)
set STF_MB_DEF = $(DefButton)
ui start "MessageBox"
Exit = +
Return $(DLGEVENT)
[GetRegistryErrorString]
set ErrorString = $(GenericError)
shell "utility.inf" RegistryErrorString $($0)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set _SE = 1
else
set _SE = 0
endif
ifint $(_SE) == 1
shell "" ShellCodeError
endif
ifint $(_SE) == 1
goto Exit
endif
set ErrorString = $($R0)
Exit = +
Return $(ErrorString)
[GetElapsedTime]
Detect SystemDate
set ElapsedTime = *($(DateList), 1)
Return $(ElapsedTime)
[Boolean-Not]
set A = $($0)
ifint $(A) == 1
set Result = 0
else
set Result = 1
endif
Return $(Result)
[Boolean-Or]
set A = $($0)
set B = $($1)
ifint $(A) == 1
set Result = 1
else
set Result = $(B)
endif
Return $(Result)
[Boolean-And]
set A = $($0)
set B = $($1)
ifint $(A) == 1
set Result = $(B)
else
set Result = 0
endif
Return $(Result)
[Boolean-Xor]
set A = $($0)
set B = $($1)
ifint $(A) == 1
shell "" Boolean-Not $(B)
set Result = $($R0)
else
set Result = $(B)
endif
Return $(Result)
[Files-Inf]
1, oemsetup.inf, SIZE=100000, RENAME=$(!UG_Filename)
[Files-Detect]
1, DigiDtct.dll, SIZE=59904
[Files-Detect-Driver]
1, DigiPci.sys, SIZE=5088
[Files-Redistributable]
1, mfc42.dll, SIZE=954640
1, msvcrt.dll, SIZE=277776
[Files-Config]
1, DigiCfg.inf, SIZE=100000
1, DigiInf.dll, SIZE=47616
1, DigiFWrk.dll, SIZE=196608
1, DxbMgt.dll, SIZE=52736
[Files-Config-Houston]
1, DigiHLC.dll, SIZE=60928
1, DigiDBP.dll, SIZE=108032
1, DigiAsyn.dll, SIZE=31744
1, DigiIsdn.dll, SIZE=26112
1, DigiRAS.hlp, SIZE=81640
[Files-Diags-Houston]
1, SxbDiag.exe, SIZE=906240
1, SxbDiag.hlp, SIZE=66254
1, SxbDiag.cnt, SIZE=891
[Files-Driver-Houston]
1, DigiDxb.sys, SIZE=104352
1, DigiAsyn.sys, SIZE=52256
1, DigiIsdn.sys, SIZE=36608
[Files-Firmware-Houston]
FEPPCI = 1, FepDense.Bin, SIZE=1548288
[Files-Config-London]
1, DigiHLC.dll, SIZE=60928
1, DigiDBP.dll, SIZE=108032
1, DigiAsyn.dll, SIZE=31744
1, DigiIsdn.dll, SIZE=26112
1, DigiRAS.hlp, SIZE=81640
[Files-Diags-London]
1, SxbDiag.exe, SIZE=906240
1, SxbDiag.hlp, SIZE=66254
1, SxbDiag.cnt, SIZE=891
[Files-Driver-London]
1, DigiDxb.sys, SIZE=104352
1, DigiAsyn.sys, SIZE=52256
1, DigiIsdn.sys, SIZE=36608
[Files-Firmware-London]
FEPPCI = 1, FepDense.Bin, SIZE=1548288
[Files-Config-Chaska]
1, DigiHLC.dll, SIZE=60928
1, DigiDBP.dll, SIZE=108032
1, DigiAsyn.dll, SIZE=31744
1, DigiIsdn.dll, SIZE=26112
1, DigiRAS.hlp, SIZE=81640
[Files-Diags-Chaska]
1, SxbDiag.exe, SIZE=906240
1, SxbDiag.hlp, SIZE=66254
1, SxbDiag.cnt, SIZE=891
[Files-Driver-Chaska]
1, DigiDxb.sys, SIZE=104352
1, DigiAsyn.sys, SIZE=52256
[Files-Firmware-Chaska]
FEPPCI = 1, FepDense.Bin, SIZE=1548288
[Files-Modem]
1, MdmDgDen.inf, SIZE=27461
[Files-Config-Clydesdale]
1, DigiClyd.dll, SIZE=36352
1, DigiFrX.dll, SIZE=180224
1, DigiSna.dll, SIZE=20992
1, DigiRAS.hlp, SIZE=81640
[Files-Driver-Clydesdale]
1, DigiDxb.sys, SIZE=104352
1, DigiLan.sys, SIZE=25440
1, DigiWanX.sys, SIZE=42528
[Files-Diags-Clydesdale]
1, SxbDiag.exe, SIZE=906240
1, SxbDiag.hlp, SIZE=66254
1, SxbDiag.cnt, SIZE=891
[Files-SNA-Driver-Clydesdale]
1, DigiSna.sys, SIZE=23616
[Files-SNA-Config-Clydesdale]
1, DigSDCfg.dll, SIZE=269824
1, DigXCfg.dll, SIZE=281600
[Files-Firmware-Clydesdale]
FEPPCI = 1, FepClyde.Bin, SIZE=457524
[LanguagesSupported]
ENG
[InstallOptionsText-ENG]
DigiRAS = "Digi RAS Family Adapter"
PowerSync = "Digi DataFire Sync 2000"
[UpdateOptionsText-ENG]
"Houston" = "DataFire RAS P/T/E"
"London" = "DataFire RAS B Series"
"Chaska" = "AccelePort RAS A Series"
"Clydesdale" = "DataFire Sync 2000"
[InstallProgress-Strings-ENG]
ProCaption = $(AdapterDescription)" Setup"
ProCancel = "Cancel"
ProCancelMsg = $(AdapterDescription)" is not correctly installed."$(!LF)$(!LF)+
"Are you sure you want to cancel copying files?"
ProCancelCap = "Cancel "$(AdapterDescription)" Setup?"
ProText1 = "Copying:"
ProText2 = "To:"
[UpdateProgress-Strings-ENG]
ProCaption = "Digi Software Update"
ProCancel = "Cancel"
ProCancelMsg = "The Digi Software Update is not complete. Canceling now may have"$(!LF)+
"adverse effects on the operation of any Digi adapters currently"$(!LF)+
"installed in this system."$(!LF)$(!LF)+
"Are you sure you want to cancel copying files?"
ProCancelCap = "Cancel Digi Software Update?"
ProText1 = "Copying:"
ProText2 = "To:"
[SyncPort-Strings-ENG]
HumanName = "SyncPort"
[Houston-Strings-ENG]
HumanName = "DataFire RAS P/T/E"
[London-Strings-ENG]
HumanName = "DataFire RAS B Series"
[Chaska-Strings-ENG]
HumanName = "AccelePort RAS A Series"
[Clydesdale-Strings-ENG]
HumanName = "DataFire Sync 2000"
[PCI-Strings-ENG]
HumanName = "PCI Adapter Identification"
[X25-Strings-ENG]
HumanName = "X.25"
[X25L-Strings-ENG]
HumanName = "LAN"
[FR-Strings-ENG]
HumanName = "LAN"
[SNA-Strings-ENG]
HumanName = "SNA"
[PPP-Strings-ENG]
HumanName = "PPP"
[ASYN-Strings-ENG]
HumanName = "ASYN"
[ISDN-Strings-ENG]
HumanName = "ISDN"
[Generic-Strings-ENG]
GenericDriverName = "Digi "$(HumanName)" Driver"
DriverDescription = $(GenericDriverName)
DriverTitle = $(GenericDriverName)
GenericAdapterName = "Digi "$(HumanName)" Adapter"
AdapterDescription = $(GenericAdapterName)
AdapterTitle = $(GenericAdapterName)
[UpdateMessages-ENG]
UpdateWarningTitle = "Digi Software Update"
UpdateWarning = "You have selected to update your current Digi software. Please note that"$(!LF)+
"this is a comprehensive update for all of the following adapters:"$(!LF)$(!LF)+
$(!TAB)"DataFire RAS P/T/E"$(!LF)+
$(!TAB)"DataFire RAS B Series"$(!LF)+
$(!TAB)"AccelePort RAS A Series"$(!LF)+
$(!TAB)"DataFire Sync 2000"$(!LF)$(!LF)+
"By continuing, all adapters of these types currently installed in this"$(!LF)+
"system will be updated to this newer version of software."$(!LF)+
"Do you wish to continue with this update?"
AlreadyUpdated = "This software has already been updated to the latest version."
[InstallMessages-ENG]
NoNetworkCard = "Network card is not present in the system."
BusTypeNotSupported = "This adapter cannot be installed using the bus type you have selected."
CfgDllFailed = "The configuration DLL failed to load."
UserCanceledInstall = "Installation of the software has been canceled."
UpdateLater = "Remember, you can still update your software by pressing the Update button"$(!LF)+
"in the Network Control Panel, then enter the path to this INF."
UpdateNowTitle = "Update software now?"
UpdateNow = "An older version of this software is already installed."$(!LF)$(!LF)+
"In order to continue, setup must update your old software."$(!LF)+
"Do you wish to proceed with updating your old software now?"
NewerInstalled = "A newer version of this software is already installed."
[InvokeRasDlg-ENG]
InvokeRasTitle = "Invoke RAS setup?"
InvokeRasConfigMsg = "In order to enable you to use your Digi adapter with Remote Access Services (RAS), "$(!LF)+
"you must configure one or more ports in RAS setup. "$(!LF)$(!LF)+
"Do you wish to invoke RAS setup now?"
RemindRasConfigMsg = "Remote Access Services (RAS) is not installed. "$(!LF)$(!LF)+
"Please remember to install Remote Access Services (RAS) to enable you "$(!LF)+
"to use RAS ports with your Digi adapter."
InvokeRasError = "Setup encountered an error while invoking the RAS setup INF file (OEMNSVRA.INF)."
[DialogConstantsENG]
Help = "&Help"
Exit = "Cancel"
OK = "OK"
HelpContext = ""
Continue = "Continue"
Cancel = "Cancel"
[IconInfoENG]
IconGroupName = "Digi PortAssist Viewer"
IconDiagName = "PortAssist Viewer"
IconDiagHelp = "PortAssist Viewer Help"
IconCfgHelp = "Digi Adapter Help"
IconRelNotes = "Release Notes"
[SNMPMessages-ENG]
InstallError = "Due to an error, SNMP support will not be installed at this time."
[RegistryErrorString-ENG]
GenericError = "An unknown registry error has occurred."
[ShellCodeError-ENG]
ShellCodeErrorTitle = "Error!"
ShellCodeErrorText = "Shell code error!"
[ConfigureAdapter-SyncPort]
set SrcDir = $($0)
set Option = $($1)
set KeyParameters = $($2)
set AdapterServiceName = $($3)
set Status = "STATUS_FAILED"
set NeedToInvokeRAS = 0
set NeedBindingReview = 0
set KeyDriverService = ""
set KeyX25Adapter = ""
shell "" ConfigureAdapter $(SrcDir) $(Option) $(KeyParameters) $(AdapterServiceName) $(!STF_CWDDIR)"SyncCfg.dll" "DigiEntry"
set Status = $($R0)
ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
goto
endif
set NeedBindingReview = $($R2)
ifstr $(KeyX25Adapter) == ""
goto ConfigSNMP
endif
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyX25Adapter) "NumRASPorts"
set NumRasPorts = $($R1)
shell "" SetTapi "X25" $(AdapterNumber) $(NumRASPorts) 3
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(X25ProductSoftwareName) 33554432 KeyDriverService
ifstr $(KeyDriverService) == ""
goto ConfigSNMP
endif
ifint $(NumRASPorts) == 0
set Start = "4"
else
set Start = "2"
endif
shell "" SetRegValueByKey $(!REG_VT_DWORD) $(KeyDriverService) "Start" $(Start)
ifint $(NumRASPorts) == 0
goto ConfigSNMP
endif
set NeedBindingReview = 1
set TotalPorts = 0
ifstr(i) $(NewPortAProtocol) == "X25"
OpenRegKey $(KeyPortA) "" "X25" 33554432 KeyX25PortA
GetRegValueByKey $(TYPECHECK_NONE) $(KeyX25PortA) "TotalRASPorts"
set-add TotalPorts = $(TotalPorts), $($R1)
CloseRegKey $(KeyX25PortA)
endif
ifstr(i) $(NewPortBProtocol) == "X25"
OpenRegKey $(KeyPortB) "" "X25" 33554432 KeyX25PortB
GetRegValueByKey $(TYPECHECK_NONE) $(KeyX25PortB) "TotalRASPorts"
set-add TotalPorts = $(TotalPorts), $($R1)
CloseRegKey $(KeyX25PortB)
endif
ifint $(TotalPorts) > 0
ifstr(i) $(!NTN_InstallMode) == "Install"
set NeedToInvokeRAS = 1
endif
endif
ConfigSNMP = +
ifint $(NeedBindingReview) == 1
set Status = "STATUS_SUCCESSFUL"
else
set Status = "STATUS_REBOOT"
endif
goto Break_Config
goto Exit
Exit = +
shell "" "CleanUp-"$(NewPortAProtocol) "A" $(KeyPortA) $(AdapterServiceName) $(Result)
CloseRegKey $(KeyPortA)
shell "" "CleanUp-"$(NewPortBProtocol) "B" $(KeyPortB) $(AdapterServiceName) $(Result)
CloseRegKey $(KeyPortB)
ifint $(NeedInvokeRAS) == 1
shell "" InvokeRAS
endif
shell "" CloseOpenRegKey $(KeyX25Adapter)
shell "" CloseOpenRegKey $(KeyDriverService)
Return $(Status)
[ConfigureAdapter-Houston]
set SrcDir = $($0)
set Option = $($1)
set KeyParameters = $($2)
set AdapterServiceName = $($3)
shell "" ConfigureAdapter $(SrcDir) $(Option) $(KeyParameters) $(AdapterServiceName) $(!STF_CWDDIR)"DigiInf.Dll" "Configure"
set Status = $($R0)
set NeedBindingReview = $($R1)
ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
goto Exit
endif
ifstr(i) $(!NTN_InstallMode) == "Install"
shell "" InvokeRAS
endif
ifint $(NeedBindingReview) == 1
set Status = "STATUS_SUCCESSFUL"
else
set Status = "STATUS_REBOOT"
endif
Exit = +
Return $(Status)
[ConfigureAdapter-London]
set SrcDir = $($0)
set Option = $($1)
set KeyParameters = $($2)
set AdapterServiceName = $($3)
shell "" ConfigureAdapter $(SrcDir) $(Option) $(KeyParameters) $(AdapterServiceName) $(!STF_CWDDIR)"DigiInf.Dll" "Configure"
set Status = $($R0)
set NeedBindingReview = $($R1)
ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
goto Exit
endif
ifstr(i) $(!NTN_InstallMode) == "Install"
shell "" InvokeRAS
endif
ifint $(NeedBindingReview) == 1
set Status = "STATUS_SUCCESSFUL"
else
set Status = "STATUS_REBOOT"
endif
Exit = +
Return $(Status)
[ConfigureAdapter-Chaska]
set SrcDir = $($0)
set Option = $($1)
set KeyParameters = $($2)
set AdapterServiceName = $($3)
shell "" ConfigureAdapter $(SrcDir) $(Option) $(KeyParameters) $(AdapterServiceName) $(!STF_CWDDIR)"DigiInf.Dll" "Configure"
set Status = $($R0)
set NeedBindingReview = $($R1)
ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
goto Exit
endif
ifstr(i) $(!NTN_InstallMode) == "Install"
shell "" InvokeRAS
endif
ifint $(NeedBindingReview) == 1
set Status = "STATUS_SUCCESSFUL"
else
set Status = "STATUS_REBOOT"
endif
Exit = +
Return $(Status)
[ConfigureAdapter-Clydesdale]
read-syms DriverConstants-X25
set SrcDir = $($0)
set Option = $($1)
set KeyParameters = $($2)
set AdapterServiceName = $($3)
shell "" ConfigureAdapter $(SrcDir) $(Option) $(KeyParameters) $(AdapterServiceName) $(!STF_CWDDIR)"DigiInf.Dll" "Configure"
set Status = $($R0)
set NeedBindingReview = $($R1)
ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
goto Exit
endif
set KeyX25Adapter = ""
set AdapterNumber = ""
set NumRasPorts = 0
shell "" FindAdapter $(ProductSoftwareName)
ifint $($R0) == 1
set AdapterNumber = $($R1)
shell "" OpenServiceParamKey $(ProductHardwareName)$(AdapterNumber)
set KeyX25Adapter = $($R0)
ifstr $(KeyX25Adapter) != ""
shell "" GetRegValueByKey $(!REG_VT_DWORD) $(KeyX25Adapter) "NumRASPorts"
ifint $($R0) == 1
set NumRasPorts = $($R1)
endif
CloseRegKey $(KeyX25Adapter)
ifint $(NumRasPorts) == 0
set Start = 4
else
set Start = 2
endif
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) 33554432 KeyDriverService
shell "" SetRegValueByKey $(!REG_VT_DWORD) $(KeyDriverService) "Start" $(Start)
CloseRegKey $(KeyDriverService)
shell "" SetTapi "X25" $(AdapterNumber) $(NumRasPorts) 3
endif
endif
ifint $(NumRasPorts) > 0
ifstr(i) $(!NTN_InstallMode) == "Install"
shell "" InvokeRAS
endif
endif
ifint $(NeedBindingReview) == 1
set Status = "STATUS_SUCCESSFUL"
else
set Status = "STATUS_REBOOT"
endif
Exit = +
Return $(Status)
[Signature]
FileType = MICROSOFT_FILE
[GetSignature]
read-syms Signature
Return $(FileType)
[Source Media Descriptions]
1 = "WAN Links for Windows NT CD-ROM"
[ProductType]
STF_PRODUCT = Winnt
STF_PLATFORM = I386
[PlatformsSupported]
PCI
[InstallOptions]
DigiRAS
PowerSync
[UpdateOptions]
"Houston"
"London"
"Chaska"
"Clydesdale"
[Identify]
read-syms Identification
set Status = "STATUS_SUCCESSFUL"
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
Exit = +
return $(Status) $(Identifier) $(Media)
[ReturnOptions]
set DesiredLanguage = $($0)
set DesiredPlatform = $($1)
set Status = "STATUS_FAILED"
set OptionList = {}
set OptionTextList = {}
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $(DesiredLanguage) not-in $(LanguageList)
set Status = "STATUS_NOLANGUAGE"
goto Exit
endif
ifstr $(DesiredPlatform) != ""
set PlatformList = ^(PlatformsSupported, 1)
Ifcontains(i) $(DesiredPlatform) not-in $(PlatformList)
set Status = "STATUS_NOTSUPPORTED"
goto Exit
endif
endif
read-syms ProductType
ifstr(i) $(STF_PLATFORM) != $(!STF_PLATFORM)
set Status = "STATUS_NOTSUPPORTED"
goto Exit
endif
read-syms Identification
set OptionList = ^($(!NTN_InstallMode)"Options", 1)
set OptionTextList = ^($(!NTN_InstallMode)"OptionsText-"$(DesiredLanguage), 1)
set Status = "STATUS_SUCCESSFUL"
Exit = +
return $(Status) $(OptionList) $(OptionTextList)
[InstallOption]
set Language = $($0)
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
set Status = "STATUS_FAILED"
set-subst !LF = "\n"
set-subst !TAB = "\t"
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $(Language) not-in $(LanguageList)
set Status = "STATUS_NOLANGUAGE"
goto Error
endif
ifstr(i) $(!NTN_Origination) == "NCPA"
set Continue = $(OK)
endif
set Mode = "Install"
ifstr(i) $(!NTN_InstallMode) == $(Mode)
goto RunMode
endif
set Mode = "Deinstall"
ifstr(i) $(!NTN_InstallMode) == $(Mode)
goto RunMode
endif
set Mode = "Configure"
ifstr(i) $(!NTN_InstallMode) == $(Mode)
goto RunMode
endif
set Mode = "Bind"
ifstr(i) $(!NTN_InstallMode) == $(Mode)
goto RunMode
endif
set Mode = "Update"
ifstr(i) $(!NTN_InstallMode) == $(Mode)
goto RunMode
endif
goto Error
RunMode = +
shell "" $(Mode)Mode $(Option) $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
set Status = $($R0)
Error = +
ifstr(i) $(Status) == "STATUS_SUCCESSFUL"
goto Exit
endif
ifstr(i) $(Status) == "STATUS_REBOOT"
goto Exit
endif
ifstr(i) $(Status) == "STATUS_USERCANCEL"
goto Exit
endif
ifstr(i) "SETUP_FAIL" != "NO_ERROR"
set DontCare = 1
else
set DontCare = 0
endif
ifint $(DontCare) == 1
shell "" GetRegistryErrorString "SETUP_FAIL"
shell "" SetupMessage "FATAL" $($R0)
endif
Exit = +
return $(Status)
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.