The Programmer's Guide to Scsi (PAP/CDR)

  • ポイントキャンペーン

The Programmer's Guide to Scsi (PAP/CDR)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 292 p.
  • 言語 ENG
  • 商品コード 9780201185386
  • DDC分類 658

Full Description


The Programmer's Guide to SCSI offers a concise tutorial and reference to the Small Computer Systems Interface (SCSI), the standard interface for high-performance computer peripherals. Geared specifically for programmers who are writing drivers or creating applications that support SCSI devices, this book presents comprehensive SCSI hardware and software information within the context of software development. It will help you find your way through this complex topic and ease your learning curve by providing expert advice, tips, and techniques for more effective SCSI programming. The Programmer's Guide to SCSI covers both high- and low-level programming topics.Specifically, you will find coverage of: *SCSI in general, including an explanation of its design philosophy, evolution, and transaction model *SCSI-2 features, including faster transfers, wider data paths, and other specialized capabilities *SCSI-3, including Fast-20 and Fast-40 SCSI, serial SCSI, fibre channel, P1394, and plug-and-play SCSI *The Advanced SCSI Programming Interface (ASPI) and the ASPI32 extensions under Windows 95 andWindows NT *The Windows NT built-in SCSI Pass-Through Interface *Low-level programming using SCRIPTS *SCSI target mode programming *SCSI support under different UNIX implementations *SCSI debugging and troubleshooting In addition, this book develops an ASPI class library and uses it to create a SCSI snooper application under Windows.The library can also be extended for use in your own projects. This book's clear presentation of SCSI eliminates wading through densely packed hardware documentation and lets you approach the topic with better direction to gain a fuller understanding. 0201185385B04062001

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_FREEHASTAT_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. 0201185385T04062001