]> git.saurik.com Git - apple/xnu.git/blob - iokit/Drivers/scsi/drvSymbios8xx/Sym8xxSRB.h
xnu-123.5.tar.gz
[apple/xnu.git] / iokit / Drivers / scsi / drvSymbios8xx / Sym8xxSRB.h
1 /*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
11 *
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
18 * under the License.
19 *
20 * @APPLE_LICENSE_HEADER_END@
21 */
22
23 /* Sym8xxSRB.h created by russb2 on Sat 30-May-1998 */
24
25 /*
26 * The SRB is the main per-request data structure used by the driver.
27 *
28 * It contains an embedded Nexus structure which is used as a per-request
29 * communication area between the script and the driver.
30 */
31
32 typedef struct SRB SRB;
33
34 struct SRB
35 {
36 SRB *srbPhys;
37
38 IOSCSIParallelCommand *scsiCommand;
39
40 UInt32 srbCDBFlags;
41
42 IOReturn srbReturnCode;
43 SCSIAdapterStatus srbAdapterStatus;
44 UInt8 srbSCSIStatus;
45
46 UInt8 srbMsgResid;
47 UInt8 srbMsgLength;
48
49 UInt8 target;
50 UInt8 lun;
51 UInt8 tag;
52
53 UInt8 negotiateSDTRComplete;
54 UInt8 negotiateWDTRComplete;
55
56 UInt32 directionMask;
57
58 IOMemoryDescriptor *xferDesc;
59 UInt32 xferOffset;
60 UInt32 xferOffsetPrev;
61 UInt32 xferCount;
62 UInt32 xferDone;
63
64 Nexus nexus;
65
66 };
67