59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
#ifndef RBC_STRUCT_H_10L0HKARRV__
|
|
#define RBC_STRUCT_H_10L0HKARRV__
|
|
|
|
#include <spc2_struct.h>
|
|
|
|
struct rbc_read_capacity_cmd
|
|
{
|
|
uint8_t op_code;
|
|
uint8_t reserved1;
|
|
uint8_t reserved2;
|
|
uint8_t reserved3;
|
|
uint8_t reserved4;
|
|
uint8_t reserved5;
|
|
uint8_t reserved6;
|
|
uint8_t reserved7;
|
|
uint8_t reserved8;
|
|
uint8_t control;
|
|
} CC_BYTE_ALIGNED;
|
|
|
|
struct rbc_read_capacity_data
|
|
{
|
|
uint32_bytes last_logical_block;
|
|
uint32_bytes block_length;
|
|
} CC_BYTE_ALIGNED;
|
|
|
|
struct rbc_device_parameters_page
|
|
{
|
|
struct spc2_mode_page head;
|
|
uint8_t flags1;
|
|
uint16_bytes logical_block_size;
|
|
uint40_bytes num_logical_blocks;
|
|
uint8_t power_performance;
|
|
uint8_t flags2;
|
|
uint8_t reserved;
|
|
} CC_BYTE_ALIGNED;
|
|
|
|
struct rbc_read_cmd
|
|
{
|
|
uint8_t op_code;
|
|
uint8_t reserved1;
|
|
uint32_bytes logical_block_address;
|
|
uint8_t reserved2;
|
|
uint16_bytes transfer_length;
|
|
uint8_t control;
|
|
} CC_BYTE_ALIGNED;
|
|
|
|
struct rbc_write_cmd
|
|
{
|
|
uint8_t op_code;
|
|
uint8_t flags;
|
|
uint32_bytes logical_block_address;
|
|
uint8_t reserved;
|
|
uint16_bytes transfer_length;
|
|
uint8_t control;
|
|
} CC_BYTE_ALIGNED;
|
|
|
|
|
|
#endif /* RBC_STRUCT_H_10L0HKARRV__ */
|