rbc_struct.h
00001 #ifndef __RBC_STRUCT_H__10L0HKARRV__
00002 #define __RBC_STRUCT_H__10L0HKARRV__
00003
00004 #include <spc2_struct.h>
00005
00006 struct rbc_read_capacity_cmd
00007 {
00008 uint8_t op_code;
00009 uint8_t reserved1;
00010 uint8_t reserved2;
00011 uint8_t reserved3;
00012 uint8_t reserved4;
00013 uint8_t reserved5;
00014 uint8_t reserved6;
00015 uint8_t reserved7;
00016 uint8_t reserved8;
00017 uint8_t control;
00018 } CC_BYTE_ALIGNED;
00019
00020 struct rbc_read_capacity_data
00021 {
00022 uint32_bytes last_logical_block;
00023 uint32_bytes block_length;
00024 } CC_BYTE_ALIGNED;
00025
00026 struct rbc_device_parameters_page
00027 {
00028 struct spc2_mode_page head;
00029 uint8_t flags1;
00030 uint16_bytes logical_block_size;
00031 uint40_bytes num_logical_blocks;
00032 uint8_t power_performance;
00033 uint8_t flags2;
00034 uint8_t reserved;
00035 } CC_BYTE_ALIGNED;
00036
00037 struct rbc_read_cmd
00038 {
00039 uint8_t op_code;
00040 uint8_t reserved1;
00041 uint32_bytes logical_block_address;
00042 uint8_t reserved2;
00043 uint16_bytes transfer_length;
00044 uint8_t control;
00045 } CC_BYTE_ALIGNED;
00046
00047 struct rbc_write_cmd
00048 {
00049 uint8_t op_code;
00050 uint8_t flags;
00051 uint32_bytes logical_block_address;
00052 uint8_t reserved;
00053 uint16_bytes transfer_length;
00054 uint8_t control;
00055 } CC_BYTE_ALIGNED;
00056
00057
00058 #endif