#include <IOKit/scsi/SCSICmds_REPORT_LUNS_Definitions.h>

IOKit/scsi/SCSICmds_REPORT_LUNS_Definitions.h Kernel.framework

@header SCSI Request Sense Definitions @discussion This file contains all definitions for the data returned from the REPORT_LUNS (0xA0) command.
includes: IOKit/IOTypes.h
4 structs · 4 typedefs · 1 macro · 1 enum

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.
size 8, align 2
UInt16FIRST_LEVEL_ADDRESSING
UInt16SECOND_LEVEL_ADDRESSING
UInt16THIRD_LEVEL_ADDRESSING
UInt16FOURTH_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.
underlying type unsigned int
kREPORT_LUNS_ADDRESS_METHOD_PERIPHERAL_DEVICE0
kREPORT_LUNS_ADDRESS_METHOD_FLAT_SPACE1
kREPORT_LUNS_ADDRESS_DEVICE_TYPE_SPECIFIC1
kREPORT_LUNS_ADDRESS_METHOD_LOGICAL_UNIT2
kREPORT_LUNS_ADDRESS_METHOD_OFFSET14Reserved [3]

structREPORT_LUNS_LOGICAL_UNIT_ADDRESSING

@struct REPORT_LUNS_LOGICAL_UNIT_ADDRESSING @discussion This structure represents a LUN Addressing scheme.
size 2, align 2
UInt16:5LUN
UInt16:3BUS_NUMBER
UInt16:6TARGET
UInt16:1reserved2
UInt16:1reserved

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.
size 2, align 2
UInt16:8TARGET_LUN
UInt16:6BUS_IDENTIFIER
UInt16:1reserved2
UInt16:1reserved

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.
size 16, align 4
UInt32LUN_LIST_LENGTHLUN list length in bytes.
UInt32RESERVED
SCSICmd_REPORT_LUNS_LUN_ENTRY[1]LUNVariable 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;