#include <IOKit/scsi/SCSICmds_REPORT_LUNS_Definitions.h>
IOKit/scsi/SCSICmds_REPORT_LUNS_Definitions.h
@header SCSI Request Sense Definitions
@discussion
This file contains all definitions for the data returned from
the REPORT_LUNS (0xA0) command.
structSCSICmd_REPORT_LUNS_LUN_ENTRY
@struct SCSICmd_REPORT_LUNS_LUN_ENTRY
@discussion This structure represents a single LUN entry in a LUN list
returned via the REPORT_LUNS command.
| UInt16 | FIRST_LEVEL_ADDRESSING | |
| UInt16 | SECOND_LEVEL_ADDRESSING | |
| UInt16 | THIRD_LEVEL_ADDRESSING | |
| UInt16 | FOURTH_LEVEL_ADDRESSING |
typedefSCSICmd_REPORT_LUNS_LUN_ENTRY
typedef struct SCSICmd_REPORT_LUNS_LUN_ENTRY SCSICmd_REPORT_LUNS_LUN_ENTRY;
macrokREPORT_LUNS_HeaderSize
@constant kREPORT_LUNS_HeaderSize
@discussion Size of the REPORT_LUNS header as defined in the SPC-3 specification.
#define kREPORT_LUNS_HeaderSize 8
enum(anonymous)
@enum REPORT_LUNS addressing methods.
@discussion REPORT_LUNS addressing methods described in
SAM-2 documents.
@constant kREPORT_LUNS_ADDRESS_METHOD_PERIPHERAL_DEVICE
Peripheral Device Addressing Method.
@constant kREPORT_LUNS_ADDRESS_DEVICE_TYPE_SPECIFIC
Device Type Specific Addressing Method.
@constant kREPORT_LUNS_ADDRESS_METHOD_LOGICAL_UNIT
Logical Unit Specific Addressing Method.
@constant kREPORT_LUNS_ADDRESS_METHOD_OFFSET
Offset to the address method data.
| kREPORT_LUNS_ADDRESS_METHOD_PERIPHERAL_DEVICE | 0 | |
| kREPORT_LUNS_ADDRESS_METHOD_FLAT_SPACE | 1 | |
| kREPORT_LUNS_ADDRESS_DEVICE_TYPE_SPECIFIC | 1 | |
| kREPORT_LUNS_ADDRESS_METHOD_LOGICAL_UNIT | 2 | |
| kREPORT_LUNS_ADDRESS_METHOD_OFFSET | 14 | Reserved [3] |
structREPORT_LUNS_LOGICAL_UNIT_ADDRESSING
@struct REPORT_LUNS_LOGICAL_UNIT_ADDRESSING
@discussion This structure represents a LUN Addressing scheme.
| UInt16:5 | LUN | |
| UInt16:3 | BUS_NUMBER | |
| UInt16:6 | TARGET | |
| UInt16:1 | reserved2 | |
| UInt16:1 | reserved |
typedefREPORT_LUNS_LOGICAL_UNIT_ADDRESSING
typedef struct REPORT_LUNS_LOGICAL_UNIT_ADDRESSING REPORT_LUNS_LOGICAL_UNIT_ADDRESSING;
structREPORT_LUNS_PERIPHERAL_DEVICE_ADDRESSING
@struct REPORT_LUNS_PERIPHERAL_DEVICE_ADDRESSING
@discussion This structure represents a Peripheral Device Addressing scheme.
| UInt16:8 | TARGET_LUN | |
| UInt16:6 | BUS_IDENTIFIER | |
| UInt16:1 | reserved2 | |
| UInt16:1 | reserved |
typedefREPORT_LUNS_PERIPHERAL_DEVICE_ADDRESSING
typedef struct REPORT_LUNS_PERIPHERAL_DEVICE_ADDRESSING REPORT_LUNS_PERIPHERAL_DEVICE_ADDRESSING;
structSCSICmd_REPORT_LUNS_Header
@struct SCSICmd_REPORT_LUNS_Header
@discussion This structure defines the format of the data that is returned for
the REPORT_LUNS command.
| UInt32 | LUN_LIST_LENGTH | LUN list length in bytes. |
| UInt32 | RESERVED | |
| SCSICmd_REPORT_LUNS_LUN_ENTRY[1] | LUN | Variable length list. Must have at least LUN 0 if |
Target supports REPORT_LUNS command.
typedefSCSICmd_REPORT_LUNS_Header
typedef struct SCSICmd_REPORT_LUNS_Header SCSICmd_REPORT_LUNS_Header;