|
|
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: * SCSICommand.h
25: *
26: */
27:
28: #ifndef _SCSICOMMAND_H
29: #define _SCSICOMMAND_H
30:
31: typedef struct SCSICDBInfo
32: {
33:
34: UInt32 cdbFlags;
35:
36: UInt32 cdbTagMsg;
37: UInt32 cdbTag;
38:
39: UInt32 cdbAbortMsg;
40:
41: UInt32 cdbLength;
42: UInt8 cdb[16];
43:
44: UInt32 reserved[16];
45: } SCSICDBInfo;
46:
47:
48: enum SCSICDBFlags
49: {
50: kCDBFNoDisconnect = 0x00000001,
51:
52: /*
53: * Note: These flags are for IOSCSIController subclasses only
54: */
55: kCDBFlagsDisableParity = 0x08000000,
56: kCDBFlagsNoDisconnect = 0x10000000,
57: kCDBFlagsNegotiateSDTR = 0x20000000,
58: kCDBFlagsNegotiateWDTR = 0x40000000,
59: // = 0x80000000, // reserved
60: };
61:
62: typedef struct SCSIResults
63: {
64: IOReturn returnCode;
65:
66: UInt32 bytesTransferred;
67:
68: UInt32 adapterStatus;
69: UInt8 scsiStatus;
70:
71: bool requestSenseDone;
72: UInt32 requestSenseLength;
73:
74: UInt32 reserved[16];
75: } SCSIResults;
76:
77: enum SCSIAdapterStatus
78: {
79: kSCSIAdapterStatusSuccess = 0,
80: kSCSIAdapterStatusMsgReject,
81: kSCSIAdapterStatusParityError,
82: };
83:
84:
85: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.