DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SCO OpenServer

intr(D2osdi)


intr -- handle interrupts for SCSI peripheral drivers

Synopsis

   prefixintr(REQ_IO *req_p);
See intr(D2oddi) for syntax, arguments, context, and return values for the host adapter's intr( ) entry point routine.

Description

Interrupt handling entry point routine for SCSI periphral drivers.

Arguments


req_p
pointer to a scsi_io_req(D4osdi) request block

Usage

SCSI peripheral drivers use the intr( ) routine as the driver's callback function. It is called by the host adapter driver's intr( ) routine at interrupt time to either inform the user-level process that the I/O has completed or to inform a sleeping process that a free request block is available. If the SCSI host adapter queues requests, the intr( ) routine attempts to dispatch another request block to the device using the driver's start( ) routine.

The logic of a SCSI peripheral driver's intr( ) routine is:

  1. Determine which SCSI peripheral device caused the interrupt. If the interrupt is spurious, display a message on the console and return.

  2. Check and update the status flags the host adapter and device: put either error information or I/O completion and status information in the xxtab structure. ( ) Call iodone(D3oddi) and then clear the request block.

  3. Call the start( ) routine to handle any outstanding requests.

The driver's init(D2oddi) routine should configure interrupts dynamically using the Sharegister(D3osdi) function although manual configuration is also supported.

Context and synchronization

Interrupt context

Hardware applicability

All

Version applicability

osdi: SCSI peripheral drivers.

Differences between versions

External dependencies

References

intr(D2oddi)

``OSDI SCSI driver interface version for SCO OpenServer 5'' in HDK Technical Reference


19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 5 HDK - June 2005