OEMSETNT.INF Driver File Contents (3com3c562x.zip)

[Identification]
 OptionType = NetAdapter

[PlatformsSupported]
 ISA
 EISA
 MCA
 PCI

[Options]
 elpc3nD
 elpc3n

[OptionsTextENG]
 elpc3nD = "3Com EtherLink III LAN+Modem PC Card (3C562D/3C563D)"
 elpc3n = "3Com EtherLink III LAN+Modem PC Card (3C562 3C562B/3C563B 3C562C/3C563C)"

[AllFileConstants]
 GenericInfVersion = " V1.50"
 UtilityInf = "UTILITY.INF"
 ParamInf = "NCPARAM.INF"
 subroutineinf = "SUBROUTN.INF"
 SoftwareType = "driver"
 Exit_Code = 0
 NetEventDLL = "%SystemRoot%\System32\netevent.dll"
 IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
 Manufacturer = "3Com"

[FileConstants-elpc3n]
 GenericAdapterName = "3Com EtherLink III LAN+Modem PC Card"
 GenericDriverName = "3Com EtherLink III LAN+Modem Driver"
 GenericSysName = "elpc3n.sys"

 
ProductMajorVersion = "4"
 ProductMinorVersion = "00"
 ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)

 
ProductSoftwareName = "elpc3n"
 ProductSoftwareDesc = "3Com EtherLink III LAN+Modem Driver"
 ProductSoftwareImage = "\SystemRoot\System32\drivers\"$(GenericSysName)
 NetRuleSoftwareType = "elpc3nSys ndisDriver elpc3nDriver"
 NetRuleSoftwareUse = $(SoftwareType)
 NetRuleSoftwareBindForm = """elpc3nSys"" yes no container"
 NetRuleSoftwareClass = {"elpc3nDriver basic"}
 NetRuleSoftwareBindable = {"elpc3nDriver elpc3nAdapter non exclusive 100"}

 
ProductHardwareName = "elpc3n"
 ProductHardwareDesc = "3Com EtherLink III LAN+Modem PC Card"
 NetRuleHardwareType = "elpc3n elpc3nAdapter"
 NetRuleHardwareBindForm = " yes yes container"
 NetRuleHardwareClass = {"elpc3nAdapter basic"}

 
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
 ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"


 







[GeneralConstants]
 from = ""
 to = ""
 ExitCodeOk = 0
 ExitCodeCancel = 1
 ExitCodeFatal = 2
 KeyNull = ""
 MAXIMUM_ALLOWED = 33554432
 RegistryErrorIndex = NO_ERROR
 KeyProduct = ""
 KeyParameters = ""
 TRUE = 1
 FALSE = 0
 NoTitle = 0
 ExitState = "Active"
 OldVersionExisted = $(FALSE)
 DriverPath = $(!STF_NTPATH)\drivers

[date]
 
Now = {} ? $(!LIBHANDLE) GetSystemDate

[Identify]
 read-syms Identification
 set Status = STATUS_SUCCESSFUL
 set Identifier = $(OptionType)
 set Media = #("Source Media Descriptions", 1, 1)
 Return $(Status) $(Identifier) $(Media)

[ReturnOptions]
 set Status = STATUS_FAILED
 set OptionList = {}
 set OptionTextList = {}

 
set LanguageList = ^(LanguagesSupported, 1)
 Ifcontains(i) $($0) in $(LanguageList)
	
	ifstr(i) $($1) == ""
	 goto returnoptions
	endif
	set PlatformList = ^(PlatformsSupported, 1)
	Ifcontains(i) $($1) in $(PlatformList)
	 goto returnoptions
	else
	 set Status = STATUS_NOTSUPPORTED
	 goto finish_ReturnOptions
	endif
 else
	 set Status = STATUS_NOLANGUAGE
	 goto finish_ReturnOptions
 endif

returnoptions = +
 set OptionList = ^(Options, 1)
 set OptionTextList = ^(OptionsText$($0), 1)
 set Status = STATUS_SUCCESSFUL

finish_ReturnOptions = +
 Return $(Status) $(OptionList) $(OptionTextList)

[InstallOption]
 set Status = STATUS_FAILED
 set Option = $($1)
 set SrcDir = $($2)
 set AddCopy = $($3)
 set DoCopy = $($4)
 set DoConfig = $($5)
 Set !DebugOutputControl = 1

 
set LanguageList = ^(LanguagesSupported, 1)
 Ifcontains(i) $($0) NOT-IN $(LanguageList)
	Return STATUS_NOLANGUAGE
 endif

 Set AdapterTypeValue = 4096
 Ifstr(i) $(Option) == elpc3nD
	Set AdapterTypeValue = 4355
 endif
 set OldOption = $(Option)
 set Option = elpc3n

 set-subst LF = "\n"
 read-syms GeneralConstants
 read-syms AllFileConstants
 read-syms FileConstants"-"$(Option)
 read-syms DialogConstants$(!STF_LANGUAGE)"-"$(Option)
 ifstr(i) $(!NTN_Origination) == "NCPA"
	set Continue = $(OK)
 endif
 read-syms AllFileConstants$(!STF_LANGUAGE)
 read-syms FileConstants$(!STF_LANGUAGE)"-"$(Option)
 detect date
 set-title $(FunctionTitle)
 set to = Begin
 set from = Begin

 set CommonStatus = STATUS_SUCCESSFUL
 EndWait

Begin = +
 Set ActivateDetection = FALSE
 Ifstr(i) $(!NTN_InstallMode) == deinstall
	set StartLabel = removeadapter
 else-Ifstr(i) $(!NTN_InstallMode) == Update
	set StartLabel = UpgradeSoftware
 else-Ifstr(i) $(!NTN_InstallMode) == bind
	set StartLabel = bindingadapter
 else-Ifstr(i) $(!NTN_InstallMode) == configure
	set StartLabel = configureadapter
	
	Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
	 Debug-Output "<DBG> Cannot configure the software."
	 Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
	 ifint $($ShellCode) != $(!SHELL_CODE_OK)
		Debug-Output "<DBG> ShellCode error: cannot get an error string."
		goto ShellCodeError
	 endif
	 set Error = $($R0)
	 set from = end
	 set to = end
	 goto nonfatalinfo
	endif
 else
	set StartLabel = installadapter
	set OEM_ABANDON_OPTIONS = {}
	set OEM_ABANDON_SOFTWARE = FALSE
	set OEM_ABANDON_ON = TRUE
 endif

 
ifstr(i) $(Option) == elpc3n
	set IOBaseAddrValue = *($(IOBaseAddrList), 17) 
	set MemoryAddrValue = *($(MemoryAddrList), 9) 
	set IRQValue = *($(IRQList), 1) 
	set MediaTypeValue = *($(MediaTypeList), 1) 
	set ModemIOBaseAddressValue = *($(ModemIOBaseAddressList), 2) 
	set ModemInterruptNumberValue = *($(IRQList), 1) 
	set ComPortValue = *($(ComPortList), 2) 
	set LANOnlyValue = *($(LANOnlyList), 1) 
		set Static1Label = "Note: Modem and Network use same interrupt"

 endif
											 
Set from = $(fatal)
 Set to = $(fatal)
 Goto $(StartLabel)

installadapter = +
 
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
 Ifstr $(KeyProduct) != $(KeyNull)
	
	
	CloseRegKey $(KeyProduct)
	ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
	 
	 Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
	 $(ProductVersion)
	 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error: cannot get an error string."
	 goto ShellCodeError
	 endif
	 goto end
	else
	 
	 Shell $(UtilityInf), CardExistedDlg
	 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error: cannot get an error string."
	 goto ShellCodeError
	 endif
	 ifstr(i) $($R1) != "OK"
	 goto end
	 endif
	 set OldVersionExisted = $(TRUE)
	endif
 endif

 
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Goto ShellCodeError
 Else-Ifstr(i) $($R0) == STATUS_FAILED
	Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 goto ShellCodeError
	endif
	set Error = $($R0)
	Goto fatal
 Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
	Goto successful
 Endif

 Set SrcDir = $($R1)
 install "Install-Dll"
 goto adaptersetup

configureadapter = +
 Ifstr $(KeyProduct) == $(KeyNull)
	OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
	Ifstr $(KeyProduct) == $(KeyNull)
	 set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
	 Debug-Output "<DBG> Cannot find component product key"
	 goto fatalregistry
	Endif
 Endif

 
Debug-Output "<DBG> INF: Shelling to FindService"
 Shell $(UtilityInf) FindService, $(KeyProduct)
 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Debug-Output "<DBG> INF: FindService shell failure"
	Goto ShellCodeError
 Endif
 Ifstr(i) $($R0) != NO_ERROR
	Debug-Output "<DBG> INF: FindService Shell error: "$($R0)
	Goto fatalregistry
 endif

 Set KeyParameters = $($R2)

 
CloseRegKey $($R1)
 Ifstr $(KeyParameters) == $(KeyNull)
	set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
	Debug-Output "<DBG> Cannot find component service"
	goto fatalregistry
 endif
 set OldVersionExisted = $(TRUE)
 set ValueName = ""
 set ValueData = ""
 set ValueStr = ""
 set ValueList = {}

 
EnumRegValue $(KeyParameters) ValueList
 ifstr(i) $(Option) == elpc3n
	ForListDo $(ValueList)
	 set ValueItem = $($)
	 set ValueName = *($(ValueItem),1)
	 set ValueData = *($(ValueItem),4)
	 ifstr(i) $(ValueName) == "IoBaseAddress" 
		set IOBaseAddrIndex = $(ValueData)
	 else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress"
		set MemoryAddrIndex = $(ValueData)
	 else-ifstr(i) $(ValueName) == "InterruptNumber"
		set IRQValueIndex = $(ValueData)
	 else-ifstr(i) $(ValueName) == "ModemInterruptNumber"
		set ModemInterruptNumberIndex = $(ValueData)
	 else-ifstr(i) $(ValueName) == "ComPort"
		set ComPortIndex = $(ValueData)
	 else-ifstr(i) $(ValueName) == "Transceiver"
		set MediaTypeIndex = $(ValueData)
	 else-ifstr(i) $(ValueName) == "LANOnly"
		set LANOnlyIndex = $(ValueData)
	 endif
	EndForListDo

	set IRQValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))
	
	set ModemInterruptNumberValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))

	set MemoryAddrValue = *($(MemoryAddrList), ~($(MemoryAddrValues),$(MemoryAddrIndex)))
	ifstr(i) $(MemoryAddrValue) == ""
	 set MemoryAddrValue = *($(MemoryAddrValues), 2)
	endif

	set IOBaseAddrValue = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrIndex)))
	ifstr(i) $(IOBaseAddrValue) == ""
	 set IOBaseAddrValue = *($(IOBaseAddrList), 1) 
	endif

	set ModemIOBaseAddressValue = *($(ModemIOBaseAddressList), ~($(ComPortValues),$(ComPortIndex)))
	Debug-Output "<DBG> Configure/ComPortIndex "$(ComPortIndex)
	Debug-Output "<DBG> Configure/ModemIOBaseAddressValue "$(ModemIOBaseAddressValue)
	ifstr(i) $(ModemIOBaseAddressValue) == ""
	 set ModemIOBaseAddressValue = *($(ModemIOBaseAddressValues), 2)
	endif
	 
	set ComPortValue = *($(ComPortList), ~($(ComPortValues),$(ComPortIndex)))
	ifstr(i) $(ComPortValue) == ""
	 set ComPortValue = *($(ComPortValues), 2)
	endif

	set MediaTypeValue = *($(MediaTypeList), ~($(MediaTypeValues),$(MediaTypeIndex)))
	ifstr(i) $(MediaTypeValue) == ""
	 set MediaTypeValue = *($(MediaTypeValues), 1)
	endif

	set LANOnlyValue = *($(LANOnlyList), ~($(LANOnlyValues),$(LANOnlyIndex)))
	ifstr(i) $(LANOnlyValue) == ""
	 set LANOnlyValue = *($(LANOnlyValues), 1)
	endif

 endif

adaptersetup = +
 Set from = adapteroptions

adapteroptions = +
 LoadLibrary "disk 1" $(DialogDllName) hLib
 read-syms FileDependentDlg$(!STF_LANGUAGE)"-"$(Option)
 
Debug-Output "<DBG> ----- Before calling my dialog -----"
 Debug-Output "<DBG> Combo1Out "$(Combo1Out)
 Debug-Output "<DBG> Combo2Out "$(Combo2Out)
 Debug-Output "<DBG> Combo3Out "$(Combo3Out)
 Debug-Output "<DBG> Combo6Out "$(Combo6Out)
 Debug-Output "<DBG> Combo7Out "$(Combo7Out)
 Debug-Output "<DBG> Combo8Out "$(Combo8Out)
 Debug-Output "<DBG> ButtonPressed "$(ButtonPressed)
 ui start "InputDlg" $(hLib)
 Debug-Output "<DBG> ----- After calling my dialog -----"
 set ExitButton = $(ButtonPressed)
 Debug-Output "<DBG> Combo1Out "$(Combo1Out)
 Debug-Output "<DBG> Combo2Out "$(Combo2Out)
 Debug-Output "<DBG> Combo3Out "$(Combo3Out)
 Debug-Output "<DBG> Combo6Out "$(Combo6Out)
 Debug-Output "<DBG> Combo7Out "$(Combo7Out)
 Debug-Output "<DBG> Combo8Out "$(Combo8Out)
 Debug-Output "<DBG> ButtonPressed "$(ButtonPressed)

 FreeLibrary $(hLib)
 ifstr(i) $(DLGEVENT) == "CONTINUE"
	ifstr(i) $(Option) == elpc3n
	 set IOBaseAddrIndex = $(Combo1Out)
	 set MemoryAddrIndex = $(Combo2Out)
	 set IRQValueIndex = $(Combo3Out) 
	 set MediaTypeIndex = $(Combo4Out) 
	 set ModemInterruptNumberIndex = $(Combo6Out)
	 set ComPortIndex = $(Combo7Out)
	 set LANOnlyIndex = $(Combo8Out)
	 set ExitButton = $(ButtonPressed)
	endif
	ui pop 1
 else-ifstr(i) $(DLGEVENT) == "EXIT"
	set CommonStatus = STATUS_USERCANCEL
	ui pop 1
	goto end
 else
	set CommonStatus = STATUS_USERCANCEL
	ui pop 1
	Debug-Output "<DBG> Action: unknown. Bye."
	goto end
 endif

skipoptions =+
 ifint $(OldVersionExisted) == $(TRUE)
	ifstr(i) $(!NTN_InstallMode) == configure
	 goto writeparameters
	endif
 endif
 StartWait

 
ifint $(OldVersionExisted) == $(FALSE)
	ifstr(i) $(!NTN_InstallMode) == "install"
	 Ifstr(i) $(DoCopy) == "YES"
		Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
		Ifint $($ShellCode) != $(!SHELL_CODE_OK)
		 Goto ShellCodeError
		Else-Ifstr(i) $($R0) == STATUS_FAILED
		 Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
		 ifint $($ShellCode) != $(!SHELL_CODE_OK)
			goto ShellCodeError
		 endif
		 set Error = $($R0)
		 Goto fatal
		Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
		 Goto successful
		Endif
		Set SrcDir = $($R1)
	 Endif
	 install "Install-Option"
	 ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
		Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
		ifint $($ShellCode) != $(!SHELL_CODE_OK)
		 goto ShellCodeError
		endif
		set Error = $($R0)
		goto fatal
	 endif
	endif

	Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
	 $(ProductSoftwareName), +
	 $(ProductSoftwareName), +
	 $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
	 $(ProductSoftwareImage), "kernel", "NDIS", {}, "",+
	 $(NetEventDLL)

	Set OEM_ABANDON_SOFTWARE = TRUE
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error"
	 goto ShellCodeError
	endif

	
	
	
	
	
	
	set RegistryErrorIndex = $($R0)
	set KeyProduct = $($R1)
	Set SoftNetRulesKey = $($R2)
	CloseRegKey $($R3)
	CloseRegKey $($R4)
	CloseRegKey $($R5)

	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	 EndWait
	 Debug-Output "<DBG> Registry error: add software components"
	 CloseRegKey $(KeyProduct)
	 CloseRegKey $(SoftNetRulesKey)
	 goto fatalregistry
	endif

	set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
			 {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
			 {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
			 {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
			 {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDesc)},+
			 {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
			 {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}

	Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
	Debug-Output "<DBG> AddValueList - SoftwareType, MajorVersion,..."

	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error."
	 goto ShellCodeError
	endif
	set RegistryErrorIndex = $($R0)
	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	 EndWait
	 Debug-Output "<DBG> Registry error: add value list."
	 CloseRegKey $(KeyProduct)
	 CloseRegKey $(SoftNetRulesKey)
	 goto fatalregistry
	endif

	set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
			 {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
			 {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
			 {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
			 {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
			 {InfOption,$(NoTitle),$(!REG_VT_SZ),$(OldOption)}}

	Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
	Debug-Output "<DBG> AddValueList - type, use, bindform, class, ..."
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error."
	 goto ShellCodeError
	endif

	set RegistryErrorIndex = $($R0)
	CloseRegKey $(KeyProduct)
	CloseRegKey $(SoftNetRulesKey)
	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	 EndWait
	 Debug-Output "<DBG> Resgitry error: add value list."
	 goto fatalregistry
	endif
 endif

 Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
 ifint $($R4) != -1
	Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
 endif

 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Debug-Output "<DBG> Cannot add hardware component"
	goto ShellCodeError
 endif

 set RegistryErrorIndex = $($R0)
 Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	EndWait
	Debug-Output "<DBG> Registry error: add hardware component"
	CloseRegKey $($R1)
	CloseRegKey $($R2)
	CloseRegKey $($R3)
	goto fatalregistry
 endif

 set KeyParameters = $($R3)
 set KeyAdapterRules = $($R2)
 set AdapterNumber = $($R4)

 set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
		 {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
		 {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDesc)},+
		 {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
		 {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
		 {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}

 Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
 Debug-Output "<DBG> AddValueList - Manufacturer, Title, Description,..."
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Debug-Output "<DBG> ShellCode error"
	goto ShellCodeError
 endif

 CloseRegKey $($R1)

 set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
 set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)

 set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
			{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
			{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
			{InfOption,$(NoTitle),$(!REG_VT_SZ),$(OldOption)}}

 Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
 Debug-Output "<DBG> AddValueList - type, bindform, class, InfOption"
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Debug-Output "<DBG> ShellCode error."
	goto ShellCodeError
 endif

 set RegistryErrorIndex = $($R0)

 Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	EndWait
	Debug-Output "<DBG> Resgitry error: add value list."
	CloseRegKey $(KeyParameters)
	CloseRegKey $(KeyAdapterRules)
	goto fatalregistry
 endif

 CloseRegKey $(KeyAdapterRules)
 goto writeparameters

writeparameters = +
 Shell $(UtilityInf), GetBusTypeNum
 set BusTypeNum = $($R1)
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Debug-Output "<DBG> ShellCode error."
	goto ShellCodeError
 endif
 set BusTypeNum = 1	

 ifstr(i) $(Option) == elpc3n
	set MemoryAddrValue = *($(MemoryAddrValues), ~($(MemoryAddrList), $(MemoryAddrIndex))) 
	set-add CommonMemoryAddrValue = $(MemoryAddrValue), 8192 
	set IRQValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))
	set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList), $(IOBaseAddrIndex))) 
	set MediaTypeValue = *($(MediaTypeValues), ~($(MediaTypeList), $(MediaTypeIndex)))
	set ComPortValue = *($(ComPortValues), ~($(ComPortList), $(ComPortIndex)))
	set ModemInterruptNumberValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))
	set ModemIOBaseAddressValue = *($(ModemIOBaseAddressValues), ~($(ComPortList), $(ComPortIndex)))
	Debug-Output "<DBG> Install/ComPortIndex "$(ComPortIndex)
	Debug-Output "<DBG> Install/ModemIOBaseAddressValue "$(ModemIOBaseAddressValue)
	set LANOnlyValue = *($(LANOnlyValues), ~($(LANOnlyList), $(LANOnlyIndex)))
	set NewValueList = {{IoBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+ 
			 {IoLength, $(NoTitle),$(!REG_VT_DWORD), 16},+
			 {IoBaseAddress_1, $(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseAddressValue)},+ 
			 {IoLength_1, $(NoTitle),$(!REG_VT_DWORD), 8},+
			 {PCCARDAttributeMemoryAddress, $(NoTitle),$(!REG_VT_DWORD),$(MemoryAddrValue)},+
			 {PCCARDAttributeMemorySize, $(NoTitle),$(!REG_VT_DWORD),8192},+
			 {PCCARDAttributeMemoryOffset, $(NoTitle),$(!REG_VT_DWORD),0},+
			 {MemoryMappedBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(CommonMemoryAddrValue)},+
			 {MemoryMappedSize, $(NoTitle),$(!REG_VT_DWORD),4096},+
			 {PCCARDMemoryWindowOffset, $(NoTitle),$(!REG_VT_DWORD),0},+
			 {Transceiver, $(NoTitle),$(!REG_VT_DWORD),$(MediaTypeValue)},+
			 {ModemIOBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseAddressValue)},+
			 {ModemInterruptNumber, $(NoTitle),$(!REG_VT_DWORD),$(ModemInterruptNumberValue)},+
			 {InterruptNumber, $(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
			 {ComPort, $(NoTitle),$(!REG_VT_DWORD),$(ComPortValue)},+
			 {LANOnly, $(NoTitle),$(!REG_VT_DWORD),$(LANOnlyValue)},+
			 {InternalCTRL, $(NoTitle),$(!REG_VT_DWORD),1310722},+
			 {BusType, $(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
			 {BusNumber, $(NoTitle),$(!REG_VT_DWORD),0},+
			 {CardType, $(NoTitle),$(!REG_VT_DWORD),3},+
			 {Pcmcia, $(NoTitle),$(!REG_VT_DWORD),1},+
			 {OSType, $(NoTitle), $(!REG_VT_DWORD),1},+
			 {MediaType, $(NoTitle), $(!REG_VT_DWORD),1},+
			 {AdapterType, $(NoTitle), $(!REG_VT_DWORD), $(AdapterTypeValue)}}
 endif
 Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
 Debug-Output "<DBG> AddValueList - IoBaseAddress,..."
 CloseRegKey $(KeyParameters)

 


ifstr(i) $(Option) == elpc3n
	OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	Ifstr $(MyPcmciaHandle) == $(KeyNull)
	 Debug-Output "<DBG> CreateRegKey (3C562)"
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey
	 CreateRegKey $(MyPcmciaKey) {"3C562",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle
	 CloseRegKey $(MyPcmciaKey)
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	endif
	set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}}
	Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList)
	Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n"
	CloseRegKey $(MyPcmciaHandle)

	OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562B/3C563B" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	Ifstr $(MyPcmciaHandle) == $(KeyNull)
	 Debug-Output "<DBG> CreateRegKey (3C562B/3C563B)"
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey
	 CreateRegKey $(MyPcmciaKey) {"3C562B/3C563B",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle
	 CloseRegKey $(MyPcmciaKey)
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562B/3C563B" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	endif
	set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}}
	Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList)
	Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n"
	CloseRegKey $(MyPcmciaHandle)

	OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562C/3C563C" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	Ifstr $(MyPcmciaHandle) == $(KeyNull)
	 Debug-Output "<DBG> CreateRegKey (3C562C/3C563C)"
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey
	 CreateRegKey $(MyPcmciaKey) {"3C562C/3C563C",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle
	 CloseRegKey $(MyPcmciaKey)
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562C/3C563C" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	endif
	set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}}
	Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList)
	Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n"
	CloseRegKey $(MyPcmciaHandle)

	OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562D/3C563D" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	Ifstr $(MyPcmciaHandle) == $(KeyNull)
	 Debug-Output "<DBG> CreateRegKey (3C562D/3C563D)"
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey
	 CreateRegKey $(MyPcmciaKey) {"3C562D/3C563D",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle
	 CloseRegKey $(MyPcmciaKey)
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562D/3C563D" $(MAXIMUM_ALLOWED) MyPcmciaHandle
	endif
	set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}}
	Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList)
	Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n"
	CloseRegKey $(MyPcmciaHandle)
 endif

 


ifcontains(i) $(Option) in {"elpc3n", "ELPC3"}
	OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\Serialelpc3n" $(MAXIMUM_ALLOWED) MyNewSerialHandle
	Ifstr $(MyNewSerialHandle) == $(KeyNull)
	 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey
	 CreateRegKey $(SerialKey) {"Serialelpc3n",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
	 CloseRegKey $(SerialKey)
	endif
	set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), "COM"$(ComPortValue)},+ 
			 {ForceFifoEnable, $(NoTitle), $(!REG_VT_DWORD), 0},+ 
			 {Interrupt, $(NoTitle), $(!REG_VT_DWORD), $(ModemInterruptNumberValue)},+ 
			 {PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(ModemIOBaseAddressValue)}} 
	Shell $(UtilityInf), AddValueList, $(MyNewSerialHandle), $(NewValueList)
	Debug-Output "<DBG> AddValueList - DosDevices, ForceFifiEnable,..."
	CloseRegKey $(MyNewSerialHandle)

	OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) MyNewSerialHandle
	Ifstr $(MyNewSerialHandle) == $(KeyNull)
	 OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXIMUM_ALLOWED) SerialKey
	 CreateRegKey $(SerialKey) {"SERIALCOMM",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
	 CloseRegKey $(SerialKey)
	endif
	SetRegValue $(MyNewSerialHandle) {"Serialelpc3n",$(NoTitle),$(!REG_VT_SZ),"COM"$(ComPortValue)}
	CloseRegKey $(MyNewSerialHandle)

	OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" $(MAXIMUM_ALLOWED) MyNewSerialHandle
	Ifstr $(MyNewSerialHandle) == $(KeyNull)
	 OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) SerialKey
	 CreateRegKey $(SerialKey) {"Ports",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
	 CloseRegKey $(SerialKey)
	endif
	SetRegValue $(MyNewSerialHandle) {"COM"$(ComPortValue)":",$(NoTitle),$(!REG_VT_SZ), "9600,n,8,1"}
	CloseRegKey $(MyNewSerialHandle)
 endif

 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Debug-Output "<DBG> ShellCode error."
	goto ShellCodeError
 endif

 set RegistryErrorIndex = $($R0)

 Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	Debug-Output "<DBG> Registry error: Add value list"
	goto fatalregistry
 endif

 EndWait

 goto successful

bindingadapter =+
 set Error = "Binding: Sorry, not yet implemented."
 goto fatal

removeadapter = +
 Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
	
	Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
	$(ProductSoftwareName)
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error"
	 goto ShellCodeError
	endif

	set RegistryErrorIndex = $($R0)

	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	 goto fatalregistry
	endif
 else
	Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
	 $(ProductSoftwareName), $(!NTN_RegBase)
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error"
	 goto ShellCodeError
	endif

	set RegistryErrorIndex = $($R0)

	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	 goto fatalregistry
	endif
 endif
 goto end

UpgradeSoftware = +
 







ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
	
	
	
	
	OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct

	Ifstr $(KeyProduct) != $(KeyNull)
	 GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
	 set Version = *($(VersionInfo), 4)
	 
	 
	 
	 Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
	 ifint $($ShellCode) != $(!SHELL_CODE_OK)
		Debug-Output "<DBG> ShellCode error"
		goto ShellCodeError
	 endif
	 set !UG_Filename = $($R0)

	 ifstr(i) $(!UG_Filename) != ""
		install "Install-Update"
		ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
		 goto fatal
		endif
	 endif

	 
	 
	 SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
	 SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}

	 
	 
	 
	 ifint $(Version) != $(ProductVersion)
	 
	 
	 
	 
	 
	 
	 
	 endif
	 CloseRegKey $(KeyProduct)
	else
	 
	 
	 
	 goto fatalregistry
	endif
 else
	
	
	
	
	
	
	
	
	OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
	 $(MAXIMUM_ALLOWED) NetworkCardKey
	Ifstr(i) $(NetworkCardKey) != $(KeyNull)
	 
	 
	 
	 GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
	 set ServiceName = *($(ServiceNameInfo), 4)

	 
	 
	 
	 OpenRegKey $(NetworkCardKey) "" "NetRules" +
		$(MAXIMUM_ALLOWED) NetRuleKey
	 Ifstr(i) $(NetRuleKey) != $(KeyNull)
		
		
		
	 else
		
		
		
		goto fatalregistry
	 endif

	 CloseRegKey $(NetRules)
	 CloseRegKey $(NetworkCardKey)
	else
	 
	 
	 
	 goto fatalregistry
	endif
	
	
	
	
	OpenRegKey $(!REG_H_LOCAL) "" +
	 $(!NTN_ServiceBase)"\"$(ServiceName) +
	 $(MAXIMUM_ALLOWED) ServiceKey

	Ifstr(i) $(ServiceKey) != $(KeyNull)
	 
	 
	 
	 
	 
	 CloseRegKey $(ServiceKey)
	else
	 
	 
	 
	 goto fatalregistry
	endif
 endif

 goto end
 



successful = +
 goto end

abandon = +
 ForListDo $(OEM_ABANDON_OPTIONS)
	Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
	 $(ProductSoftwareName), $($)
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error"
	 goto ShellCodeError
	endif

	set RegistryErrorIndex = $($R0)

	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	 goto fatalregistry
	endif
 EndForListDo

 Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
	
	Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
	 $(ProductSoftwareName), FALSE
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 Debug-Output "<DBG> ShellCode error"
	 goto ShellCodeError
	endif

	set RegistryErrorIndex = $($R0)

	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	 goto fatalregistry
	endif
 endif

 goto end

warning = +
 Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto ShellCodeError
 endif
 ifstr(i) $($R1) == "OK"
	goto $(to)
 else-ifstr(i) $($R1) == "CANCEL"
	goto $(from)
 else
	goto "end"
 endif

nonfatalinfo = +
 Set Severity = STATUS
 Set CommonStatus = STATUS_USERCANCEL
 goto nonfatalmsg
nonfatal = +
 Set Severity = NONFATAL
 goto nonfatalmsg
nonfatalmsg = +
 ifstr(i) $(Error) == ""
	Set Severity = NONFATAL
	Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 goto ShellCodeError
	endif
	set Error = $($R0)
 endif
 Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto ShellCodeError
 endif
 ifstr(i) $($R1) == "OK"
	goto $(from)
 else
	goto "end"
 endif

fatalregistry = +
 Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto ShellCodeError
 endif
 set Error = $($R0)
 goto fatal

fataldetect = +
 Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	Debug-Output "<DBG> ShellCode error: cannot get an error string."
	goto ShellCodeError
 endif
 set Error = $($R0)
 Goto fatal

fatal = +
 ifstr(i) $(Error) == ""
	Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	 goto ShellCodeError
	endif
	set Error = $($R0)
 endif
 Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
 ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto ShellCodeError
 endif

 goto setfailed

ShellCodeError = +
 set DlgType = "MessageBox"
 set STF_MB_TITLE = $(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"
 goto setfailed

setfailed = +
 set CommonStatus = STATUS_FAILED
 


ifstr(i) $(OEM_ABANDON_ON) == TRUE
	set OEM_ABANDON_ON = FALSE
	goto abandon
 endif
 goto end

end = +
 goto term

term = +
 Return $(CommonStatus)

[DebugConfiguration]
 Set InfName = "OEMSETNT.INF"
 Debug-Output $(InfName)"<DBG> **CONFIGURATION STATE: "$($0)
 Debug-Output $(InfName)"<DBG> IRQ_Level is "$(!p:IRQ_Level)
 Debug-Output $(InfName)"<DBG> IOBaseAddrValue is "$(!p:IOBaseAddrValue)
 Debug-Output $(InfName)"<DBG> TransceiverValue is "$(!p:TransceiverValue)
 Debug-Output $(InfName)"<DBG> MemoryAddr is "$(!p:MemoryAddr)
 Debug-Output $(InfName)"<DBG> MappedValue is "$(!p:MappedValue)
 return

[Install-Option]
 set STF_VITAL = ""

 ifstr(i) $(AddCopy) == "YES"
	AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
 endif

 ifstr(i) $(DoCopy) == "YES"
 


set !STF_NCPA_FLUSH_COPYLIST = TRUE
 CopyFilesInCopyList
 endif
 Exit

[Install-Update]
 set STF_VITAL = ""
 set STF_OVERWRITE = "VERIFYSOURCEOLDER"
 AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
 AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
 set !STF_NCPA_FLUSH_COPYLIST = TRUE
 CopyFilesInCopyList
 exit

[Install-Dll]
 set STF_VITAL = ""
 AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
 set !STF_NCPA_FLUSH_COPYLIST = TRUE
 CopyFilesInCopyList
 exit

[Source Media Descriptions]
 1 = "EtherLink III Lan+Modem PC Card EtherDisk for NT", TAGFILE = elpc3n.DSK

[ProductType]
 STF_PRODUCT = Winnt
 STF_PLATFORM = I386

[Files-Inf]
1, OEMSETNT.INF, SIZE=43500, RENAME=$(!UG_Filename)

[Files-Dll]
1, elpc3n.DLL, SIZE=100000

[Files-elpc3n]
1, elpc3n.SYS, SIZE=50000

[LanguagesSupported]
ENG

[AllFileConstantsENG]
ProCaption = "Windows NT Setup"
ProCancel = "Cancel"
ProCancelMsg = "Windows NT Networking is not correctly installed. "+
	 "Are you sure you want to cancel copying files?"
ProCancelCap = "Network Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
DialogDllName = "elpc3n.DLL"

[FileConstantsENG-elpc3n]
FunctionTitle = "EtherLink III LAN+Modem PC Card"$(GenericInfVersion)
ProductSoftwareTitle = $(GenericDriverName)
ProductHardwareTitle = $(GenericAdapterName)
IRQList = ^(IRQChoices, 1)
IRQValues = ^(IRQChoices, 2)
IOBaseAddrList = ^(IOBaseChoices, 1) 
IOBaseAddrValues = ^(IOBaseChoices, 2)
MemoryAddrList = ^(MemoryAddrChoices,1)
MemoryAddrValues = ^(MemoryAddrChoices,2)
MediaTypeList = ^(MediaTypeChoices, 1)
MediaTypeValues = ^(MediaTypeChoices, 2)
ComPortList = ^(ComPortChoices, 1)
ComPortValues = ^(ComPortChoices, 2)
LANOnlyList = ^(LANOnlyChoices, 1)
LANOnlyValues = ^(LANOnlyChoices, 2)
ModemIOBaseAddressList = ^(ModemIOBaseChoices,1)
ModemIOBaseAddressValues = ^(ModemIOBaseChoices,2)

[DialogConstantsENG-elpc3n]
Help = "Help"
Exit = "Cancel"
OK = "OK"
HelpContext = ""
Continue = "Continue"
Cancel = "Cancel"

[FileDependentDlgENG-elpc3n]
DlgType = "RadioCombination"
DlgTemplate = "elpc3n"
Caption = $(FunctionTitle)
HelpContext = $(!IDH_DB_OEMNADE2_INS)
CBOptionsGreyed = {}
NotifyFields = {NO, NO, NO, NO, NO, NO, NO}
Combo1Label = "I/O Port Address:" 
Combo2Label = "Memory Address:"
Combo3Label = "Network Interrupt:"
Combo4Label = "Media Type:"
Combo5Label = "Modem Port Address:"
Combo6Label = "Modem Interrupt:"
Combo7Label = "Com Port:"
Combo8Label = "LANOnly Mode:"
Combo1List = $(IOBaseAddrList)
Combo1Out = $(IOBaseAddrValue)
Combo2List = $(MemoryAddrList)
Combo2Out = $(MemoryAddrValue)
Combo3List = $(IRQList)
Combo3Out = $(IRQValue)
Combo4List = $(MediaTypeList)
Combo4Out = $(MediaTypeValue)
Combo5List = $(ModemIOBaseAddressList)
Combo5Out = $(ModemIOBaseAddressValue)
Combo6List = $(IRQList)
Combo6Out = $(ModemInterruptNumberValue)
Combo7List = $(ComPortList)
Combo7Out = $(ComPortValue)
Combo8List = $(LANOnlyList)
Combo8Out = $(LANOnlyValue)
ComboListItemsIn = {Combo1List,Combo2List,Combo3List,Combo4List,Combo5List,Combo6List,Combo7List,Combo8List}
ComboListItemsOut = {Combo1Out,Combo2Out,Combo3Out,Combo4Out,Combo5Out,Combo6Out,Combo7Out,Combo8Out}
EditTextIn = {"",""}
EditTextLim = {"",""}

[MemoryAddrChoices]
MA_1 = "0xC8000", 819200
MA_2 = "0xC9000", 823296
MA_3 = "0xCA000", 827392
MA_4 = "0xCB000", 831488
MA_5 = "0xCC000", 835584
MA_6 = "0xCD000", 839680
MA_7 = "0xCE000", 843776
MA_8 = "0xCF000", 847872
MA_9 = "0xD0000", 851968
MA_10 = "0xD1000", 856064
MA_11 = "0xD2000", 860160
MA_12 = "0xD3000", 864256
MA_13 = "0xD4000", 868352
MA_14 = "0xD5000", 872448
MA_15 = "0xD6000", 876544
MA_16 = "0xD7000", 880640
MA_17 = "0xD8000", 884736
MA_18 = "0xD9000", 888832
MA_19 = "0xDA000", 892928
MA_20 = "0xDB000", 897024
MA_21 = "0xDC000", 901120
MA_22 = "0xDD000", 905216
MA_23 = "0xDE000", 909312
MA_24 = "0xDF000", 913408
MA_25 = "0xE0000", 917504
MA_26 = "0xE1000", 921600
MA_27 = "0xE2000", 925696
MA_28 = "0xE3000", 929792
MA_29 = "0xE4000", 933888
MA_30 = "0xE5000", 937984
MA_31 = "0xE6000", 942080
MA_32 = "0xE7000", 946176
MA_33 = "0xE8000", 950272
MA_34 = "0xE9000", 954368
MA_35 = "0xEA000", 958464
MA_36 = "0xEB000", 962560
MA_37 = "0xEC000", 966656
MA_38 = "0xED000", 970752
MA_39 = "0xEE000", 974848
MA_40 = "0xEF000", 978944

[IRQChoices]
IRQ_1 = "3",3
IRQ_2 = "4",4
IRQ_3 = "5",5
IRQ_4 = "7",7
IRQ_5 = "9",9
IRQ_6 = "10",10
IRQ_7 = "11",11
IRQ_8 = "15",15
	 
[ModemIOBaseChoices]
MdmIOBase_1 = "0x3F8",1016
MdmIOBase_2 = "0x2F8",760
MdmIOBase_3 = "0x3E8",1000
MdmIOBase_4 = "0x2E8",744
	 
[ComPortChoices]
CP_1 = "COM1", 1
CP_2 = "COM2", 2
CP_3 = "COM3", 3
CP_4 = "COM4", 4

[LANOnlyChoices]
MS_1 = "Disabled", 0
MS_2 = "Enabled", 1

[IOBaseChoices]
IOBase_1 = "0x200",512
IOBase_2 = "0x210",528
IOBase_3 = "0x220",544
IOBase_4 = "0x230",560
IOBase_5 = "0x240",576
IOBase_6 = "0x250",592
IOBase_7 = "0x260",608
IOBase_8 = "0x270",624
IOBase_9 = "0x280",640
IOBase_10 = "0x290",656
IOBase_11 = "0x2A0",672
IOBase_12 = "0x2B0",698
IOBase_13 = "0x2C0",714
IOBase_14 = "0x2D0",730
IOBase_15 = "0x2E0",746
IOBase_16 = "0x2F0",752
IOBase_17 = "0x300",768
IOBase_18 = "0x310",784
IOBase_19 = "0x320",800
IOBase_20 = "0x330",816
IOBase_21 = "0x340",832
IOBase_22 = "0x350",848
IOBase_23 = "0x360",864
IOBase_24 = "0x370",880
IOBase_25 = "0x380",896
IOBase_26 = "0x390",912
IOBase_27 = "0x3A0",928
IOBase_28 = "0x3B0",944
IOBase_29 = "0x3C0",960
IOBase_30 = "0x3D0",976

[MediaTypeChoices]
MT_1 = "TP (10BaseT)", 0
MT_2 = "COAX (10Base2)", 1

Download Driver Pack

How To Update Drivers Manually

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.

server: web3, load: 2.10