home *** CD-ROM | disk | FTP | other *** search
/ Openstep 4.2 (Developer) / Openstep Developer 4.2.iso / NextDeveloper / Examples / DriverKit / Adaptec1542B / Adaptec1542B_reloc.tproj / AHAThread.h < prev    next >
Encoding:
Text File  |  1996-04-05  |  1.1 KB  |  48 lines

  1. /*
  2.  * Copyright (c) 1993-1996 NeXT Software, Inc.
  3.  *
  4.  * Adaptec 1542 SCSI controller I/O thread definitions.
  5.  *
  6.  * HISTORY
  7.  *
  8.  * 13 Apr 1993    Doug Mitchell at NeXT
  9.  *    Created.
  10.  */
  11.  
  12. #import <machkit/NXLock.h>
  13. #import <mach/mach_types.h>
  14. #import <mach/message.h>
  15. #import <driverkit/interruptMsg.h>
  16. #import "AHAController.h"
  17.  
  18. /*
  19.  * Reason for calling -commandCompleted.
  20.  */
  21. typedef enum {
  22.     CS_Complete,        // normal - controller completed command
  23.     CS_Timeout,        // I/O timeout
  24.     CS_Reset        // Bus was reset; abort
  25. } completeStatus;
  26.  
  27. /*
  28.  * Methods executed by the I/O thread.
  29.  */
  30. @interface AHAController(IOThread)
  31.  
  32. - (int)threadExecuteRequest    : (AHACommandBuf *)cmdBuf;
  33. - (void)threadResetBus        : (AHACommandBuf *)cmdBuf;
  34. - (int)ccbFromCmd        : (AHACommandBuf *)cmdBuf
  35.                 ccb : (struct ccb *)ccb;
  36. - runPendingCommands;
  37. - (void)commandCompleted    : (struct ccb *)ccb 
  38.              reason : (completeStatus)status;
  39. - (struct ccb *)allocCcb        : (BOOL)doDMA;
  40. - (void)freeCcb         : (struct ccb *)ccb;
  41. - (void)completeDMA        : (IOEISADMABuffer *)dmaList
  42.                  length : (unsigned)xferLen;
  43. - (void)abortDMA        : (IOEISADMABuffer *)dmaList
  44.                  length : (unsigned)xferLen;
  45.  
  46. @end
  47.  
  48.