DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Writing a SCSI peripheral driver

start

This routine is used to take the passed request block and determine the exact track and sector for the read or write request and then send the request to the device specified in the request block. Most SCSI devices handle bad track lockouts at the disk level, so driver-level checking is not required.

Syntax:

#include "sys/scsi.h"

int xxstart(req_p) REQ_IO *req_p;

The logic is:

  1. Return immediately if the queue is empty or the device is busy.

  2. Compute the proper track and sector coordinates and get the physical address from which data is being moved or to which data is being moved. Plug this information into the request block.

  3. Complete building the request block for I/O and send it to the device.

© 2005 The SCO Group, Inc. All rights reserved.