summaryrefslogtreecommitdiffstats
path: root/private/ntos/miniport/qlogic/oemsetup.inf
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--private/ntos/miniport/qlogic/oemsetup.inf571
1 files changed, 571 insertions, 0 deletions
diff --git a/private/ntos/miniport/qlogic/oemsetup.inf b/private/ntos/miniport/qlogic/oemsetup.inf
new file mode 100644
index 000000000..8ec7286f1
--- /dev/null
+++ b/private/ntos/miniport/qlogic/oemsetup.inf
@@ -0,0 +1,571 @@
+;-----------------------------------------------------------------------
+; OPTION TYPE
+; -----------
+; This identifies the Option type we are dealing with. The different
+; possible types are:
+;
+; COMPUTER, VIDEO, POINTER, KEYBOARD, LAYOUT, SCSI, TAPE, PRINTER, ...
+;-----------------------------------------------------------------------
+
+[Identification]
+ OptionType = SCSI
+
+;-----------------------------------------------------------------------
+; LANGUAGES SUPPORTED
+; -------------------
+;
+; The languages supported by the INF, For every language supported
+; we need to have a separate text section for every displayable text
+; section.
+;
+;-----------------------------------------------------------------------
+
+[LanguagesSupported]
+ ENG
+
+
+;-----------------------------------------------------------------------
+; OPTION LIST
+; -----------
+; This section lists the Option key names. These keys are locale
+; independent and used to represent the option in a locale independent
+; manner.
+;
+;-----------------------------------------------------------------------
+
+[Options]
+ "QLA100" = ql10wnt
+ "QLA10035" = ql10nt35
+
+;-----------------------------------------------------------------------
+; OPTION TEXT SECTION
+; -------------------
+; These are text strings used to identify the option to the user. There
+; are separate sections for each language supported. The format of the
+; section name is "OptionsText" concatenated with the Language represented
+; by the section.
+;
+;-----------------------------------------------------------------------
+
+[OptionsTextENG]
+ "QLA100" = "QLogic Fast!SCSI/QLA100 (Windows NT V3.1)"
+ "QLA10035" = "QLogic Fast!SCSI/QLA100 (Windows NT V3.5)"
+
+;-----------------------------------------------------------------------------------------
+; SCSI MINIPORT DRIVERS:
+;
+; Order of the information:
+;
+; Class driver = Type, Group, ErrorControl, Tag, EventMessageFile, TypesSupported
+;
+;-----------------------------------------------------------------------------------------
+
+[MiniportDrivers]
+ ql10wnt = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL, 31, %SystemRoot%\System32\IoLogMsg.dll , 7
+ ql10nt35 = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL, 31, %SystemRoot%\System32\IoLogMsg.dll , 7
+
+;---------------------------------------------------------------------------
+; 1. Identify
+;
+; DESCRIPTION: To verify that this INF deals with the same type of options
+; as we are choosing currently.
+;
+; INPUT: None
+;
+; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
+; $($R1): Option Type (COMPUTER ...)
+; $($R2): Diskette description
+;---------------------------------------------------------------------------
+
+[Identify]
+ ;
+ ;
+ read-syms Identification
+
+ set Status = STATUS_SUCCESSFUL
+ set Identifier = $(OptionType)
+ set Media = #("Source Media Descriptions", 1, 1)
+
+ Return $(Status) $(Identifier) $(Media)
+
+
+
+;------------------------------------------------------------------------
+; 2. ReturnOptions:
+;
+; DESCRIPTION: To return the option list supported by this INF and the
+; localised text list representing the options.
+;
+;
+; INPUT: $($0): Language used. ( ENG | FRN | ... )
+;
+; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
+; STATUS_NOLANGUAGE
+; STATUS_FAILED
+;
+; $($R1): Option List
+; $($R2): Option Text List
+;------------------------------------------------------------------------
+
+[ReturnOptions]
+ ;
+ ;
+ set Status = STATUS_FAILED
+ set OptionList = {}
+ set OptionTextList = {}
+
+ ;
+ ; Check if the language requested is supported
+ ;
+ set LanguageList = ^(LanguagesSupported, 1)
+ Ifcontains(i) $($0) in $(LanguageList)
+ goto returnoptions
+ else
+ set Status = STATUS_NOLANGUAGE
+ goto finish_ReturnOptions
+ endif
+
+ ;
+ ; form a list of all the options and another of the text representing
+ ;
+
+returnoptions = +
+ set OptionList = ^(Options, 0)
+ set OptionTextList = ^(OptionsText$($0), 1)
+ set Status = STATUS_SUCCESSFUL
+
+finish_ReturnOptions = +
+ Return $(Status) $(OptionList) $(OptionTextList)
+
+
+;
+; 3. InstallOption:
+;
+; FUNCTION: To copy files representing Options
+; To configure the installed option
+; To update the registry for the installed option
+;
+; INPUT: $($0): Language to use
+; $($1): OptionID to install
+; $($2): SourceDirectory
+; $($3): AddCopy (YES | NO)
+; $($4): DoCopy (YES | NO)
+; $($5): DoConfig (YES | NO)
+;
+; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
+; STATUS_NOLANGUAGE |
+; STATUS_USERCANCEL |
+; STATUS_FAILED
+;
+
+[InstallOption]
+
+ ;
+ ; Set default values for
+ ;
+ set Status = STATUS_FAILED
+ set DrivesToFree = {}
+
+ ;
+ ; extract parameters
+ ;
+ set Option = $($1)
+ set SrcDir = $($2)
+ set AddCopy = $($3)
+ set DoCopy = $($4)
+ set DoConfig = $($5)
+
+ ;
+ ; Check if the language requested is supported
+ ;
+ set LanguageList = ^(LanguagesSupported, 1)
+ Ifcontains(i) $($0) in $(LanguageList)
+ else
+ set Status = STATUS_NOLANGUAGE
+ goto finish_InstallOption
+ endif
+ read-syms Strings$($0)
+
+ ;
+ ; check to see if Option is supported.
+ ;
+
+ set OptionList = ^(Options, 0)
+ ifcontains $(Option) in $(OptionList)
+ else
+ Debug-Output "SCSI.INF: SCSI option is not supported."
+ goto finish_InstallOption
+ endif
+ set OptionList = ""
+
+ ;
+ ; Option has been defined already
+ ;
+
+ set MiniportDriver = #(Options, $(Option), 1)
+ set Type = $(#(MiniportDrivers, $(MiniportDriver), 1))
+ set Group = #(MiniportDrivers, $(MiniportDriver), 2)
+ set ErrorControl = $(#(MiniportDrivers, $(MiniportDriver), 3))
+ set Tag = #(MiniportDrivers, $(MiniportDriver), 4)
+ set EventMessageFile = #(MiniportDrivers, $(MiniportDriver), 5)
+ set TypesSupported = #(MiniportDrivers, $(MiniportDriver), 6)
+
+ set Start = $(!SERVICE_BOOT_START)
+
+installtheoption = +
+
+ ;
+ ; Code to add files to copy list
+ ;
+
+ ifstr(i) $(AddCopy) == "YES"
+ set DoActualCopy = NO
+ set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
+ LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
+ ifstr(i) $(STATUS) == NO
+ set DoActualCopy = YES
+ endif
+
+ ifstr(i) $(DoActualCopy) == NO
+ shell "subroutn.inf" DriversExist $($0) $(String1)
+ ifint $($ShellCode) != $(!SHELL_CODE_OK)
+ Debug-Output "SCSI.INF: shelling DriversExist failed"
+ goto finish_InstallOption
+ endif
+
+ ifstr(i) $($R0) == STATUS_CURRENT
+ else-ifstr(i) $($R0) == STATUS_NEW
+ set DoActualCopy = YES
+ else-ifstr(i) $($R0) == STATUS_USERCANCEL
+ Debug-Output "SCSI.INF: User cancelled SCSI installation"
+ goto finish_InstallOption
+ else
+ Debug-Output "SCSI.INF: Error reported in DriversExist routine in SUBROUTN.INF"
+ goto finish_InstallOption
+ endif
+ endif
+
+ ifstr(i) $(DoActualCopy) == YES
+
+ shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
+ ifint $($ShellCode) != $(!SHELL_CODE_OK)
+ Debug-Output "SCSI.INF: shelling DoAskSourceEx failed"
+ goto finish_InstallOption
+ endif
+
+ ifstr(i) $($R0) == STATUS_SUCCESSFUL
+ set SrcDir = $($R1)
+ ifstr(i) $($R2) != ""
+ set DrivesToFree = >($(DrivesToFree), $($R2))
+ endif
+ else
+ Debug-Output "SCSI.INF: User cancelled asking source."
+ goto finish_InstallOption
+ endif
+
+ install Install-AddCopyOption
+ ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
+ Debug-Output "Adding SCSI files to copy list failed"
+ goto finish_InstallOption
+ endif
+ else
+ set DoCopy = NO
+ endif
+
+ endif
+
+ ifstr(i) $(DoCopy) == "YES"
+ read-syms ProgressCopy$($0)
+ install Install-DoCopyOption
+ ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
+ Debug-Output "Copying files failed"
+ goto finish_InstallOption
+ else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
+ set Status = STATUS_USERCANCEL
+ goto finish_InstallOption
+ endif
+ endif
+
+ ifstr(i) $(DoConfig) == "YES"
+ ;
+ ; first run a privilege check on modifying the setup node
+ ;
+
+ shell "registry.inf" CheckSetupModify
+ ifint $($ShellCode) != $(!SHELL_CODE_OK)
+ goto finish_InstallOption
+ endif
+
+ ifstr(i) $($R0) != STATUS_SUCCESSFUL
+ goto finish_InstallOption
+ endif
+
+ ;
+ ; then make a new SCSI entry, the entry is created automatically
+ ; enabled
+ ;
+
+ set ServiceNode = $(MiniportDriver)
+ set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
+
+ set ServicesValues = { +
+ {Type, 0, $(!REG_VT_DWORD), $(Type) }, +
+ {Start, 0, $(!REG_VT_DWORD), $(Start) }, +
+ {Group, 0, $(!REG_VT_SZ), $(Group) }, +
+ {ErrorControl, 0, $(!REG_VT_DWORD), $(ErrorControl) }, +
+ {Tag, 0, $(!REG_VT_DWORD), $(Tag) }, +
+ {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary) } +
+ }
+ set ParametersValues = ""
+ set DeviceValues = {}
+ set EventLogValues = { +
+ {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
+ {TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } +
+ }
+
+ shell "registry.inf" MakeServicesEntry $(ServiceNode) +
+ $(ServicesValues) +
+ $(ParametersValues) +
+ $(DeviceValues) +
+ $(EventLogValues) +
+ Parameters
+
+
+
+ ifint $($ShellCode) != $(!SHELL_CODE_OK)
+ Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
+ goto finish_InstallOption
+ endif
+
+ ifstr(i) $($R0) != STATUS_SUCCESSFUL
+ Debug-Output "MakeServicesEntry failed for SCSI"
+ goto finish_InstallOption
+ endif
+
+ endif
+
+ set Status = STATUS_SUCCESSFUL
+finish_InstallOption = +
+ ForListDo $(DrivesToFree)
+ LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
+ EndForListDo
+
+ Return $(Status)
+
+
+[Install-AddCopyOption]
+
+ ;
+ ; Add the files to the copy list
+ ;
+ AddSectionKeyFileToCopyList Files-ScsiMiniportDrivers +
+ $(MiniportDriver) +
+ $(SrcDir) +
+ $(!STF_WINDOWSSYSPATH)\drivers
+
+ exit
+
+
+[Install-DoCopyOption]
+
+ ;
+ ; Copy files in the copy list
+ ;
+ CopyFilesInCopyList
+ exit
+
+;-------------------------------------------------------------------------
+; 4. DeInstallOption:
+;
+; FUNCTION: To remove files representing Option
+; To remove the registry entry corresponding to the Option
+;
+; INPUT: $($0): Language to use
+; $($1): OptionID to install
+;
+; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
+; STATUS_NOLANGUAGE |
+; STATUS_USERCANCEL |
+; STATUS_FAILED
+;-------------------------------------------------------------------------
+[DeInstallOption]
+ ;
+ ; Set default values for
+ ;
+ set Status = STATUS_FAILED
+ ;
+ ; extract parameters
+ ;
+ set Option = $($1)
+
+ ;
+ ; Check if the language requested is supported
+ ;
+ set LanguageList = ^(LanguagesSupported, 1)
+ Ifcontains(i) $($0) in $(LanguageList)
+ else
+ set Status = STATUS_NOLANGUAGE
+ goto finish_DeInstallOption
+ endif
+ read-syms Strings$($0)
+
+ ;
+ ; check to see if Option is supported.
+ ;
+
+ set OptionList = ^(Options, 0)
+ ifcontains $(Option) in $(OptionList)
+ else
+ goto finish_DeInstallOption
+ endif
+ set OptionList = ""
+
+ ;
+ ; fetch details about option
+ ;
+
+ set MiniportDriver = #(Options, $(Option), 1)
+ set MiniportFile = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
+ set FilePath = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
+
+ ;
+ ; check to see if file is installed
+ ; if not give success
+ ;
+
+ LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
+ ifstr(i) $(STATUS) == "NO"
+ set Status = STATUS_SUCCESSFUL
+ goto finish_DeInstallOption
+ endif
+
+ shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
+ ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
+ ; this could happen if there is no start value or there is no
+ ; key, in which case the option is not installed
+ set Status = STATUS_SUCCESSFUL
+ goto finish_DeInstallOption
+ endif
+
+ ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
+ shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(String3)
+ ifstr(i) $($R0) != STATUS_SUCCESSFUL
+ goto do_removal
+ endif
+ ifstr(i) $($R1) == "CANCEL"
+ goto finish_DeInstallOption
+ endif
+ endif
+
+do_removal =+
+ ;
+ ; disable the registry entry
+ ;
+
+ shell "registry.inf" RemoveServicesEntry $(MiniportDriver)
+ ifint $($ShellCode) != $(!SHELL_CODE_OK)
+ Debug-Output "SCSI.INF: Failed to shell RemoveServicesEntry"
+ goto finish_DeInstallOption
+ endif
+
+ ifstr(i) $($R0) != STATUS_SUCCESSFUL
+ Debug-Output "SCSI.INF: Failed to disable services entry"
+ goto finish_DeInstallOption
+ endif
+
+ ;
+ ; we won't remove the file because we can only do so during the next boot.
+ ; if the user chooses to reinstall the same driver during this boot
+ ; he will still end up deleting the driver on next boot. if the file
+ ; should be deleted a warning should be put up saying that the user should
+ ; not try to reinstall the driver during this boot
+ ;
+ ; AddFileToDeleteList $(FilePath)
+
+ set Status = STATUS_SUCCESSFUL
+
+finish_DeInstallOption =+
+ return $(Status)
+
+
+;-------------------------------------------------------------------------
+; 5. GetInstalledOptions:
+;
+; FUNCTION: To find out the list of options which are installed
+;
+; INPUT: $($0): Language to Use
+;
+; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
+; STATUS_FAILED
+;
+; $($R1): List of options installed
+; $($R2): Option installed Text List
+;-------------------------------------------------------------------------
+[GetInstalledOptions]
+ set Status = STATUS_FAILED
+ set InstalledOptions = {}
+ set InstalledOptionsText = {}
+
+ ;
+ ; Check if the language requested is supported
+ ;
+ set LanguageList = ^(LanguagesSupported, 1)
+ Ifcontains(i) $($0) in $(LanguageList)
+ else
+ set Status = STATUS_NOLANGUAGE
+ goto finish_GetInstalledOptions
+ endif
+
+ set OptionList = ^(Options, 0)
+ ForListDo $(OptionList)
+ set MiniportDriver = #(Options, $($), 1)
+ set MiniportFile = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
+ set FilePath = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
+ LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
+ ifstr(i) $(STATUS) == "YES"
+ shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
+ ifint $($ShellCode) == $(!SHELL_CODE_OK)
+ ifstr(i) $($R0) == STATUS_SUCCESSFUL
+ ifstr(i) $($R1) != $(!SERVICE_DISABLED)
+
+ set OptionText = #(OptionsText$($0), $($), 1)
+ set InstalledOptions = >($(InstalledOptions), $($))
+ set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
+
+ endif
+ endif
+ endif
+ endif
+ EndForListDo
+ set Status = STATUS_SUCCESSFUL
+finish_GetInstalledOptions =+
+ Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
+
+
+;**************************************************************************
+; PROGRESS GUAGE VARIABLES
+;**************************************************************************
+
+[ProgressCopyENG]
+ ProCaption = "Windows NT Setup"
+ ProCancel = "Cancel"
+ ProCancelMsg = "Windows NT is not correcly installed. Are you sure you want "+
+ "to cancel copying files?"
+ ProCancelCap = "Setup Message"
+ ProText1 = "Copying:"
+ ProText2 = "To:"
+
+[StringsENG]
+ String1 = "SCSI Adapter"
+ String2 = "Please enter the full path to the OEM SCSI "+
+ "Adapter files. Then choose Continue."
+ String3 = "The SCSI Adapter has been marked as a boot device. Removing "+
+ "it may cause the system not to boot."$(!LF)$(!LF)"Are you sure "+
+ "you want to remove the Adapter."
+
+[Source Media Descriptions]
+ 1 = "QLogic SCSI Software Diskette" , TAGFILE = qlscsi
+
+[Files-ScsiMiniportDrivers]
+ql10wnt = 1,ql10wnt.sys , SIZE=36864
+ql10nt35 = 1,ql10nt35.sys , SIZE=36864