[Identification]
   OptionType = NetAdapter
[PlatformsSupported]
   MCA
[Options]
   LT200MC
[FileConstants]
UtilInf                 = "UTILITY.INF"
SubInf                  = "SUBROUTN.INF"
SoftwareType            = "driver"
LT200MC_1BYTE           = 116
LT200MC_2BYTE           = 102
NETCARD_ID              = 26228
Manufacturer            = "Microsoft"
ProductMajorVersion     = "4"
ProductMinorVersion     = "0"
ProductVersion          = $(ProductMajorVersion)"."$(ProductMinorVersion)
ProductInfName          = "oemnadlm.inf"
ProductSoftwareName      =      "lt200"
ProductSoftwareImagePath =      "%SystemRoot%\system32\drivers\lt200.sys"
NetRuleSoftwareType      =      "Lt200Sys ltkndisDriver lt200Driver"
NetRuleSoftwareUse       =      $(SoftwareType)
NetRuleSoftwareBindForm  =      """Lt200Sys"" yes no container"
NetRuleSoftwareClass     =      {"lt200Driver basic","ltkndisDriver basic yes"}
NetRuleSoftwareBindable  =      {"lt200Driver lt200Adapter non exclusive 100",+
                             "ltkndisDriver lt200Driver non non 100"}
ProductEventDll         =  "%SystemRoot%\system32\netevent.dll"
ProductHardwareName     =  "lt200"
NetRuleHardwareType     =  "lt200 lt200Adapter"
NetRuleHardwareBindForm =  " yes yes container"
NetRuleHardwareClass    =  {"lt200Adapter basic"}
ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
CardKey         = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
[GeneralConstants]
KeyNull                 = ""
MAXIMUM_ALLOWED         = 33554432
RegistryErrorIndex      = NO_ERROR
KeyProduct              = ""
KeyParameters           = ""
TRUE                    = 1
FALSE                   = 0
NoTitle                 = 0
[date]
   Now = {} ? $(!LIBHANDLE) GetSystemDate
[Identify]
    read-syms Identification
    set Status     = STATUS_SUCCESSFUL
    set Identifier = $(OptionType)
    set Media      = #("Source Media Descriptions", 1, 1)
    Return $(Status) $(Identifier) $(Media)
[ReturnOptions]
    set Status        = STATUS_FAILED
    set OptionList     = {}
    set OptionTextList = {}
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) in $(LanguageList)
        ifstr(i) $($1) == ""
           goto returnoptions
        endif
        set PlatformList = ^(PlatformsSupported, 1)
        Ifcontains(i) $($1) in $(PlatformList)
           goto returnoptions
        else
           set Status = STATUS_NOTSUPPORTED
           goto finish_ReturnOptions
        endif
   else
        set Status = STATUS_NOLANGUAGE
        goto finish_ReturnOptions
   endif
returnoptions = +
    set OptionList     = ^(Options, 1)
    set OptionTextList = ^(OptionsText$($0), 1)
    set Status         = STATUS_SUCCESSFUL
finish_ReturnOptions = +
    Return $(Status) $(OptionList) $(OptionTextList)
[InstallOption]
    set Status   = STATUS_FAILED
    set Option   = $($1)
    set SrcDir       = $($2)
    Set AddCopy  = $($3)
    Set DoCopy       = $($4)
    Set DoConfig = $($5)
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) NOT-IN $(LanguageList)
           return STATUS_NOLANGUAGE
    EndIf
    StartWait
    set-subst LF = "\n"
    set-subst CR = "\r"
    read-syms GeneralConstants
    read-syms FileConstants
    read-syms DialogConstants$(!STF_LANGUAGE)
    read-syms FileConstants$(!STF_LANGUAGE)
    detect date
    set-title  $(FunctionTitle)
    set CommonStatus = STATUS_SUCCESSFUL
    EndWait
Begin = +
    Ifstr(i) $(!NTN_InstallMode) == deinstall
          set StartLabel = removeadapter
          Set RemoveonError = FALSE
    else-Ifstr(i) $(!NTN_InstallMode) == Update
      set StartLabel = UpgradeSoftware
    else-Ifstr(i) $(!NTN_InstallMode) == bind
      set StartLabel = bindingadapter
    else-Ifstr(i) $(!NTN_InstallMode) == configure
      set CommonStatus = STATUS_USERCANCEL
      set StartLabel = configureadapter
    else
        set StartLabel = installadapter
        set REMOVE_SOFTWARE = TRUE
        set REMOVE_HARDWARE = {}
                Set RemoveOnError = TRUE
    endif
    goto $(StartLabel)
installadapter = +
    OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
    Ifstr $(KeyProduct) != $(KeyNull)
        GetRegValue $(KeyProduct) $(MajorVersion) VersionInfo
        set VersionMajor = *($(VersionInfo), 4)
        GetRegValue $(KeyProduct) $(MinorVersion) VersionInfo
        set VersionMinor = *($(VersionInfo), 4)
        set InstalledVersion = $(VersionMajor)"."$(VersionMinor)
        ifstr(i) $(ProductVersion) == $(InstalledVersion)
            read-syms MiscErrorString1$(!STF_LANGUAGE)
            Set Text = $(Version)$(ProductVersion)
            Shell $(SubInf), SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(Text)$(ErrorString)
            goto end
        EndIf
    EndIf
   ifstr(i) $(!NTN_InstallMode) == "install"
          Ifstr(i) $(!DoCopy) == "YES"
                 Shell $(UtilInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
                 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                        Goto ShellCodeError
                 Else-Ifstr(i) $($R0) == STATUS_FAILED
                        Shell $(UtilInf) RegistryErrorString "ASK_SOURCE_FAIL"
            ifint $($ShellCode) != $(!SHELL_CODE_OK)
                           goto ShellCodeError
                        endif
            set Error = $($R0)
            Goto end
                 Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
                        Goto end
                 Endif
                 Set SrcDir  = $($R1)
          Endif
   Endif
adapteroptions = +
    Shell $(UtilInf), MCAFindBus, $(LT200MC_1BYTE), $(LT200MC_2BYTE)
    ifstr(i) $($R0) != "NO_ERROR"
       set Error = $($R0)
      goto fatal
    endif
    ifint $($ShellCode) != 0
          goto ShellCodeError
    endif
    ifstr(i) $($R1) == {}
        read-syms MiscErrorString2$(!STF_LANGUAGE)
        Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
        goto usercancel
    endif
    set AdapterList = $($R1)
installproduct = +
    install "Install-Initial"
    ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
        goto usercancel
    Endif
    Set FLibraryErrCtl = 1
    Shell $(UtilInf), AddSoftwareComponent, $(Manufacturer),+
                  $(ProductSoftwareName), +
                  $(ProductSoftwareName), +
                  $(ProductSoftwareName), +
                  $(ProductInfName),+
                  $(ProductSoftwareImagePath),+
                  "kernel", "NDIS", {}, "", $(ProductEventDll)
    ifint $($ShellCode) != 0
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    set KeyProduct      = $($R1)
    Set SoftNetRulesKey = $($R2)
    CloseRegKey $($R3)
    CloseRegKey $($R4)
    CloseRegKey $($R5)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
        CloseRegKey $(KeyProduct)
        CloseRegKey $(SoftNetRulesKey)
        goto fatalregistry
    endif
    set NewValueList = {{SoftwareType,0,$(!REG_VT_SZ),$(SoftwareType)},+
                       {MajorVersion,0,$(!REG_VT_DWORD),$(ProductMajorVersion)},+
                       {MinorVersion,0,$(!REG_VT_DWORD),$(ProductMinorVersion)},+
                       {Title,0,$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
                       {Description,0,$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
                       {PathName,0,$(!REG_VT_SZ),$(!STF_WINDOWSSYSPATH)},+
                       {ServiceName,0,$(!REG_VT_SZ),$(ProductSoftwareName)},+
                       {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
    Shell   $(UtilInf), AddValueList, $(KeyProduct), $(NewValueList)
    ifint $($ShellCode) != 0
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
        CloseRegKey $(KeyProduct)
        CloseRegKey $(SoftNetRulesKey)
        goto fatalregistry
    endif
    set NewValueList = {{type,0,$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
                       {use,0,$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
                       {bindform,0,$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
                       {class,0,$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
                       {bindable,0,$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
                       {InfOption,0,$(!REG_VT_SZ),$(Option)}, +
                       {Infname ,0,$(!REG_VT_SZ),$(ProductInfName)} }
    Shell  $(UtilInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
    ifint $($ShellCode) != 0
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    CloseRegKey $(KeyProduct)
    CloseRegKey $(SoftNetRulesKey)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
        goto fatalregistry
    endif
    ForListDo $(AdapterList)
        set BusNum = *($($),1)
        set SlotNum = *($($),2)
        Debug-Output "Bus Number = "$(BusNum)
        Debug-Output "Slot Number = "$(SlotNum)
        Shell $(UtilInf), IsNetCardAlreadyInstalled, $(BusNum), +
                      $(SlotNum), +
                      $(ProductHardwareDescription), +
                      $(ProductHardwareName)
        ifint $($ShellCode) != 0
                goto ShellCodeError
        endif
        Ifstr $($R0) != NO_ERROR
               set Error = $($R0)
                    goto fatal
        Endif
        ifstr(i) $($R1) != "YES"
            Shell $(UtilInf), AddHardwareComponent, $(ProductHardwareName),+
                              $(ProductInfName),$(ProductKeyName)
            ifint $($R4) != -1
                Set REMOVE_HARDWARE = >($(REMOVE_HARDWARE),$(CardKey)"\"$($R4))
            endif
            ifint $($ShellCode) != 0
                goto ShellCodeError
            endif
            set RegistryErrorIndex = $($R0)
            Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
               CloseRegKey $($R1)
               CloseRegKey $($R2)
               CloseRegKey $($R3)
               goto fatalregistry
            Endif
            set KeyParameters = $($R3)
            set KeyAdapterRules = $($R2)
            set AdapterNumber = $($R4)
            set NewValueList = {{Manufacturer,0,$(!REG_VT_SZ),$(Manufacturer)},+
                               {Title,0,$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
                               {Description,0,$(!REG_VT_SZ),$(ProductHardwareDescription)},+
                               {ProductName,0,$(!REG_VT_SZ),$(ProductHardwareName)},+
                               {ServiceName,0,$(!REG_VT_SZ),$($R5)},+
                               {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
            Shell  $(UtilInf), AddValueList, $($R1), $(NewValueList)
            ifint $($ShellCode) != 0
                goto ShellCodeError
            endif
            CloseRegKey $($R1)
            set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
            set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
            set NewValueList = {{type,0,$(!REG_VT_SZ),$(NetRuleHardwareType)},+
                                {bindform,0,$(!REG_VT_SZ),$(TempBindForm)}, +
                                {class,0,$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
                                {InfOption,0,$(!REG_VT_SZ),$(Option)}, +
                                {Infname ,0,$(!REG_VT_SZ),$(ProductInfName)}}
            Shell  $(UtilInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
            ifint $($ShellCode) != 0
                goto ShellCodeError
            endif
            set RegistryErrorIndex = $($R0)
            Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                    CloseRegKey $(KeyParameters)
                    CloseRegKey $(KeyAdapterRules)
                    goto fatalregistry
            endif
            CloseRegKey $(KeyAdapterRules)
    EndForListDo
    goto writeparameters
configureadapter = +
   read-syms NoConfig$(!STF_LANGUAGE)
   Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
   goto end
writeparameters = +
    set NewValueList = {{BusNumber,0,$(!REG_VT_DWORD),$(BusNum)},+
                        {MediaType,0,$(!REG_VT_DWORD),5},+
                        {McaPosId,0,$(!REG_VT_DWORD),$(NETCARD_ID)},+
                        {BusType,0,$(!REG_VT_DWORD),3},+
                        {Server,0,$(!REG_VT_DWORD),1},+
                        {SlotNumber,0,$(!REG_VT_DWORD),$(SlotNum)}}
    Shell  $(UtilInf), AddValueList, $(KeyParameters), $(NewValueList)
    CloseRegKey $(KeyParameters)
    ifint $($ShellCode) != 0
        Debug-Output "ShellCode error."
        goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
       goto fatalregistry
    endif
    goto end
bindingadapter = +
        goto end
removeadapter = +
    Set FLibraryErrCtl = 1
    Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
                Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer),$(ProductSoftwareName)
                ifint $($ShellCode) != 0
            Debug-Output "ShellCode error"
            goto ShellCodeError
                endif
                set RegistryErrorIndex = $($R0)
                Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
                endif
    else
                Shell $(UtilInf), RemoveHardwareComponent, $(Manufacturer),$(ProductSoftwareName), $(!NTN_RegBase)
                ifint $($ShellCode) != 0
            Debug-Output "ShellCode error"
            goto ShellCodeError
                endif
                set RegistryErrorIndex = $($R0)
                Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
            goto fatalregistry
                endif
        endif
        goto end
UpgradeSoftware = +
    OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
    Ifstr $(KeyProduct) != $(KeyNull)
        install "Install-Update"
        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
            goto fatal
        endif
        SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
        SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
        CloseRegKey $(KeyProduct)
    else
        goto fatalregistry
    endif
    goto end
successful = +
installstep1 = +
        goto end
abandon = +
   ForListDo $(REMOVE_HARDWARE)
          Shell $(UtilInf), RemoveHardwareComponent, $(Manufacturer), +
                        $(ProductSoftwareName), $($)
          ifint $($ShellCode) != 0
                 Debug-Output "ShellCode error"
         goto ShellCodeError
          endif
          set RegistryErrorIndex = $($R0)
          Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                 goto fatalregistry
      endif
   EndForListDo
   Ifstr(i) $(REMOVE_SOFTWARE) == TRUE
          Shell $(UtilInf), RemoveSoftwareComponent, +
                                                   $(Manufacturer), +
                                                   $(ProductSoftwareName), FALSE
      ifint $($ShellCode) != 0
                 goto ShellCodeError
      endif
      set RegistryErrorIndex = $($R0)
      Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                 goto fatalregistry
      endif
   endif
   goto end
fatalregistry = +
    Shell $(UtilInf) RegistryErrorString $(RegistryErrorIndex)
    ifint $($ShellCode) != 0
           goto ShellCodeError
    endif
    set Error = $($R0)
    goto fatal
fatal = +
   ifstr(i) $(!NTN_InstallMode) == install
          read-syms MiscErrorString3$(!STF_LANGUAGE)
          Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(ErrorString)$(Error)
   Else
          Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
   EndIf
   ifint $($ShellCode) != 0
          goto ShellCodeError
   endif
   goto setfailed
ShellCodeError = +
   read-syms ShellingError$(!STF_LANGUAGE)
   Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
setfailed = +
   set CommonStatus = STATUS_FAILED
   ifstr(i) $(RemoveOnError) == TRUE
          Set RemoveOnError = FALSE
          goto abandon
   Endif
   goto end
usercancel = +
   set CommonStatus = STATUS_USERCANCEL
end = +
   Return $(CommonStatus)
[Install-Initial]
   Set STF_VITAL = ""
   AddSectionFilesToCopyList Files-LT200 $(SrcDir) $(!STF_WINDOWSSYSPATH)"\DRIVERS"
   CopyFilesInCopyList
   exit
[Install-Update]
   Set STF_VITAL = ""
   AddSectionFilesToCopyList Files-LT200 $(SrcDir) $(!STF_WINDOWSSYSPATH)"\DRIVERS"
   exit
[Source Media Descriptions]
    1 = "Windows NT Workstation CD-ROM" , TAGFILE = cdrom.w
[Signature]
    FileType = MICROSOFT_FILE
[GetSignature]
    read-syms Signature
    return $(FileType)
[ProductType]
STF_PRODUCT  = Winnt
STF_PLATFORM = I386
[Files-Inf]
2,	oemsetup.inf,	 SIZE=1000,	RENAME=$(!UG_Filename)
[Files-LT200]
1,LT200.SYS , SIZE=999
[LanguagesSupported]
ENG
[OptionsTextENG]
LT200MC   = "COPS/DayStar Digital LocalTalk Adapter (MCA)"
[FileConstantsENG]
ProCaption              = "LocalTalk Adapter Setup"
ProCancel               = "Cancel"
ProCancelMsg    = "LocalTalk Adapter is not correctly installed. "+
                  "Are you sure you want to cancel copying files ?"
ProCancelCap    = "Network Setup Message"
ProText1                = "Copying:"
ProText2        = "To:"
Error           = "User has canceled copying files. Copied files will be removed."
FunctionTitle                   = "DayStar Digital LocalTalk Adapter Card Setup"
ProductSoftwareDescription      = "DayStar Digital LocalTalk Adapter Driver"
ProductHardwareDescription      = "DayStar Digital LocalTalk Adapter"
AskLocationText = "Setup needs to copy LocalTalk Adapter files."$(!LF)$(!LF)+
                  "Setup will look for the files in the location specified below. If you want "+
                  "Setup to look in a different place, type the new location. When the location "+
                  "is correct, click Continue."
MajorVersion    = "MajorVersion"
MinorVersion    = "MinorVersion"
Version                 = "Version "
ProductSoftwareTitle    =  "Daystar Digital LocalTalk Adapter Driver"
ProductHardwareTitle    =  "DayStar Digital LocalTalk Adapter"
[DialogConstantsENG]
Help        = "&Help"
Exit        = "Cancel"
OK          = "OK"
HelpContext = ""
Continue    = "Continue"
Cancel      = "Cancel"
[MiscErrorString1ENG]
ErrorString = +
" of the LocalTalk adapter driver is already installed in your system. "+
"Use [Update] to update to newer versions."
[MiscErrorString2ENG]
ErrorString = +
"A LocalTalk adapter could not be found in your system. Please "+
"check your system configuration."
[MiscErrorString3ENG]
ErrorString = +
"Setup encountered the following error during installation. Try installing the "+
"LocalTalk Adapter after rebooting your system. "$(LF)
[NoConfigENG]
ErrorString = +
"This adapter does not have any configurable parameters."
[StatusRemove1ENG]
Status = "Removing LocalTalk Adapter files..."
[ShellingErrorENG]
ErrorString  = +
"An internal error occurred. Contact Technical Support."
