home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 January / CHIPCD1_98.iso / software / testsoft / nds / i386 / nls / english / oemnadob.in_ / oemnadob.in
Text File  |  1996-10-29  |  36KB  |  1,351 lines

  1. ;***********************************************************************
  2. ;
  3. ; OEMNADOB.INF
  4. ;
  5. ;    Novell NetWare MCA card INF for Novell ODI drivers
  6. ;
  7. ;
  8. ;***********************************************************************
  9. ; VeRsIoN=1.00 Novell Client Install for Windows NT.
  10. ; CoPyRiGhT=(c) Copyright 1996, by Novell, Inc. All rights reserved.
  11.  
  12. [Identification]
  13.     OptionType = NetAdapter
  14.  
  15. [PlatformsSupported]
  16.     MCA
  17.     "Jazz-Internal Bus"
  18.  
  19. [LanguagesSupported]
  20.     ENG
  21.  
  22. [FileConstants]
  23.  
  24. UtilityInf        = "UTILITY.INF"
  25. ParamInf        = "NCPARAM.INF"
  26. subroutineinf   = "SUBROUTN.INF"
  27. NwSubsInf        = "NWSUBS.INF"
  28. Exit_Code        = 0
  29.  
  30. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  31. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  32.  
  33. Manufacturer            = "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)"\"$(Manufacturer)"\"$(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 "OEMNADOB.INF-[finish_ReturnOptions]:"
  142. Debug-Output "OEMNADOB.INF-          Status = "$(Status)
  143. Debug-Output "OEMNADOB.INF-      OptionList = "$(OptionList)
  144. Debug-Output "OEMNADOB.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 ODICardIdByte1 = #($(Option), CardIdByte1, 1)
  302.     set ODICardIdByte2 = #($(Option), CardIdByte2, 1)
  303.     ifstr(i) #($(Option), CanShareSlot, 1) == "YES"
  304.         set SkipDescriptionCheck = "NO"
  305.     else
  306.         set SkipDescriptionCheck = "YES"
  307.     endif
  308.     Debug-Output "ODILANDriverName = "$(ODILANDriverName)
  309.     Debug-Output "ODIMediaType = "$(ODIMediaType)
  310.  
  311.     ifstr(i) $(ODIMediaType) == "ETHERNET"
  312.         set NdisMediaType = "1"
  313.     else-ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  314.         set NdisMediaType = "2"
  315.     else-ifstr(i) $(ODIMediaType) == "FDDI"
  316.         set NdisMediaType = "4"
  317.     else
  318.         Debug-Output "OEMNADOB.INF: Unknown media type "$(ODIMediaType)
  319.         set NdisMediaType = ""
  320.     endif
  321.  
  322.     set from = $(fatal)
  323.     set to = $(fatal)
  324.     goto $(StartLabel)
  325.  
  326. installadapter = +
  327.  
  328.     Ifstr(i) $(DoCopy) == "YES"
  329.         ;
  330.         ;  Get source location
  331.         ;
  332.         Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES
  333.  
  334.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  335.             Goto ShellCodeError
  336.         Else-Ifstr(i) $($R0) == STATUS_FAILED
  337.             Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  338.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  339.                 goto ShellCodeError
  340.             endif
  341.             set Error = $($R0)
  342.             Goto fatal
  343.         Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  344.             Goto end
  345.         Endif
  346.  
  347.         Set SrcDir = $($R1)
  348.     Endif
  349.  
  350.     install "Install-Option"
  351.  
  352.     goto adapteroptions
  353.  
  354. configureadapter = +
  355.     Debug-Output "Starting configureadapter."
  356.     Ifstr $(KeyProduct) == $(KeyNull)
  357.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  358.         Ifstr $(KeyProduct) == $(KeyNull)
  359.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  360.             Debug-Output "OEMNADOB.INF: Cannot find component product key "$(!NTN_RegBase)
  361.             goto fatalregistry
  362.         Endif
  363.     Endif
  364.  
  365.     Set AdapterNumber = ""
  366.  
  367.     Shell $(UtilityInf) FindService, $(KeyProduct)
  368.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  369.         Debug-Output "OEMNADOB.INF: FindService shell failure "$($ShellCode)
  370.         Goto ShellCodeError
  371.     Endif
  372.     Ifstr(i) $($R0) != NO_ERROR
  373.         Debug-Output "OEMNADOB.INF: FindService Error "$($R0)
  374.         Goto fatalregistry
  375.     endif
  376.  
  377.     set KeyParameters = $($R2)
  378.     set ServiceAreaHandle = $($R1)
  379.  
  380.     Ifstr $(KeyParameters) == $(KeyNull)
  381.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  382.         Debug-Output "OEMNADOB.INF: Cannot find component service "$(KeyProduct)
  383.         goto fatalregistry
  384.     endif
  385.  
  386.     set OldVersionExisted = $(TRUE)
  387.  
  388.     set ValueName = ""
  389.     set ValueData = ""
  390.     set ValueStr  = ""
  391.     set ValueList = {}
  392.  
  393.     GetRegValue $(KeyParameters) ODILoadName ODILoadName
  394.     Set CardInstanceName = *($(ODILoadName),4)
  395.  
  396.     Ifstr $(CardInstanceName) == $(KeyNull)
  397.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  398.         Debug-Output "OEMNADOB.INF: Cannot find CardInstanceName"
  399.         goto fatalregistry
  400.     endif
  401.  
  402.     set KeyToFind = $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
  403.     OpenRegKey $(!REG_H_LOCAL) ""  $(KeyToFind) $(MAXIMUM_ALLOWED) DriverKey
  404.     Ifstr $(DriverKey) == $(KeyNull)
  405.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  406.         Debug-Output "OEMNADOB.INF: Cannot find component product key = "$(KeyToFind)
  407.         goto fatalregistry
  408.     Endif
  409.  
  410.     GetRegValue $(DriverKey) Parameters ParameterList
  411.  
  412.     ;  get the data portion
  413.     set ParameterList = *($(ParameterList), 4)
  414.  
  415.     Debug-Output "parameter list = "$(ParameterList)
  416.  
  417.     ForListDo $(ParameterList)
  418.         set ThisParameterList = $($)
  419.         Split-String $($) " " SplitList
  420.         set KeyToSearchFor = *($(SplitList), 1)
  421.         set ValueToUse = *($(SplitList), 3)
  422.         Debug-Output "Keytosearchfor = "$(KeyToSearchFor)
  423.         Debug-Output "ValueToUse = "$(ValueToUse)
  424.         ;
  425.         ;   #1    #2     #3
  426.         ; "Parm"  " "     "Value"
  427.         ;
  428.         set ValueFound = 0
  429.  
  430.         ;
  431.         ; check frametypes for TOKEN-RING, TOKEN-RING_SNAP
  432.         ;
  433.         ifstr(i) $(KeyToSearchFor) == "FRAME"
  434.             ;
  435.             ; Don't append Frametypes to ODIAdditionalParms, so set ValueFound = 1
  436.             ;
  437.             set ValueFound = 1
  438.             QueryListSize SplitListSize $(SplitList)
  439.             ifstr(i) *($(SplitList), 3) == "TOKEN-RING"
  440.                 set LastParameter = *($(SplitList), $(SplitListSize))
  441.                 ifstr(i) $(LastParameter) == "MSB"
  442.                     set ODITokenRing = "MSB"
  443.                 else-ifstr(i) $(LastParameter) == "LSB"
  444.                     set ODITokenRing = "LSB"
  445.                 else
  446.                     ;
  447.                     ; Not there, so default to MSB
  448.                     ;
  449.                     set ODITokenRing = "MSB"
  450.                 endif
  451.             else-ifstr(i) *($(SplitList), 3) == "TOKEN-RING_SNAP"
  452.                 set LastParameter = *($(SplitList), $(SplitListSize))
  453.                 ifstr(i) $(LastParameter) == "MSB"
  454.                     set ODITokenRingSnap = "MSB"
  455.                 else-ifstr(i) $(LastParameter) == "LSB"
  456.                     set ODITokenRingSnap = "LSB"
  457.                 else
  458.                     ;
  459.                     ; Not there, so default to MSB
  460.                     ;
  461.                     set ODITokenRingSnap = "MSB"
  462.                 endif
  463.             endif
  464.         ;
  465.         ; Check for NODE parameter
  466.         ;
  467.         else-ifstr(i) $(KeyToSearchFor) == "NODE"
  468.             set ODINodeAddress = $(ValueToUse)
  469.             set ValueFound = 1
  470.         ;
  471.         ; Check for SLOT parameter
  472.         ;
  473.         else-ifstr(i) $(KeyToSearchFor) == "SLOT"
  474.             set ODIDefaultSlot = $(ValueToUse)
  475.             set ValueFound = 1
  476.         ;
  477.         ; Check for BUSNAME parameter - ignore it
  478.         ;
  479.         else-ifstr(i) $(KeyToSearchFor) == "BUSNAME"
  480.             set ValueFound = 1
  481.         ;
  482.         ; Check for BUSTYPE parameter
  483.         ;
  484.         else-ifstr(i) $(KeyToSearchFor) == "BUSTYPE"
  485.             set ValueFound = 1
  486.             set BusInterfaceType = $(ValueToUse)
  487.         ;
  488.         ; Check for BUS parameter
  489.         ;
  490.         else-ifstr(i) $(KeyToSearchFor) == "BUS"
  491.             set ValueFound = 1
  492.             set BusNumber = $(ValueToUse)
  493.         endif
  494.  
  495.         ForListDo $(DriverListNames)
  496.             ifstr(i) $(KeyToSearchFor) == $($($)Keyword)
  497.                 set $($)Default = $(ValueToUse)
  498.                 set ValueFound = 1
  499.                 ifcontains(i) $(ValueToUse) NOT-IN $($($)List)
  500.                     set $($)List = >($($($)List), $(ValueToUse))
  501.                 endif
  502.             endif
  503.         EndForListDo
  504.  
  505.         Debug-Output "Value Found = "$(ValueFound)
  506.  
  507.         ifint $(ValueFound) == 0
  508.             set FoundInCustom = 0
  509.  
  510.             ForListDo $(ODICustomList)
  511.                 ifstr(i) $($) == $(ThisParameterList)
  512.                     set FoundInCustom = 1
  513.                 endif
  514.             EndForListDo
  515.  
  516.             Debug-Output "Found in Custom = "$(FoundInCustom)
  517.  
  518.               ifint $(FoundInCustom) == 0
  519.                 ifstr $(ODIDriverAdditionalParms) == {}
  520.                     set ODIDriverAdditionalParms = $(KeyToSearchFor)" "$(ValueToUse)
  521.                 else
  522.                     set ODIDriverAdditionalParms = >($(ODIDriverAdditionalParms), $(KeyToSearchFor)" "$(ValueToUse))
  523.                 endif
  524.             endif
  525.         endif
  526.     EndForListDo
  527.  
  528.     Debug-Output "AdditionalParms = "$(ODIDriverAdditionalParms)
  529.     Debug-Output "CustomList = "$(ODICustomList)
  530.     Debug-Output "BusType = "$(BusInterfaceType)
  531.     Debug-Output "Bus = "$(BusNumber)
  532.  
  533.  
  534. adaptersetup =+
  535.  
  536.     goto adapteroptions
  537. adapteroptions = +
  538.     set from = adapteroptions
  539.  
  540.     ;
  541.     ; Find what NLS directory is being used
  542.     ;
  543.  
  544.     set NovellParameters = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Parameters"
  545.     OpenRegKey $(!REG_H_LOCAL) "" $(NovellParameters) $(MAXIMUM_ALLOWED) KeyNovellParameters
  546.     ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  547.         GetRegValue $(KeyNovellParameters) "NWLanguage" LanguageList
  548.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  549.             set NLSDirName = *($(LanguageList), 4)
  550.             LoadLibrary $(NetWareForWindowsNT) $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwsetupr.dll" NwLibHandle
  551.             SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwnthelp.hlp" $(!MinimumID) $(!MaximumID)
  552.         else
  553.             goto fatalregistry
  554.         endif
  555.         CloseRegKey $(KeyNovellParameters)
  556.     else
  557.         goto fatalregistry
  558.     Endif
  559.  
  560. dothedialog = +
  561.     Debug-Output "Start dothedialog."
  562.     ifint $(ODINumberofDriverLists) == 0
  563.         Debug-Output "ODINumberofDriveLists == 0."
  564.         ifstr(i) $(CurrentInstallMode) == configure
  565.             read-syms NoParms$(!STF_LANGUAGE)
  566.             ui start "WorkstationDLG" $(NwLibHandle)
  567.  
  568.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  569.                 Debug-Output "OK hit"
  570.             else-ifstr(i) $(DLGEVENT) == "EXIT"
  571.             ;
  572.             ; user selected the advanced button
  573.             ;
  574.                 goto doadvancedsettings
  575.             endif
  576.         endif
  577.     else
  578.         Debug-Output "ODINumberofDriveLists != 0."
  579.         read-syms LANDriverDlg$(!STF_LANGUAGE)
  580.  
  581.         set NotifyFields = {}
  582.         set ComboListItemsIn = {}
  583.         set ComboListItemsOut = {}
  584.         ForListDo $(DriverListNames)
  585.             set NotifyFields = >($(NotifyFields), "NO")
  586.             set ComboListItemsIn = >($(ComboListItemsIn), $($)List)
  587.             ifstr $($($)Value) == ""
  588.                 set $($)Value = $($($)Default)
  589.             endif
  590.             set ComboListItemsOut = >($(ComboListItemsOut), $($)Value)
  591.         EndForListDo
  592.  
  593.         ui start "LANDriverParms" $(NwLibHandle)
  594.  
  595.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  596.             Debug-Output "Continue hit"
  597.         else-ifstr(i) $(DLGEVENT) == "BACK"
  598.             Debug-Output "Action: CANCEL. Bye."
  599.             set CommonStatus = STATUS_USERCANCEL
  600.             ui pop 1
  601.             FreeLibrary $(NwLibHandle)
  602.             goto end
  603.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  604.  
  605. doadvancedsettings =+
  606.         ;
  607.         ; user selected the advanced button
  608.         ;
  609.             Debug-Output "Action: ADVANCED DIALOG"
  610.             read-syms AdvancedDialog$(!STF_LANGUAGE)
  611.             set RadioIn = {}
  612.             set ComboListItemsIn = {}
  613.             set ComboListItemsOut = {}
  614.             set ComboOut = $(ODIDefaultSlot)
  615.  
  616.             ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  617.                 ifstr(i) $(ODISlotList) == {}
  618.                     set DlgTemplate = "DLG_ADVANCEDDRIVER3"
  619.                 else
  620.                     set ComboListItemsIn = { ODISlotList }
  621.                     set ComboListItemsOut = { ComboOut }
  622.                     set DlgTemplate = "DLG_ADVANCEDDRIVER1"
  623.                 endif
  624.  
  625.                 ifstr(i) $(ODITokenRing) == "LSB"
  626.                     set RadioIn = { 2 }
  627.                 else
  628.                     set RadioIn = { 1 }
  629.                 endif
  630.  
  631.                 ifstr(i) $(ODITokenRingSnap) == "LSB"
  632.                     set RadioIn = >($(RadioIn), "4")
  633.                 else
  634.                     set RadioIn = >($(RadioIn), "3")
  635.                 endif
  636.             else
  637.                 ifstr(i) $(ODISlotList) == {}
  638.                     set DlgTemplate = "DLG_ADVANCEDDRIVER4"
  639.                 else
  640.                     set ComboListItemsIn = { ODISlotList }
  641.                     set ComboListItemsOut = { ComboOut }
  642.                     set DlgTemplate = "DLG_ADVANCEDDRIVER2"
  643.                 endif
  644.             endif
  645.  
  646.             ui start "AdvancedDialog" $(NwLibHandle)
  647.             ui pop 1
  648.  
  649.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  650.                 set ODINodeAddress = *($(EditTextOut), 1)
  651.                 set ODIDefaultSlot = *($(ComboOut), 1)
  652.                 ifcontains "2" IN $(RadioOut)
  653.                     set ODITokenRing = "LSB"
  654.                 else
  655.                     set ODITokenRing = "MSB"
  656.                 endif
  657.                 ifcontains "4" IN $(RadioOut)
  658.                     set ODITokenRingSnap = "LSB"
  659.                 else
  660.                     set ODITokenRingSnap = "MSB"
  661.                 endif
  662.             else-ifstr(i) $(DLGEVENT) == "BACK"
  663.                 Debug-Output "Action: CANCEL. Bye."
  664.             endif
  665.  
  666.             goto dothedialog
  667.         else
  668.             Debug-Output "Action: unknown. Bye."
  669.             ui pop 1
  670.             FreeLibrary $(NwLibHandle)
  671.             goto end
  672.         endif
  673.  
  674.         ui pop 1
  675.  
  676.  
  677.         ForListDo $(DriverListNames)
  678.             Debug-Output "List"$(#)"Value = "$($($)Value)
  679.         EndForListDo
  680.     endif
  681.  
  682.     Debug-Output "FreeLibrary $(NwLibHandle)"
  683.     FreeLibrary $(NwLibHandle)
  684.  
  685.     ifint $(OldVersionExisted) == $(TRUE)
  686.         ifstr(i) $(CurrentInstallMode) == configure
  687.             Debug-Output "going to writeparameters based on OldVersionExisted."
  688.             goto writeconfigureparameters
  689.         endif
  690.     endif
  691.  
  692.     StartWait
  693.     
  694.     goto writeparameters
  695.  
  696. writeparameters = +
  697.     Debug-Output "Starting writeparameters."
  698.  
  699.     Debug-Output "Calling MCAFindBus."
  700.     ; Use the EISAFindBus utiltiy to find the bus number and slot number
  701.     ; the adapter is installed in.
  702.     set NTBusType = 3
  703.     Shell $(UtilityInf), MCAFindBus, $(ODICardIdByte1), $(ODICardIdByte2)
  704.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  705.         EndWait
  706.         goto ShellCodeError
  707.     endif
  708.     ifstr $($R0) != "NO_ERROR"
  709.         EndWait
  710.         set Error = $($R0)
  711.         goto fatal
  712.     endif
  713.     ifstr(i) $($R1) == {}
  714.         EndWait
  715.         set Error = $(CANNOT_FIND_ANY_CARD)
  716.         set CommonStatus = STATUS_USERCANCEL
  717.         set from = "end"
  718.         goto nonfatal
  719.     endif
  720.     set AdapterList = $($R1)
  721.  
  722.     set ProductHardwareDescription = +
  723.         "ODI "$(ODILANDriverTitle)$(AdapterForNetWare)
  724.  
  725.     ForListDo $(AdapterList)
  726.         ; Steps need to be taken for multiple adapters of the same type.
  727.         set NTBusNumber = *($($),1)
  728.         set NTSlotNumber = *($($),2)
  729.  
  730.         Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(NTBusNumber), +
  731.             $(NTSlotNumber), $(ProductHardwareDescription), +
  732.             $(ODILANDriverName), $(SkipDescriptionCheck)
  733.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  734.             goto ShellCodeError
  735.         endif
  736.         ifstr $($R0) != "NO_ERROR"
  737.             set Error = $($R0)
  738.             goto fatal
  739.         endif
  740.         ifstr(i) $($R1) != "YES"
  741.  
  742.             Debug-Output "Doing Shell AddHardwareComponent."
  743.             Shell $(UtilityInf), AddHardwareComponent, $(ODILANDriverName),+
  744.                 $(STF_CONTEXTINFNAME),$(ProductKeyName)
  745.  
  746.             ifint $($R4) != -1
  747.                 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS),+
  748.                 $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  749.             endif
  750.  
  751.  
  752.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  753.                 Debug-Output "OEMNADOB.INF:Cannot add hardware component "$($ShellCode)
  754.                 EndWait
  755.                 goto ShellCodeError
  756.             endif
  757.  
  758.             set RegistryErrorIndex = $($R0)
  759.  
  760.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  761.                 EndWait
  762.                 Debug-Output "OEMNADOB.INF: Registry error: add hardware component "$(RegistryErrorIndex)
  763.                 CloseRegKey $($R1)
  764.                 CloseRegKey $($R2)
  765.                 CloseRegKey $($R3)
  766.                 goto fatalregistry
  767.             endif
  768.  
  769.             set KeyParameters = $($R3)
  770.             set KeyAdapterRules = $($R2)
  771.             set AdapterNumber = $($R4)
  772.  
  773.             Set-add TempAdapterNumber = $(AdapterNumber),0
  774.  
  775.             set CardInstanceName = $(ODILANDriverName)" #"$(TempAdapterNumber)
  776.  
  777.             set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),+
  778.                 $(Manufacturer)}, {Title,$(NoTitle),$(!REG_VT_SZ),+
  779.                 "["$($R4)"] ODI "$(ODILANDriverTitle)$(AdapterForNetWare)},+
  780.                 {Description,$(NoTitle),$(!REG_VT_SZ),+
  781.                     $(ProductHardwareDescription)},+
  782.                 {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ODILANDriverName)},+
  783.                 {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  784.                 {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},+
  785.                 {OdiAdapter,$(NoTitle),$(!REG_VT_DWORD),1}}
  786.  
  787.             Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  788.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  789.                 Debug-Output "OEMNADOB.INF: AddValueList ShellCode error "$($ShellCode)
  790.                 EndWait
  791.                 goto ShellCodeError
  792.             endif
  793.  
  794.             CloseRegKey $($R1)
  795.  
  796.             set TempProdName = """"$(ODILANDriverName)$(AdapterNumber)""""
  797.             set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  798.  
  799.             set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),+
  800.                 $(NetRuleHardwareType)},{bindform,$(NoTitle),$(!REG_VT_SZ),+
  801.                 $(TempBindForm)}, {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  802.  
  803.             Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  804.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  805.                 Debug-Output "OEMNADOB.INF: AddValueList ShellCode error "$($ShellCode)
  806.                 EndWait
  807.                 goto ShellCodeError
  808.             endif
  809.  
  810.             set RegistryErrorIndex = $($R0)
  811.  
  812.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  813.                 EndWait
  814.                 Debug-Output "OEMNADOB.INF: AddValueList Registry error "$(RegistryErrorIndex)
  815.                 CloseRegKey $(KeyParameters)
  816.                 CloseRegKey $(KeyAdapterRules)
  817.                 goto fatalregistry
  818.             endif
  819.  
  820.             CloseRegKey $(KeyAdapterRules)
  821.  
  822.             SetRegValue $(KeyParameters) {OdiLoadName,$(NoTitle),$(!REG_VT_SZ),$(CardInstanceName)}
  823.             SetRegValue $(KeyParameters) {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)}
  824.             SetRegValue $(KeyParameters) {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}
  825.  
  826.  
  827.  
  828.  
  829. writeconfigureparameters = +
  830.             ; Jump to here if the drivers is already installed and specific driver
  831.             ; configuration was selected.
  832.  
  833.             ifstr(i) $(NdisMediaType) == ""
  834.                 set NdisMediaType = "1"
  835.                 Debug-Output "OEMNADOB.INF: Media type NOT set"
  836.             endif
  837.  
  838.              set NewValueList = {{MediaType,$(NoTitle),$(!REG_VT_DWORD), +
  839.                 $(NdisMediaType)}}
  840.  
  841.             ForListDo $(DriverListNames)
  842.                 ifstr $(MSParameterName$(#)) != ""
  843.                     set-hextodec DecValue = $($($)Value)
  844.                     set ValueToAdd = {$(MSParameterName$(#)),$(NoTitle), +
  845.                         $(!REG_VT_DWORD), $(DecValue)}
  846.                     set NewValueList = >($(NewValueList), $(ValueToAdd))
  847.                 endif
  848.             EndForListDo
  849.     
  850.     
  851.             Debug-Output "AddValueList with KeyParameters = "$(KeyParameters)
  852.             Debug-Output "and NewValueList = "$(NewValueList)
  853.             Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  854.  
  855.  
  856.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  857.                 Debug-Output "OEMNADOB.INF: AddValueList ShellCode error "$($ShellCode)
  858.                 EndWait
  859.                 goto ShellCodeError
  860.             endif
  861.  
  862.             set RegistryErrorIndex = $($R0)
  863.  
  864.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  865.                 Debug-Output "OEMNADOB.INF: AddValueList Registry error "$($ShellCode)
  866.                 EndWait
  867.                 goto fatalregistry
  868.             endif
  869.  
  870.  
  871.             set PromptForSrcRouting = "FALSE"
  872.  
  873.  
  874.  
  875.  
  876.  
  877.             Ifstr(i) $(ODIMediaType) == "ETHERNET"
  878.                 set ODIParmList = {"Frame ETHERNET_802.2", +
  879.                            "Frame ETHERNET_802.3", +
  880.                            "Frame ETHERNET_II", +
  881.                            "Frame ETHERNET_SNAP" }
  882.             else-Ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  883.                 set ODIParmList = {"Frame TOKEN-RING "$(ODITokenRing), +
  884.                     "Frame TOKEN-RING_SNAP "$(ODITokenRingSnap) }
  885.  
  886.                 ;If there is an ODI stack available remove the comment on the next line
  887.                 ;set PromptForSrcRouting = "TRUE"
  888.  
  889.             else-Ifstr(i) $(ODIMediaType) == "FDDI"
  890.                 set ODIParmList = {"Frame FDDI_802.2", +
  891.                     "Frame FDDI_SNAP" }
  892.                 ;If there is an ODI stack available remove the comment on the next line
  893.                 ;set PromptForSrcRouting = "TRUE"
  894.  
  895.             else
  896.                 set ODIParmList = {}
  897.             endif
  898.  
  899.             Debug-Output "Framenames = "$(ODIParmList)
  900.  
  901.  
  902.             ;
  903.             ; Build List to send to ODI_MODULES\CARDNAME
  904.             ;
  905.             ForListDo $(DriverListNames)
  906.                 ifstr $($($)Value) == $(Present)
  907.                     set ODIParmList = >($(ODIParmList), $($($)Keyword))
  908.                 else-ifstr $($($)Value) != $(NotPresent)
  909.                     set ODIParmList = >($(ODIParmList), $($($)Keyword)" "$($($)Value))
  910.                 endif
  911.             EndForListDo
  912.  
  913.             ifstr $(ODINodeAddress) != ""
  914.                 set ODIParmList = >($(ODIParmList), "Node "$(ODINodeAddress))
  915.             endif
  916.  
  917.             ifstr $(ODIDefaultSlot) != ""
  918.                 set ODIParmList = >($(ODIParmList), "Slot "$(ODIDefaultSlot))
  919.             endif
  920.  
  921.             ForListDo $(ODIDriverAdditionalParms)
  922.                 ifstr $($) != ""
  923.                     set ODIParmList = >($(ODIParmList), $($))
  924.                 endif
  925.             EndForListDo
  926.  
  927.             ForListDo $(ODICustomList)
  928.                 ifstr $($) != ""
  929.                     set ODIParmList = >($(ODIParmList), $($))
  930.                 endif
  931.             EndForListDo
  932.  
  933.  
  934.             Debug-Output "ODIParmList = "$(ODIParmList)
  935.  
  936.  
  937.             Debug-Output "Calling NwSubsInf to NwAddOdiLoadModule."
  938.             Shell $(NwSubsInf) NwAddOdiLoadModule $(CardInstanceName) +
  939.                 $(AdapterNumber) $(ODIParmList)
  940.             Debug-Output "Back from Calling NwSubsInf to NwAddOdiLoadModule."
  941.  
  942.             Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  943.                 Debug-Output "OEMNADOB.INF: NwAddOdiLoadModule failure "$($ShellCode)
  944.                 Goto ShellCodeError
  945.             Endif
  946.  
  947.             Set ErrorString = $($R0)
  948.             Ifstr(i) $(ErrorString) != NO_ERROR
  949.                 Debug-Output "OEMNADOB.INF: NwAddOdiLoadModule "$(ErrorString)
  950.                 EndWait
  951.                 goto fatalregistry
  952.             Endif
  953.  
  954.             Debug-Output "PromptForSrcRouting = "$(PromptForSrcRouting)
  955.             Ifstr(i) $(PromptForSrcRouting) == "TRUE"
  956.                 Shell $(NwSubsInf) NwConfigureSourceRouting
  957.             Endif
  958.  
  959.             Ifstr(i) $(!NTN_InstallMode) == install
  960.                 ; Open the driver key to add the busNumber, busType, HIN,
  961.                 ;and slotNumber
  962.                 set KeyToFind = +
  963.                     $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
  964.                 OpenRegKey $(!REG_H_LOCAL) ""  $(KeyToFind) $(MAXIMUM_ALLOWED) +
  965.                     DriverKey
  966.                 set NewValueList = +
  967.                     {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)},+
  968.                     {BusType,$(NoTitle),$(!REG_VT_DWORD),$(NTBusType)},+
  969.                     {HIN,$(NoTitle),$(!REG_VT_DWORD),1},+
  970.                     {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}}
  971.               Shell  $(UtilityInf), AddValueList, $(DriverKey), $(NewValueList)
  972.                 CloseRegKey $(DriverKey)
  973.                 Set OdiAdapterInstalledOkay = "1"
  974.             Endif
  975.  
  976.             ifstr(i) $(CurrentInstallMode) == configure
  977.                 goto endwriteparameters
  978.             endif
  979.         endif
  980.     EndForListDo
  981. endwriteparameters = +
  982.     CloseRegKey $(KeyParameters)
  983.     EndWait
  984.     goto successful
  985.  
  986. bindingadapter =+
  987.     set Error = $(BindingError)
  988.     goto fatal
  989.  
  990. removeadapter = +
  991.     Shell $(NwSubsInf) NwRemoveAdapter $(!NTN_RegBase)
  992.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  993.         Debug-Output "OEMNADOB.INF: Shell Error NwRemoveAdapter "$($ShellCode)
  994.     Endif
  995.  
  996.     Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer)
  997.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  998.         Debug-Output "OEMNADOB.INF: NwRemoveNtAdapter "$($ShellCode)
  999.         goto ShellCodeError
  1000.     Endif
  1001.  
  1002.     set RegistryErrorIndex = $($R0)
  1003.  
  1004.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1005.         Debug-Output "OEMNADOB.INF: NwRemoveNtAdapter "$(RegistryErrorIndex)
  1006.         Ifstr(i) $(RegistryErrorIndex) == "SHELL_CODE_ERROR"
  1007.             goto ShellCodeError
  1008.         Endif
  1009.         goto fatalregistry
  1010.     Endif
  1011.  
  1012.     goto end
  1013.  
  1014. UpgradeSoftware = +
  1015.     Ifstr(i) $(DoCopy) == "YES"
  1016.         Ifstr(i) $(SrcDir) == ""
  1017.  
  1018.             ;
  1019.             ;  Get source location
  1020.             ;
  1021.  
  1022.             Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES
  1023.  
  1024.             Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1025.                 Goto ShellCodeError
  1026.             Else-Ifstr(i) $($R0) == STATUS_FAILED
  1027.                 Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  1028.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1029.                     goto ShellCodeError
  1030.                 endif
  1031.                 set Error = $($R0)
  1032.                 Goto fatal
  1033.             Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  1034.                 Goto end
  1035.             Endif
  1036.  
  1037.             Set SrcDir = $($R1)
  1038.         Endif
  1039.     Endif
  1040.  
  1041.     install "Install-Option"
  1042.  
  1043.     Ifstr(i) $(DoConfig) == "YES"
  1044.         goto configureadapter
  1045.     else
  1046.         goto end
  1047.     endif
  1048.  
  1049. successful = +
  1050.     goto end
  1051.  
  1052. abandon = +
  1053.     ForListDo $(OEM_ABANDON_OPTIONS)
  1054.     Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer) $($)
  1055.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1056.         Debug-Output "OEMNADOB.INF: NwRemoveNtAdapter "$($ShellCode)
  1057.         goto ShellCodeError
  1058.     Endif
  1059.  
  1060.         set RegistryErrorIndex = $($R0)
  1061.  
  1062.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1063.             goto fatalregistry
  1064.         endif
  1065.     EndForListDo
  1066.  
  1067.     goto end
  1068.  
  1069. warning = +
  1070.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1071.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1072.         goto ShellCodeError
  1073.     endif
  1074.     ifstr(i) $($R1) == "OK"
  1075.         goto $(to)
  1076.     else-ifstr(i) $($R1) == "CANCEL"
  1077.         goto $(from)
  1078.     else
  1079.         goto "end"
  1080.     endif
  1081.  
  1082.  
  1083. nonfatalinfo = +
  1084.     Set CommonStatus = STATUS_USERCANCEL
  1085.     Set Severity = STATUS
  1086.     goto nonfatalmsg
  1087. nonfatal = +
  1088.     Set Severity = NONFATAL
  1089.     goto nonfatalmsg
  1090. nonfatalmsg = +
  1091.     ifstr(i) $(Error) == ""
  1092.         Set Severity = NONFATAL
  1093.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1094.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1095.             goto ShellCodeError
  1096.         endif
  1097.         set Error = $($R0)
  1098.     endif
  1099.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1100.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1101.         goto ShellCodeError
  1102.     endif
  1103.     ifstr(i) $($R1) == "OK"
  1104.         goto $(from)
  1105.     else
  1106.         goto "end"
  1107.     endif
  1108.  
  1109. fatalregistry = +
  1110.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1111.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1112.         goto ShellCodeError
  1113.     endif
  1114.     set Error = $($R0)
  1115.     goto fatal
  1116.  
  1117. fataldetect = +
  1118.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1119.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1120.         Debug-Output "OEMNADOB.INF: ShellCode error: cannot get an error string."
  1121.         goto ShellCodeError
  1122.     endif
  1123.     set Error = $($R0)
  1124.     Goto fatal
  1125. fatal = +
  1126.     ifstr(i) $(Error) == ""
  1127.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1128.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1129.             goto ShellCodeError
  1130.         endif
  1131.         set Error = $($R0)
  1132.     endif
  1133.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1134.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1135.         goto ShellCodeError
  1136.     endif
  1137.  
  1138.     goto setfailed
  1139.  
  1140. ShellCodeError = +
  1141.     set DlgType      = "MessageBox"
  1142.     set STF_MB_TITLE = "Error: "$(Function$(Option)Title)
  1143.     set STF_MB_TEXT  = "Shell Code Error"
  1144.     set STF_MB_TYPE  = 1
  1145.     set STF_MB_ICON  = 3
  1146.     set STF_MB_DEF    = 1
  1147.     ui start "Error Message"
  1148.     goto setfailed
  1149.  
  1150. setfailed = +
  1151.     set CommonStatus = STATUS_FAILED
  1152.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1153.         set OEM_ABANDON_ON = FALSE
  1154.         goto abandon
  1155.     endif
  1156.     goto end
  1157.  
  1158. end = +
  1159.     goto term
  1160.  
  1161. term = +
  1162. ;    Ifstr(i) $(OdiAdapterInstalledOkay) == "1"
  1163. ;        Debug-Output "Calling NwSubsInf to GetOdiAdapterList."
  1164. ;        Shell $(NwSubsInf) GetOdiAdapterList
  1165. ;        ifint $($R3) < 2
  1166. ;            Set DlgType = "MessageBox"
  1167. ;            Set STF_MB_TITLE = "NetWare ODI LAN Drivers Setup"
  1168. ;            Set STF_MB_TEXT  = "The NetWare ODI Adapter was successfully installed.  "+
  1169. ;                            "Your NetWare installation is COMPLETE."
  1170. ;            Set STF_MB_TYPE  = 1
  1171. ;            Set STF_MB_ICON  = 2
  1172. ;            Set STF_MB_DEF    = 1
  1173. ;            ui start "Error Message"
  1174. ;        Endif
  1175. ;    Endif
  1176.  
  1177.     ;
  1178.     ; Check if ODINSUP needs to be installed
  1179.     ;
  1180.  
  1181.     Shell $(NwSubsInf), CheckIfODINSUPIsNeeded
  1182.  
  1183.     Return $(CommonStatus)
  1184.  
  1185. [Install-Option]
  1186.     set STF_VITAL = ""
  1187.  
  1188.     ifstr(i) $(AddCopy) == "YES"
  1189.         AddSectionKeyFileToCopyList $(Option) DriverName $(SrcDir)landrv $(!STF_WINDOWSSYSPATH)\netware
  1190.     endif
  1191.  
  1192.     ifstr(i) $(DoCopy) == "YES"
  1193.         set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1194.         CopyFilesInCopyList
  1195.     endif
  1196.  
  1197.     ifstr(i) $(DoConfig) == "YES"
  1198.     endif
  1199.  
  1200.     Exit
  1201.  
  1202. ;[Install-Update]
  1203. ;    set STF_VITAL        = ""
  1204. ;    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1205. ;
  1206. ;    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\netware
  1207. ;    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1208. ;
  1209. ;    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1210. ;    CopyFilesInCopyList
  1211. ;
  1212. ;    exit
  1213.  
  1214. [ProductType]
  1215. STF_PRODUCT  = Winnt
  1216. STF_PLATFORM = I386
  1217.  
  1218.  
  1219. [ChoicesNamesList]
  1220.  
  1221.  
  1222. [ODIListNamesSection]
  1223.     List1
  1224.     List2
  1225.     List3
  1226.     List4
  1227.     List5
  1228.     List6
  1229.  
  1230. [DefaultParameterLists]
  1231.  
  1232.  
  1233. ;
  1234. ;See the documentation on "Building your own OEMSETUP.INF" for more information.
  1235. ;
  1236.  
  1237.  
  1238. [Options]
  1239.     ODI_NE2
  1240.     ODI_NE232
  1241.     ODI_IBMTOKMC
  1242.  
  1243. [ODI_NE2]
  1244. Title = "Novell NE2 MC"
  1245. DriverName = 1, CNE2.LAN
  1246. MediaType = "ETHERNET"
  1247. CardIdByte1 = 84
  1248. CardIdByte2 = 113
  1249. CardType = "MCA"
  1250. Custom =    {}
  1251. CanShareSlot = "NO"
  1252.  
  1253. [ODI_NE232]
  1254. Title = "Novell NE2_32 MC"
  1255. DriverName = 1, CNE2_32.LAN
  1256. MediaType = "ETHERNET"
  1257. CardIdByte1 = 81
  1258. CardIdByte2 = 113
  1259. CardType = "MCA"
  1260. Custom =    {}
  1261. CanShareSlot = "NO"
  1262.  
  1263. [ODI_IBMTOKMC]
  1264. Title = "IBM Token-Ring MC"
  1265. DriverName = 1, CNTR2000.LAN
  1266. MediaType = "TOKEN-RING"
  1267. Custom =    {}
  1268. CanShareSlot = "NO"
  1269.  
  1270. [Strings]
  1271.     ;
  1272.     ; Every string that is in quotes from this point to the end of the
  1273.     ; file will be pulled out and put into the translation teams database.
  1274.     ; There parser looks for the section [Strings] and then goes to the
  1275.     ; end of the file.  DO NOT put strings below this point in the file
  1276.     ; that should not be translated.  Likewise, all strings that need to
  1277.     ; be translated should be in quotes and below this point in the file.
  1278.     ;
  1279.  
  1280. [Source Media Descriptions]
  1281.     1  = "NetWare ODI LAN Drivers Disk" , TAGFILE = NWC_24
  1282.  
  1283. [ODIStringsENG]
  1284. AdapterForNetWare = " Adapter for NetWare"
  1285. NetWareForWindowsNT = "NetWare for Windows NT"
  1286. Present = "Present"
  1287. NotPresent = "Not Present"
  1288. NetWareODILANDriversDisk = "NetWare ODI LAN Drivers Disk"
  1289. BindingError = "Binding: Sorry, not yet implemented."
  1290.  
  1291. [DialogConstantsENG]
  1292. Help        = "&Help"
  1293. ;Exit        = "&Cancel"
  1294. OK          = "OK"
  1295. HelpContext = ""
  1296. Continue    = "&Continue"
  1297. Cancel      = "&Cancel"
  1298. Advanced = "&Advanced"
  1299. IDH_NETWAREWRKSTATIONPARMS =  901
  1300. IDH_NETWAREIPXBIND         =  902
  1301. IDH_IPXSPXPARMS            =  903
  1302. IDH_NETWORKPROTOCOL        =  904
  1303. IDH_NETWAREODISETTINGS     =  905
  1304. IDH_NETWARECLIENTINSTALL   =  906
  1305. IDH_NETWARENDISODI         =  907
  1306. IDH_NODEADDRESSOVERIDE     =  908
  1307. IDH_RESMGRCONFIG                =  951
  1308.  
  1309. [LANDriverDlgENG]
  1310. DlgType = "RadioCombination"
  1311. DlgTemplate = "List"$(ODINumberofDriverLists)
  1312. Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
  1313. EditTextIn = ""
  1314. EditTextLim = ""
  1315. CBOptionsGreyed = {}
  1316. HelpContext = $(IDH_NETWAREODISETTINGS)
  1317.  
  1318.  
  1319. [NoParmsENG]
  1320. DlgType = "RadioCombination"
  1321. DlgTemplate = "NO_PARAMETERS"
  1322. Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
  1323. EditTextIn = ""
  1324. EditTextLim = ""
  1325. CBOptionsGreyed = {}
  1326. HelpContext = ""
  1327. CBOptionsGreyed = {}
  1328. ComboListItemsIn = {}
  1329. ComboListItemsOut = {}
  1330. NotifyFields = {}
  1331.  
  1332.  
  1333. [AdvancedDialogENG]
  1334. DlgType = "RadioCombination"
  1335. Caption = "Advanced Settings"
  1336. EditTextIn = $(ODINodeAddress)
  1337. EditTextLim = 13
  1338. CBOptionsGreyed = {}
  1339. HelpContext = $(IDH_NODEADDRESSOVERIDE)
  1340. NotifyFields = {}
  1341.  
  1342.  
  1343. [FileConstantsENG]
  1344. ProCaption    = "NetWare ODI LAN Drivers Setup"
  1345. ProCancel    = "Cancel"
  1346. ProCancelMsg = "NetWare for Windows NT is not correctly installed.  "+
  1347.                 "Are you sure you want to cancel copying files?"
  1348. ProCancelCap = "Network Setup Message"
  1349. ProText1     = "Copying:"
  1350. ProText2     = "To:"
  1351.