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

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