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

  1. ;***********************************************************************
  2. ;
  3. ; OEMNADOA.INF
  4. ;
  5. ;    Novell NetWare ISA 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.     ISA
  17.     EISA
  18.     "Jazz-Internal Bus"
  19.  
  20. [LanguagesSupported]
  21.     ENG
  22.  
  23.  
  24. [FileConstants]
  25.  
  26. UtilityInf        = "UTILITY.INF"
  27. ParamInf        = "NCPARAM.INF"
  28. subroutineinf   = "SUBROUTN.INF"
  29. NwSubsInf        = "NWSUBS.INF"
  30. Exit_Code        = 0
  31.  
  32. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  33. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  34.  
  35. Manufacturer            = "Novell"
  36. ProductMajorVersion    = "1"
  37. ProductMinorVersion    = "0"
  38. ProductVersion            = $(ProductMajorVersion)"."$(ProductMinorVersion)
  39. DriverName                = "OdiLoad"
  40. OdiModules                 = "ODI_Modules"
  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 "OEMNADOA.INF-[finish_ReturnOptions]:"
  143. Debug-Output "OEMNADOA.INF-          Status = "$(Status)
  144. Debug-Output "OEMNADOA.INF-      OptionList = "$(OptionList)
  145. Debug-Output "OEMNADOA.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.     set NdisDriverParameters = $($6)
  158.  
  159.     set LanguageList = ^(LanguagesSupported, 1)
  160.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  161.         Return STATUS_NOLANGUAGE
  162.     endif
  163.  
  164.     set-subst LF = "\n"
  165.     read-syms GeneralConstants
  166.     read-syms FileConstants
  167.     read-syms ODIParameters
  168.     read-syms DialogConstants$(!STF_LANGUAGE)
  169.     read-syms ODIStrings$(!STF_LANGUAGE)
  170.     ifstr(i) $(!NTN_Origination) == "NCPA"
  171.         set Continue = "OK"
  172.     endif
  173.     read-syms FileConstants$(!STF_LANGUAGE)
  174.  
  175.     detect date
  176.  
  177. ;    set-title  $(Function$(Option)Title)
  178.  
  179.     set to    = Begin
  180.     set from = Begin
  181.     set CommonStatus = STATUS_SUCCESSFUL
  182.  
  183.     EndWait
  184.  
  185. Begin = +
  186.  
  187.     set CurrentInstallMode = ""
  188.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  189.         set StartLabel = removeadapter
  190.         goto skipmakingthelists
  191.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  192.         set StartLabel = UpgradeSoftware
  193.         set CurrentInstallMode = configure
  194.         set DoCopy = YES
  195.         set AddCopy = YES
  196.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  197.         set StartLabel = bindingadapter
  198.         goto skipmakingthelists
  199.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  200.         set StartLabel = configureadapter
  201.         set CurrentInstallMode = configure
  202.     else
  203.         set DoCopy = YES
  204.         set AddCopy = YES
  205.         set StartLabel = installadapter
  206.         set OEM_ABANDON_OPTIONS = {}
  207.         set OEM_ABANDON_SOFTWARE = FALSE
  208.         set OEM_ABANDON_ON = TRUE
  209.     endif
  210.  
  211.     set ParameterListNames = ^(DefaultParameterLists, 1)    ; NWIRQList, NWMEMList1, etc.
  212.     set ListNames = ^(ODIListNamesSection, 1)                    ; List1, list2, ..., list6
  213.     set ODIKeywordList = ^(ChoicesNamesList, 1)                ; Int, mem, Port, etc.
  214.     set ODITitleList = ^(ChoicesNamesList, 2)                    ; Interrupt Number, Port, etc.
  215.     set MSParameterList = ^(ChoicesNamesList, 3)                ; InterruptNumber, IOBaseAddress, etc.
  216.  
  217.     set DriverListNames = {}
  218.     set ODINumberofDriverLists = 0
  219.     ForListDo ^($(Option),0 )
  220.         ifcontains(i) $($) IN $(ListNames)
  221.             set DriverListNames = >($(DriverListNames), $($))
  222.         else-ifstr(i) $($) == "CUSTOM"
  223.             set ODICustomList = #($(Option), Custom, 1)
  224.         endif
  225.     EndForListDo
  226.  
  227.     QueryListSize ODINumberofDriverLists $(DriverListNames)
  228.  
  229. ;
  230. ; DriverListNames now contains the List names the selected ODI driver has (i.e. {List1, List2})
  231. ; ODINumberofDriverLists now contains the number of lists used
  232. ;
  233.  
  234.     Debug-Output "DriverListNames = "$(DriverListNames)
  235.     Debug-Output "Size of DriverListNames = "$(ODINumberofDriverLists)
  236.  
  237.     Debug-Output "NdisDriverParameters = "$(NdisDriverParameters)
  238.  
  239.     ForListDo $(DriverListNames)
  240.         set $($)Keyword = #($(Option), $($), 1)
  241.         ifstr $($($)Keyword) != ""
  242.             set $($)Default = #($(Option), $($), 3)
  243.  
  244.             ifcontains(i) $($($)Keyword) IN $(ODIKeywordList)
  245.                 set $($)Title = *($(ODITitleList), ~($(ODIKeywordList), $($($)Keyword)))
  246.                 set ThisListName = #($(Option), $($), 2)
  247.                 set MSParameterName$(#) = *($(MSParameterList), ~($(ODIKeywordList), $($($)Keyword)))
  248.                 set FinalList = {}
  249.  
  250.                 ifcontains(i) $(ThisListName) IN $(ParameterListNames)
  251.                     ifstr(i) #($(Option), $($), 4) == "ALL"
  252.                         set FinalList = ^($(ThisListName), 1)
  253.                     else
  254.                         set CountUpTo = #($(Option), $($), 5)
  255.  
  256.                         ifstr(i) $(CountUpTo) == "END"
  257.                             set CountUpTo = $(MAXIMUM_ALLOWED)
  258.                         endif
  259.  
  260.                         set StartNumber = #($(Option), $($), 4))
  261.  
  262.                         ForListDo ^($(ThisListName), 1)
  263.                             ifint $(#) >= $(StartNumber)
  264.                                 ifint $(#) <= $(CountUpTo)
  265.                                     set FinalList = >($(FinalList), $($))
  266.                                 endif
  267.                             endif
  268.                         EndForListDo
  269.                     endif
  270.                 else
  271.                     ;
  272.                     ; User passed in the list
  273.                     ;
  274.                     Debug-Output "User passed in a list"
  275.                     set $($)Title = #($(Option), $($), 2)
  276.                     set FinalList = #($(Option), $($), 4)
  277.                 endif
  278.             else
  279.                 ;
  280.                 ; User passed in a new keyword
  281.                 ;
  282.                 Debug-Output "User passed in a new keyword"
  283.                 set $($)Title = #($(Option), $($), 2)
  284.                 set MSParameterName$(#) = ""
  285.                 set FinalList = #($(Option), $($), 4)
  286.             endif
  287.             set $($)List = $(FinalList)
  288.         endif
  289.  
  290.         Debug-Output "List"$(#)"Title = "$($($)Title)
  291.         Debug-Output "List"$(#)"Default = "$($($)Default)
  292.         Debug-Output "List"$(#)"Keyword = "$($($)Keyword)
  293.         Debug-Output "List"$(#)"List = "$($($)List)
  294.         Debug-Output "MSParameterName"$(#)" = "$(MSParameterName$(#))
  295.  
  296.         ;
  297.         ; Get the card settings from the Ndis driver service
  298.         ;
  299.         Ifstr(i) $(NdisDriverParameters) != ""
  300.             set FoundValueName = "FALSE"
  301.             set ListNameDefault = $($)Default
  302.             set NdisParameterName = $(MSParameterName$(#))
  303.             ForListDo $(NdisDriverParameters)
  304.                 set ValueList = $($)
  305.                 Debug-Output "ValueList = "$(ValueList)
  306.                 Ifstr(i) $(FoundValueName) == "FALSE"
  307.                     set NdisValueName = *($(ValueList), 1)
  308.                     Debug-Output "NdisValueName = "$(NdisValueName)
  309.                     Ifstr(i) $(NdisValueName) == $(NdisParameterName)
  310.                         Ifstr(i) $(NdisValueName) == "IOBaseAddress"
  311.                             set-dectohex $(ListNameDefault) = *($(ValueList), 4)
  312.                             Split-String $($(ListNameDefault)) "x" SplitList
  313.                             set $(ListNameDefault) = *($(SplitList), 3)
  314.                         else-ifstr(i) $(NdisValueName) == "MemoryMappedBaseAddress"
  315.                             set-dectohex $(ListNameDefault) = *($(ValueList), 4)
  316.                             Split-String $($(ListNameDefault)) "x" SplitList
  317.                             set $(ListNameDefault) = *($(SplitList), 3)
  318.                         else
  319.                             set $(ListNameDefault) = *($(ValueList), 4)
  320.                         Endif
  321.                         set FoundValueName = "TRUE"
  322.                         Debug-Output "NEW: "$(ListNameDefault)" = "$($(ListNameDefault))
  323.                     Endif
  324.                 Endif
  325.             EndForListDo
  326.         Endif
  327.  
  328.     EndForListDo
  329.  
  330. skipmakingthelists = +
  331.  
  332.     set ODILANDriverTitle = #($(Option), Title, 1)
  333.     Split-String #($(Option), DriverName, 2) "." SplitFileNameList
  334.     set ODILANDriverName = *($(SplitFileNameList), 1)
  335.     set ODIMediaType = #($(Option), MediaType, 1)
  336.     Debug-Output "ODILANDriverName = "$(ODILANDriverName)
  337.     Debug-Output "ODIMediaType = "$(ODIMediaType)
  338.  
  339.     ifstr(i) $(ODIMediaType) == "ETHERNET"
  340.         set NdisMediaType = "1"
  341.     else-ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  342.         set NdisMediaType = "2"
  343.     else-ifstr(i) $(ODIMediaType) == "FDDI"
  344.         set NdisMediaType = "4"
  345.     else
  346.         Debug-Output "OEMNADOA.INF: Unknown media type "$(ODIMediaType)
  347.         set NdisMediaType = ""
  348.     endif
  349.  
  350.     set from = $(fatal)
  351.     set to = $(fatal)
  352.     goto $(StartLabel)
  353.  
  354. installadapter = +
  355.  
  356.     Ifstr(i) $(DoCopy) == "YES"
  357.         ;
  358.         ;  Get source location
  359.         ;
  360.         Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES
  361.  
  362.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  363.             Goto ShellCodeError
  364.         Else-Ifstr(i) $($R0) == STATUS_FAILED
  365.             Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  366.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  367.                 goto ShellCodeError
  368.             endif
  369.             set Error = $($R0)
  370.             Goto fatal
  371.         Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  372.             Goto end
  373.         Endif
  374.  
  375.         Set SrcDir = $($R1)
  376.     Endif
  377.  
  378.     install "Install-Option"
  379.  
  380.     goto adapteroptions
  381.  
  382. configureadapter = +
  383.     Ifstr $(KeyProduct) == $(KeyNull)
  384.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  385.         Ifstr $(KeyProduct) == $(KeyNull)
  386.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  387.             Debug-Output "OEMNADOA.INF: Cannot find component product key "$(!NTN_RegBase)
  388.             goto fatalregistry
  389.         Endif
  390.     Endif
  391.  
  392.     Set AdapterNumber = ""
  393.  
  394.     Shell $(UtilityInf) FindService, $(KeyProduct)
  395.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  396.         Debug-Output "OEMNADOA.INF: FindService shell failure "$($ShellCode)
  397.         Goto ShellCodeError
  398.     Endif
  399.     Ifstr(i) $($R0) != NO_ERROR
  400.         Debug-Output "OEMNADOA.INF: FindService Error "$($R0)
  401.         Goto fatalregistry
  402.     endif
  403.  
  404.     set KeyParameters = $($R2)
  405.     set ServiceAreaHandle = $($R1)
  406.  
  407.     Ifstr $(KeyParameters) == $(KeyNull)
  408.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  409.         Debug-Output "OEMNADOA.INF: Cannot find component service "$(KeyProduct)
  410.         goto fatalregistry
  411.     endif
  412.  
  413.     set OldVersionExisted = $(TRUE)
  414.  
  415.     set ValueName = ""
  416.     set ValueData = ""
  417.     set ValueStr  = ""
  418.     set ValueList = {}
  419.  
  420.     GetRegValue $(KeyParameters) ODILoadName ODILoadName
  421.     Set CardInstanceName = *($(ODILoadName),4)
  422.  
  423.     Ifstr $(CardInstanceName) == $(KeyNull)
  424.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  425.         Debug-Output "OEMNADOA.INF: Cannot find CardInstanceName"
  426.         goto fatalregistry
  427.     endif
  428.  
  429.     set KeyToFind = $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
  430.     OpenRegKey $(!REG_H_LOCAL) ""  $(KeyToFind) $(MAXIMUM_ALLOWED) DriverKey
  431.     Ifstr $(DriverKey) == $(KeyNull)
  432.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  433.         Debug-Output "OEMNADOA.INF: Cannot find component product key = "$(KeyToFind)
  434.         goto fatalregistry
  435.     Endif
  436.  
  437.     GetRegValue $(DriverKey) Parameters ParameterList
  438.  
  439.     ;  get the data portion
  440.     set ParameterList = *($(ParameterList), 4)
  441.  
  442.     Debug-Output "parameter list = "$(ParameterList)
  443.  
  444.     ForListDo $(ParameterList)
  445.         set ThisParameterList = $($)
  446.         Split-String $($) " " SplitList
  447.         set KeyToSearchFor = *($(SplitList), 1)
  448.         set ValueToUse = *($(SplitList), 3)
  449.         Debug-Output "Keytosearchfor = "$(KeyToSearchFor)
  450.         Debug-Output "ValueToUse = "$(ValueToUse)
  451.         ;
  452.         ;   #1    #2     #3
  453.         ; "Parm"  " "     "Value"
  454.         ;
  455.         set ValueFound = 0
  456.  
  457.         ;
  458.         ; check frametypes for TOKEN-RING, TOKEN-RING_SNAP
  459.         ;
  460.         ifstr(i) $(KeyToSearchFor) == "FRAME"
  461.             ;
  462.             ; Don't append Frametypes to ODIAdditionalParms, so set ValueFound = 1
  463.             ;
  464.             set ValueFound = 1
  465.             QueryListSize SplitListSize $(SplitList)
  466.             ifstr(i) *($(SplitList), 3) == "TOKEN-RING"
  467.                 set LastParameter = *($(SplitList), $(SplitListSize))
  468.                 ifstr(i) $(LastParameter) == "MSB"
  469.                     set ODITokenRing = "MSB"
  470.                 else-ifstr(i) $(LastParameter) == "LSB"
  471.                     set ODITokenRing = "LSB"
  472.                 else
  473.                     ;
  474.                     ; Not there, so default to MSB
  475.                     ;
  476.                     set ODITokenRing = "MSB"
  477.                 endif
  478.             else-ifstr(i) *($(SplitList), 3) == "TOKEN-RING_SNAP"
  479.                 set LastParameter = *($(SplitList), $(SplitListSize))
  480.                 ifstr(i) $(LastParameter) == "MSB"
  481.                     set ODITokenRingSnap = "MSB"
  482.                 else-ifstr(i) $(LastParameter) == "LSB"
  483.                     set ODITokenRingSnap = "LSB"
  484.                 else
  485.                     ;
  486.                     ; Not there, so default to MSB
  487.                     ;
  488.                     set ODITokenRingSnap = "MSB"
  489.                 endif
  490.             endif
  491.         ;
  492.         ; Check for NODE parameter
  493.         ;
  494.         else-ifstr(i) $(KeyToSearchFor) == "NODE"
  495.             set ODINodeAddress = $(ValueToUse)
  496.             set ValueFound = 1
  497.         ;
  498.         ; Check for SLOT parameter
  499.         ;
  500.         else-ifstr(i) $(KeyToSearchFor) == "SLOT"
  501.             set ODIDefaultSlot = $(ValueToUse)
  502.             set ValueFound = 1
  503.         ;
  504.         ; Check for BUSNAME parameter - ignore it
  505.         ;
  506.         else-ifstr(i) $(KeyToSearchFor) == "BUSNAME"
  507.             set ValueFound = 1
  508.         ;
  509.         ; Check for BUSTYPE parameter
  510.         ;
  511.         else-ifstr(i) $(KeyToSearchFor) == "BUSTYPE"
  512.             set ValueFound = 1
  513.             set BusInterfaceType = $(ValueToUse)
  514.         ;
  515.         ; Check for BUS parameter
  516.         ;
  517.         else-ifstr(i) $(KeyToSearchFor) == "BUS"
  518.             set ValueFound = 1
  519.             set BusNumber = $(ValueToUse)
  520.         endif
  521.  
  522.         ForListDo $(DriverListNames)
  523.             ifstr(i) $(KeyToSearchFor) == $($($)Keyword)
  524.                 set $($)Default = $(ValueToUse)
  525.                 set ValueFound = 1
  526.                 ifcontains(i) $(ValueToUse) NOT-IN $($($)List)
  527.                     set $($)List = >($($($)List), $(ValueToUse))
  528.                 endif
  529.             endif
  530.         EndForListDo
  531.  
  532.         Debug-Output "Value Found = "$(ValueFound)
  533.  
  534.         ifint $(ValueFound) == 0
  535.             set FoundInCustom = 0
  536.  
  537.             ForListDo $(ODICustomList)
  538.                 ifstr(i) $($) == $(ThisParameterList)
  539.                     set FoundInCustom = 1
  540.                 endif
  541.             EndForListDo
  542.  
  543.             Debug-Output "Found in Custom = "$(FoundInCustom)
  544.  
  545.               ifint $(FoundInCustom) == 0
  546.                 ifstr $(ODIDriverAdditionalParms) == {}
  547.                     set ODIDriverAdditionalParms = $(KeyToSearchFor)" "$(ValueToUse)
  548.                 else
  549.                     set ODIDriverAdditionalParms = >($(ODIDriverAdditionalParms), $(KeyToSearchFor)" "$(ValueToUse))
  550.                 endif
  551.             endif
  552.         endif
  553.     EndForListDo
  554.  
  555.     Debug-Output "AdditionalParms = "$(ODIDriverAdditionalParms)
  556.     Debug-Output "CustomList = "$(ODICustomList)
  557.     Debug-Output "BusType = "$(BusInterfaceType)
  558.     Debug-Output "Bus = "$(BusNumber)
  559.  
  560.  
  561. adaptersetup =+
  562.  
  563.     goto adapteroptions
  564. adapteroptions = +
  565.     set from = adapteroptions
  566.  
  567.     ;
  568.     ; Find what NLS directory is being used
  569.     ;
  570.  
  571.     set NovellParameters = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Parameters"
  572.     OpenRegKey $(!REG_H_LOCAL) "" $(NovellParameters) $(MAXIMUM_ALLOWED) KeyNovellParameters
  573.     ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  574.         GetRegValue $(KeyNovellParameters) "NWLanguage" LanguageList
  575.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  576.             set NLSDirName = *($(LanguageList), 4)
  577.             LoadLibrary $(NetWareForWindowsNT) $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwsetupr.dll" NwLibHandle
  578.             SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwnthelp.hlp" $(!MinimumID) $(!MaximumID)
  579.         else
  580.             goto fatalregistry
  581.         endif
  582.         CloseRegKey $(KeyNovellParameters)
  583.     else
  584.         goto fatalregistry
  585.     Endif
  586.  
  587. dothedialog = +
  588.     ifint $(ODINumberofDriverLists) == 0
  589.         ifstr(i) $(CurrentInstallMode) == configure
  590.             read-syms NoParms$(!STF_LANGUAGE)
  591.             ui start "WorkstationDLG" $(NwLibHandle)
  592.  
  593.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  594.                 Debug-Output "OK hit"
  595.             else-ifstr(i) $(DLGEVENT) == "EXIT"
  596.             ;
  597.             ; user selected the advanced button
  598.             ;
  599.                 goto doadvancedsettings
  600.             endif
  601.         endif
  602.     else
  603.         read-syms LANDriverDlg$(!STF_LANGUAGE)
  604.  
  605.         set NotifyFields = {}
  606.         set ComboListItemsIn = {}
  607.         set ComboListItemsOut = {}
  608.         ForListDo $(DriverListNames)
  609.             set NotifyFields = >($(NotifyFields), "NO")
  610.             set ComboListItemsIn = >($(ComboListItemsIn), $($)List)
  611.             ifstr $($($)Value) == ""
  612.                 set $($)Value = $($($)Default)
  613.             endif
  614.             set ComboListItemsOut = >($(ComboListItemsOut), $($)Value)
  615.         EndForListDo
  616.  
  617.         ui start "LANDriverParms" $(NwLibHandle)
  618.  
  619.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  620.             Debug-Output "Continue hit"
  621.         else-ifstr(i) $(DLGEVENT) == "BACK"
  622.             Debug-Output "Action: CANCEL. Bye."
  623.             set CommonStatus = STATUS_USERCANCEL
  624.             ui pop 1
  625.             FreeLibrary $(NwLibHandle)
  626.             goto end
  627.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  628.  
  629. doadvancedsettings =+
  630.         ;
  631.         ; user selected the advanced button
  632.         ;
  633.             Debug-Output "Action: ADVANCED DIALOG"
  634.             read-syms AdvancedDialog$(!STF_LANGUAGE)
  635.             set RadioIn = {}
  636.             set ComboListItemsIn = {}
  637.             set ComboListItemsOut = {}
  638.             set ComboOut = $(ODIDefaultSlot)
  639.  
  640.             ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  641.                 ifstr(i) $(ODISlotList) == {}
  642.                     set DlgTemplate = "DLG_ADVANCEDDRIVER3"
  643.                 else
  644.                     set ComboListItemsIn = { ODISlotList }
  645.                     set ComboListItemsOut = { ComboOut }
  646.                     set DlgTemplate = "DLG_ADVANCEDDRIVER1"
  647.                 endif
  648.  
  649.                 ifstr(i) $(ODITokenRing) == "LSB"
  650.                     set RadioIn = { 2 }
  651.                 else
  652.                     set RadioIn = { 1 }
  653.                 endif
  654.  
  655.                 ifstr(i) $(ODITokenRingSnap) == "LSB"
  656.                     set RadioIn = >($(RadioIn), "4")
  657.                 else
  658.                     set RadioIn = >($(RadioIn), "3")
  659.                 endif
  660.             else
  661.                 ifstr(i) $(ODISlotList) == {}
  662.                     set DlgTemplate = "DLG_ADVANCEDDRIVER4"
  663.                 else
  664.                     set ComboListItemsIn = { ODISlotList }
  665.                     set ComboListItemsOut = { ComboOut }
  666.                     set DlgTemplate = "DLG_ADVANCEDDRIVER2"
  667.                 endif
  668.             endif
  669.  
  670.             ui start "AdvancedDialog" $(NwLibHandle)
  671.             ui pop 1
  672.  
  673.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  674.                 set ODINodeAddress = *($(EditTextOut), 1)
  675.                 set ODIDefaultSlot = *($(ComboOut), 1)
  676.                 ifcontains "2" IN $(RadioOut)
  677.                     set ODITokenRing = "LSB"
  678.                 else
  679.                     set ODITokenRing = "MSB"
  680.                 endif
  681.                 ifcontains "4" IN $(RadioOut)
  682.                     set ODITokenRingSnap = "LSB"
  683.                 else
  684.                     set ODITokenRingSnap = "MSB"
  685.                 endif
  686.             else-ifstr(i) $(DLGEVENT) == "BACK"
  687.                 Debug-Output "Action: CANCEL. Bye."
  688.             endif
  689.  
  690.             goto dothedialog
  691.         else
  692.             Debug-Output "Action: unknown. Bye."
  693.             ui pop 1
  694.             FreeLibrary $(NwLibHandle)
  695.             goto end
  696.         endif
  697.  
  698.         ui pop 1
  699.  
  700.  
  701.         ForListDo $(DriverListNames)
  702.             Debug-Output "List"$(#)"Value = "$($($)Value)
  703.         EndForListDo
  704.     endif
  705.  
  706.     FreeLibrary $(NwLibHandle)
  707.  
  708.     ifint $(OldVersionExisted) == $(TRUE)
  709.         ifstr(i) $(CurrentInstallMode) == configure
  710.             goto writeparameters
  711.         endif
  712.     endif
  713.  
  714.     StartWait
  715.     Shell $(UtilityInf), AddHardwareComponent, $(ODILANDriverName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  716.  
  717.     ifint $($R4) != -1
  718.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  719.     endif
  720.  
  721.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  722.         Debug-Output "OEMNADOA.INF: Cannot add hardware component "$($ShellCode)
  723.         goto ShellCodeError
  724.     endif
  725.  
  726.     set RegistryErrorIndex = $($R0)
  727.  
  728.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  729.         EndWait
  730.         Debug-Output "OEMNADOA.INF: Registry error: add hardware component "$(RegistryErrorIndex)
  731.         CloseRegKey $($R1)
  732.         CloseRegKey $($R2)
  733.         CloseRegKey $($R3)
  734.         goto fatalregistry
  735.     endif
  736.  
  737.     set KeyParameters = $($R3)
  738.     set KeyAdapterRules = $($R2)
  739.     set AdapterNumber = $($R4)
  740.  
  741.     Set-add TempAdapterNumber = $(AdapterNumber),0
  742.  
  743.     set CardInstanceName = $(ODILANDriverName)" #"$(TempAdapterNumber)
  744.  
  745.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  746.                         {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] ODI "$(ODILANDriverTitle)$(AdapterForNetWare)},+
  747.                         {Description,$(NoTitle),$(!REG_VT_SZ),"ODI "$(ODILANDriverTitle)$(AdapterForNetWare)},+
  748.                         {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ODILANDriverName)},+
  749.                         {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  750.                         {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},+
  751.                         {OdiAdapter,$(NoTitle),$(!REG_VT_DWORD),1}}
  752.  
  753.     Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  754.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  755.         Debug-Output "OEMNADOA.INF: AddValueList ShellCode error "$($ShellCode)
  756.         goto ShellCodeError
  757.     endif
  758.  
  759.     CloseRegKey $($R1)
  760.  
  761.     set TempProdName = """"$(ODILANDriverName)$(AdapterNumber)""""
  762.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  763.  
  764.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  765.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  766.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  767.  
  768.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  769.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  770.         Debug-Output "OEMNADOA.INF: AddValueList ShellCode error "$($ShellCode)
  771.         goto ShellCodeError
  772.     endif
  773.  
  774.     set RegistryErrorIndex = $($R0)
  775.  
  776.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  777.         EndWait
  778.         Debug-Output "OEMNADOA.INF: AddValueList Registry error "$(RegistryErrorIndex)
  779.         CloseRegKey $(KeyParameters)
  780.         CloseRegKey $(KeyAdapterRules)
  781.         goto fatalregistry
  782.     endif
  783.  
  784.     CloseRegKey $(KeyAdapterRules)
  785.  
  786.     SetRegValue $(KeyParameters) {OdiLoadName,$(NoTitle),$(!REG_VT_SZ),$(CardInstanceName)}
  787.     
  788.     goto writeparameters
  789.  
  790. writeparameters = +
  791.  
  792.     Shell $(NwSubsInf), NwGetNICBusInfo, $(CardInstanceName) $(BusInterfaceType) $(BusNumber)
  793.  
  794.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  795.         Debug-Output "OEMNADOA.INF: NwGetNICBusInfo ShellCode error "$($ShellCode)
  796.         goto ShellCodeError
  797.     endif
  798.     ifint $($R0) != $(!SHELL_CODE_OK)
  799.         goto ShellCodeError
  800.     endif
  801.  
  802.     set BusNumber = $($R1)    
  803.     set BusTypeName = $($R2)
  804.     set BusInterfaceType = $($R3)
  805.      
  806.     ifstr(i) $(NdisMediaType) == ""
  807.         set NdisMediaType = "1"
  808.         Debug-Output "OEMNADOA.INF: Media type NOT set"
  809.     endif
  810.  
  811.      set NewValueList = {{MediaType,$(NoTitle),$(!REG_VT_DWORD),$(NdisMediaType)}}
  812.  
  813.     ForListDo $(DriverListNames)
  814.         ifstr $(MSParameterName$(#)) != ""
  815.             set-hextodec DecValue = $($($)Value)
  816.             set ValueToAdd = {$(MSParameterName$(#)),$(NoTitle),$(!REG_VT_DWORD), $(DecValue)}
  817.             set NewValueList = >($(NewValueList), $(ValueToAdd))
  818.         endif
  819.     EndForListDo
  820.     
  821.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  822.  
  823.     CloseRegKey $(KeyParameters)
  824.  
  825.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  826.         Debug-Output "OEMNADOA.INF: AddValueList ShellCode error "$($ShellCode)
  827.         goto ShellCodeError
  828.     endif
  829.  
  830.     set RegistryErrorIndex = $($R0)
  831.  
  832.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  833.         Debug-Output "OEMNADOA.INF: AddValueList Registry error "$($ShellCode)
  834.         goto fatalregistry
  835.     endif
  836.  
  837.     EndWait
  838.  
  839.     set PromptForSrcRouting = "FALSE"
  840.  
  841.     Ifstr(i) $(ODIMediaType) == "ETHERNET"
  842.         set ODIParmList = {"Frame ETHERNET_802.2", +
  843.                            "Frame ETHERNET_802.3", +
  844.                            "Frame ETHERNET_II", +
  845.                            "Frame ETHERNET_SNAP" +
  846.                            "BusName "$(BusTypeName) +
  847.                              "BusType "$(BusInterfaceType) +
  848.                            "Bus "$(BusNumber) }
  849.     else-Ifstr(i) $(ODIMediaType) == "TOKEN-RING"
  850.         set ODIParmList = {"Frame TOKEN-RING "$(ODITokenRing), +
  851.                            "Frame TOKEN-RING_SNAP "$(ODITokenRingSnap) +
  852.                            "BusName "$(BusTypeName) +
  853.                              "BusType "$(BusInterfaceType) +
  854.                            "Bus "$(BusNumber) }
  855.  
  856.         ;If there is an ODI stack available remove the comment on the next line.
  857.         ;set PromptForSrcRouting = "TRUE"
  858.  
  859.     else-Ifstr(i) $(ODIMediaType) == "FDDI"
  860.         set ODIParmList = {"Frame FDDI_802.2", +
  861.                            "Frame FDDI_SNAP" +
  862.                            "BusName "$(BusTypeName) +
  863.                              "BusType "$(BusInterfaceType) +
  864.                            "Bus "$(BusNumber) }
  865.  
  866.         ;If there is an ODI stack available remove the comment on the next line.
  867.         ;set PromptForSrcRouting = "TRUE"
  868.  
  869.     else
  870.         set ODIParmList = {}
  871.     endif
  872.  
  873.     Debug-Output "Framenames = "$(ODIParmList)
  874.  
  875.  
  876.     ;
  877.     ; Build List to send to ODI_MODULES\CARDNAME
  878.     ;
  879.     ForListDo $(DriverListNames)
  880.         ifstr $($($)Value) == $(Present)
  881.             set ODIParmList = >($(ODIParmList), $($($)Keyword))
  882.         else-ifstr $($($)Value) != $(NotPresent)
  883.             set ODIParmList = >($(ODIParmList), $($($)Keyword)" "$($($)Value))
  884.         endif
  885.     EndForListDo
  886.  
  887.     ifstr $(ODINodeAddress) != ""
  888.         set ODIParmList = >($(ODIParmList), "Node "$(ODINodeAddress))
  889.     endif
  890.  
  891.     ifstr $(ODIDefaultSlot) != ""
  892.         set ODIParmList = >($(ODIParmList), "Slot "$(ODIDefaultSlot))
  893.     endif
  894.  
  895.     ForListDo $(ODIDriverAdditionalParms)
  896.         ifstr $($) != ""
  897.             set ODIParmList = >($(ODIParmList), $($))
  898.         endif
  899.     EndForListDo
  900.  
  901.     ForListDo $(ODICustomList)
  902.         ifstr $($) != ""
  903.             set ODIParmList = >($(ODIParmList), $($))
  904.         endif
  905.     EndForListDo
  906.  
  907.  
  908.     Debug-Output "ODIParmList = "$(ODIParmList)
  909.  
  910.  
  911.     Shell $(NwSubsInf) NwAddOdiLoadModule $(CardInstanceName) $(AdapterNumber) $(ODIParmList)
  912.  
  913.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  914.         Debug-Output "OEMNADOA.INF: NwAddOdiLoadModule failure "$($ShellCode)
  915.         Goto ShellCodeError
  916.     Endif
  917.  
  918.     Set ErrorString = $($R0)
  919.     Ifstr(i) $(ErrorString) != NO_ERROR
  920.         Debug-Output "OEMNADOA.INF: NwAddOdiLoadModule "$(ErrorString)
  921.         goto fatalregistry
  922.     Endif
  923.  
  924.     Debug-Output "PromptForSrcRouting = "$(PromptForSrcRouting)
  925.     Ifstr(i) $(PromptForSrcRouting) == "TRUE"
  926.         Shell $(NwSubsInf) NwConfigureSourceRouting
  927.     Endif
  928.  
  929.     Ifstr(i) $(!NTN_InstallMode) == install
  930.         Set OdiAdapterInstalledOkay = "1"
  931.     Endif
  932.     goto successful
  933.  
  934. bindingadapter =+
  935.     set Error = $(BindingError)
  936.     goto fatal
  937.  
  938. removeadapter = +
  939.     Shell $(NwSubsInf) NwRemoveAdapter $(!NTN_RegBase)
  940.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  941.         Debug-Output "OEMNADOA.INF: Shell Error NwRemoveAdapter "$($ShellCode)
  942.     Endif
  943.  
  944.     Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer)
  945.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  946.         Debug-Output "OEMNADOA.INF: NwRemoveNtAdapter "$($ShellCode)
  947.         goto ShellCodeError
  948.     Endif
  949.  
  950.     set RegistryErrorIndex = $($R0)
  951.  
  952.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  953.         Debug-Output "OEMNADOA.INF: NwRemoveNtAdapter "$(RegistryErrorIndex)
  954.         Ifstr(i) $(RegistryErrorIndex) == "SHELL_CODE_ERROR"
  955.             goto ShellCodeError
  956.         Endif
  957.         goto fatalregistry
  958.     Endif
  959.  
  960.     goto end
  961.  
  962. UpgradeSoftware = +
  963.     Ifstr(i) $(DoCopy) == "YES"
  964.         Ifstr(i) $(SrcDir) == ""
  965.  
  966.             ;
  967.             ;  Get source location
  968.             ;
  969.  
  970.             Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES
  971.  
  972.             Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  973.                 Goto ShellCodeError
  974.             Else-Ifstr(i) $($R0) == STATUS_FAILED
  975.                 Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  976.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  977.                     goto ShellCodeError
  978.                 endif
  979.                 set Error = $($R0)
  980.                 Goto fatal
  981.             Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  982.                 Goto end
  983.             Endif
  984.  
  985.             Set SrcDir = $($R1)
  986.         Endif
  987.     Endif
  988.  
  989.     install "Install-Option"
  990.  
  991.     Ifstr(i) $(DoConfig) == "YES"
  992.         goto configureadapter
  993.     else
  994.         goto end
  995.     endif
  996.  
  997. successful = +
  998.     goto end
  999.  
  1000. abandon = +
  1001.     ForListDo $(OEM_ABANDON_OPTIONS)
  1002.     Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer) $($)
  1003.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1004.         Debug-Output "OEMNADOA.INF: NwRemoveNtAdapter "$($ShellCode)
  1005.         goto ShellCodeError
  1006.     Endif
  1007.  
  1008.         set RegistryErrorIndex = $($R0)
  1009.  
  1010.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1011.             goto fatalregistry
  1012.         endif
  1013.     EndForListDo
  1014.  
  1015.     goto end
  1016.  
  1017. warning = +
  1018.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1019.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1020.         goto ShellCodeError
  1021.     endif
  1022.     ifstr(i) $($R1) == "OK"
  1023.         goto $(to)
  1024.     else-ifstr(i) $($R1) == "CANCEL"
  1025.         goto $(from)
  1026.     else
  1027.         goto "end"
  1028.     endif
  1029.  
  1030.  
  1031. nonfatalinfo = +
  1032.     Set CommonStatus = STATUS_USERCANCEL
  1033.     Set Severity = STATUS
  1034.     goto nonfatalmsg
  1035. nonfatal = +
  1036.     Set Severity = NONFATAL
  1037.     goto nonfatalmsg
  1038. nonfatalmsg = +
  1039.     ifstr(i) $(Error) == ""
  1040.         Set Severity = NONFATAL
  1041.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1042.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1043.             goto ShellCodeError
  1044.         endif
  1045.         set Error = $($R0)
  1046.     endif
  1047.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1048.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1049.         goto ShellCodeError
  1050.     endif
  1051.     ifstr(i) $($R1) == "OK"
  1052.         goto $(from)
  1053.     else
  1054.         goto "end"
  1055.     endif
  1056.  
  1057. fatalregistry = +
  1058.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1059.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1060.         goto ShellCodeError
  1061.     endif
  1062.     set Error = $($R0)
  1063.     goto fatal
  1064.  
  1065. fataldetect = +
  1066.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1067.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1068.         Debug-Output "OEMNADOA.INF: ShellCode error: cannot get an error string."
  1069.         goto ShellCodeError
  1070.     endif
  1071.     set Error = $($R0)
  1072.     Goto fatal
  1073. fatal = +
  1074.     ifstr(i) $(Error) == ""
  1075.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1076.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1077.             goto ShellCodeError
  1078.         endif
  1079.         set Error = $($R0)
  1080.     endif
  1081.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1082.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1083.         goto ShellCodeError
  1084.     endif
  1085.  
  1086.     goto setfailed
  1087.  
  1088. ShellCodeError = +
  1089.     set DlgType      = "MessageBox"
  1090.     set STF_MB_TITLE = "Error: "$(Function$(Option)Title)
  1091.     set STF_MB_TEXT  = "Shell Code Error"
  1092.     set STF_MB_TYPE  = 1
  1093.     set STF_MB_ICON  = 3
  1094.     set STF_MB_DEF    = 1
  1095.     ui start "Error Message"
  1096.     goto setfailed
  1097.  
  1098. setfailed = +
  1099.     set CommonStatus = STATUS_FAILED
  1100.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1101.         set OEM_ABANDON_ON = FALSE
  1102.         goto abandon
  1103.     endif
  1104.     goto end
  1105.  
  1106. end = +
  1107.     goto term
  1108.  
  1109. term = +
  1110. ;    Ifstr(i) $(OdiAdapterInstalledOkay) == "1"
  1111. ;        Shell $(NwSubsInf) GetOdiAdapterList
  1112. ;        ifint $($R3) < 2
  1113. ;            Set DlgType = "MessageBox"
  1114. ;            Set STF_MB_TITLE = "NetWare ODI LAN Drivers Setup"
  1115. ;            Set STF_MB_TEXT  = "The NetWare ODI Adapter was successfully installed.  "+
  1116. ;                            "Your NetWare installation is COMPLETE."
  1117. ;            Set STF_MB_TYPE  = 1
  1118. ;            Set STF_MB_ICON  = 2
  1119. ;            Set STF_MB_DEF    = 1
  1120. ;            ui start "Error Message"
  1121. ;        Endif
  1122. ;    Endif
  1123.  
  1124.     ;
  1125.     ; Check if ODINSUP needs to be installed
  1126.     ;
  1127.  
  1128.     Shell $(NwSubsInf), CheckIfODINSUPIsNeeded
  1129.  
  1130.     Return $(CommonStatus)
  1131.  
  1132. [Install-Option]
  1133.     set STF_VITAL = ""
  1134.  
  1135.     ifstr(i) $(AddCopy) == "YES"
  1136.         AddSectionKeyFileToCopyList $(Option) DriverName $(SrcDir)landrv $(!STF_WINDOWSSYSPATH)\netware
  1137.     endif
  1138.  
  1139.     ifstr(i) $(DoCopy) == "YES"
  1140.         set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1141.         CopyFilesInCopyList
  1142.     endif
  1143.  
  1144.     ifstr(i) $(DoConfig) == "YES"
  1145.     endif
  1146.  
  1147.     Exit
  1148.  
  1149. ;[Install-Update]
  1150. ;    set STF_VITAL        = ""
  1151. ;    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1152. ;
  1153. ;    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\netware
  1154. ;    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1155. ;
  1156. ;    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1157. ;    CopyFilesInCopyList
  1158. ;
  1159. ;    exit
  1160.  
  1161. [ProductType]
  1162. STF_PRODUCT  = Winnt
  1163. STF_PLATFORM = I386
  1164.  
  1165.  
  1166. [ChoicesNamesList]
  1167. "Int",                "Interrupt Number",    "InterruptNumber"
  1168. "Port",                "Port",                    "IOBaseAddress"
  1169. "Mem",                 "Memory Address",        "MemoryMappedBaseAddress"
  1170. "Dma",                "DMA Channel",            "DMAChannel"
  1171.  
  1172. [ODIListNamesSection]
  1173.     List1
  1174.     List2
  1175.     List3
  1176.     List4
  1177.     List5
  1178.     List6
  1179.  
  1180. [DefaultParameterLists]
  1181.     NWIRQList1
  1182.     NWIRQList2
  1183.     NWIRQList3
  1184.     NWIRQList4
  1185.     NWIRQList5
  1186.     NWIRQList6
  1187.     NWPORTList1
  1188.     NWPORTList2
  1189.     NWPORTList3
  1190.     NWPORTList4
  1191.     NWPORTList5
  1192.     NWPORTList6
  1193.     NWPORTList7
  1194.     NWPORTList8
  1195.     NWPORTList9
  1196.     NWDMAList1
  1197.     NWMEMList1
  1198.  
  1199.  
  1200. [NWIRQList1]
  1201. Num1 =    2
  1202. Num2 =    3
  1203. Num3 =    4
  1204. Num4 =    5
  1205. Num5 =    6
  1206. Num6 =    7
  1207. Num7 =    9
  1208. Num8 =    A
  1209. Num9 =    B
  1210. Num10 =    F
  1211.  
  1212. [NWIRQList2]
  1213. Num1 =    3
  1214. Num2 =    4
  1215. Num3 =    5
  1216. Num4 =    9
  1217.  
  1218. [NWIRQList3]
  1219. Num1  =    3
  1220. Num2  =    4
  1221. Num3  =    5
  1222. Num4  = 6
  1223. Num5  = 7
  1224. Num6  = 9
  1225. Num7  = A
  1226. Num8  = B
  1227. Num9  = C
  1228. Num10 = F
  1229.  
  1230. [NWIRQList4]
  1231. Num1 =    3
  1232. Num2 =    4
  1233. Num3 =    5
  1234. Num4 =    7
  1235. Num5 =    9
  1236. Num6 =    A
  1237. Num7 =    B
  1238. Num8 =    F
  1239.  
  1240. [NWIRQList5]
  1241. Num1 =    3
  1242. Num2 =    4
  1243. Num3 =    5
  1244. Num4 =  6
  1245. Num5 =    7
  1246. Num6 =    9
  1247. Num7 =    A
  1248. Num8 =    B
  1249. Num9 =    C
  1250.  
  1251. [NWIRQList6]
  1252. Num1 =    2
  1253. Num2 =    3
  1254. Num3 =    4
  1255. Num4 =    5
  1256. Num5 =    A
  1257. Num6 =    B
  1258. Num7 =   C
  1259. Num8 =    F
  1260.  
  1261. [NWPORTList1]
  1262. Num1  = 200
  1263. Num2  = 208
  1264. Num3  = 210
  1265. Num4  = 218
  1266. Num5  = 220
  1267. Num6  = 228
  1268. Num7  = 230
  1269. Num8  = 238
  1270. Num9  = 240
  1271. Num10 = 248
  1272. Num11 = 250
  1273. Num12 = 258
  1274. Num13 = 260
  1275. Num14 = 268
  1276. Num15 = 270
  1277. Num16 = 278
  1278. Num17 = 280
  1279. Num18 = 288
  1280. Num19 = 290
  1281. Num20 = 298
  1282. Num21 = 2A0
  1283. Num22 = 2A8
  1284. Num23 = 2B0
  1285. Num24 = 2B8
  1286. Num25 = 2C0
  1287. Num26 = 2C8
  1288. Num27 = 2D0
  1289. Num28 = 2D8
  1290. Num29 = 2E0
  1291. Num30 = 2E8
  1292. Num31 = 2F0
  1293. Num32 = 2F8
  1294. Num33 = 300
  1295. Num34 = 308
  1296. Num35 = 310
  1297. Num36 = 318
  1298. Num37 = 320
  1299. Num38 = 328
  1300. Num39 = 330
  1301. Num40 = 338
  1302. Num41 = 340
  1303. Num42 = 348
  1304. Num43 = 350
  1305. Num44 = 358
  1306. Num45 = 360
  1307. Num46 = 368
  1308. Num47 = 370
  1309. Num48 = 378
  1310. Num49 = 380
  1311. Num50 = 388
  1312. Num51 = 390
  1313. Num52 = 398
  1314. Num53 = 3A0
  1315. Num54 = 3A8
  1316. Num55 = 3B0
  1317. Num56 = 3B8
  1318. Num57 = 3C0
  1319. Num58 = 3C8
  1320. Num59 = 3D0
  1321. Num60 = 3D8
  1322. Num61 = 3E0
  1323. Num62 = 3E8
  1324. Num63 = 3F0
  1325. Num64 = 3F8
  1326.  
  1327. [NWPORTList2]
  1328. Num1  = 200
  1329. Num2  = 220
  1330. Num3  = 240
  1331. Num4  = 260
  1332. Num5  = 280
  1333. Num6  = 300
  1334. Num7  = 320
  1335. Num8  = 340
  1336. Num9  = 360
  1337. Num10 = 380
  1338.  
  1339. [NWPORTList3]
  1340. Num1  = A20
  1341. Num2  = A24
  1342.  
  1343. [NWPORTList4]
  1344. Num1  = 100
  1345. Num2  = 120
  1346. Num3  = 140
  1347. Num4  = 160
  1348. Num5  = 180
  1349. Num6  = 1A0
  1350. Num7  = 1C0
  1351. Num8  = 1E0
  1352. Num9  = 200
  1353. Num10 = 220
  1354. Num11 = 240
  1355. Num12 = 260
  1356. Num13 = 280
  1357. Num14 = 2A0
  1358. Num15 = 2C0
  1359. Num16 = 2E0
  1360. Num17 = 300
  1361. Num18 = 320
  1362. Num19 = 340
  1363. Num20 = 360
  1364. Num21 = 380
  1365. Num22 = 3A0
  1366. Num23 = 3C0
  1367. Num24 = 3E0
  1368.  
  1369. [NWPORTList5]
  1370. Num1  = 1A20
  1371. Num2  = 2A20
  1372. Num3  = 3A20
  1373. Num4  = 3A40
  1374. Num5  = 3A60
  1375. Num6  = 3A80
  1376. Num7  = 3AA0
  1377. Num8  = 4AE0
  1378.  
  1379. [NWPORTList6]
  1380. Num1  = 0A20
  1381. Num2  = 1A20
  1382. Num3  = 2A20
  1383. Num4  = 3A20
  1384. Num5  = 3A60
  1385. Num6  = 1000
  1386. Num7  = 2000
  1387. Num8  = 3000
  1388. Num9  = 4000
  1389. Num10 = 5000
  1390. Num11 = 6000
  1391. Num12 = 7000
  1392. Num13 = 8000
  1393.  
  1394. [NWPORTList7]
  1395. Num1  = 240
  1396. Num2  = 280
  1397. Num3  = 2C0
  1398. Num4  = 300
  1399. Num5  = 320
  1400. Num6  = 340
  1401. Num7  = 360
  1402.  
  1403. [NWPORTList8]
  1404. Num1  = 200
  1405. Num2  = 220
  1406. Num3  = 240
  1407. Num4  = 260
  1408. Num5  = 280
  1409. Num6  = 2A0
  1410. Num7  = 2C0
  1411. Num8  = 2E0
  1412. Num9  = 300
  1413. Num10  = 320
  1414. Num11  = 340
  1415. Num12  = 360
  1416. Num13  = 380
  1417. Num14  = 3A0
  1418. Num15  = 3C0
  1419. Num16  = 3E0
  1420.  
  1421. [NWPORTList9]
  1422. Num1  = 200
  1423. Num2  = 210
  1424. Num3  = 220
  1425. Num4  = 230
  1426. Num5  = 240
  1427. Num6  = 250
  1428. Num7  = 260
  1429. Num8  = 270
  1430. Num9  = 280
  1431. Num10 = 290
  1432. Num11 = 2A0
  1433. Num12 = 2B0
  1434. Num13 = 2C0
  1435. Num14 = 2D0
  1436. Num15 = 2E0
  1437. Num16 = 2F0
  1438. Num17 = 300
  1439. Num18 = 310
  1440. Num19 = 320
  1441. Num20 = 330
  1442. Num21 = 340
  1443. Num22 = 350
  1444. Num23 = 360
  1445. Num24 = 370
  1446. Num25 = 380
  1447. Num26 = 390
  1448. Num27 = 3A0
  1449. Num28 = 3B0
  1450. Num29 = 3C0
  1451. Num30 = 3D0
  1452. Num31 = 3E0
  1453. Num32 = 3F0
  1454.  
  1455.  
  1456. [NWMEMList1]
  1457. Num1 = C0000
  1458. Num2 = C4000
  1459. Num3 = C8000
  1460. Num4 = CC000
  1461. Num5 = D0000
  1462. Num6 = D4000
  1463. Num7 = D8000
  1464. Num8 = DC000
  1465.  
  1466. [NWDMAList1]
  1467. Num1 = 1
  1468. Num2 = 2
  1469. Num3 = 3
  1470. Num4 = 4
  1471. Num5 = 5
  1472. Num6 = 6
  1473. Num7 = 7
  1474.  
  1475. ;
  1476. ;    See the documentation on "Building your own OEMSETUP.INF" for more information.
  1477. ;
  1478.  
  1479. [Options]
  1480.     ODI_NE2000
  1481.     ODI_NE1000
  1482.     ODI_NE1500T
  1483.     ODI_M1500
  1484.     ODI_NE2100
  1485.     ODI_M2100
  1486.     ODI_NTR2000
  1487.     ODI_IBMTOK1    
  1488.     ODI_EN166X
  1489.     ODI_INTEL_EPRO
  1490.  
  1491. [ODI_NE2000]
  1492. Title = "Novell NE2000"
  1493. DriverName = 1, CNE2000.LAN
  1494. MediaType = "ETHERNET"
  1495. Custom =    {}
  1496. List1 = "Int", NWIRQList6, "3", ALL
  1497. List2 = "Port", NWPORTList7, "300", ALL
  1498.  
  1499. [ODI_NE1000]
  1500. Title = "Novell NE1000"
  1501. DriverName = 1, NE1000.LAN
  1502. MediaType = "ETHERNET"
  1503. Custom =    {}
  1504. List1 = "Int", NWIRQList1, "3", 1, 4
  1505. List2 = "Port", NWPORTList2, "300", 6, 9
  1506.  
  1507. [ODI_NE1500T]
  1508. Title = "Novell NE1500T"
  1509. DriverName = 1, CNE1500T.LAN
  1510. MediaType = "ETHERNET"
  1511. Custom =    {ISA}
  1512. List1 = "Int", NWIRQList2, "3", ALL
  1513. List2 = "Port", NWPORTList2, "300", 6, 9
  1514. List3 = "Dma", "DMA Channel", "5", {3,5,6,7}
  1515.  
  1516. [ODI_M1500]
  1517. Title = "Ansel M1500 All-In-One-Networking"
  1518. DriverName = 1, CNE1500T.LAN
  1519. MediaType = "ETHERNET"
  1520. Custom =    {}
  1521. List1 = "Int", NWIRQList2, "3", ALL
  1522. List2 = "Port", NWPORTList2, "300", 6, 9
  1523. List3 = "Dma", "DMA Channel", "5", {3,5,6,7}
  1524.  
  1525. [ODI_NE2100]
  1526. Title = "Novell NE2100"
  1527. DriverName = 1, CNE2100.LAN
  1528. MediaType = "ETHERNET"
  1529. Custom =    {ISA}
  1530. List1 = "Int", NWIRQList2, "3", ALL
  1531. List2 = "Port", NWPORTList2, "300", 6, 9
  1532. List3 = "Dma", "DMA Channel", "5", {3,5,6,7}
  1533.  
  1534. [ODI_M2100]
  1535. Title = "Ansel M2100 All-In-One-Networking"
  1536. DriverName = 1, CNE2100.LAN
  1537. MediaType = "ETHERNET"
  1538. Custom =    {}
  1539. List1 = "Int", NWIRQList2, "3", ALL
  1540. List2 = "Port", NWPORTList2, "300", 6, 9
  1541. List3 = "Dma", "DMA Channel", "5", {3,5,6,7}
  1542.  
  1543. [ODI_NTR2000]
  1544. Title = "Novell Token-Ring"
  1545. DriverName = 1, CNTR2000.LAN
  1546. MediaType = "TOKEN-RING"
  1547. Custom =    {}
  1548. List1 = "Port", NWPORTList3, "A20", ALL
  1549.  
  1550. [ODI_IBMTOK1]
  1551. Title = "IBM Token-Ring"
  1552. DriverName = 1, CNTR2000.LAN
  1553. MediaType = "TOKEN-RING"
  1554. Custom =    {}
  1555. List1 = "Port", NWPORTList3, "A20", ALL
  1556.  
  1557. [ODI_EN166X]
  1558. Title = "Accton EN166X PnP ISA CARD"
  1559. DriverName = 1, ACC6X.LAN
  1560. MediaType = "ETHERNET"
  1561. Custom =    {}
  1562. List1 = "Int", NWIRQList6, "5", ALL
  1563. List2 = "Port", NWPORTList8, "300", ALL
  1564.  
  1565.  
  1566. [ODI_INTEL_EPRO]
  1567. Title = "Intel EtherExpress(TM) PRO/10 LAN"
  1568. DriverName = 1, EPRO.LAN
  1569. MediaType = "ETHERNET"
  1570. Custom =        {"earlyrx 0", "earlytx 0"}
  1571.  
  1572. ; ADD LIST1, LIST2, etc. as NECESSARY
  1573.  
  1574. List1 = "Port", NWPORTList9, "300", ALL
  1575. ;List2 = "earlyrx", "Concurrent Processing", "On", {"On", "Off"}
  1576. ;List1 = "Int", NWIRQList1, "5", ALL
  1577. ;List4 = "Early TX", "DMA Channel", "5", {3,5,6,7}
  1578.  
  1579. [Strings]
  1580.     ;
  1581.     ; Every string that is in quotes from this point to the end of the
  1582.     ; file will be pulled out and put into the translation teams database.
  1583.     ; There parser looks for the section [Strings] and then goes to the
  1584.     ; end of the file.  DO NOT put strings below this point in the file
  1585.     ; that should not be translated.  Likewise, all strings that need to
  1586.     ; be translated should be in quotes and below this point in the file.
  1587.     ;
  1588.  
  1589. [Source Media Descriptions]
  1590.     1  = "NetWare ODI LAN Drivers Disk" , TAGFILE = NWC_24
  1591.  
  1592. [ODIStringsENG]
  1593. AdapterForNetWare = " Adapter for NetWare"
  1594. NetWareForWindowsNT = "NetWare for Windows NT"
  1595. Present = "Present"
  1596. NotPresent = "Not Present"
  1597. NetWareODILANDriversDisk = "NetWare ODI LAN Drivers Disk"
  1598. BindingError = "Binding: Sorry, not yet implemented."
  1599.  
  1600. [DialogConstantsENG]
  1601. Help        = "&Help"
  1602. ;Exit        = "&Cancel"
  1603. OK          = "OK"
  1604. HelpContext = ""
  1605. Continue    = "&Continue"
  1606. Cancel      = "&Cancel"
  1607. Advanced = "&Advanced"
  1608. IDH_NETWAREWRKSTATIONPARMS =  901
  1609. IDH_NETWAREIPXBIND         =  902
  1610. IDH_IPXSPXPARMS            =  903
  1611. IDH_NETWORKPROTOCOL        =  904
  1612. IDH_NETWAREODISETTINGS     =  905
  1613. IDH_NETWARECLIENTINSTALL   =  906
  1614. IDH_NETWARENDISODI         =  907
  1615. IDH_NODEADDRESSOVERIDE     =  908
  1616. IDH_RESMGRCONFIG               =  951
  1617.  
  1618. [LANDriverDlgENG]
  1619. DlgType = "RadioCombination"
  1620. DlgTemplate = "List"$(ODINumberofDriverLists)
  1621. Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
  1622. EditTextIn = ""
  1623. EditTextLim = ""
  1624. CBOptionsGreyed = {}
  1625. HelpContext = $(IDH_NETWAREODISETTINGS)
  1626.  
  1627.  
  1628. [NoParmsENG]
  1629. DlgType = "RadioCombination"
  1630. DlgTemplate = "NO_PARAMETERS"
  1631. Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
  1632. EditTextIn = ""
  1633. EditTextLim = ""
  1634. CBOptionsGreyed = {}
  1635. HelpContext = ""
  1636. CBOptionsGreyed = {}
  1637. ComboListItemsIn = {}
  1638. ComboListItemsOut = {}
  1639. NotifyFields = {}
  1640.  
  1641.  
  1642. [AdvancedDialogENG]
  1643. DlgType = "RadioCombination"
  1644. Caption = "Advanced Settings"
  1645. EditTextIn = $(ODINodeAddress)
  1646. EditTextLim = 13
  1647. CBOptionsGreyed = {}
  1648. HelpContext = $(IDH_NODEADDRESSOVERIDE)
  1649. NotifyFields = {}
  1650.  
  1651.  
  1652. [FileConstantsENG]
  1653. ProCaption    = "NetWare ODI LAN Drivers Setup"
  1654. ProCancel    = "Cancel"
  1655. ProCancelMsg = "NetWare for Windows NT is not correctly installed.  "+
  1656.                 "Are you sure you want to cancel copying files?"
  1657. ProCancelCap = "Network Setup Message"
  1658. ProText1     = "Copying:"
  1659. ProText2     = "To:"
  1660.