|
|
1.1 root 1: /*
2: * Copyright (c) 1998-2000 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: *
24: * SCSIParallelTarget.h
25: *
26: */
27:
28: #ifndef _SCSIPARALLELTARGET_H
29: #define _SCSIPARALLELTARGET_H
30:
31: typedef struct SCSITarget
32: {
33: queue_head_t deviceList;
34:
35: UInt32 commandCount;
36: UInt32 commandLimit;
37: UInt32 commandLimitSave;
38:
39: IORWLock * clientSem;
40: IORWLock * targetSem;
41:
42: UInt32 *tagArray;
43:
44: UInt32 negotiateState;
45: IOReturn negotiateResult;
46:
47: UInt32 state;
48:
49: SCSITargetParms targetParmsCurrent;
50: SCSITargetParms targetParmsNew;
51:
52: UInt32 reqSenseCount;
53: UInt32 reqSenseState;
54:
55: void *targetPrivateData;
56:
57: } SCSITarget;
58:
59: enum
60: {
61: kStateIdle,
62: kStateIssue,
63: kStatePending,
64: kStateActive,
65: };
66:
67: enum _cdbFlagsInternal
68: {
69: kCDBFlagsEnableTagQueuing = 0x80000000,
70: };
71:
72:
73: enum SCSICommandType
74: {
75: kSCSICommandNone = 0,
76: kSCSICommandExecute,
77: kSCSICommandReqSense,
78: kSCSICommandAbort,
79: kSCSICommandAbortAll,
80: kSCSICommandDeviceReset,
81: kSCSICommandBusReset,
82: kSCSICommandCancel,
83: };
84:
85:
86: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.