home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 October / VPR9810B.BIN / DRIVER / asus / L101V109 / NWSERVER / OEMSETUP.INF < prev   
INI File  |  1997-11-04  |  36KB  |  1,321 lines

  1. ; Internal Version 1.06
  2. ;***********************************************************************
  3. ;
  4. ; OEMSETUP.INF
  5. ;
  6. ;    Intel EtherExpress PRO PCI Adapter installation file for the Novell NT Requester
  7. ;
  8. ;
  9. ;***********************************************************************
  10.  
  11. [Identification]
  12.     OptionType = NetAdapter
  13.  
  14. [PlatformsSupported]
  15.     PCI
  16.     "Jazz-Internal Bus"
  17.  
  18. [LanguagesSupported]
  19.     ENG
  20.  
  21. [FileConstants]
  22.  
  23. UtilityInf        = "UTILITY.INF"
  24. ParamInf        = "NCPARAM.INF"
  25. subroutineinf   = "SUBROUTN.INF"
  26. NwSubsInf        = "NWSUBS.INF"
  27. Exit_Code        = 0
  28.  
  29. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  30. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  31.  
  32. Manufacturer            = "Intel"
  33. ClientProvider            = "Novell"
  34. ProductMajorVersion    = "1"
  35. ProductMinorVersion    = "0"
  36. ProductVersion            = $(ProductMajorVersion)"."$(ProductMinorVersion)
  37. DriverName                = "OdiLoad"
  38. OdiModules                 = "ODI_Modules"
  39. NE3200_1BYTE = 511034
  40.  
  41.  
  42. NetRuleHardwareType          = "nwDriver nwAdapter"
  43. NetRuleHardwareBindForm      = " yes yes container"
  44. ProductKeyName = $(!NTN_SoftwareBase)"\"$(ClientProvider)"\"$(DriverName)"\CurrentVersion"
  45. ;
  46. ; ParamKeyname not used - not updated
  47. ; ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardware$(Option)Name)"\Parameters"
  48. ;
  49.  
  50. [GeneralConstants]
  51. from    = ""
  52. to        = ""
  53. ExitCodeOk         = 0
  54. ExitCodeCancel = 1
  55. ExitCodeFatal  = 2
  56.  
  57. KeyNull                 = ""
  58. MAXIMUM_ALLOWED    = 33554432
  59. RegistryErrorIndex = NO_ERROR
  60. KeyProduct              = ""
  61. KeyParameters        = ""
  62.  
  63. TRUE            = 1
  64. FALSE            = 0
  65. NoTitle        = 0
  66.  
  67. ExitState    = "Active"
  68. OldVersionExisted = $(FALSE)
  69.  
  70. DriverPath      = $(!STF_NTPATH)\netware
  71.  
  72. [ODIParameters]
  73.     ODINodeAddress = ""
  74.     ODIDriverAdditionalParms = {}
  75.     ODICustomList = {}
  76.     ODITokenRing        = ""
  77.     ODITokenRingSnap    = ""
  78.     ;
  79.     ; File specific Parameters:
  80.     ;   ISA LAN Driver file:
  81.     ;        ODISlotList = {}
  82.     ;        ODIDefaultSlot = ""
  83.     ;     MCA and EISA LAN Driver files:
  84.     ;        ODISlotList = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
  85.     ;        ODIDefaultSlot = "2"
  86.     ;
  87.     ODISlotList = {}
  88.     ODIDefaultSlot = ""
  89.  
  90. [date]
  91.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  92.  
  93.  
  94. [Identify]
  95.  
  96.     read-syms Identification
  97.  
  98.     set Status        = STATUS_SUCCESSFUL
  99.     set Identifier  = $(OptionType)
  100.     set Media        = #("Source Media Descriptions", 1, 1)
  101.  
  102.     Return $(Status) $(Identifier) $(Media)
  103.  
  104. [ReturnOptions]
  105.  
  106.     read-syms ODIStrings$(!STF_LANGUAGE)
  107.  
  108.     set Status        = STATUS_FAILED
  109.     set OptionList     = {}
  110.     set OptionTextList = {}
  111.  
  112.     set LanguageList = ^(LanguagesSupported, 1)
  113.     Ifcontains(i) $($0) in $(LanguageList)
  114.         ifstr(i) $($1) == ""
  115.             goto returnoptions
  116.         endif
  117.  
  118.         set PlatformList = ^(PlatformsSupported, 1)
  119.         Ifcontains(i) $($1) in $(PlatformList)
  120.             goto returnoptions
  121.         else
  122.             set Status = STATUS_NOTSUPPORTED
  123.             goto finish_ReturnOptions
  124.         endif
  125.     else
  126.         set Status = STATUS_NOLANGUAGE
  127.         goto finish_ReturnOptions
  128.     endif
  129.  
  130. returnoptions = +
  131.     set OptionList     = ^(Options, 1)
  132.     set OptionTextList = {}
  133.  
  134.     ForListDo $(OptionList)
  135.         set OptionTempString = " ODI "#($($),Title,1)$(AdapterForNetWare)
  136.         set OptionTextList = >($(OptionTextList), $(OptionTempString) )
  137.     EndForListDo
  138.  
  139.     set Status         = STATUS_SUCCESSFUL
  140.  
  141. Debug-Output "OEMNADOD.INF-[finish_ReturnOptions]:"
  142. Debug-Output "OEMNADOD.INF-          Status = "$(Status)
  143. Debug-Output "OEMNADOD.INF-      OptionList = "$(OptionList)
  144. Debug-Output "OEMNADOD.INF-  OptionTextList = "$(OptionTextList)
  145.  
  146. finish_ReturnOptions = +
  147.     Return $(Status) $(OptionList) $(OptionTextList)
  148.  
  149. [InstallOption]
  150.  
  151.     set Option    = $($1)
  152.     set SrcDir    = $($2)
  153.     set AddCopy  = $($3)
  154.     set DoCopy    = $($4)
  155.     set DoConfig = $($5)
  156.  
  157.     set LanguageList = ^(LanguagesSupported, 1)
  158.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  159.         Return STATUS_NOLANGUAGE
  160.     endif
  161.  
  162.     set-subst LF = "\n"
  163.     read-syms GeneralConstants
  164.     read-syms FileConstants
  165.     read-syms ODIParameters
  166.     read-syms DialogConstants$(!STF_LANGUAGE)
  167.     read-syms ODIStrings$(!STF_LANGUAGE)
  168.     ifstr(i) $(!NTN_Origination) == "NCPA"
  169.         set Continue = "OK"
  170.     endif
  171.     read-syms FileConstants$(!STF_LANGUAGE)
  172.  
  173.     detect date
  174.  
  175. ;    set-title  $(Function$(Option)Title)
  176.  
  177.     set to    = Begin
  178.     set from = Begin
  179.     set CommonStatus = STATUS_SUCCESSFUL
  180.  
  181.  
  182.     EndWait
  183.  
  184. Begin = +
  185.  
  186.     set CurrentInstallMode = ""
  187.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  188.         set StartLabel = removeadapter
  189.         goto skipmakingthelists
  190.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  191.         set StartLabel = UpgradeSoftware
  192.         set CurrentInstallMode = configure
  193.         set DoCopy = YES
  194.         set AddCopy = YES
  195.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  196.         set StartLabel = bindingadapter
  197.         goto skipmakingthelists
  198.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  199.         set StartLabel = configureadapter
  200.         set CurrentInstallMode = configure
  201.     else
  202.         set DoCopy = YES
  203.         set AddCopy = YES
  204.         set StartLabel = installadapter
  205.         set OEM_ABANDON_OPTIONS = {}
  206.         set OEM_ABANDON_SOFTWARE = FALSE
  207.         set OEM_ABANDON_ON = TRUE
  208.     endif
  209.  
  210.     set ParameterListNames = ^(DefaultParameterLists, 1)    ; NWIRQList, NWMEMList1, etc.
  211.     set ListNames = ^(ODIListNamesSection, 1)                    ; List1, list2, ..., list6
  212.     set ODIKeywordList = ^(ChoicesNamesList, 1)                ; Int, mem, Port, etc.
  213.     set ODITitleList = ^(ChoicesNamesList, 2)                    ; Interrupt Number, Port, etc.
  214.     set MSParameterList = ^(ChoicesNamesList, 3)                ; InterruptNumber, IOBaseAddress, etc.
  215.  
  216.     set DriverListNames = {}
  217.     set ODINumberofDriverLists = 0
  218.     ForListDo ^($(Option),0 )
  219.         ifcontains(i) $($) IN $(ListNames)
  220.             set DriverListNames = >($(DriverListNames), $($))
  221.         else-ifstr(i) $($) == "CUSTOM"
  222.             set ODICustomList = #($(Option), Custom, 1)
  223.         endif
  224.     EndForListDo
  225.  
  226.     QueryListSize ODINumberofDriverLists $(DriverListNames)
  227.  
  228. ;
  229. ; DriverListNames now contains the List names the selected ODI driver has (i.e. {List1, List2})
  230. ; ODINumberofDriverLists now contains the number of lists used
  231. ;
  232.  
  233.     Debug-Output "DriverListNames = "$(DriverListNames)
  234.     Debug-Output "Size of DriverListNames = "$(ODINumberofDriverLists)
  235.  
  236.     ForListDo $(DriverListNames)
  237.         set $($)Keyword = #($(Option), $($), 1)
  238.         ifstr $($($)Keyword) != ""
  239.             set $($)Default = #($(Option), $($), 3)
  240.  
  241.             ifcontains(i) $($($)Keyword) IN $(ODIKeywordList)
  242.                 set $($)Title = *($(ODITitleList), ~($(ODIKeywordList), $($($)Keyword)))
  243.                 set ThisListName = #($(Option), $($), 2)
  244.                 set MSParameterName$(#) = *($(MSParameterList), ~($(ODIKeywordList), $($($)Keyword)))
  245.                 set FinalList = {}
  246.  
  247.                 ifcontains(i) $(ThisListName) IN $(ParameterListNames)
  248.                     ifstr(i) #($(Option), $($), 4) == "ALL"
  249.                         set FinalList = ^($(ThisListName), 1)
  250.                     else
  251.                         set CountUpTo = #($(Option), $($), 5)
  252.  
  253.                         ifstr(i) $(CountUpTo) == "END"
  254.                             set CountUpTo = $(MAXIMUM_ALLOWED)
  255.                         endif
  256.  
  257.                         set StartNumber = #($(Option), $($), 4))
  258.  
  259.                         ForListDo ^($(ThisListName), 1)
  260.                             ifint $(#) >= $(StartNumber)
  261.                                 ifint $(#) <= $(CountUpTo)
  262.                                     set FinalList = >($(FinalList), $($))
  263.                                 endif
  264.                             endif
  265.                         EndForListDo
  266.                     endif
  267.                 else
  268.                     ;
  269.                     ; User passed in the list
  270.                     ;
  271.                     Debug-Output "User passed in a list"
  272.                     set $($)Title = #($(Option), $($), 2)
  273.                     set FinalList = #($(Option), $($), 4)
  274.                 endif
  275.             else
  276.                 ;
  277.                 ; User passed in a new keyword
  278.                 ;
  279.                 Debug-Output "User passed in a new keyword"
  280.                 set $($)Title = #($(Option), $($), 2)
  281.                 set MSParameterName$(#) = ""
  282.                 set FinalList = #($(Option), $($), 4)
  283.             endif
  284.         set $($)List = $(FinalList)
  285.         endif
  286.     Debug-Output "List"$(#)"Title = "$($($)Title)
  287.     Debug-Output "List"$(#)"Default = "$($($)Default)
  288.     Debug-Output "List"$(#)"Keyword = "$($($)Keyword)
  289.     Debug-Output "List"$(#)"List = "$($($)List)
  290.     Debug-Output "MSParameterName"$(#)" = "$(MSParameterName$(#))
  291.     EndForListDo
  292.  
  293. skipmakingthelists = +
  294.  
  295.     Debug-Output "Starting skipmakingthelist"
  296.     set ODILANDriverTitle = #($(Option), Title, 1)
  297.     Split-String #($(Option), DriverName, 2) "." SplitFileNameList
  298.     set ODILANDriverName = *($(SplitFileNameList), 1)
  299.     set ODIMediaType = #($(Option), MediaType, 1)
  300.     set ODICardType = #($(Option), CardType, 1)
  301.     set ODICardId = #($(Option), CardId, 1)
  302.     ifstr(i) $(ODICardType) == "PCI"
  303.         set ODIVendor = #($(Option), Vendor, 1)
  304.     endif
  305.     ifstr(i) #($(Option), CanShareSlot, 1) == "YES"
  306.         set SkipDescriptionCheck = "NO"
  307.     else
  308.         set SkipDescriptionCheck = "YES"
  309.     endif
  310.     Debug-Output "ODILANDriverName = "$(ODILANDriverName)
  311.     Debug-Output "ODIMediaType = "$(ODIMediaType)
  312.  
  313.     ifstr(i) $(ODIMediaType) == "ETHERNET"
  314.         set NdisMediaType = "1"
  315.     else-ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  316.         set NdisMediaType = "2"
  317.     else-ifstr(i) $(ODIMediaType) == "FDDI"
  318.         set NdisMediaType = "4"
  319.     else
  320.         Debug-Output "OEMNADOD.INF: Unknown media type "$(ODIMediaType)
  321.         set NdisMediaType = ""
  322.     endif
  323.  
  324.     set from = $(fatal)
  325.     set to = $(fatal)
  326.     goto $(StartLabel)
  327.  
  328. installadapter = +
  329.  
  330.     install "Install-Option"
  331.  
  332.     goto adapteroptions
  333.  
  334. configureadapter = +
  335.     Debug-Output "Starting configureadapter."
  336.     Ifstr $(KeyProduct) == $(KeyNull)
  337.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  338.         Ifstr $(KeyProduct) == $(KeyNull)
  339.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  340.             Debug-Output "OEMNADOD.INF: Cannot find component product key "$(!NTN_RegBase)
  341.             goto fatalregistry
  342.         Endif
  343.     Endif
  344.  
  345.     Set AdapterNumber = ""
  346.  
  347.     Shell $(UtilityInf) FindService, $(KeyProduct)
  348.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  349.         Debug-Output "OEMNADOD.INF: FindService shell failure "$($ShellCode)
  350.         Goto ShellCodeError
  351.     Endif
  352.     Ifstr(i) $($R0) != NO_ERROR
  353.         Debug-Output "OEMNADOD.INF: FindService Error "$($R0)
  354.         Goto fatalregistry
  355.     endif
  356.  
  357.     set KeyParameters = $($R2)
  358.     set ServiceAreaHandle = $($R1)
  359.  
  360.     Ifstr $(KeyParameters) == $(KeyNull)
  361.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  362.         Debug-Output "OEMNADOD.INF: Cannot find component service "$(KeyProduct)
  363.         goto fatalregistry
  364.     endif
  365.  
  366.     set OldVersionExisted = $(TRUE)
  367.  
  368.     set ValueName = ""
  369.     set ValueData = ""
  370.     set ValueStr  = ""
  371.     set ValueList = {}
  372.  
  373.     GetRegValue $(KeyParameters) ODILoadName ODILoadName
  374.     Set CardInstanceName = *($(ODILoadName),4)
  375.  
  376.     Ifstr $(CardInstanceName) == $(KeyNull)
  377.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  378.         Debug-Output "OEMNADOD.INF: Cannot find CardInstanceName"
  379.         goto fatalregistry
  380.     endif
  381.  
  382.     set KeyToFind = $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
  383.     OpenRegKey $(!REG_H_LOCAL) ""  $(KeyToFind) $(MAXIMUM_ALLOWED) DriverKey
  384.     Ifstr $(DriverKey) == $(KeyNull)
  385.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  386.         Debug-Output "OEMNADOD.INF: Cannot find component product key = "$(KeyToFind)
  387.         goto fatalregistry
  388.     Endif
  389.  
  390.     GetRegValue $(DriverKey) Parameters ParameterList
  391.  
  392.     ;  get the data portion
  393.     set ParameterList = *($(ParameterList), 4)
  394.  
  395.     Debug-Output "parameter list = "$(ParameterList)
  396.  
  397.     ForListDo $(ParameterList)
  398.         set ThisParameterList = $($)
  399.         Split-String $($) " " SplitList
  400.         set KeyToSearchFor = *($(SplitList), 1)
  401.         set ValueToUse = *($(SplitList), 3)
  402.         Debug-Output "Keytosearchfor = "$(KeyToSearchFor)
  403.         Debug-Output "ValueToUse = "$(ValueToUse)
  404.         ;
  405.         ;   #1    #2     #3
  406.         ; "Parm"  " "     "Value"
  407.         ;
  408.         set ValueFound = 0
  409.  
  410.         ;
  411.         ; check frametypes for TOKEN-RING, TOKEN-RING_SNAP
  412.         ;
  413.         ifstr(i) $(KeyToSearchFor) == "FRAME"
  414.             ;
  415.             ; Don't append Frametypes to ODIAdditionalParms, so set ValueFound = 1
  416.             ;
  417.             set ValueFound = 1
  418.             QueryListSize SplitListSize $(SplitList)
  419.             ifstr(i) *($(SplitList), 3) == "TOKEN-RING"
  420.                 set LastParameter = *($(SplitList), $(SplitListSize))
  421.                 ifstr(i) $(LastParameter) == "MSB"
  422.                     set ODITokenRing = "MSB"
  423.                 else-ifstr(i) $(LastParameter) == "LSB"
  424.                     set ODITokenRing = "LSB"
  425.                 else
  426.                     ;
  427.                     ; Not there, so default to MSB
  428.                     ;
  429.                     set ODITokenRing = "MSB"
  430.                 endif
  431.             else-ifstr(i) *($(SplitList), 3) == "TOKEN-RING_SNAP"
  432.                 set LastParameter = *($(SplitList), $(SplitListSize))
  433.                 ifstr(i) $(LastParameter) == "MSB"
  434.                     set ODITokenRingSnap = "MSB"
  435.                 else-ifstr(i) $(LastParameter) == "LSB"
  436.                     set ODITokenRingSnap = "LSB"
  437.                 else
  438.                     ;
  439.                     ; Not there, so default to MSB
  440.                     ;
  441.                     set ODITokenRingSnap = "MSB"
  442.                 endif
  443.             endif
  444.         ;
  445.         ; Check for NODE parameter
  446.         ;
  447.         else-ifstr(i) $(KeyToSearchFor) == "NODE"
  448.             set ODINodeAddress = $(ValueToUse)
  449.             set ValueFound = 1
  450.         ;
  451.         ; Check for SLOT parameter
  452.         ;
  453.         else-ifstr(i) $(KeyToSearchFor) == "SLOT"
  454.             set ODIDefaultSlot = $(ValueToUse)
  455.             set ValueFound = 1
  456.         ;
  457.         ; Check for BUSNAME parameter - ignore it
  458.         ;
  459.         else-ifstr(i) $(KeyToSearchFor) == "BUSNAME"
  460.             set ValueFound = 1
  461.         ;
  462.         ; Check for BUSTYPE parameter
  463.         ;
  464.         else-ifstr(i) $(KeyToSearchFor) == "BUSTYPE"
  465.             set ValueFound = 1
  466.             set BusInterfaceType = $(ValueToUse)
  467.         ;
  468.         ; Check for BUS parameter
  469.         ;
  470.         else-ifstr(i) $(KeyToSearchFor) == "BUS"
  471.             set ValueFound = 1
  472.             set BusNumber = $(ValueToUse)
  473.         endif
  474.  
  475.         ForListDo $(DriverListNames)
  476.             ifstr(i) $(KeyToSearchFor) == $($($)Keyword)
  477.                 set $($)Default = $(ValueToUse)
  478.                 set ValueFound = 1
  479.                 ifcontains(i) $(ValueToUse) NOT-IN $($($)List)
  480.                     set $($)List = >($($($)List), $(ValueToUse))
  481.                 endif
  482.             endif
  483.         EndForListDo
  484.  
  485.         Debug-Output "Value Found = "$(ValueFound)
  486.  
  487.         ifint $(ValueFound) == 0
  488.             set FoundInCustom = 0
  489.  
  490.             ForListDo $(ODICustomList)
  491.                 ifstr(i) $($) == $(ThisParameterList)
  492.                     set FoundInCustom = 1
  493.                 endif
  494.             EndForListDo
  495.  
  496.             Debug-Output "Found in Custom = "$(FoundInCustom)
  497.  
  498.               ifint $(FoundInCustom) == 0
  499.                 ifstr $(ODIDriverAdditionalParms) == {}
  500.                     set ODIDriverAdditionalParms = $(KeyToSearchFor)" "$(ValueToUse)
  501.                 else
  502.                     set ODIDriverAdditionalParms = >($(ODIDriverAdditionalParms), $(KeyToSearchFor)" "$(ValueToUse))
  503.                 endif
  504.             endif
  505.         endif
  506.     EndForListDo
  507.  
  508.     Debug-Output "AdditionalParms = "$(ODIDriverAdditionalParms)
  509.     Debug-Output "CustomList = "$(ODICustomList)
  510.     Debug-Output "BusType = "$(BusInterfaceType)
  511.     Debug-Output "Bus = "$(BusNumber)
  512.  
  513.  
  514. adaptersetup =+
  515.  
  516.     goto adapteroptions
  517. adapteroptions = +
  518.     set from = adapteroptions
  519.  
  520.     ;
  521.     ; Find what NLS directory is being used
  522.     ;
  523.  
  524.     set NovellParameters = $(!NTN_SoftwareBase)"\"$(ClientProvider)"\Parameters"
  525.     OpenRegKey $(!REG_H_LOCAL) "" $(NovellParameters) $(MAXIMUM_ALLOWED) KeyNovellParameters
  526.     ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  527.         GetRegValue $(KeyNovellParameters) "NWLanguage" LanguageList
  528.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  529.             set NLSDirName = *($(LanguageList), 4)
  530.             LoadLibrary $(NetWareForWindowsNT) $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwsetupr.dll" NwLibHandle
  531.             SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwnthelp.hlp" $(!MinimumID) $(!MaximumID)
  532.         else
  533.             goto fatalregistry
  534.         endif
  535.         CloseRegKey $(KeyNovellParameters)
  536.     else
  537.         goto fatalregistry
  538.     Endif
  539.  
  540. dothedialog = +
  541.     Debug-Output "Start dothedialog."
  542.     ifint $(ODINumberofDriverLists) == 0
  543.         Debug-Output "ODINumberofDriveLists == 0."
  544.         ifstr(i) $(CurrentInstallMode) == configure
  545.             read-syms NoParms$(!STF_LANGUAGE)
  546.             ui start "WorkstationDLG" $(NwLibHandle)
  547.  
  548.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  549.                 Debug-Output "OK hit"
  550.             else-ifstr(i) $(DLGEVENT) == "EXIT"
  551.             ;
  552.             ; user selected the advanced button
  553.             ;
  554.                 goto doadvancedsettings
  555.             endif
  556.         endif
  557.     else
  558.         Debug-Output "ODINumberofDriveLists != 0."
  559.         read-syms LANDriverDlg$(!STF_LANGUAGE)
  560.  
  561.         set NotifyFields = {}
  562.         set ComboListItemsIn = {}
  563.         set ComboListItemsOut = {}
  564.         ForListDo $(DriverListNames)
  565.             set NotifyFields = >($(NotifyFields), "NO")
  566.             set ComboListItemsIn = >($(ComboListItemsIn), $($)List)
  567.             ifstr $($($)Value) == ""
  568.                 set $($)Value = $($($)Default)
  569.             endif
  570.             set ComboListItemsOut = >($(ComboListItemsOut), $($)Value)
  571.         EndForListDo
  572.  
  573.         ui start "LANDriverParms" $(NwLibHandle)
  574.  
  575.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  576.             Debug-Output "Continue hit"
  577.         else-ifstr(i) $(DLGEVENT) == "BACK"
  578.             Debug-Output "Action: CANCEL. Bye."
  579.             set CommonStatus = STATUS_USERCANCEL
  580.             ui pop 1
  581.             FreeLibrary $(NwLibHandle)
  582.             goto end
  583.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  584.  
  585. doadvancedsettings =+
  586.         ;
  587.         ; user selected the advanced button
  588.         ;
  589.             Debug-Output "Action: ADVANCED DIALOG"
  590.             read-syms AdvancedDialog$(!STF_LANGUAGE)
  591.             set RadioIn = {}
  592.             set ComboListItemsIn = {}
  593.             set ComboListItemsOut = {}
  594.             set ComboOut = $(ODIDefaultSlot)
  595.  
  596.             ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  597.                 ifstr(i) $(ODISlotList) == {}
  598.                     set DlgTemplate = "DLG_ADVANCEDDRIVER3"
  599.                 else
  600.                     set ComboListItemsIn = { ODISlotList }
  601.                     set ComboListItemsOut = { ComboOut }
  602.                     set DlgTemplate = "DLG_ADVANCEDDRIVER1"
  603.                 endif
  604.  
  605.                 ifstr(i) $(ODITokenRing) == "LSB"
  606.                     set RadioIn = { 2 }
  607.                 else
  608.                     set RadioIn = { 1 }
  609.                 endif
  610.  
  611.                 ifstr(i) $(ODITokenRingSnap) == "LSB"
  612.                     set RadioIn = >($(RadioIn), "4")
  613.                 else
  614.                     set RadioIn = >($(RadioIn), "3")
  615.                 endif
  616.             else
  617.                 ifstr(i) $(ODISlotList) == {}
  618.                     set DlgTemplate = "DLG_ADVANCEDDRIVER4"
  619.                 else
  620.                     set ComboListItemsIn = { ODISlotList }
  621.                     set ComboListItemsOut = { ComboOut }
  622.                     set DlgTemplate = "DLG_ADVANCEDDRIVER2"
  623.                 endif
  624.             endif
  625.  
  626.             ui start "AdvancedDialog" $(NwLibHandle)
  627.             ui pop 1
  628.  
  629.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  630.                 set ODINodeAddress = *($(EditTextOut), 1)
  631.                 set ODIDefaultSlot = *($(ComboOut), 1)
  632.                 ifcontains "2" IN $(RadioOut)
  633.                     set ODITokenRing = "LSB"
  634.                 else
  635.                     set ODITokenRing = "MSB"
  636.                 endif
  637.                 ifcontains "4" IN $(RadioOut)
  638.                     set ODITokenRingSnap = "LSB"
  639.                 else
  640.                     set ODITokenRingSnap = "MSB"
  641.                 endif
  642.             else-ifstr(i) $(DLGEVENT) == "BACK"
  643.                 Debug-Output "Action: CANCEL. Bye."
  644.             endif
  645.  
  646.             goto dothedialog
  647.         else
  648.             Debug-Output "Action: unknown. Bye."
  649.             ui pop 1
  650.             FreeLibrary $(NwLibHandle)
  651.             goto end
  652.         endif
  653.  
  654.         ui pop 1
  655.  
  656.  
  657.         ForListDo $(DriverListNames)
  658.             Debug-Output "List"$(#)"Value = "$($($)Value)
  659.         EndForListDo
  660.     endif
  661.  
  662.     Debug-Output "FreeLibrary $(NwLibHandle)"
  663.     FreeLibrary $(NwLibHandle)
  664.  
  665.     ifint $(OldVersionExisted) == $(TRUE)
  666.         ifstr(i) $(CurrentInstallMode) == configure
  667.             Debug-Output "going to writeparameters based on OldVersionExisted."
  668.             goto writeconfigureparameters
  669.         endif
  670.     endif
  671.  
  672.     StartWait
  673.  
  674.     goto writeparameters
  675.  
  676. writeparameters = +
  677.     Debug-Output "Starting writeparameters."
  678.  
  679.     Debug-Output "Calling GetPCIInformation."
  680.     ; Use the GetPCIInformation utiltiy to find the bus number and slot number
  681.     ; the adapter is installed in.
  682.     set NTBusType = 5
  683.     Shell $(UtilityInf), GetPCIInformation, $(ODIVendor) $(ODICardId)
  684.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  685.         EndWait
  686.         goto ShellCodeError
  687.     endif
  688.     set AdapterList = $($R0)
  689.  
  690.     set ProductHardwareDescription = +
  691.         "ODI "$(ODILANDriverTitle)$(AdapterForNetWare)
  692.  
  693.     ForListDo $(AdapterList)
  694.         ; Steps need to be taken for multiple adapters of the same type.
  695.         set NTBusNumber = *($($),1)
  696.         set NTSlotNumber = *($($),2)
  697.  
  698.  
  699.         Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(NTBusNumber), +
  700.             $(NTSlotNumber), $(ProductHardwareDescription), +
  701.             $(ODILANDriverName), $(SkipDescriptionCheck)
  702.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  703.             goto ShellCodeError
  704.         endif
  705.         ifstr $($R0) != "NO_ERROR"
  706.             set Error = $($R0)
  707.             goto fatal
  708.         endif
  709.         ifstr(i) $($R1) != "YES"
  710.  
  711.             Debug-Output "Doing Shell AddHardwareComponent."
  712.             Shell $(UtilityInf), AddHardwareComponent, $(ODILANDriverName),+
  713.                 $(STF_CONTEXTINFNAME),$(ProductKeyName)
  714.  
  715.             ifint $($R4) != -1
  716.                 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS),+
  717.                 $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  718.             endif
  719.  
  720.  
  721.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  722.                 Debug-Output "OEMNADOD.INF:Cannot add hardware component "$($ShellCode)
  723.                 EndWait
  724.                 goto ShellCodeError
  725.             endif
  726.  
  727.             set RegistryErrorIndex = $($R0)
  728.  
  729.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  730.                 EndWait
  731.                 Debug-Output "OEMNADOD.INF: Registry error: add hardware component "$(RegistryErrorIndex)
  732.                 CloseRegKey $($R1)
  733.                 CloseRegKey $($R2)
  734.                 CloseRegKey $($R3)
  735.                 goto fatalregistry
  736.             endif
  737.  
  738.             set KeyParameters = $($R3)
  739.             set KeyAdapterRules = $($R2)
  740.             set AdapterNumber = $($R4)
  741.  
  742.             Set-add TempAdapterNumber = $(AdapterNumber),0
  743.  
  744.             set CardInstanceName = $(ODILANDriverName)" #"$(TempAdapterNumber)
  745.  
  746.             set NewValueList = {{ClientProvider,$(NoTitle),$(!REG_VT_SZ),+
  747.                 $(ClientProvider)}, {Title,$(NoTitle),$(!REG_VT_SZ),+
  748.                 "["$($R4)"] ODI "$(ODILANDriverTitle)$(AdapterForNetWare)},+
  749.                 {Description,$(NoTitle),$(!REG_VT_SZ),+
  750.                     $(ProductHardwareDescription)},+
  751.                 {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ODILANDriverName)},+
  752.                 {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  753.                 {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},+
  754.                 {OdiAdapter,$(NoTitle),$(!REG_VT_DWORD),1}}
  755.  
  756.             Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  757.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  758.                 Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
  759.                 EndWait
  760.                 goto ShellCodeError
  761.             endif
  762.  
  763.             CloseRegKey $($R1)
  764.  
  765.             set TempProdName = """"$(ODILANDriverName)$(AdapterNumber)""""
  766.             set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  767.  
  768.             set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),+
  769.                 $(NetRuleHardwareType)},{bindform,$(NoTitle),$(!REG_VT_SZ),+
  770.                 $(TempBindForm)}, {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  771.  
  772.             Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  773.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  774.                 Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
  775.                 EndWait
  776.                 goto ShellCodeError
  777.             endif
  778.  
  779.             set RegistryErrorIndex = $($R0)
  780.  
  781.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  782.                 EndWait
  783.                 Debug-Output "OEMNADOD.INF: AddValueList Registry error "$(RegistryErrorIndex)
  784.                 CloseRegKey $(KeyParameters)
  785.                 CloseRegKey $(KeyAdapterRules)
  786.                 goto fatalregistry
  787.             endif
  788.  
  789.             CloseRegKey $(KeyAdapterRules)
  790.  
  791.             SetRegValue $(KeyParameters) {OdiLoadName,$(NoTitle),$(!REG_VT_SZ),$(CardInstanceName)}
  792.             SetRegValue $(KeyParameters) {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)}
  793.             SetRegValue $(KeyParameters) {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}
  794.  
  795.  
  796.  
  797.  
  798. writeconfigureparameters = +
  799.             ; Jump to here if the drivers is already installed and specific driver
  800.             ; configuration was selected.
  801.  
  802.             ifstr(i) $(NdisMediaType) == ""
  803.                 set NdisMediaType = "1"
  804.                 Debug-Output "OEMNADOD.INF: Media type NOT set"
  805.             endif
  806.  
  807.              set NewValueList = {{MediaType,$(NoTitle),$(!REG_VT_DWORD), +
  808.                 $(NdisMediaType)}}
  809.  
  810.             ForListDo $(DriverListNames)
  811.                 ifstr $(MSParameterName$(#)) != ""
  812.                     set-hextodec DecValue = $($($)Value)
  813.                     set ValueToAdd = {$(MSParameterName$(#)),$(NoTitle), +
  814.                         $(!REG_VT_DWORD), $(DecValue)}
  815.                     set NewValueList = >($(NewValueList), $(ValueToAdd))
  816.                 endif
  817.             EndForListDo
  818.  
  819.  
  820.             Debug-Output "AddValueList with KeyParameters = "$(KeyParameters)
  821.             Debug-Output "and NewValueList = "$(NewValueList)
  822.             Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  823.  
  824.  
  825.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  826.                 Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
  827.                 EndWait
  828.                 goto ShellCodeError
  829.             endif
  830.  
  831.             set RegistryErrorIndex = $($R0)
  832.  
  833.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  834.                 Debug-Output "OEMNADOD.INF: AddValueList Registry error "$($ShellCode)
  835.                 EndWait
  836.                 goto fatalregistry
  837.             endif
  838.  
  839.  
  840.             set PromptForSrcRouting = "FALSE"
  841.  
  842.  
  843.  
  844.  
  845.  
  846.             Ifstr(i) $(ODIMediaType) == "ETHERNET"
  847.                 set ODIParmList = {"Frame ETHERNET_802.2", +
  848.                            "Frame ETHERNET_802.3", +
  849.                            "Frame ETHERNET_II", +
  850.                            "Frame ETHERNET_SNAP" }
  851.             else-Ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  852.                 set ODIParmList = {"Frame TOKEN-RING "$(ODITokenRing), +
  853.                     "Frame TOKEN-RING_SNAP "$(ODITokenRingSnap) }
  854.  
  855.                 ;If there is an ODI stack available remove the comment on the next line
  856.                 ;set PromptForSrcRouting = "TRUE"
  857.  
  858.             else-Ifstr(i) $(ODIMediaType) == "FDDI"
  859.                 set ODIParmList = {"Frame FDDI_802.2", +
  860.                     "Frame FDDI_SNAP" }
  861.  
  862.                 ;If there is an ODI stack available remove the comment on the next line
  863.                 ;set PromptForSrcRouting = "TRUE"
  864.  
  865.             else
  866.                 set ODIParmList = {}
  867.             endif
  868.  
  869.             Debug-Output "Framenames = "$(ODIParmList)
  870.  
  871.  
  872.             ;
  873.             ; Build List to send to ODI_MODULES\CARDNAME
  874.             ;
  875.             ForListDo $(DriverListNames)
  876.                 ifstr $($($)Value) == $(Present)
  877.                     set ODIParmList = >($(ODIParmList), $($($)Keyword))
  878.                 else-ifstr $($($)Value) != $(NotPresent)
  879.                     set ODIParmList = >($(ODIParmList), $($($)Keyword)" "$($($)Value))
  880.                 endif
  881.             EndForListDo
  882.  
  883.             ifstr $(ODINodeAddress) != ""
  884.                 set ODIParmList = >($(ODIParmList), "Node "$(ODINodeAddress))
  885.             endif
  886.  
  887.             ifstr $(ODIDefaultSlot) != ""
  888.                 set ODIParmList = >($(ODIParmList), "Slot "$(ODIDefaultSlot))
  889.             endif
  890.  
  891.             ForListDo $(ODIDriverAdditionalParms)
  892.                 ifstr $($) != ""
  893.                     set ODIParmList = >($(ODIParmList), $($))
  894.                 endif
  895.             EndForListDo
  896.  
  897.             ForListDo $(ODICustomList)
  898.                 ifstr $($) != ""
  899.                     set ODIParmList = >($(ODIParmList), $($))
  900.                 endif
  901.             EndForListDo
  902.  
  903.  
  904.             Debug-Output "ODIParmList = "$(ODIParmList)
  905.  
  906.  
  907.             Debug-Output "Calling NwSubsInf to NwAddOdiLoadModule."
  908.             Shell $(NwSubsInf) NwAddOdiLoadModule $(CardInstanceName) +
  909.                 $(AdapterNumber) $(ODIParmList)
  910.             Debug-Output "Back from Calling NwSubsInf to NwAddOdiLoadModule."
  911.  
  912.             Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  913.                 Debug-Output "OEMNADOD.INF: NwAddOdiLoadModule failure "$($ShellCode)
  914.                 Goto ShellCodeError
  915.             Endif
  916.  
  917.             Set ErrorString = $($R0)
  918.             Ifstr(i) $(ErrorString) != NO_ERROR
  919.                 Debug-Output "OEMNADOD.INF: NwAddOdiLoadModule "$(ErrorString)
  920.                 EndWait
  921.                 goto fatalregistry
  922.             Endif
  923.  
  924.             Debug-Output "PromptForSrcRouting = "$(PromptForSrcRouting)
  925.             Ifstr(i) $(PromptForSrcRouting) == "TRUE"
  926.                 Shell $(NwSubsInf) NwConfigureSourceRouting
  927.             Endif
  928.  
  929.             Ifstr(i) $(!NTN_InstallMode) == install
  930.                 ; Open the driver key to add the busNumber, busType, HIN,
  931.                 ;and slotNumber
  932.                 set KeyToFind = +
  933.                     $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
  934.                 OpenRegKey $(!REG_H_LOCAL) ""  $(KeyToFind) $(MAXIMUM_ALLOWED) +
  935.                     DriverKey
  936.                 set NewValueList = +
  937.                     {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)},+
  938.                     {BusType,$(NoTitle),$(!REG_VT_DWORD),$(NTBusType)},+
  939.                     {HIN,$(NoTitle),$(!REG_VT_DWORD),1},+
  940.                     {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}}
  941.               Shell  $(UtilityInf), AddValueList, $(DriverKey), $(NewValueList)
  942.                 CloseRegKey $(DriverKey)
  943.                 Set OdiAdapterInstalledOkay = "1"
  944.             Endif
  945.  
  946.             ifstr(i) $(CurrentInstallMode) == configure
  947.                 goto endwriteparameters
  948.             endif
  949.         endif
  950.     EndForListDo
  951. endwriteparameters = +
  952.     CloseRegKey $(KeyParameters)
  953.     EndWait
  954.     goto successful
  955.  
  956. bindingadapter =+
  957.     set Error = $(BindingError)
  958.     goto fatal
  959.  
  960. removeadapter = +
  961.     Shell $(NwSubsInf) NwRemoveAdapter $(!NTN_RegBase)
  962.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  963.         Debug-Output "OEMNADOD.INF: Shell Error NwRemoveAdapter "$($ShellCode)
  964.     Endif
  965.  
  966.     Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(ClientProvider)
  967.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  968.         Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$($ShellCode)
  969.         goto ShellCodeError
  970.     Endif
  971.  
  972.     set RegistryErrorIndex = $($R0)
  973.  
  974.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  975.         Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$(RegistryErrorIndex)
  976.         Ifstr(i) $(RegistryErrorIndex) == "SHELL_CODE_ERROR"
  977.             goto ShellCodeError
  978.         Endif
  979.         goto fatalregistry
  980.     Endif
  981.  
  982.     goto end
  983.  
  984. UpgradeSoftware = +
  985.     Ifstr(i) $(DoCopy) == "YES"
  986.         Ifstr(i) $(SrcDir) == ""
  987.  
  988.             ;
  989.             ;  Get source location
  990.             ;
  991.  
  992.             Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES
  993.  
  994.             Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  995.                 Goto ShellCodeError
  996.             Else-Ifstr(i) $($R0) == STATUS_FAILED
  997.                 Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  998.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  999.                     goto ShellCodeError
  1000.                 endif
  1001.                 set Error = $($R0)
  1002.                 Goto fatal
  1003.             Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  1004.                 Goto end
  1005.             Endif
  1006.  
  1007.             Set SrcDir = $($R1)
  1008.         Endif
  1009.     Endif
  1010.  
  1011.     install "Install-Option"
  1012.  
  1013.     Ifstr(i) $(DoConfig) == "YES"
  1014.         goto configureadapter
  1015.     else
  1016.         goto end
  1017.     endif
  1018.  
  1019. successful = +
  1020.     goto end
  1021.  
  1022. abandon = +
  1023.     ForListDo $(OEM_ABANDON_OPTIONS)
  1024.     Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(ClientProvider) $($)
  1025.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1026.         Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$($ShellCode)
  1027.         goto ShellCodeError
  1028.     Endif
  1029.  
  1030.         set RegistryErrorIndex = $($R0)
  1031.  
  1032.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1033.             goto fatalregistry
  1034.         endif
  1035.     EndForListDo
  1036.  
  1037.     goto end
  1038.  
  1039. warning = +
  1040.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1041.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1042.         goto ShellCodeError
  1043.     endif
  1044.     ifstr(i) $($R1) == "OK"
  1045.         goto $(to)
  1046.     else-ifstr(i) $($R1) == "CANCEL"
  1047.         goto $(from)
  1048.     else
  1049.         goto "end"
  1050.     endif
  1051.  
  1052.  
  1053. nonfatalinfo = +
  1054.     Set CommonStatus = STATUS_USERCANCEL
  1055.     Set Severity = STATUS
  1056.     goto nonfatalmsg
  1057. nonfatal = +
  1058.     Set Severity = NONFATAL
  1059.     goto nonfatalmsg
  1060. nonfatalmsg = +
  1061.     ifstr(i) $(Error) == ""
  1062.         Set Severity = NONFATAL
  1063.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1064.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1065.             goto ShellCodeError
  1066.         endif
  1067.         set Error = $($R0)
  1068.     endif
  1069.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1070.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1071.         goto ShellCodeError
  1072.     endif
  1073.     ifstr(i) $($R1) == "OK"
  1074.         goto $(from)
  1075.     else
  1076.         goto "end"
  1077.     endif
  1078.  
  1079. fatalregistry = +
  1080.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1081.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1082.         goto ShellCodeError
  1083.     endif
  1084.     set Error = $($R0)
  1085.     goto fatal
  1086.  
  1087. fataldetect = +
  1088.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1089.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1090.         Debug-Output "OEMNADOD.INF: ShellCode error: cannot get an error string."
  1091.         goto ShellCodeError
  1092.     endif
  1093.     set Error = $($R0)
  1094.     Goto fatal
  1095. fatal = +
  1096.     ifstr(i) $(Error) == ""
  1097.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1098.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1099.             goto ShellCodeError
  1100.         endif
  1101.         set Error = $($R0)
  1102.     endif
  1103.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1104.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1105.         goto ShellCodeError
  1106.     endif
  1107.  
  1108.     goto setfailed
  1109.  
  1110. ShellCodeError = +
  1111.     set DlgType      = "MessageBox"
  1112.     set STF_MB_TITLE = "Error: "$(Function$(Option)Title)
  1113.     set STF_MB_TEXT  = "Shell Code Error"
  1114.     set STF_MB_TYPE  = 1
  1115.     set STF_MB_ICON  = 3
  1116.     set STF_MB_DEF    = 1
  1117.     ui start "Error Message"
  1118.     goto setfailed
  1119.  
  1120. setfailed = +
  1121.     set CommonStatus = STATUS_FAILED
  1122.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1123.         set OEM_ABANDON_ON = FALSE
  1124.         goto abandon
  1125.     endif
  1126.     goto end
  1127.  
  1128. end = +
  1129.     goto term
  1130.  
  1131. term = +
  1132. ;    Ifstr(i) $(OdiAdapterInstalledOkay) == "1"
  1133. ;        Debug-Output "Calling NwSubsInf to GetOdiAdapterList."
  1134. ;        Shell $(NwSubsInf) GetOdiAdapterList
  1135. ;        ifint $($R3) < 2
  1136. ;            Set DlgType = "MessageBox"
  1137. ;            Set STF_MB_TITLE = "NetWare ODI LAN Drivers Setup"
  1138. ;            Set STF_MB_TEXT  = "The NetWare ODI Adapter was successfully installed.  "+
  1139. ;                            "Your NetWare installation is COMPLETE."
  1140. ;            Set STF_MB_TYPE  = 1
  1141. ;            Set STF_MB_ICON  = 2
  1142. ;            Set STF_MB_DEF    = 1
  1143. ;            ui start "Error Message"
  1144. ;        Endif
  1145. ;    Endif
  1146.  
  1147.     ;
  1148.     ; Check if ODINSUP needs to be installed
  1149.     ;
  1150.  
  1151.     Shell $(NwSubsInf), CheckIfODINSUPIsNeeded
  1152.  
  1153.     Return $(CommonStatus)
  1154.  
  1155. [Install-Option]
  1156.     set STF_VITAL = ""
  1157.  
  1158.     ifstr(i) $(AddCopy) == "YES"
  1159.         AddSectionKeyFileToCopyList $(Option) DriverName $(SrcDir) $(!STF_WINDOWSSYSPATH)\netware
  1160.     endif
  1161.  
  1162.     ifstr(i) $(DoCopy) == "YES"
  1163.         set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1164.         CopyFilesInCopyList
  1165.     endif
  1166.  
  1167.     ifstr(i) $(DoConfig) == "YES"
  1168.     endif
  1169.  
  1170.     Exit
  1171.  
  1172. ;[Install-Update]
  1173. ;    set STF_VITAL        = ""
  1174. ;    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1175. ;
  1176. ;    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\netware
  1177. ;    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1178. ;
  1179. ;    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1180. ;    CopyFilesInCopyList
  1181. ;
  1182. ;    exit
  1183.  
  1184. [Source Media Descriptions]
  1185.     1  = $(NetWareODILANDriversDisk)
  1186.  
  1187. [ProductType]
  1188. STF_PRODUCT  = Winnt
  1189. STF_PLATFORM = I386
  1190.  
  1191.  
  1192. [ChoicesNamesList]
  1193.     "AutoDetect",         "Auto Detect Media",     "AutoDetectMediaConnected"
  1194.     "TP",                    "TP (RJ-45 Connector)", "RJ45Connector"
  1195.     "BNC",                "BNC Connector",            "BNCConnector"
  1196.     "TP_Full_Duplex",    "Full Duplex Mode",        "TPFullDuplexMode"
  1197.     "Line_Speed",        "Line Speed",                "LineSpeed"
  1198.  
  1199.  
  1200. [ODIListNamesSection]
  1201.     List1
  1202.     List2
  1203.     List3
  1204.     List4
  1205.     List5
  1206.     List6
  1207.  
  1208. [KeyOnlyList]
  1209.     Num1 = $(Present)
  1210.     Num2 = $(NotPresent)
  1211.  
  1212. [Line_SpeedList]
  1213.     Num1 = $(NotPresent)
  1214.     Num2 = 100
  1215.     Num3 = 10
  1216.  
  1217. [DefaultParameterLists]
  1218.     KeyOnlyList
  1219.     Line_SpeedList
  1220.  
  1221. ;
  1222. ;See the documentation on "Building your own OEMSETUP.INF" for more information.
  1223. ;
  1224.  
  1225.  
  1226. [Options]
  1227.     ODI_E100B
  1228.  
  1229.  
  1230. [ODI_E100B]
  1231. Title = "Intel EtherExpress PRO PCI Adapter"
  1232. DriverName = 1, E100B.LAN
  1233. MediaType = "ETHERNET"
  1234. CardType = "PCI"
  1235. CardId = 4649       ;1229h
  1236. Vendor = 32902      ;8086h
  1237. Custom =    {}
  1238. List1 = "SPEED" , "Speed" , "0", { "0", "10", "100"}
  1239. List2 = "FORCEDUPLEX" , "ForceDuplex", "0", {"0", "1", "2"}
  1240. CanShareSlot = "NO"
  1241.  
  1242.  
  1243. [Strings]
  1244.     ;
  1245.     ; Every string that is in quotes from this point to the end of the
  1246.     ; file will be pulled out and put into the translation teams database.
  1247.     ; There parser looks for the section [Strings] and then goes to the
  1248.     ; end of the file.  DO NOT put strings below this point in the file
  1249.     ; that should not be translated.  Likewise, all strings that need to
  1250.     ; be translated should be in quotes and below this point in the file.
  1251.     ;
  1252.  
  1253. [ODIStringsENG]
  1254. AdapterForNetWare = " Adapter for NetWare"
  1255. NetWareForWindowsNT = "NetWare for Windows NT"
  1256. Present = "Present"
  1257. NotPresent = "Not Present"
  1258. NetWareODILANDriversDisk = "NetWare ODI LAN Drivers Disk"
  1259. BindingError = "Binding: Sorry, not yet implemented."
  1260.  
  1261. [DialogConstantsENG]
  1262. Help        = "&Help"
  1263. ;Exit        = "&Cancel"
  1264. OK          = "OK"
  1265. HelpContext = ""
  1266. Continue    = "&Continue"
  1267. Cancel      = "&Cancel"
  1268. Advanced = "&Advanced"
  1269. IDH_NETWAREWRKSTATIONPARMS =  901
  1270. IDH_NETWAREIPXBIND         =  902
  1271. IDH_IPXSPXPARMS            =  903
  1272. IDH_NETWORKPROTOCOL        =  904
  1273. IDH_NETWAREODISETTINGS     =  905
  1274. IDH_NETWARECLIENTINSTALL   =  906
  1275. IDH_NETWARENDISODI         =  907
  1276. IDH_NODEADDRESSOVERIDE     =  908
  1277. IDH_RESMGRCONFIG                =  951
  1278.  
  1279. [LANDriverDlgENG]
  1280. DlgType = "RadioCombination"
  1281. DlgTemplate = "List"$(ODINumberofDriverLists)
  1282. Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
  1283. EditTextIn = ""
  1284. EditTextLim = ""
  1285. CBOptionsGreyed = {}
  1286. HelpContext = $(IDH_NETWAREODISETTINGS)
  1287.  
  1288.  
  1289. [NoParmsENG]
  1290. DlgType = "RadioCombination"
  1291. DlgTemplate = "NO_PARAMETERS"
  1292. Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
  1293. EditTextIn = ""
  1294. EditTextLim = ""
  1295. CBOptionsGreyed = {}
  1296. HelpContext = ""
  1297. CBOptionsGreyed = {}
  1298. ComboListItemsIn = {}
  1299. ComboListItemsOut = {}
  1300. NotifyFields = {}
  1301.  
  1302.  
  1303. [AdvancedDialogENG]
  1304. DlgType = "RadioCombination"
  1305. Caption = "Advanced Settings"
  1306. EditTextIn = $(ODINodeAddress)
  1307. EditTextLim = 13
  1308. CBOptionsGreyed = {}
  1309. HelpContext = $(IDH_NODEADDRESSOVERIDE)
  1310. NotifyFields = {}
  1311.  
  1312.  
  1313. [FileConstantsENG]
  1314. ProCaption    = "NetWare ODI LAN Drivers Setup"
  1315. ProCancel    = "Cancel"
  1316. ProCancelMsg = "NetWare for Windows NT is not correctly installed.  "+
  1317.                 "Are you sure you want to cancel copying files?"
  1318. ProCancelCap = "Network Setup Message"
  1319. ProText1     = "Copying:"
  1320. ProText2     = "To:"
  1321.