home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / ntws1.exe / NTCLI / NTCLNT_1.350 / I386 / OEMNADNA.IN_ / OEMNADNA.IN
Text File  |  1995-05-19  |  40KB  |  1,651 lines

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