home *** CD-ROM | disk | FTP | other *** search
/ CICA NT 1997 November / CICA_NT_CD-ROM_Walnut_Creek_November_1997.iso / patches / sp5_351m.exe / NTAS / OEMNADD3.INF < prev    next >
INI File  |  1996-09-19  |  27KB  |  816 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     EISA
  5.     PCI
  6.     "Jazz-Internal Bus"
  7. [Options]
  8.     DEC300
  9. [FileConstants]
  10. UtilityInf      = "UTILITY.INF"
  11. subroutineinf   = "SUBROUTN.INF"
  12. SoftwareType    = "driver"
  13. Exit_Code       = 0
  14. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  15. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  16. DEC300_1BYTE    = 3187472
  17. Manufacturer    = "DigitalEquipment"
  18. ProductMajorVersion     = "1"
  19. ProductMinorVersion     = "57"
  20. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  21. ProductSoftwareName     = "Defea"
  22. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\defea.sys"
  23. NetRuleSoftwareType     = "defeaSys ndisDriver defeaDriver"
  24. NetRuleSoftwareUse      = $(SoftwareType)
  25. NetRuleSoftwareBindForm = """DefeaSys"" yes no container"
  26. NetRuleSoftwareClass    = {"defeaDriver basic"}
  27. ProductHardwareName     = "Defea"
  28. NetRuleHardwareType     = "dec300 dec300Adapter"
  29. NetRuleHardwareBindForm = " yes yes container"
  30. NetRuleHardwareClass    = {"dec300Adapter basic"}
  31. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  32. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  33. [GeneralConstants]
  34. from      = ""
  35. to        = ""
  36. ExitCodeOk     = 0
  37. ExitCodeCancel = 1
  38. ExitCodeFatal  = 2
  39. KeyNull         = ""
  40. MAXIMUM_ALLOWED   = 33554432
  41. RegistryErrorIndex = NO_ERROR
  42. KeyProduct      = ""
  43. KeyParameters   = ""
  44. TRUE            = 1
  45. FALSE           = 0
  46. NoTitle            = 0
  47. ExitState   = "Active"
  48. OldVersionExisted = $(FALSE)
  49. DriverPath      = $(!STF_NTPATH)\drivers
  50. Successful_Install = 0
  51. [date]
  52.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  53. [processor]
  54.     PROC_TYPE = "" ? $(LIBHANDLE) GetProcessor
  55. [Identify]
  56.     read-syms Identification
  57.     set Status     = STATUS_SUCCESSFUL
  58.     set Identifier = $(OptionType)
  59.     set Media      = #("Source Media Descriptions", 1, 1)
  60.     Return $(Status) $(Identifier) $(Media)
  61. [ReturnOptions]
  62.     set Status        = STATUS_FAILED
  63.     set OptionList     = {}
  64.     set OptionTextList = {}
  65.     set LanguageList = ^(LanguagesSupported, 1)
  66.     Ifcontains(i) $($0) in $(LanguageList)
  67.         ifstr(i) $($1) == ""
  68.            goto returnoptions
  69.         endif
  70.         set PlatformList = ^(PlatformsSupported, 1)
  71.         Ifcontains(i) $($1) in $(PlatformList)
  72.            goto returnoptions
  73.         else
  74.            set Status = STATUS_NOTSUPPORTED
  75.            goto finish_ReturnOptions
  76.         endif
  77.     else
  78.         set Status = STATUS_NOLANGUAGE
  79.         goto finish_ReturnOptions
  80.     endif
  81. returnoptions = +
  82.     set OptionList     = ^(Options, 1)
  83.     set OptionTextList = ^(OptionsText$($0), 1)
  84.     set Status         = STATUS_SUCCESSFUL
  85. finish_ReturnOptions = +
  86.     Return $(Status) $(OptionList) $(OptionTextList)
  87. [InstallOption]
  88.     set Option   = $($1)
  89.     set SrcDir   = $($2)
  90.     set AddCopy  = $($3)
  91.     set DoCopy   = $($4)
  92.     set DoConfig = $($5)
  93.     set LanguageList = ^(LanguagesSupported, 1)
  94.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  95.         Return STATUS_NOLANGUAGE
  96.     endif
  97.     Debug-Output "OEMNADD4.INF: STF_CWDIR is: "$(!STF_CWDIR)
  98.     Debug-Output "OEMNADD4.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  99.     set-subst LF = "\n"
  100.     SetHelpFile "defddi.hlp" 1 600
  101.     read-syms GeneralConstants
  102.     read-syms FileConstants
  103.     Shell $(UtilityInf), GetBindingInfo, "DEC"
  104.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  105.         Debug-Output "ShellCode error: cannot get an error string."
  106.         goto ShellCodeError
  107.     endif
  108.     set NetRuleSoftwareBindable = $($R1)
  109.     read-syms DialogConstants$(!STF_LANGUAGE)
  110.     ifstr(i) $(!NTN_Origination) == "NCPA"
  111.         set Continue = $(OK)
  112.     endif
  113.     read-syms FileConstants$(!STF_LANGUAGE)
  114.     detect date
  115.     set-title  $(FunctionTitle)
  116.     set to   = Begin
  117.     set from = Begin
  118.     set CommonStatus = STATUS_SUCCESSFUL
  119.     EndWait
  120. Begin = +
  121.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  122.         set StartLabel = removeadapter
  123.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  124.         set StartLabel = UpgradeSoftware
  125.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  126.         set StartLabel = bindingadapter
  127.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  128.         set CommonStatus = STATUS_REBOOT
  129.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  130.             Debug-Output "Cannot configure the dec 300 driver software."
  131.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  132.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  133.                 Debug-Output "ShellCode error: cannot get an error string."
  134.                 goto ShellCodeError
  135.             endif
  136.             set Error = $($R0)
  137.             set from = end
  138.             set to = end
  139.             goto nonfatalinfo
  140.         else
  141.             set StartLabel = configureadapter
  142.         endif
  143.     else
  144.         set StartLabel = installadapter
  145.         set OEM_ABANDON_OPTIONS = {}
  146.         set OEM_ABANDON_SOFTWARE = FALSE
  147.         set OEM_ABANDON_ON = TRUE
  148.     endif
  149.     Debug-Output "NTN_Origination"$(!NTN_Origination)
  150.     set from = $(fatal)
  151.     set to = $(fatal)
  152.     goto $(StartLabel)
  153. installadapter = +
  154.     goto nextstep
  155. configureadapter = +
  156.     Ifstr $(KeyProduct) == $(KeyNull)
  157.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  158.         Ifstr $(KeyProduct) == $(KeyNull)
  159.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  160.             Debug-Output "Cannot find component product key"
  161.             goto fatalregistry
  162.         Endif
  163.     Endif
  164.     Debug-Output "INF: Shelling to FindService"
  165.     Shell $(UtilityInf) FindService, $(KeyProduct)
  166.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  167.         Debug-Output "INF: FindService shell failure"
  168.         Goto ShellCodeError
  169.     Endif
  170.     Ifstr(i) $($R0) != NO_ERROR
  171.         Debug-Output "INF: FindService Shell error: "$($R0)
  172.         Goto fatalregistry
  173.     endif
  174.     Set KeyParameters = $($R2)
  175.     CloseRegKey $($R1)
  176.     Ifstr $(KeyParameters) == $(KeyNull)
  177.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  178.         Debug-Output "Cannot find component service"
  179.         goto fatalregistry
  180.     endif
  181.     set OldVersionExisted = $(TRUE)
  182.     set ValueName = ""
  183.     set ValueData = ""
  184.     set ValueStr  = ""
  185.     set ValueList = {}
  186.     EnumRegValue $(KeyParameters) ValueList
  187.     ForListDo $(ValueList)
  188.         set ValueItem = $($)
  189.         set ValueName = *($(ValueItem),1)
  190.         set ValueData = *($(ValueItem),4)
  191.         ifstr(i) $(ValueName) == "BurstSize"
  192.             set BurstSizeIndex = $(ValueData)
  193.         else-ifstr(i) $(ValueName) == "FullDuplexEnable"
  194.             set FullDuplexEnableIndex = $(ValueData)
  195.         else-ifstr(i) $(ValueName) == "RcvBuffCnt"
  196.             set RcvBuffCntIndex = $(ValueData)
  197.         else-ifstr(i) $(ValueName) == "XmtBuffCnt"
  198.             set XmtBuffCntIndex = $(ValueData) 
  199.         else-ifstr(i) $(ValueName) == "RequestedTTRT"
  200.             set RequestedTTRTIndex = $(ValueData)
  201.         else-ifstr(i) $(ValueName) == "SlotNumber"
  202.             set SlotNumber = $(ValueData)
  203.         endif
  204.     EndForListDo
  205.     Set Caption = $(FunctionTitle)
  206.     Set Label1  = "Slot #"$(SlotNumber)
  207.     ifstr(i) $(FullDuplexEnableIndex) == 1
  208.         set RadioIn = {1}
  209.     else
  210.         set RadioIn = {2}
  211.     endif
  212.     ifstr(i) $(RequestedTTRTIndex) == ""
  213.         set EditTextIn = {8}
  214.     else
  215.         set EditTextIn = {$(RequestedTTRTIndex)}
  216.     endif
  217.     set BurstSizeValue = *($(BurstSizeList), ~($(BurstSizeValues),$(BurstSizeIndex)))
  218.     ifstr(i) $(BurstSizeValue) == ""
  219.         set BurstSizeValue = 16
  220.     endif
  221.     set ReceiveBuffValue = *($(ReceiveBuffList), ~($(ReceiveBuffValues),$(RcvBuffCntIndex)))
  222.     ifstr(i) $(ReceiveBuffValue) == ""
  223.         set ReceiveBuffValue = 4
  224.     endif
  225.     set TransmitBuffValue = *($(TransmitBuffList), ~($(TransmitBuffValues),$(XmtBuffCntIndex)))
  226.     ifstr(i) $(TransmitBuffValue) == ""
  227.         set TransmitBuffValue = 32
  228.     endif
  229.     set RequestedTTRTValue = RequestedTTRTIndex
  230.     ifstr(i) $(RequestedTTRTValue) == ""
  231.         set RequestedTTRTValue = 8
  232.     endif
  233. displaydialog = +    
  234.     set ExitButton = ""
  235.         LoadLibrary "x" $(!STF_WINDOWSSYSPATH)\$(DialogDllName) hLib
  236.     read-syms FileDependentDlg$(!STF_LANGUAGE)
  237. restart = +    
  238.     set NotifyFields = {YES,NO,NO}
  239.     ui start "InputDlg" $(hLib)
  240.     set ExitButton = $(DLGEVENT)
  241.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  242.         ifint *($(EditTextOut),1) < 4
  243.             shell $(subroutineinf) SetupMessage ENG NONFATAL "Value of Requested TTRT must be between 4 and 165 ms"
  244.             goto restart
  245.         else-ifint *($(EditTextOut),1) > 165
  246.             shell $(subroutineinf) SetupMessage ENG NONFATAL "Value of Requested TTRT must be between 4 and 165 ms"
  247.             goto restart
  248.         endif
  249.         set BurstSizeIndex = *($(BurstSizeValues), ~($(BurstSizeList),$(Combo1Out)))
  250.         set TransmitBuffIndex = *($(TransmitBuffValues), ~($(TransmitBuffList),$(Combo3Out)))
  251.         set ReceiveBuffIndex = *($(ReceiveBuffValues), ~($(ReceiveBuffList),$(Combo2Out)))
  252.         ifstr(i) *($(RadioOut),1) == 1
  253.             Set FullDuplexEnableIndex = 1
  254.         else
  255.             Set FullDuplexEnableIndex = 2
  256.         endif
  257.         set RequestedTTRTIndex = *($(EditTextOut),1)
  258.         FreeLibrary $(hLib)
  259.         ui pop 1
  260.         ifstr(i) $(StartLabel) == installadapter
  261.             Set Successful_Install = 1
  262.             goto returnpoint
  263.         endif
  264.     else-ifstr(i) $(DLGEVENT) == "NOTIFY"
  265.         goto restart
  266.     else-ifstr(i) $(DLGEVENT) == "BACK"
  267.         FreeLibrary $(hLib)
  268.         ui pop 1
  269.         ifstr(i) $(StartLabel) == installadapter
  270.             goto returnpoint
  271.         else
  272.             CloseRegKey $(KeyParameters)
  273.             set CommonStatus = STATUS_USERCANCEL
  274.             goto end
  275.         endif
  276.     else
  277.         FreeLibrary $(hLib)
  278.         ui pop 1
  279.         goto end
  280.     endif
  281.     set NewValueList = {{RcvBuffCnt,$(NoTitle),$(!REG_VT_DWORD),$(ReceiveBuffIndex)},+
  282.                         {BurstSize,$(NoTitle),$(!REG_VT_DWORD),$(BurstSizeIndex)},+
  283.                         {XmtBuffCnt,$(NoTitle),$(!REG_VT_DWORD),$(TransmitBuffIndex)},+
  284.                         {FullDuplexEnable,$(NoTitle),$(!REG_VT_DWORD),$(FullDuplexEnableIndex)},+
  285.                         {RequestedTTRT,$(NoTitle),$(!REG_VT_DWORD),$(RequestedTTRTIndex)}}
  286.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  287.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  288.         goto ShellCodeError
  289.     endif
  290.     CloseRegKey $(KeyParameters)
  291.     goto successful
  292. nextstep = +
  293.     StartWait
  294. installproduct = +
  295.     Shell $(UtilityInf), EISAFindBus, $(DEC300_1BYTE)
  296.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  297.         goto ShellCodeError
  298.     endif
  299.     ifstr $($R0) != "NO_ERROR"
  300.         set Error = $($R0)
  301.         goto fatal
  302.     endif
  303.     ifstr(i) $($R1) == {}
  304.         set Error = $(CANNOT_FIND_ANY_CARD)
  305.         set CommonStatus = STATUS_USERCANCEL
  306.         set from = end
  307.         goto nonfatal
  308.     endif
  309.     set AdapterList = $($R1)
  310.     Set AllAdaptersInstalled = $(TRUE)
  311.     ForListDo $(AdapterList)
  312.         set BusNum = *($($),1)
  313.         set SlotNum = *($($),2)
  314.         Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
  315.             $(SlotNum), $(ProductHardwareDescription), $(ProductHardwareName)
  316.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  317.             goto ShellCodeError
  318.         endif
  319.         ifstr $($R0) != "NO_ERROR"
  320.             set Error = $($R0)
  321.             goto fatal
  322.         endif
  323.         ifstr(i) $($R1) != "YES"
  324.                 Set AllAdaptersInstalled = $(FALSE)
  325.                 Set ReceiveBuffValue = 4
  326.                 Set TransmitBuffValue = 32
  327.                 Set BurstSizeValue = 16
  328.                 Set EditTextIn = {"8"}
  329.                 Set RadioIn = {2}
  330.                 Set Caption = $(FunctionTitle)
  331.                 Set Label1  = "Slot #"$(SlotNum)
  332.                 Set ExitButton = ""
  333.                 goto displaydialog
  334.         else
  335.                 Set ExitButton = ""
  336.                 Set OldVersionExisted = $(TRUE)
  337.         endif
  338. returnpoint = +
  339.         ifstr(i) $(ExitButton) == "CONTINUE"
  340.             Set List1 = >($(List1),$(BusNum))
  341.             Set List2 = >($(List2),$(SlotNum))
  342.             Set List3 = >($(List3),$(ReceiveBuffIndex))
  343.             Set List4 = >($(List4),$(BurstSizeIndex))
  344.             Set List5 = >($(List5),$(TransmitBuffIndex))
  345.             Set List6 = >($(List6),$(FullDuplexEnableIndex))
  346.             Set List7 = >($(List7),$(RequestedTTRTIndex))
  347.         endif
  348.     EndForListDo
  349.     ifstr(i) $(AllAdaptersInstalled) == $(TRUE)
  350.         shell $(subroutineinf) SetupMessage ENG NONFATAL "All DEC FDDIcontroller/EISA adapters already installed"
  351.     endif
  352.     ifstr(i) $(Successful_Install) == 1
  353.         Debug-Output "Successful Install"
  354.     ifint $(OldVersionExisted) == $(FALSE)
  355.         Ifstr(i) $(DoCopy) == "YES"
  356.            Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  357.            Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  358.                Goto ShellCodeError
  359.            Else-Ifstr(i) $($R0) == STATUS_FAILED
  360.                Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  361.                ifint $($ShellCode) != $(!SHELL_CODE_OK)
  362.                   goto ShellCodeError
  363.                endif
  364.                set Error = $($R0)
  365.                Goto fatal
  366.            Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  367.                Goto successful
  368.            Endif
  369.            Set SrcDir = $($R1)
  370.         Endif
  371.         install "Install-Option"
  372.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  373.            Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  374.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  375.                goto ShellCodeError
  376.            endif
  377.            set Error = $($R0)
  378.            goto fatal
  379.         endif
  380.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  381.             $(ProductSoftwareName), +
  382.             $(ProductSoftwareName), +
  383.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  384.             $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  385.             $(NetEventDLL)
  386.         Set OEM_ABANDON_SOFTWARE = TRUE
  387.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  388.             goto ShellCodeError
  389.         endif
  390.         set RegistryErrorIndex = $($R0)
  391.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  392.             EndWait
  393.             CloseRegKey $($R1)
  394.             CloseRegKey $($R2)
  395.             CloseRegKey $($R3)
  396.             CloseRegKey $($R4)
  397.             CloseRegKey $($R5)
  398.             goto fatalregistry
  399.         endif
  400.         Set SoftProductKey      = $($R1)
  401.         Set SoftNetRuleKey      = $($R2)
  402.         Set SoftServiceKey      = $($R3)
  403.         Set SoftParameterKey    = $($R4)
  404.         Set SoftLinkageKey      = $($R5)
  405.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  406.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  407.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  408.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  409.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  410.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  411.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  412.         Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  413.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  414.             goto ShellCodeError
  415.         endif
  416.         set RegistryErrorIndex = $($R0)
  417.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  418.             EndWait
  419.             CloseRegKey $(SoftProductKey)
  420.             CloseRegKey $(SoftNetRuleKey)
  421.             CloseRegKey $(SoftServiceKey)
  422.             CloseRegKey $(SoftParameterKey)
  423.             CloseRegKey $(SoftLinkageKey)
  424.             goto fatalregistry
  425.         endif
  426.         set BindableTxt  = {"defeaDriver dec300Adapter non exclusive 100"}
  427.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  428.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  429.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  430.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  431.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(BindableTxt)}, +
  432.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  433.         Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  434.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  435.             goto ShellCodeError
  436.         endif
  437.         set RegistryErrorIndex = $($R0)
  438.         CloseRegKey $(SoftProductKey)
  439.         CloseRegKey $(SoftNetRuleKey)
  440.         CloseRegKey $(SoftServiceKey)
  441.         CloseRegKey $(SoftParameterKey)
  442.         CloseRegKey $(SoftLinkageKey)
  443.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  444.             EndWait
  445.             goto fatalregistry
  446.         endif
  447.     endif
  448.     else
  449.         set CommonStatus = STATUS_USERCANCEL
  450.         goto successful
  451.     endif
  452.     ForListDo $(List1)
  453.         ifstr(i) $($) != ""
  454.                 Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  455.                 ifint $($R4) != -1
  456.                     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  457.                 endif
  458.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  459.                     goto ShellCodeError
  460.                 endif
  461.                 set RegistryErrorIndex = $($R0)
  462.                 Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  463.                     EndWait
  464.                     CloseRegKey $($R1)
  465.                     CloseRegKey $($R2)
  466.                     CloseRegKey $($R3)
  467.                     goto fatalregistry
  468.                 endif
  469.                 Set HardNetCardKey      = $($R1)
  470.                 Set HardNetRuleKey      = $($R2)
  471.                 Set HardParameterKey    = $($R3)
  472.                 set AdapterNumber = $($R4)
  473.                 set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  474.                                    {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
  475.                                    {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
  476.                                    {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  477.                                    {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  478.                                    {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  479.                 Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  480.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  481.                     goto ShellCodeError
  482.                 endif
  483.                 set NewValueList = {{CardType,$(NoTitle),$(!REG_VT_DWORD),5},+
  484.                                    {BusType,$(NoTitle),$(!REG_VT_DWORD),2},+
  485.                                    {MediaType,$(NoTitle),$(!REG_VT_DWORD),3},+
  486.                                    {EisaCompressedId,$(NoTitle),$(!REG_VT_DWORD),$(DEC300_1BYTE)},+
  487.                                    {BusNumber,$(NoTitle),$(!REG_VT_DWORD),*($(List1),$(#))},+
  488.                                    {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),*($(List2),$(#))},+
  489.                                    {RcvBuffCnt,$(NoTitle),$(!REG_VT_DWORD),*($(List3),$(#))},+
  490.                                    {BurstSize,$(NoTitle),$(!REG_VT_DWORD),*($(List4),$(#))},+
  491.                                    {XmtBuffCnt,$(NoTitle),$(!REG_VT_DWORD),*($(List5),$(#))},+
  492.                                    {FullDuplexEnable,$(NoTitle),$(!REG_VT_DWORD),*($(List6),$(#))},+
  493.                                    {RequestedTTRT,$(NoTitle),$(!REG_VT_DWORD),*($(List7),$(#))}}
  494.           Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  495.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  496.                     goto ShellCodeError
  497.                 endif
  498.                 set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  499.                 set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  500.                 set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  501.                                     {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  502.                                     {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  503.                                     {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  504.                 Shell  $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  505.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  506.                     goto ShellCodeError
  507.                 endif
  508.                 CloseRegKey $(HardNetCardKey)
  509.                 CloseRegKey $(HardNetRuleKey)
  510.                 CloseRegKey $(HardParameterKey)
  511.             endif
  512.         EndForListDo
  513.     goto writeparameters
  514. writeparameters = +
  515.     EndWait
  516.     goto successful
  517. bindingadapter =+
  518.     set Error = "Binding: Sorry, not yet implemented."
  519.     goto fatal
  520. removeadapter = +
  521.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  522.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  523.             $(ProductSoftwareName)
  524.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  525.             Debug-Output "ShellCode error"
  526.             goto ShellCodeError
  527.         endif
  528.         set RegistryErrorIndex = $($R0)
  529.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  530.             goto fatalregistry
  531.         endif
  532.     else
  533.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  534.             $(ProductSoftwareName), $(!NTN_RegBase)
  535.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  536.             Debug-Output "ShellCode error"
  537.             goto ShellCodeError
  538.         endif
  539.         set RegistryErrorIndex = $($R0)
  540.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  541.             goto fatalregistry
  542.         endif
  543.     endif
  544.     goto end
  545. UpgradeSoftware = +
  546.     ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  547.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  548.         Ifstr $(KeyProduct) != $(KeyNull)
  549.             GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  550.             set Version = *($(VersionInfo), 4)
  551.             Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  552.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  553.                 Debug-Output "ShellCode error"
  554.                 goto ShellCodeError
  555.             endif
  556.             set !UG_Filename = $($R0)
  557.             ifstr(i) $(!UG_Filename) != ""
  558.                 install "Install-Update"
  559.                 ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  560.                     goto fatal
  561.                 endif
  562.             endif
  563.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  564.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  565.             ifint $(Version) != $(ProductVersion)
  566.             endif
  567.             CloseRegKey $(KeyProduct)
  568.             OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Linkage" $(MAXIMUM_ALLOWED) LinkageKey
  569.             ifstr(i) $(LinkageKey) != ""
  570.                 GetRegValue $(LinkageKey) Bind BindInfo
  571.                 ForListDo *($(BindInfo),4)
  572.                     Split-String $($) "\" CardInfo
  573.                     QueryListSize CardPos $(CardInfo)
  574.                     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"*($(CardInfo),$(CardPos))"\Parameters" $(MAXIMUM_ALLOWED) ParamKey
  575.                     ifstr $(ParamKey) != ""
  576.                         SetRegValue $(ParamKey) {MediaType,$(NoTitle),$(!REG_VT_DWORD),3}
  577.                         CloseRegKey $(ParamKey)
  578.                     endif
  579.                 EndForListDo
  580.                 CloseRegKey $(LinkageKey)
  581.             endif
  582.         else
  583.             goto fatalregistry
  584.         endif
  585.     else
  586.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
  587.               $(MAXIMUM_ALLOWED) NetworkCardKey
  588.         Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  589.             GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  590.             set ServiceName = *($(ServiceNameInfo), 4)
  591.             OpenRegKey $(NetworkCardKey) "" "NetRules" +
  592.                 $(MAXIMUM_ALLOWED) NetRuleKey
  593.             Ifstr(i) $(NetRuleKey) != $(KeyNull)
  594.             else
  595.                 goto fatalregistry
  596.             endif
  597.             CloseRegKey $(NetRules)
  598.             CloseRegKey $(NetworkCardKey)
  599.         else
  600.             goto fatalregistry
  601.         endif
  602.         OpenRegKey $(!REG_H_LOCAL) "" +
  603.               $(!NTN_ServiceBase)"\"$(ServiceName) +
  604.               $(MAXIMUM_ALLOWED) ServiceKey
  605.         Ifstr(i) $(ServiceKey) != $(KeyNull)
  606.             CloseRegKey $(ServiceKey)
  607.         else
  608.             goto fatalregistry
  609.         endif
  610.     endif
  611.     goto end
  612. successful = +
  613.     goto end
  614. abandon = +
  615.     ForListDo $(OEM_ABANDON_OPTIONS)
  616.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  617.             $(ProductSoftwareName), $($)
  618.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  619.             Debug-Output "ShellCode error"
  620.             goto ShellCodeError
  621.         endif
  622.         set RegistryErrorIndex = $($R0)
  623.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  624.             goto fatalregistry
  625.         endif
  626.     EndForListDo
  627.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  628.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  629.             $(ProductSoftwareName), FALSE
  630.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  631.             Debug-Output "ShellCode error"
  632.             goto ShellCodeError
  633.         endif
  634.         set RegistryErrorIndex = $($R0)
  635.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  636.             goto fatalregistry
  637.         endif
  638.     endif
  639.     goto end
  640. warning = +
  641.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  642.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  643.         goto ShellCodeError
  644.     endif
  645.     ifstr(i) $($R1) == "OK"
  646.         goto $(to)
  647.     else-ifstr(i) $($R1) == "CANCEL"
  648.         goto $(from)
  649.     else
  650.         goto "end"
  651.     endif
  652. nonfatalinfo = +
  653.     Set CommonStatus = STATUS_USERCANCEL
  654.     Set Severity = STATUS
  655.     goto nonfatalmsg
  656. nonfatal = +
  657.     Set Severity = NONFATAL
  658.     goto nonfatalmsg
  659. nonfatalmsg = +
  660.     ifstr(i) $(Error) == ""
  661.         Set Severity = NONFATAL
  662.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  663.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  664.             goto ShellCodeError
  665.         endif
  666.         set Error = $($R0)
  667.     endif
  668.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  669.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  670.         goto ShellCodeError
  671.     endif
  672.     ifstr(i) $($R1) == "OK"
  673.         goto $(from)
  674.     else
  675.         goto "end"
  676.     endif
  677. fatalregistry = +
  678.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  679.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  680.         goto ShellCodeError
  681.     endif
  682.     set Error = $($R0)
  683.     goto fatal
  684. fatal = +
  685.     ifstr(i) $(Error) == ""
  686.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  687.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  688.             goto ShellCodeError
  689.         endif
  690.         set Error = $($R0)
  691.     endif
  692.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  693.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  694.         goto ShellCodeError
  695.     endif
  696.     goto setfailed
  697. ShellCodeError = +
  698.     set DlgType      = "MessageBox"
  699.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  700.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  701.     set STF_MB_TYPE  = 1
  702.     set STF_MB_ICON  = 3
  703.     set STF_MB_DEF   = 1
  704.     ui start "Error Message"
  705.     goto setfailed
  706. setfailed = +
  707.     set CommonStatus = STATUS_FAILED
  708.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  709.         set OEM_ABANDON_ON = FALSE
  710.         goto abandon
  711.     endif
  712.     goto end
  713. end = +
  714.     goto term
  715. term = +
  716.     Return $(CommonStatus)
  717. [Install-Option]
  718.     set STF_VITAL = ""
  719.     ifstr(i) $(AddCopy) == "YES"
  720.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  721.     endif
  722.     ifstr(i) $(DoCopy) == "YES"
  723.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  724.        CopyFilesInCopyList
  725.     endif
  726.     ifstr(i) $(DoConfig) == "YES"
  727.     endif
  728.     Exit
  729. [Install-Update]
  730.    set STF_VITAL        = ""
  731.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  732.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  733.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  734.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  735.    CopyFilesInCopyList
  736.    exit
  737. [Source Media Descriptions]
  738.     1 = "Windows NT Server CD-ROM" , TAGFILE = cdrom.s
  739. [Signature]
  740.     FileType = MICROSOFT_FILE
  741. [GetSignature]
  742.     read-syms Signature
  743.     return $(FileType)
  744. [ProductType]
  745. STF_PRODUCT  = LanmanNT
  746. STF_PLATFORM = Mips
  747. [Files-Inf]
  748. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  749. [Files-DEC300]
  750. 1,DEFEA.SYS , SIZE=999
  751. [LanguagesSupported]
  752.     ENG
  753. [OptionsTextENG]
  754.     DEC300     = "DEC FDDIcontroller/EISA"
  755. [FileConstantsENG]
  756. ProCaption   = "Windows NT Setup"
  757. ProCancel    = "Cancel"
  758. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  759.                "Are you sure you want to cancel copying files?"
  760. ProCancelCap = "Network Setup Message"
  761. ProText1     = "Copying:"
  762. ProText2     = "To:"
  763. FunctionTitle   = "DEC FDDIcontroller/EISA Card Setup"
  764. ProductSoftwareDescription      = "DEC FDDIcontroller/EISA Driver"
  765. ProductHardwareDescription      = "DEC FDDIcontroller/EISA"
  766. CANNOT_FIND_ANY_CARD            = "Network card is not present in the system"
  767. ProductSoftwareTitle    = "DEC FDDIcontroller/EISA Driver"
  768. ProductHardwareTitle    = "DEC FDDIcontroller/EISA Adapter"
  769. ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  770. ShellCodeErrorText      = "Shell Code Error."
  771. BurstSizeList = ^(BurstSizeChoices,1)
  772. BurstSizeValues = ^(BurstSizeChoices,2)
  773. ReceiveBuffList = ^(ReceiveBuffChoices,1)
  774. ReceiveBuffValues = ^(ReceiveBuffChoices,2)
  775. TransmitBuffList = ^(TransmitBuffChoices,1)
  776. TransmitBuffValues = ^(TransmitBuffChoices,2)
  777. DialogDllName = "defea.dll"
  778. [DialogConstantsENG]
  779. Help        = "&Help"
  780. Exit        = "Cancel"
  781. OK          = "OK"
  782. HelpContext = 1
  783. Continue    = "Continue"
  784. Cancel      = "Cancel"
  785. [FileDependentDlgENG]
  786. DlgType = "RadioCombination"
  787. DlgTemplate = "DEFEA"
  788. Combo1 = "Burst Size:"
  789. Combo2 = "Receive Buffers:"
  790. Combo3 = "Transmit Buffers:"
  791. Group = "Full Duplex Enable"
  792. Edit1 = "Requested TTRT(ms):"
  793. Combo1List = $(BurstSizeList)
  794. Combo1Out = $(BurstSizeValue)
  795. Combo2List = $(ReceiveBuffList)
  796. Combo2Out = $(ReceiveBuffValue)
  797. Combo3List = $(TransmitBuffList)
  798. Combo3Out = $(TransmitBuffValue)
  799. ComboListItemsIn = {Combo2List,Combo3List}
  800. ComboListItemsOut = {Combo2Out,Combo3Out}
  801. EditTextLim = {3}
  802. [BurstSizeChoices]
  803. Burst_1 = "4",0
  804. Burst_2 = "8",1
  805. Burst_3 = "16",2
  806. [ReceiveBuffChoices]
  807. Receive_1 = "2",2
  808. Receive_2 = "4",4
  809. Receive_3 = "8",8
  810. [TransmitBuffChoices]
  811. Transmit_1 = "8",8
  812. Transmit_2 = "16",16
  813. Transmit_3 = "32",32
  814. Transmit_4 = "64",64
  815. Transmit_5 = "128",128
  816.