|
|
1.1 root 1: /*
2: * Copyright (c) 1993 NeXT Computer, 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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.