home *** CD-ROM | disk | FTP | other *** search
/ CICA NT 1997 November / CICA_NT_CD-ROM_Walnut_Creek_November_1997.iso / patches / sp5_351a.exe / NTAS / OEMNADAP.INF < prev    next >
INI File  |  1996-09-19  |  41KB  |  1,178 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     ISA
  5.     EISA
  6.     PCI
  7. [Options]
  8.     AMDPCI
  9. [FileConstants]
  10. GenericInfVersion  = " v2.45"
  11. GenericSysName     = "amdpcn.sys"
  12. GenericName        = "AMDPCN"
  13. UtilityInf      = "UTILITY.INF"
  14. ParamInf        = "NCPARAM.INF"
  15. subroutineinf   = "SUBROUTN.INF"
  16. SoftwareType    = "driver"
  17. Exit_Code       = 0
  18. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  19. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  20. Manufacturer    = "Microsoft"
  21. ProductMajorVersion     = "3"
  22. ProductMinorVersion     = "1"
  23. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  24. ProductSoftwareName     = "AMDPCN"
  25. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\"$(GenericSysName)
  26. NetRuleSoftwareType     = "pcntn3Sys ndisDriver pcntn3Driver"
  27. NetRuleSoftwareUse      = $(SoftwareType)
  28. NetRuleSoftwareBindForm = """pcntn3Sys"" yes no container"
  29. NetRuleSoftwareClass    = {"pcntn3Driver basic"}
  30. NetRuleSoftwareBindable = {"pcntn3Driver pcntn3Adapter non exclusive 100"}
  31. ProductHardwareName        = "AMDPCN"
  32. NetRuleHardwareType        = "pcntn3 pcntn3Adapter"
  33. NetRuleHardwareBindForm    = " yes yes container"
  34. NetRuleHardwareClass       = {"pcntn3Adapter basic"}
  35. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  36. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  37. [GeneralConstants]
  38. from      = ""
  39. to        = ""
  40. ExitCodeOk     = 0
  41. ExitCodeCancel = 1
  42. ExitCodeFatal  = 2
  43. KeyNull         = ""
  44. MAXIMUM_ALLOWED   = 33554432
  45. RegistryErrorIndex = NO_ERROR
  46. KeyProduct      = ""
  47. KeyParameters   = ""
  48. TRUE            = 1
  49. FALSE           = 0
  50. NoTitle         = 0
  51. ExitState   = "Active"
  52. OldVersionExisted = $(FALSE)
  53. DriverPath      = $(!STF_NTPATH)\drivers
  54. [date]
  55.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  56. [Identify]
  57.     read-syms Identification
  58.     set Status     = STATUS_SUCCESSFUL
  59.     set Identifier = $(OptionType)
  60.     set Media      = #("Source Media Descriptions", 1, 1)
  61.     Return $(Status) $(Identifier) $(Media)
  62. [ReturnOptions]
  63.     set Status        = STATUS_FAILED
  64.     set OptionList     = {}
  65.     set OptionTextList = {}
  66.     set LanguageList = ^(LanguagesSupported, 1)
  67.     Ifcontains(i) $($0) in $(LanguageList)
  68.     ifstr(i) $($1) == ""
  69.             goto returnoptions
  70.     endif
  71.     set PlatformList = ^(PlatformsSupported, 1)
  72.     Ifcontains(i) $($1) in $(PlatformList)
  73.             goto returnoptions
  74.     else
  75.             set Status = STATUS_NOTSUPPORTED
  76.             goto finish_ReturnOptions
  77.     endif
  78.     else
  79.         set Status = STATUS_NOLANGUAGE
  80.         goto finish_ReturnOptions
  81.     endif
  82. returnoptions = +
  83.     set OptionList     = ^(Options, 1)
  84.     set OptionTextList = ^(OptionsText$($0), 1)
  85.     set Status         = STATUS_SUCCESSFUL
  86. finish_ReturnOptions = +
  87.     Return $(Status) $(OptionList) $(OptionTextList)
  88. [InstallOption]
  89.     set Status   = STATUS_FAILED
  90.     set Option   = $($1)
  91.     set SrcDir   = $($2)
  92.     set AddCopy  = $($3)
  93.     set DoCopy   = $($4)
  94.     set DoConfig = $($5)
  95.     set LanguageList = ^(LanguagesSupported, 1)
  96.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  97.     Return STATUS_NOLANGUAGE
  98.     endif
  99.     set-subst LF = "\n"
  100.     read-syms GeneralConstants
  101.     read-syms FileConstants
  102.     read-syms FileConstants$(!STF_LANGUAGE)
  103.     read-syms DialogConstants$(!STF_LANGUAGE)
  104.     ifstr(i) $(!NTN_Origination) == "NCPA"
  105.     set Continue = $(OK)
  106.     endif
  107.     detect date
  108.     set-title  $(FunctionTitle)
  109.     set to   = Begin
  110.     set from = Begin
  111.     set CommonStatus = STATUS_SUCCESSFUL
  112.     EndWait
  113. Begin = +
  114.     Set ActivateDetection = FALSE
  115.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  116.     set StartLabel = removeadapter
  117.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  118.     set StartLabel = UpgradeSoftware
  119.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  120.     set StartLabel = bindingadapter
  121.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  122.     set StartLabel = configureadapter
  123.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  124.         Debug-Output "Cannot configure the PCNet family driver software."
  125.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  126.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  127.         Debug-Output "ShellCode error: cannot get an error string."
  128.         goto ShellCodeError
  129.         endif
  130.         set Error = $($R0)
  131.         set from = end
  132.         set to = end
  133.         goto nonfatalinfo
  134.     endif
  135.     else
  136.     set StartLabel = installadapter
  137.     set OEM_ABANDON_OPTIONS = {}
  138.     set OEM_ABANDON_SOFTWARE = FALSE
  139.     set OEM_ABANDON_ON = TRUE
  140.     endif
  141.     set IRQValue = *($(IRQList), 9)
  142.     set IOBaseAddrValue = *($(IOBaseAddrList), 17)
  143.     set DMAChannelValue = *($(DMAChannelList), 5)
  144.     set RadioIn  = {4}
  145.     set BusScanValue = "ALL"
  146.     set LED0Value = *($(LEDList), 1)
  147.     set LED1Value = *($(LEDList), 1)
  148.     set LED2Value = *($(LEDList), 1)
  149.     set LED3Value = *($(LEDList), 1)
  150.     set TPValue = 1
  151.     set FullDuplexValue = *($(FullDuplexList), 4)
  152.     set BusTimerValue = *($(BusTimerList), 10)
  153.     Set from = $(fatal)
  154.     Set to = $(fatal)
  155.     Goto $(StartLabel)
  156. installadapter = +
  157.     set IsISA = 0
  158.     set Vendor = 4130
  159.     set CardID = 8192
  160.     Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CardID)
  161.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  162.         goto ShellCodeError
  163.     endif
  164.     set AdapterList = $($R0)
  165.         set NewAdapterList = {}
  166.     set NumNew = 0
  167.     ForListDo $(AdapterList)
  168.         set BusNum = *($($),1)
  169.         set SlotNum = *($($),2)
  170.         Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
  171.         $(SlotNum), $(GenericPCIAdapterName), $(ProductHardwareName)
  172.         ifstr(i) $($R1) != "YES"
  173.             set-add NumNew = $(NumNew),1
  174.             ifstr(i) $(NewAdapterList) == {}
  175.                 set NewAdapterList = {$($)}
  176.             else
  177.                 set NewAdapterList = >($(NewAdapterList),$($))
  178.             endif
  179.         endif
  180.     EndForListDo
  181.     set AdapterList = $(NewAdapterList)
  182.     ifint $(NumNew) == 0
  183.         set AdapterList = {{0,0,0}}
  184.         set IsISA = 1
  185.     endif
  186.     debug-output $(AdapterList)
  187.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  188.     Ifstr $(KeyProduct) != $(KeyNull)
  189.     CloseRegKey $(KeyProduct)
  190.     ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  191.        Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  192.            $(ProductVersion)
  193.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  194.            Debug-Output "ShellCode error: cannot get an error string."
  195.            goto ShellCodeError
  196.        endif
  197.        goto end
  198.     else
  199.        Shell $(UtilityInf), CardExistedDlg
  200.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  201.            Debug-Output "ShellCode error: cannot get an error string."
  202.            goto ShellCodeError
  203.        endif
  204.        ifstr(i) $($R1) != "OK"
  205.            goto end
  206.        endif
  207.        set OldVersionExisted = $(TRUE)
  208.     endif
  209.     endif
  210.     ifint $(OldVersionExisted) == $(FALSE)
  211.     ifstr(i) $(!NTN_InstallMode) == "install"
  212.        Ifstr(i) $(DoCopy) == "YES"
  213.         Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
  214.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  215.             Goto ShellCodeError
  216.         Else-Ifstr(i) $($R0) == STATUS_FAILED
  217.             Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  218.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  219.             goto ShellCodeError
  220.             endif
  221.             set Error = $($R0)
  222.             Goto fatal
  223.         Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  224.             Goto successful
  225.         Endif
  226.         Set SrcDir = $($R1)
  227.         endif
  228.         install "Install-Helpfile"
  229.     endif
  230.     endif
  231.     SetHelpFile "pcnet.hlp" 1 11
  232.     Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  233.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  234.     Goto ShellCodeError
  235.     Else-Ifstr(i) $($R0) == STATUS_FAILED
  236.     Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  237.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  238.         goto ShellCodeError
  239.     endif
  240.     set Error = $($R0)
  241.     Goto fatal
  242.     Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  243.     Goto successful
  244.     Endif
  245.     Set SrcDir = $($R1)
  246.     install "Install-Dll"
  247.     goto adaptersetup
  248. configureadapter = +
  249.     SetHelpFile "pcnet.hlp" 1 11
  250.     Ifstr $(KeyProduct) == $(KeyNull)
  251.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  252.     Ifstr $(KeyProduct) == $(KeyNull)
  253.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  254.         Debug-Output "Cannot find component product key"
  255.         goto fatalregistry
  256.     Endif
  257.     Endif
  258.     Debug-Output "INF: Shelling to FindService"
  259.     Shell $(UtilityInf) FindService, $(KeyProduct)
  260.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  261.     Debug-Output "INF: FindService shell failure"
  262.     Goto ShellCodeError
  263.     Endif
  264.     Ifstr(i) $($R0) != NO_ERROR
  265.     Debug-Output "INF: FindService Shell error: "$($R0)
  266.     Goto fatalregistry
  267.     endif
  268.     Set KeyParameters = $($R2)
  269.     CloseRegKey $($R1)
  270.     Ifstr $(KeyParameters) == $(KeyNull)
  271.     set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  272.     Debug-Output "Cannot find component service"
  273.     goto fatalregistry
  274.     endif
  275.     set OldVersionExisted = $(TRUE)
  276.     set ValueName = ""
  277.     set ValueData = ""
  278.     set ValueStr  = ""
  279.     set ValueList = {}
  280.     EnumRegValue $(KeyParameters) ValueList
  281.     ForListDo $(ValueList)
  282.     set ValueItem = $($)
  283.     set ValueName = *($(ValueItem),1)
  284.     set ValueData = *($(ValueItem),4)
  285.     ifstr(i) $(ValueName) == "BUS_TO_SCAN"
  286.         set BusScanValue = $(ValueData)
  287.     else-ifstr(i) $(ValueName) == "TP"
  288.         set TPValue = $(ValueData)
  289.     else-ifstr(i) $(ValueName) == "LED0"
  290.         set LED0Value = $(ValueData)
  291.     else-ifstr(i) $(ValueName) == "LED1"
  292.         set LED1Value = $(ValueData)
  293.     else-ifstr(i) $(ValueName) == "LED2"
  294.         set LED2Value = $(ValueData)
  295.     else-ifstr(i) $(ValueName) == "LED3"
  296.         set LED3Value = $(ValueData)
  297.     else-ifstr(i) $(ValueName) == "IOBaseAddress"
  298.         set IOBaseAddrValue = $(ValueData)
  299.     else-ifstr(i) $(ValueName) == "InterruptNumber"
  300.         set IRQValue = $(ValueData)
  301.     else-ifstr(i) $(ValueName) == "DMAChannel"
  302.         set DMAChannelValue = $(ValueData)
  303.     else-ifstr(i) $(ValueName) == "FDUP"
  304.         set FullDuplexValue = $(ValueData)
  305.     else-ifstr(i) $(ValueName) == "BUSTIMER"
  306.         set BusTimerValue = $(ValueData)
  307.     else-ifstr(i) $(ValueName) == "BusType"
  308.         set BusInterfaceType = $(ValueData)
  309.         ifint $(BusInterfaceType) == 5
  310.             set IsISA = 0
  311.         else
  312.             set IsISA = 1
  313.         endif
  314.     else-ifstr(i) $(ValueName) == "BusNum"
  315.         set BusNumber = $(ValueData)
  316.     endif
  317.     EndForListDo
  318.     Ifint $(TPValue) == 0
  319.     Set CheckItemsIn = {"OFF"}
  320.     Else
  321.     Set CheckItemsIn = {"ON"}
  322.     Endif
  323.     Ifstr $(BusScanValue) == "PNP"
  324.     Set RadioIn = {1}
  325.     Else-Ifstr $(BusScanValue) == "VESA"
  326.     Set RadioIn = {2}
  327.     Else-Ifstr $(BusScanValue) == "ISA"
  328.     Set RadioIn = {3}
  329.     Else-Ifstr $(BusScanValue) == "ALL"
  330.     Set RadioIn = {4}
  331.     Else-Ifstr $(BusScanValue) == ""
  332.     Set RadioIn = {4}
  333.     Endif
  334.     Debug-Output $(InfName)" TP is "$(TPValue)
  335. ifint $(IsISA) == 1
  336.     set IRQValue = *($(IRQList), ~($(IRQValues),$(IRQValue)))
  337.     ifstr(i) $(IRQValue) == ""
  338.     set IRQValue = *($(IRQList), 2)
  339.     endif
  340.     Debug-Output $(InfName)" IRQ_Level is "$(IRQValue)
  341.     set DMAChannelValue = *($(DMAChannelList), ~($(DMAChannelValues),$(DMAChannelValue)))
  342.     ifstr(i) $(DMAChannelValue) == ""
  343.     set DMAChannelValue = *($(DMAChannelList), 2)
  344.     endif
  345.     Debug-Output $(InfName)" DMA is "$(DMAChannelValue)
  346.     set IOBaseAddrValue = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrValue)))
  347.     ifstr(i) $(IOBaseAddrValue) == ""
  348.     set IOBaseAddrValue = *($(IOBaseAddrList), 1)
  349.     endif
  350.     Debug-Output $(InfName)" I/o base is "$(IOBaseAddrValue)
  351. endif
  352.     set LED0Value = *($(LEDList), ~($(LEDValues),$(LED0Value)))
  353.     ifstr(i) $(LED0Value) == ""
  354.     set LED0Value = *($(LEDList), 1)
  355.     endif
  356.     Debug-Output $(InfName)" LED0 is "$(LED0Value)
  357.     set LED1Value = *($(LEDList), ~($(LEDValues),$(LED1Value)))
  358.     ifstr(i) $(LED1Value) == ""
  359.     set LED1Value = *($(LEDList), 1)
  360.     endif
  361.     Debug-Output $(InfName)" LED1 is "$(LED1Value)
  362.     set LED2Value = *($(LEDList), ~($(LEDValues),$(LED2Value)))
  363.     ifstr(i) $(LED2Value) == ""
  364.     set LED2Value = *($(LEDList), 1)
  365.     endif
  366.     Debug-Output $(InfName)" LED2 is "$(LED0Value)
  367.     set LED3Value = *($(LEDList), ~($(LEDValues),$(LED3Value)))
  368.     ifstr(i) $(LED3Value) == ""
  369.     set LED3Value = *($(LEDList), 1)
  370.     endif
  371.     Debug-Output $(InfName)" LED3 is "$(LED3Value)
  372.     set FullDuplexValue = *($(FullDuplexList), ~($(FullDuplexValues),$(FullDuplexValue)))
  373.     ifstr(i) $(FullDuplexValue) == ""
  374.     set FullDuplexValue = *($(FullDuplexList), 1)
  375.     endif
  376.     Debug-Output $(InfName)" Full Duplex is "$(FullDuplexValue)
  377.     set BusTimerValue = *($(BusTimerList), ~($(BusTimerValues),$(BusTimerValue)))
  378.     ifstr(i) $(BusTimerValue) == ""
  379.     set BusTimerValue = *($(BusTimerList), 1)
  380.     endif
  381.     Debug-Output $(InfName)" Bus Timer is "$(BusTimerValue)
  382. adaptersetup = +
  383.     Set from = adapteroptions
  384. adapteroptions = +
  385.     LoadLibrary "Disk 1" .\$(DialogDllName) hLib
  386. ifint $(IsISA) == 0
  387.     read-syms FileDependentDlgPCI$(!STF_LANGUAGE)
  388.     Debug-Output $(InfName)" TP is "$(TPValue)
  389.     Debug-Output $(InfName)" LED0 is "$(LED0Value)
  390.     Debug-Output $(InfName)" LED1 is "$(LED1Value)
  391.     Debug-Output $(InfName)" LED2 is "$(LED2Value)
  392.     Debug-Output $(InfName)" LED3 is "$(LED3Value)
  393.     Debug-Output $(InfName)" Full Duplex is "$(FullDuplexValue)
  394.     Debug-Output $(InfName)" Bus Timer is "$(BusTimerValue)
  395.     ui start "Inputdlg" $(hLib)
  396. else
  397. debug-output "read the isa dialog"
  398.     read-syms FileDependentDlg$(!STF_LANGUAGE)
  399.     Debug-Output $(InfName)" Bus is "$(BusScanValue)
  400.     Debug-Output $(InfName)" TP is "$(TPValue)
  401.     Debug-Output $(InfName)" LED0 is "$(LED0Value)
  402.     Debug-Output $(InfName)" LED1 is "$(LED1Value)
  403.     Debug-Output $(InfName)" LED2 is "$(LED2Value)
  404.     Debug-Output $(InfName)" LED3 is "$(LED3Value)
  405.     Debug-Output $(InfName)" DMA is "$(DMAChannelValue)
  406.     Debug-Output $(InfName)" I/o base is "$(IOBaseAddrValue)
  407.     Debug-Output $(InfName)" Full Duplex is "$(FullDuplexValue)
  408.     Debug-Output $(InfName)" Bus Timer is "$(BusTimerValue)
  409.     ui start "InputDlg"  $(hLib)
  410. endif
  411.     set ExitButton      = $(ButtonPressed)
  412.     Debug-Output " ButtonPressed "$(ButtonPressed)
  413. debug-output $(DLGEVENT)
  414.     FreeLibrary $(hLib)
  415.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  416. ifint $(IsISA) == 1
  417.         set IOBaseAddrValue = $(Combo1Out)
  418.         set IRQValueValue = $(Combo2Out)
  419.         set DMAChannelValue = $(Combo3Out)
  420.         set FullDuplexValue = $(Combo4Out)
  421.         set BusTimerValue = $(Combo5Out)
  422.         set ExitButton = $(ButtonPressed)
  423.         set BusIndex = *($(RadioOut),1)
  424. else
  425.         set FullDuplexValue = $(Combo1Out)
  426.         set BusTimerValue = $(Combo2Out)
  427.         set ExitButton = $(ButtonPressed)
  428.         set BusIndex = *($(RadioOut),1)
  429. endif
  430.         Ifint $(BusIndex) == 1
  431.             Set BusScanValue = "PNP"
  432.         else-Ifint $(BusIndex) == 2
  433.             Set BusScanValue = "VESA"
  434.         else-Ifint $(BusIndex) == 3
  435.             Set BusScanValue = "ISA"
  436.         else-Ifint $(BusIndex) ==  4
  437.             Set BusScanValue = "ALL"
  438.         Endif
  439.     Set Chk = *($(CheckItemsOut), 1)
  440.     Ifstr(i) $(Chk) == "ON"
  441.         Set TPValue = 1
  442.     Else
  443.         Set TPValue = 0
  444.     Endif
  445.         ui pop 1
  446.     else-ifstr(i) $(DLGEVENT) == "EXIT"
  447.         set CommonStatus = STATUS_USERCANCEL
  448.         Debug-Output "Action: exit. Bye."
  449.         ui pop 1
  450.         goto end
  451.     else
  452.         ui pop 1
  453.         Debug-Output "Action: unknown. Bye."
  454.         goto end
  455.     endif
  456.     Debug-Output " Combo list out "$(ComboListItemsOut)
  457. skipoptions =+
  458.     ifint $(OldVersionExisted) == $(TRUE)
  459.     ifstr(i) $(!NTN_InstallMode) == configure
  460.     Shell $(UtilityInf), GetBusTypeNum
  461.     set BusTypeNum = $($R1)
  462.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  463.     Debug-Output "ShellCode error."
  464.     goto ShellCodeError
  465.     endif
  466. debug-output "before write registry"
  467.     set DMAChannelValue = *($(DMAChannelValues), ~($(DMAChannelList),$(DMAChannelValue)))
  468.     set IRQValue = *($(IRQValues), ~($(IRQList),$(IRQValueValue)))
  469.     set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList),$(IOBaseAddrValue)))
  470.     set LED0Value = *($(LEDValues), ~($(LEDList),$(LED0Value)))
  471.     set LED1Value = *($(LEDValues), ~($(LEDList),$(LED1Value)))
  472.     set LED2Value = *($(LEDValues), ~($(LEDList),$(LED2Value)))
  473.     set LED3Value = *($(LEDValues), ~($(LEDList),$(LED3Value)))
  474.     set FullDuplexValue = *($(FullDuplexValues), ~($(FullDuplexList),$(FullDuplexValue)))
  475.     set BusTimerValue = *($(BusTimerValues), ~($(BusTimerList),$(BusTimerValue)))
  476.     ifint $(IsISA) == 0
  477.     set NewValueList = {{FDUP,  $(NoTitle),$(!REG_VT_DWORD),$(FullDuplexValue)},+
  478.             {BUSTIMER,  $(NoTitle),$(!REG_VT_DWORD),$(BusTimerValue)},+
  479.             {TP,    $(NoTitle),$(!REG_VT_DWORD),$(TPValue)}}
  480.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  481.     else
  482.     set NewValueList = {{BUS_TO_SCAN,$(NoTitle),$(!REG_VT_SZ),$(BusScanValue)},+
  483.             {FDUP,  $(NoTitle),$(!REG_VT_DWORD),$(FullDuplexValue)},+
  484.             {BUSTIMER,  $(NoTitle),$(!REG_VT_DWORD),$(BusTimerValue)},+
  485.             {TP,    $(NoTitle),$(!REG_VT_DWORD),$(TPValue)},+
  486.             {IOBaseAddress,  $(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+
  487.             {InterruptNumber,  $(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
  488.             {DMAChannel, $(NoTitle),$(!REG_VT_DWORD),$(DMAChannelValue)}}
  489.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  490.     endif
  491.     CloseRegKey $(KeyParameters)
  492.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  493.     Debug-Output "ShellCode error."
  494.     goto ShellCodeError
  495.     endif
  496.     set RegistryErrorIndex = $($R0)
  497.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  498.     Debug-Output "Registry error: Add value list"
  499.     goto fatalregistry
  500.     endif
  501.     EndWait
  502.     goto successful
  503.     endif
  504.     endif
  505.     StartWait
  506.     ifint $(OldVersionExisted) == $(FALSE)
  507.     ifstr(i) $(!NTN_InstallMode) == "install"
  508.        Ifstr(i) $(DoCopy) == "YES"
  509.           Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  510.           Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  511.           Goto ShellCodeError
  512.           Else-Ifstr(i) $($R0) == STATUS_FAILED
  513.           Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  514.           ifint $($ShellCode) != $(!SHELL_CODE_OK)
  515.               goto ShellCodeError
  516.           endif
  517.           set Error = $($R0)
  518.           Goto fatal
  519.           Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  520.           Goto successful
  521.           Endif
  522.           Set SrcDir = $($R1)
  523.        Endif
  524.        install "Install-Option"
  525.        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  526.           Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  527.           ifint $($ShellCode) != $(!SHELL_CODE_OK)
  528.           goto ShellCodeError
  529.           endif
  530.           set Error = $($R0)
  531.           goto fatal
  532.        endif
  533.     endif
  534.     Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  535.         $(ProductSoftwareName), +
  536.         $(ProductSoftwareName), +
  537.         $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  538.         $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  539.         $(NetEventDLL)
  540.     Set OEM_ABANDON_SOFTWARE = TRUE
  541.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  542.         Debug-Output "ShellCode error"
  543.         goto ShellCodeError
  544.     endif
  545.     set RegistryErrorIndex = $($R0)
  546.     set KeyProduct      = $($R1)
  547.     Set SoftNetRulesKey = $($R2)
  548.     CloseRegKey $($R3)
  549.     CloseRegKey $($R4)
  550.     CloseRegKey $($R5)
  551.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  552.         EndWait
  553.         Debug-Output "Registry error: add software components"
  554.         CloseRegKey $(KeyProduct)
  555.         CloseRegKey $(SoftNetRulesKey)
  556.         goto fatalregistry
  557.     endif
  558.     set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  559.                {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  560.                {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  561.                {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  562.                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  563.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  564.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  565.     Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  566.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  567.         Debug-Output "ShellCode error."
  568.         goto ShellCodeError
  569.     endif
  570.     set RegistryErrorIndex = $($R0)
  571.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  572.         EndWait
  573.         Debug-Output "Registry error: add value list."
  574.         CloseRegKey $(KeyProduct)
  575.         CloseRegKey $(SoftNetRulesKey)
  576.         goto fatalregistry
  577.     endif
  578.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  579.                 {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  580.                 {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  581.                 {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  582.                 {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  583.                 {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  584.     Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  585.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  586.         Debug-Output "ShellCode error."
  587.         goto ShellCodeError
  588.     endif
  589.     set RegistryErrorIndex = $($R0)
  590.     CloseRegKey $(KeyProduct)
  591.     CloseRegKey $(SoftNetRulesKey)
  592.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  593.         EndWait
  594.         Debug-Output "Resgitry error: add value list."
  595.         goto fatalregistry
  596.     endif
  597.     endif
  598. debug-output $(AdapterList)
  599.     ForListDo $(AdapterList)
  600.         set BusNumber = *($($),1)
  601.     set DeviceNum = *($($),2)
  602.     set FunctionNum = *($($),3)
  603.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  604.     ifint $($R4) != -1
  605.     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  606.     endif
  607.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  608.     Debug-Output "Cannot add hardware component"
  609.     goto ShellCodeError
  610.     endif
  611.     set RegistryErrorIndex = $($R0)
  612.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  613.     EndWait
  614.     Debug-Output "Registry error: add hardware component"
  615.     CloseRegKey $($R1)
  616.     CloseRegKey $($R2)
  617.     CloseRegKey $($R3)
  618.     goto fatalregistry
  619.     endif
  620.     set KeyParameters = $($R3)
  621.     set KeyAdapterRules = $($R2)
  622.     set AdapterNumber = $($R4)
  623.     ifint $(IsISA) == 1
  624.         set HardwareDescription = $(GenericAdapterName)
  625.         set HardwareTitle = $(GenericAdapterName)
  626.     else
  627.         set HardwareDescription = $(GenericPCIAdapterName)
  628.         set HardwareTitle = $(GenericPCIAdapterName)
  629.     endif
  630.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  631.                {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(HardwareTitle)},+
  632.                {Description,$(NoTitle),$(!REG_VT_SZ),$(HardwareDescription)},+
  633.                {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  634.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  635.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  636.     Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  637.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  638.     Debug-Output "ShellCode error"
  639.     goto ShellCodeError
  640.     endif
  641.     CloseRegKey $($R1)
  642.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  643.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  644.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  645.             {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  646.             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  647.             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  648.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  649.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  650.     Debug-Output "ShellCode error."
  651.     goto ShellCodeError
  652.     endif
  653.     set RegistryErrorIndex = $($R0)
  654.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  655.     EndWait
  656.     Debug-Output "Resgitry error: add value list."
  657.     CloseRegKey $(KeyParameters)
  658.     CloseRegKey $(KeyAdapterRules)
  659.     goto fatalregistry
  660.     endif
  661.     CloseRegKey $(KeyAdapterRules)
  662.     goto writeparameters
  663. writeparameters = +
  664.     Shell $(UtilityInf), GetBusTypeNum
  665.     set BusTypeNum = $($R1)
  666.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  667.     Debug-Output "ShellCode error."
  668.     goto ShellCodeError
  669.     endif
  670. debug-output "before write registry"
  671.     set DMAChannelValue = *($(DMAChannelValues), ~($(DMAChannelList),$(DMAChannelValue)))
  672.     set IRQValue = *($(IRQValues), ~($(IRQList),$(IRQValueValue)))
  673.     set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList),$(IOBaseAddrValue)))
  674.     set LED0Value = *($(LEDValues), ~($(LEDList),$(LED0Value)))
  675.     set LED1Value = *($(LEDValues), ~($(LEDList),$(LED1Value)))
  676.     set LED2Value = *($(LEDValues), ~($(LEDList),$(LED2Value)))
  677.     set LED3Value = *($(LEDValues), ~($(LEDList),$(LED3Value)))
  678.     set FullDuplexValue = *($(FullDuplexValues), ~($(FullDuplexList),$(FullDuplexValue)))
  679.     set BusTimerValue = *($(BusTimerValues), ~($(BusTimerList),$(BusTimerValue)))
  680.     ifint $(IsISA) == 0
  681.     set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),5},+
  682.             {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  683.             {LED0,  $(NoTitle),$(!REG_VT_DWORD),$(LED0Value)},+
  684.             {LED1,  $(NoTitle),$(!REG_VT_DWORD),$(LED1Value)},+
  685.             {LED2,  $(NoTitle),$(!REG_VT_DWORD),$(LED2Value)},+
  686.             {LED3,  $(NoTitle),$(!REG_VT_DWORD),$(LED3Value)},+
  687.             {FDUP,  $(NoTitle),$(!REG_VT_DWORD),$(FullDuplexValue)},+
  688.             {BUSTIMER,  $(NoTitle),$(!REG_VT_DWORD),$(BusTimerValue)},+
  689.             {TP,    $(NoTitle),$(!REG_VT_DWORD),$(TPValue)},+
  690.                         {AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),536875042},+
  691.             {SlotNumber, $(NoTitle),$(!REG_VT_DWORD),$(DeviceNum)},+
  692.             {BusNumber,  $(NoTitle),$(!REG_VT_DWORD),$(BusNumber)}}
  693.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  694.     else
  695.     set NewValueList = {{BUS_TO_SCAN,$(NoTitle),$(!REG_VT_SZ),$(BusScanValue)},+
  696.             {BusType,$(NoTitle),$(!REG_VT_DWORD),1},+
  697.             {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  698.             {LED0,  $(NoTitle),$(!REG_VT_DWORD),$(LED0Value)},+
  699.             {LED1,  $(NoTitle),$(!REG_VT_DWORD),$(LED1Value)},+
  700.             {LED2,  $(NoTitle),$(!REG_VT_DWORD),$(LED2Value)},+
  701.             {LED3,  $(NoTitle),$(!REG_VT_DWORD),$(LED3Value)},+
  702.             {FDUP,  $(NoTitle),$(!REG_VT_DWORD),$(FullDuplexValue)},+
  703.             {BUSTIMER,  $(NoTitle),$(!REG_VT_DWORD),$(BusTimerValue)},+
  704.             {TP,    $(NoTitle),$(!REG_VT_DWORD),$(TPValue)},+
  705.             {IOBaseAddress,  $(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+
  706.             {InterruptNumber,  $(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
  707.             {DMAChannel, $(NoTitle),$(!REG_VT_DWORD),$(DMAChannelValue)},+
  708.             {BusNumber,  $(NoTitle),$(!REG_VT_DWORD),$(BusNumber)}}
  709.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  710.     endif
  711.     CloseRegKey $(KeyParameters)
  712.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  713.     Debug-Output "ShellCode error."
  714.     goto ShellCodeError
  715.     endif
  716.     set RegistryErrorIndex = $($R0)
  717.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  718.     Debug-Output "Registry error: Add value list"
  719.     goto fatalregistry
  720.     endif
  721.     EndForListDo
  722.     EndWait
  723.     goto successful
  724. bindingadapter =+
  725.     set Error = "Binding: Sorry, not yet implemented."
  726.     goto fatal
  727. removeadapter = +
  728.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  729.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  730.         $(ProductSoftwareName)
  731.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  732.         Debug-Output "ShellCode error"
  733.         goto ShellCodeError
  734.     endif
  735.     set RegistryErrorIndex = $($R0)
  736.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  737.         goto fatalregistry
  738.     endif
  739.     else
  740.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  741.         $(ProductSoftwareName), $(!NTN_RegBase)
  742.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  743.         Debug-Output "ShellCode error"
  744.         goto ShellCodeError
  745.     endif
  746.     set RegistryErrorIndex = $($R0)
  747.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  748.         goto fatalregistry
  749.     endif
  750.     endif
  751.     goto end
  752. UpgradeSoftware = +
  753.     LoadLibrary "x" $(!STF_CWDDIR)\ncpa.cpl NCPA_HANDLE
  754.     OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\PCNTN3" $(MAXIMUM_ALLOWED) KeyProduct
  755.     Ifstr $(KeyProduct) != $(KeyNull)
  756.         DeleteRegTree $(KeyProduct) ""
  757.         LibraryProcedure NCPA_RESULT $(NCPA_HANDLE), CPlSetup $(!STF_HWND), DELETESVC, "PCNTN3"
  758.         set NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  759.             OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardKeyName) $(MAXIMUM_ALLOWED) IE_KeyNetcards
  760.         ifstr(i) $(IE_KeyNetcards) != ""    
  761.             EnumRegKey $(IE_KeyNetcards) IE_KeyNameList
  762.             ForListDo $(IE_KeyNameList)
  763.                 OpenRegKey $(IE_KeyNetcards) "" *($($),1) +
  764.                     $(MAXIMUM_ALLOWED) NetworkCardKey
  765.                 Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  766.                     GetRegValue $(NetworkCardKey),"ProductName", ProductNameInfo
  767.                     set ProductName = *($(ProductNameInfo), 4)
  768.                     Debug-Output "   ProductName = "$(ProductName)
  769.                     ifstr(i) $(ProductName) != "PCNTN3"
  770.                         goto nextnetcard
  771.                     endif
  772.                     GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  773.                     set ServiceName = *($(ServiceNameInfo), 4)
  774.                     Debug-Output "   ServiceName = "$(ServiceName)
  775.                     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$(ServiceName) +
  776.                           $(MAXIMUM_ALLOWED) ServiceKey
  777.                 DeleteRegTree $(ServiceKey) ""
  778.                 DeleteRegTree $(NetworkCardKey) ""
  779.                 endif
  780.     nextnetcard = +
  781.             EndForListDo
  782.         endif    
  783.         OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\AMDPCI" $(MAXIMUM_ALLOWED) KeyProduct2
  784.         ifstr $(KeyProduct2) == $(KeyNull)
  785.             LibraryProcedure NCPA_RESULT $(NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, NetDetect
  786.             set !NTN_InstallMode = Install
  787.             Shell "" InstallOption $(!STF_LANGUAGE) "AMDPCI" $(SrcDir) "YES" "YES" "NO"
  788.             set !NTN_InstallMode = Update
  789.         else
  790.         endif
  791.     else
  792.     endif
  793.     FreeLibrary $(NCPA_HANDLE)
  794.     goto end
  795. successful = +
  796.     goto end
  797. abandon = +
  798.     ForListDo $(OEM_ABANDON_OPTIONS)
  799.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  800.         $(ProductSoftwareName), $($)
  801.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  802.         Debug-Output "ShellCode error"
  803.         goto ShellCodeError
  804.     endif
  805.     set RegistryErrorIndex = $($R0)
  806.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  807.         goto fatalregistry
  808.     endif
  809.     EndForListDo
  810.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  811.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  812.         $(ProductSoftwareName), FALSE
  813.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  814.         Debug-Output "ShellCode error"
  815.         goto ShellCodeError
  816.     endif
  817.     set RegistryErrorIndex = $($R0)
  818.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  819.         goto fatalregistry
  820.     endif
  821.     endif
  822.     goto end
  823. warning = +
  824.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  825.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  826.     goto ShellCodeError
  827.     endif
  828.     ifstr(i) $($R1) == "OK"
  829.     goto $(to)
  830.     else-ifstr(i) $($R1) == "CANCEL"
  831.     goto $(from)
  832.     else
  833.     goto "end"
  834.     endif
  835. nonfatalinfo = +
  836.     Set Severity = STATUS
  837.     Set CommonStatus = STATUS_USERCANCEL
  838.     goto nonfatalmsg
  839. nonfatal = +
  840.     Set Severity = NONFATAL
  841.     goto nonfatalmsg
  842. nonfatalmsg = +
  843.     ifstr(i) $(Error) == ""
  844.     Set Severity = NONFATAL
  845.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  846.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  847.         goto ShellCodeError
  848.     endif
  849.     set Error = $($R0)
  850.     endif
  851.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  852.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  853.     goto ShellCodeError
  854.     endif
  855.     ifstr(i) $($R1) == "OK"
  856.     goto $(from)
  857.     else
  858.     goto "end"
  859.     endif
  860. fatalregistry = +
  861.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  862.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  863.     goto ShellCodeError
  864.     endif
  865.     set Error = $($R0)
  866.     goto fatal
  867. fataldetect = +
  868.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  869.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  870.     Debug-Output "ShellCode error: cannot get an error string."
  871.     goto ShellCodeError
  872.     endif
  873.     set Error = $($R0)
  874.     Goto fatal
  875. fatal = +
  876.     ifstr(i) $(Error) == ""
  877.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  878.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  879.         goto ShellCodeError
  880.     endif
  881.     set Error = $($R0)
  882.     endif
  883.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  884.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  885.     goto ShellCodeError
  886.     endif
  887.     goto setfailed
  888. ShellCodeError = +
  889.     set DlgType      = "MessageBox"
  890.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  891.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  892.     set STF_MB_TYPE  = 1
  893.     set STF_MB_ICON  = 3
  894.     set STF_MB_DEF   = 1
  895.     ui start "Error Message"
  896.     goto setfailed
  897. setfailed = +
  898.     set CommonStatus = STATUS_FAILED
  899.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  900.     set OEM_ABANDON_ON = FALSE
  901.     goto abandon
  902.     endif
  903.     goto end
  904. end = +
  905.     goto term
  906. term = +
  907.     Return $(CommonStatus)
  908. [DebugConfiguration]
  909.     Set InfName = "OEMNADAM.INF"
  910.     Debug-Output $(InfName)" **CONFIGURATION STATE: "$($0)
  911.     Debug-Output $(InfName)" IRQ_Level is "$(!p:IRQ_Level)
  912.     Debug-Output $(InfName)" IOBaseAddrValue is "$(!p:IOBaseAddrValue)
  913.     return
  914. [Install-Option]
  915.     set STF_VITAL = ""
  916.     ifstr(i) $(AddCopy) == "YES"
  917.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  918.     endif
  919.     ifstr(i) $(DoCopy) == "YES"
  920.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  921.        CopyFilesInCopyList
  922.     endif
  923.     Exit
  924. [Install-Update]
  925.    set STF_VITAL        = ""
  926.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  927.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  928.    AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  929.    AddSectionFilesToCopyList Files-hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
  930.    exit
  931. [Install-Helpfile]
  932.    Debug-Output "At Install-Helpfile"
  933.    set STF_VITAL        = ""
  934.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  935.    ifstr(i) $(AddCopy) == "YES"
  936.        AddSectionFilesToCopyList Files-hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
  937.    endif
  938.    ifstr(i) $(DoCopy) == "YES"
  939.       set !STF_NCPA_FLUSH_COPYLIST = TRUE
  940.       CopyFilesInCopyList
  941.    endif
  942.    exit
  943. [Install-Dll]
  944.    set STF_VITAL        = ""
  945.    ifstr(i) $(AddCopy) == "YES"
  946.        AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  947.    endif
  948.    ifstr(i) $(DoCopy) == "YES"
  949.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  950.        CopyFilesInCopyList
  951.    endif
  952.    exit
  953. [Source Media Descriptions]
  954.    1 = "Windows NT Server CD-ROM" , TAGFILE = cdrom.s
  955. [Signature]
  956.     FileType = MICROSOFT_FILE
  957. [GetSignature]
  958.     read-syms Signature
  959.     return $(FileType)
  960. [ProductType]
  961. STF_PRODUCT  = LanmanNT
  962. STF_PLATFORM = Alpha
  963. [Files-Inf]
  964. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  965. [Files-AMDPCI]
  966. 1,AMDPCN.SYS , SIZE=999
  967. [Files-Dll]
  968. 1,AMDDLG.DLL , SIZE=999
  969. [Files-hlp]
  970. 1,PCNET.HLP , SIZE=999
  971. [LanguagesSupported]
  972.     ENG
  973. [OptionsTextENG]
  974.     AMDPCI     = "AMD PCNET Family Ethernet Adapter"
  975. [FileConstantsENG]
  976. ProCaption   = "Windows NT Setup"
  977. ProCancel    = "Cancel"
  978. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  979.            "Are you sure you want to cancel copying files?"
  980. ProCancelCap = "Network Setup Message"
  981. ProText1     = "Copying:"
  982. ProText2     = "To:"
  983. GenericAdapterName = "AMD PCNET ISA/VESA Ethernet Adapter"
  984. GenericPCIAdapterName = "AMD PCNET PCI Ethernet Adapter"
  985. GenericDriverName  = "AMD PCNET Family Ethernet Adapter Driver"
  986. ProductSoftwareDescription = $(GenericDriverName)
  987. ProductHardwareDescription = $(GenericAdapterName)
  988. ProductHardwarePCNTN3Description="AMD PCnet Family Driver"
  989. ProductSoftwareTitle =       $(GenericDriverName)
  990. ProductHardwarePCNTN3Title = $(GenericAdapterName)
  991. DialogDllName   = "amddlg.dll"
  992. IRQList  = ^(IRQChoices, 1)
  993. IRQValues = ^(IRQChoices, 2)
  994. IOBaseAddrList = ^(IOBaseAddrChoices, 1)
  995. IOBaseAddrValues = ^(IOBaseAddrChoices, 2)
  996. DMAChannelList = ^(DMAChannelChoices,1)
  997. DMAChannelValues = ^(DMAChannelChoices,2)
  998. LEDList = ^(LEDChoices,1)
  999. LEDValues = ^(LEDChoices,2)
  1000. FullDuplexList = ^(FullDuplexChoices,1)
  1001. FullDuplexValues = ^(FullDuplexChoices,2)
  1002. BusTimerList = ^(BusTimerChoices,1)
  1003. BusTimerValues = ^(BusTimerChoices,2)
  1004. [DialogConstantsENG]
  1005. FunctionTitle   = $(GenericAdapterName)$(GenericInfVersion)
  1006. Help        = "&Help"
  1007. Exit        = "Cancel"
  1008. OK          = "&OK"
  1009. HelpContext = ""
  1010. Continue    = "Continue"
  1011. Cancel      = "&Cancel"
  1012. [MemoryMappedChoicesENG]
  1013. Map_1 = 1, "ON"
  1014. Map_2 = 0, "OFF"
  1015. [FileDependentDlgENG]
  1016. DlgText = "Please select values for the following fields:"
  1017. Combo1Label = "I/O Port:"
  1018. Combo2Label = "IRQ Number:"
  1019. Combo3Label = "DMA Number:"
  1020. Combo4Label = "Full Duplex:"
  1021. Combo5Label = "Bus Timer:"
  1022. BigButton   = "More pcntn3 BS >>"
  1023. CheckBox1 = "&TP"
  1024. Group1 = "&Bus to scan"
  1025. Radio1 = "PNP"
  1026. Radio2 = "VESA"
  1027. Radio3 = "ISA"
  1028. Radio4 = "ALL"
  1029. DlgType = "RadioCombination"
  1030. DlgTemplate = "PCNTN3"
  1031. Caption = $(FunctionTitle)
  1032. CBOptionsGreyed = {}
  1033. NotifyFields = {NO, NO}
  1034. HelpContext = 1
  1035. Combo1List = $(IOBaseAddrList)
  1036. Combo1Out  = $(IOBaseAddrValue)
  1037. Combo2List = $(IRQList)
  1038. Combo2Out  = $(IRQValue)
  1039. Combo3List = $(DMAChannelList)
  1040. Combo3Out  = $(DMAChannelValue)
  1041. Combo4List = $(FullDuplexList)
  1042. Combo4Out  = $(FullDuplexValue)
  1043. Combo5List = $(BusTimerList)
  1044. Combo5Out  = $(BusTimerValue)
  1045. ComboListItemsIn  = {Combo1List,Combo2List,Combo3List,Combo4List,Combo5List}
  1046. ComboListItemsOut = {Combo1Out,Combo2Out,Combo3Out,Combo4Out,Combo5Out}
  1047. EditTextIn = ""
  1048. EditTextLim = ""
  1049. [IRQChoices]
  1050. IRQ_1 = "3",3
  1051. IRQ_2 = "4",4
  1052. IRQ_3 = "5",5
  1053. IRQ_4 = "9",9
  1054. IRQ_5 = "10",10
  1055. IRQ_6 = "11",11
  1056. IRQ_7 = "12",12
  1057. IRQ_8 = "15",15
  1058. IRQ_9 = "Auto_Scan",0
  1059. [IOBaseAddrChoices]
  1060. IOBase_1  = "0x200",512
  1061. IOBase_2  = "0x220",544
  1062. IOBase_3  = "0x240",576
  1063. IOBase_4  = "0x260",608
  1064. IOBase_5  = "0x280",640
  1065. IOBase_6  = "0x2a0",672
  1066. IOBase_7  = "0x2c0",714
  1067. IOBase_8  = "0x2e0",746
  1068. IOBase_9  = "0x300",768
  1069. IOBase_10 = "0x320",800
  1070. IOBase_11 = "0x340",832
  1071. IOBase_12 = "0x360",864
  1072. IOBase_13 = "0x380",896
  1073. IOBase_14 = "0x3a0",928
  1074. IOBase_15 = "0x3c0",960
  1075. IOBase_16 = "0x3e0",992
  1076. IOBase_17 = "Auto_Scan",0
  1077. [DMAChannelChoices]
  1078. DMAChannel_1 = "3",3
  1079. DMAChannel_2 = "5",5
  1080. DMAChannel_3 = "6",6
  1081. DMAChannel_4 = "7",7
  1082. DMAChannel_5 = "Auto_Scan",0
  1083. [LEDChoices]
  1084. LED_1 = "Default",65536
  1085. LED_2 = "0x0",0
  1086. LED_3 = "0x2",2
  1087. LED_4 = "0x4",4
  1088. LED_5 = "0x8",8
  1089. LED_6 = "0x10",16
  1090. LED_7 = "0x20",32
  1091. LED_8 = "0x30",48
  1092. LED_9 = "0x34",52
  1093. LED_10 = "0x40",64
  1094. LED_11 = "0xc0",192
  1095. LED_12 = "0x4088",16520
  1096. LED_13 = "0xb0",176
  1097. LED_14 = "0x21",129
  1098. [FullDuplexChoices]
  1099. FULLDUPLEX_1 = "OFF",1
  1100. FULLDUPLEX_2 = "AUI",2
  1101. FULLDUPLEX_3 = "UTP",3
  1102. FULLDUPLEX_4 = "Default",0
  1103. [BusTimerChoices]
  1104. BUSTIMER_1 = "5",5
  1105. BUSTIMER_2 = "6",6
  1106. BUSTIMER_3 = "7",7
  1107. BUSTIMER_4 = "8",8
  1108. BUSTIMER_5 = "9",9
  1109. BUSTIMER_6 = "10",10
  1110. BUSTIMER_7 = "11",11
  1111. BUSTIMER_8 = "12",12
  1112. BUSTIMER_9 = "13",13
  1113. BUSTIMER_10 = "Default",0
  1114. [FileDependentDlgPCIENG]
  1115. FunctionTitle   = $(GenericPCIAdapterName)$(GenericInfVersion)
  1116. DlgText = "Please select values for the following fields:"
  1117. Combo1Label = "Full Duplex:"
  1118. Combo2Label = "Bus Timer:"
  1119. BigButton   = "More pcntn3 BS >>"
  1120. CheckBox1 = "&TP"
  1121. Radio1 = "PNP"
  1122. Radio2 = "VESA"
  1123. Radio3 = "ISA"
  1124. Radio4 = "ALL"
  1125. DlgType = "RadioCombination"
  1126. DlgTemplate = "PCNTN3PCI"
  1127. Caption = $(FunctionTitle)
  1128. CBOptionsGreyed = {}
  1129. NotifyFields = {NO, NO}
  1130. HelpContext = 1
  1131. Combo1List = $(FullDuplexList)
  1132. Combo1Out  = $(FullDuplexValue)
  1133. Combo2List = $(BusTimerList)
  1134. Combo2Out  = $(BusTimerValue)
  1135. Combo3List = $(LEDList)
  1136. Combo3Out  = $(LED0Value)
  1137. Combo4List = $(LEDList)
  1138. Combo4Out  = $(LED1Value)
  1139. Combo5List = $(LEDList)
  1140. Combo5Out  = $(LED2Value)
  1141. Combo6List = $(LEDList)
  1142. Combo6Out  = $(LED3Value)
  1143. ComboListItemsIn  = {Combo1List,Combo2List}
  1144. ComboListItemsOut = {Combo1Out,Combo2Out}
  1145. EditTextIn = ""
  1146. EditTextLim = ""
  1147. [LEDChoices]
  1148. LED_1 = "Default",65536
  1149. LED_2 = "0x0",0
  1150. LED_3 = "0x2",2
  1151. LED_4 = "0x4",4
  1152. LED_5 = "0x8",8
  1153. LED_6 = "0x10",16
  1154. LED_7 = "0x20",32
  1155. LED_8 = "0x30",48
  1156. LED_9 = "0x34",52
  1157. LED_10 = "0x40",64
  1158. LED_11 = "0xc0",192
  1159. LED_12 = "0x4088",16520
  1160. LED_13 = "0xb0",176
  1161. LED_14 = "0x21",129
  1162. [FullDuplexChoices]
  1163. FULLDUPLEX_1 = "OFF",1
  1164. FULLDUPLEX_2 = "AUI",2
  1165. FULLDUPLEX_3 = "UTP",3
  1166. FULLDUPLEX_4 = "Default",0
  1167. [BusTimerChoices]
  1168. BUSTIMER_1 = "5",5
  1169. BUSTIMER_2 = "6",6
  1170. BUSTIMER_3 = "7",7
  1171. BUSTIMER_4 = "8",8
  1172. BUSTIMER_5 = "9",9
  1173. BUSTIMER_6 = "10",10
  1174. BUSTIMER_7 = "11",11
  1175. BUSTIMER_8 = "12",12
  1176. BUSTIMER_9 = "13",13
  1177. BUSTIMER_10 = "Default",0
  1178.