The Programmer's Guide to SCSI

Brian Sawert

  • 出版商: Addison Wesley
  • 出版日期: 1998-03-27
  • 售價: $1,820
  • 貴賓價: 9.5$1,729
  • 語言: 英文
  • 頁數: 320
  • 裝訂: Paperback
  • ISBN: 0201185385
  • ISBN-13: 9780201185386
  • 已絕版

商品描述


Table Of Contents

Preface.
Intended Audience.
How This Book is Organized.
What You Will Need.
Acknowledgements.
About the Authors.
Brian Sawert.
Larry Martin.
Gary Field.
Introduction.
An Overview of SCSI Technology.
The SCSI Solution.
SCSI-1.
SCSI-1 Features.
Intelligent Devices.
Multitasking I/O.
Synchronous Data Transfer.
Multiple Device Types on a Single Interface.
The Birth of SCSI-2.
New Features in SCSI-2.
Fast SCSI.
Wide SCSI.
Fast Wide SCSI.
Queued I/O Processes.
New Command Sets.
Improved SCSI-1 Features.
Data Parity Required.
Message Support Required.
Terminator Power Provided by Initiator.
SCSI-3 on the Horizon.
Fast-20 and Fast-40 SCSI.
Serial SCSI Standards.
Fibre Channel.
Serial Standard Architecture.
P1394.
Layered Architecture.
Plug and Play SCSI.
SCSI Fundamentals.
SCSI Transactions — An Overview.
SCSI Phases.
SCSI Phases.
Bus Free.
Arbitration.
Selection.
Reselection.
Message Out.
Command.
Data In and Data Out.
Status.
Message In.
Phase Sequence.
SCSI Messages.
Message Types.
The Identify Message.
Extended Messages.
Synchronous Data Transfer Request.
Wide Data Transfer Request.
Other Common Messages.
No Operation.
Abort.
Bus Device Reset.
Disconnect.
Ignore Wide Residue.
Queue Tag Messages.
Simple Queue Tag.
Head of Queue Tag.
Ordered Queue Tag.

SCSI Commands.
Command Structure.
Operation Codes.
Logical Unit Number.
Command Parameters.
Control Field.
Parameter Lists.
Byte Order.
Mandatory SCSI Commands.
Test Unit Ready.
Inquiry.
Example - Iomega Zip Drive.

Optional Commands.
Device Type Specific Commands.
Mode Select.
Mode Sense.
Mode Sense Data Format.
Example - Iomega Zip Drive.

Reading and Writing.
Read.
Write.
Other Commands.
Status, Sense, and Errors.
Status.
Status Codes.
Sense Data.
Sense Key.
Unit Attention.

Additional Sense Codes.
Example - Iomega Zip Drive.
ASPI — The Advanced SCSI Programming Interface.
What is ASPI?
Why should I use ASPI?
ASPI Concepts.
Adapter and Device Addressing.
Issuing SCSI Commands.
Building the SCSI Request Block.
Sending an SRB to the ASPI Manager.
Waiting for an SRB to Complete.
Processing Returned Status Information.

Adapter Specific Properties.
Connecting to the ASPI Manager.
ASPI Commands.
Host Adapter Inquiry (SC_HA_INQUIRY).
Get Device Type (SC_GET_DEV_TYPE).
Execute SCSI Command (SC_EXEC_SCSI_CMD).
Abort SRB (SC_ABORT_SRB).
Reset SCSI Device (SC_RESET_DEV).
Rescan SCSI Bus (SC_RESCAN_SCSI_BUS).
Get/Set Timeouts (SC_GETSET_TIMEOUTS).
ASPI Error and Status Codes.
ASPI SRB Status (SRB_Status).
SS_PENDING.
SS_COMP.
SS_ERR.
SS_INVALID_CMD.
SS_INVALID_HA.
SS_NO_DEVICE.
SS_INVALID_SRB.
SS_FAILED_INIT.
SS_ASPI_IS_BUSY.
SS_BUFFER_TOO_BIG.
SS_BUFFER_ALIGN.
SS_SECURITY_VIOLATION.
SS_ABORTED.
SS_ABORT_FAIL.
SS_NO_ASPI.
SS_ILLEGAL_MODE.
SS_MISMATCHED_COMPONENTS.
SS_NO_ADAPTERS.
SS_INSUFFICIENT RESOURCES.

Host Adapter Status (SRB_HaStat).
HASTAT_OK.
HASTAT_SEL_TO.
HASTAT_DO_DU.
HASTAT_BUS_FREE
HASTAT_PHASE_ERR.
HASTAT_TIMEOUT.
HASTAT_COMMAND_TIMEOUT.
HASTAT_MESSAGE_REJECT.
HASTAT_BUS_RESET.
HASTAT_PARITY_ERROR.
HASTAT_REQUEST_SENSE_FAILED.

Target Device Status (SRB_TargStat)
Additional ASPI for Win32 Functions.
Low Level SCSI Programming with SCRIPTS.
Working with SCRIPTS.
An Overview of SCRIPTS.
SCRIPTS Instructions.
Logical Operators and Conditional Tests.
Embedding SCRIPTS in C Code.
Changing Run-Time Parameters.
Patching.
Table Indirect Addressing.

Detecting SCRIPTS Program Completion.
Polling for Completion.
Hardware Interrupt on Completion.

Initialization and Housekeeping.
PCI BIOS Functions.
Initializing SCSI Control Registers.
Sample Code.
Generic SCRIPTS Code.
SCSI Target Mode Programming.
Hardware.
Handling SCSI Phases.
Target-mode API.
Adapter Inquiry (TSPI_CMD_AdapterInfo).
Attach LUN (TSPI_CMD_AttachLUN).
Detach LUN (TSPI_CMD_DetachLUN).
Get Event (TSPI_CMD_GetEvent).
Read Data From Host (TSPI_CMD_ ReadFromHost).
Write Data To Host (TSPI_CMD_ WriteToHost).
Complete Command (TSPI_CMD_CompleteCommand).
Send Message To Host (TSPI_CMD_SendMessage).
Get Message From Host (TSPI_CMD_GetMessage).
Disconnect (TSPI_CMD_Disconnect).
Reconnect (TSPI_CMD_Reconnect).
Connecting to the TSPI Manager.
Using the TSPI Interface.
SCSI Support Under Windows.
ASPI for Windows 3.x.
ASPI for Win32 (Windows 95 and NT).
The Windows 95 and NT SCSI Model.
Windows NT SCSI Pass-Through Interface.
IOCTL_SCSI_GET_INQUIRY_DATA.
IOCTL_SCSI_GET_CAPABILITIES.
IOCTL_SCSI_GET_ADDRESS.
IOCTL_SCSI_RESCAN_BUS.
IOCTL_SCSI_PASS_THROUGH and IOCTL_SCSI_PASS_THROUGH_DIRECT.
Unix SCSI Implementations.
A Brief Description of UNIX Device Drivers.
Comparison of UNIX Implementations.
The Linux SCSI Disk Driver.
The Linux SCSI Pass-through Driver.
Example SCSI Pass-through Application Program.
Summary.
Acknowledgements.
Troubleshooting and Common Mistakes.
Start With a Clean Hardware Layer.
SCSI Bus Termination.
SCSI Termination Power.
Be Cautious With Cables.
Don't Take Documentation at Face Value.
Watch Out for Platform Dependencies.
SCSI Byte Order.
ASPI Byte Order.
Structure Alignment.
Buffer Alignment.
Debugging Tools.
Interactive Command Utilities.
Virtual Devices.
SCSI Bus Analyzers.
Keep a Record.
Sample Application — SCSI Snooper.
An Overview of the SCSI Snooper.
The ASPI Class Library.
The ScsiInterface Class.
The ScsiDevice Class.
The ScsiCmdBlock Class.
Initializing the ScsiInterface Class.
Executing a ScsiCmdBlock.
Using the ASPI Class Library.
Deriving SCSI Device Types.
The SCSI Snooper Application Framework.
SCSI Snooper Application Structure.
Appendix A — Glossary of Acronyms.
General Terms.
SCSI-2 Definitions.
SCSI-2 Protocols.
SCSI-3 Definitions.
SCSI-3 Architecture.
SCSI-3 Command Sets.
SCSI-3 Protocols.
SCSI Software Interfaces.
Appendix B — SCSI Resources.
Books.
Magazines and Journals.
Online Information.
Web Sites.
Usenet Newsgroups.
FTP Sites.
Bulletin Board Systems.
Manufacturer Contacts.

Appendix C — Installing the Windows NT ASPI32 Service.
Appendix D — Companion CD-ROM Contents.
Sample Code.
SCRIPTS Sample Code.
SCSI Snooper Application.
TSPI Target-mode SCSI Programming Interface.
SCSI Specifications.
SCSI Frequently Asked Questions.
Symbios SCRIPTS Support.
Adaptec ASPI Specifications.
Linux SCSI Documentation. 0201185385T04062001



Back to Top