|
struct { |
struct { |
uint8_t packet_sz: 2 |
|
uint8_t __pad0__: 5 |
|
uint8_t is_removable: 1 |
|
uint8_t packet_cmdset: 6 |
|
uint8_t __pad1__: 1 |
|
uint8_t not_ata: 1 |
|
} general_config |
|
uint16_t __pad0__: 16 |
|
uint16_t __pad1__: 16 |
|
uint16_t __pad2__: 16 |
|
uint32_t __pad3__: 32 |
|
uint16_t __pad4__: 16 |
|
uint32_t __pad5__: 32 |
|
uint16_t __pad6__: 16 |
|
char serial_number [20] |
|
uint32_t __pad7__: 32 |
|
uint16_t __pad8__: 16 |
|
char firmware_revision [8] |
|
char model_number [40] |
|
uint8_t always_80h |
|
uint8_t max_sectors_per_irq |
|
uint16_t __pad9__: 16 |
|
struct { |
uint8_t __pad0__: 8 |
|
uint8_t dma: 1 |
|
uint8_t lba: 1 |
|
uint8_t iordy_disabled: 1 |
|
uint8_t iordy_supported: 1 |
|
uint8_t __pad1__: 1 |
|
uint8_t std_standby: 1 |
|
uint8_t __pad2__: 2 |
|
} caps |
|
uint16_t __pad10__: 16 |
|
uint32_t __pad11__: 32 |
|
struct { |
uint8_t __pad0__: 1 |
|
uint8_t multiword_dma_valid: 1 |
|
uint8_t ultra_dma_valid: 1 |
|
uint16_t __pad1__: 13 |
|
} validity |
|
uint64_t __pad12__: 64 |
|
uint16_t __pad13__: 16 |
|
struct { |
uint8_t curr_sectors_per_irq: 8 |
|
uint8_t is_valid: 1 |
|
uint8_t __pad0__: 7 |
|
} rwmultiple |
|
uint32_t sector_count |
|
uint16_t __pad14__: 16 |
|
struct { |
uint8_t mode0: 1 |
|
uint8_t mode1: 1 |
|
uint8_t mode2: 1 |
|
uint8_t __pad0__: 5 |
|
uint8_t sel_mode0: 1 |
|
uint8_t sel_mode1: 1 |
|
uint8_t sel_mode2: 1 |
|
uint8_t __pad1__: 5 |
|
} multiword_dma |
|
uint8_t pio_modes_supported |
|
uint8_t __pad15__: 8 |
|
uint16_t minimum_multiword_dma_cycle |
|
uint16_t recommended_multiword_dma_cycle |
|
uint16_t minimum_pio_cycle |
|
uint16_t minimum_pio_cycle_iordy |
|
uint32_t __pad16__: 32 |
|
uint64_t __pad17__: 64 |
|
uint8_t max_queue_depth: 5 |
|
uint16_t __pad18__: 11 |
|
uint64_t __pad19__: 64 |
|
struct { |
uint8_t __pad0__: 4 |
|
uint8_t ata4: 1 |
|
uint8_t ata5: 1 |
|
uint8_t ata6: 1 |
|
uint8_t ata7: 1 |
|
uint8_t __pad1__: 8 |
|
} major_version |
|
uint16_t __pad20__: 16 |
|
struct { |
uint8_t smart: 1 |
|
uint8_t security: 1 |
|
uint8_t removable: 1 |
|
uint8_t power: 1 |
|
uint8_t packet: 1 |
|
uint8_t cache: 1 |
|
uint8_t lookahead: 1 |
|
uint8_t release_int: 1 |
|
uint8_t service_int: 1 |
|
uint8_t device_reset: 1 |
|
uint8_t is_protected: 1 |
|
uint8_t __pad0__: 1 |
|
uint8_t write_buffer: 1 |
|
uint8_t read_buffer: 1 |
|
uint8_t nop: 1 |
|
uint8_t __pad1__: 1 |
|
} command_set_support |
|
struct { |
uint8_t microcode: 1 |
|
uint8_t rw_dma_queued: 1 |
|
uint8_t cfa: 1 |
|
uint8_t adv_power: 1 |
|
uint8_t removable_notify: 1 |
|
uint8_t powerup_standby: 1 |
|
uint8_t set_features_spinup: 1 |
|
uint8_t __pad0__: 1 |
|
uint8_t set_max: 1 |
|
uint8_t acoustic: 1 |
|
uint8_t address48: 1 |
|
uint8_t config_overlay: 1 |
|
uint8_t flush_cache: 1 |
|
uint8_t flush_cache_ext: 1 |
|
uint8_t one: 1 |
|
uint8_t zero: 1 |
|
} command_sets_support |
|
struct { |
uint8_t smart_logging: 1 |
|
uint8_t smart_selftest: 1 |
|
uint8_t media_serial: 1 |
|
uint8_t media_passthrough: 1 |
|
uint8_t streaming: 1 |
|
uint8_t logging: 1 |
|
uint8_t write_mult_fua_ext: 1 |
|
uint8_t write_dma_fua_ext: 1 |
|
uint8_t wwn_64: 1 |
|
uint8_t read_dma_ext_urg: 1 |
|
uint8_t write_dma_ext_urg: 1 |
|
uint8_t __pad0__: 2 |
|
uint8_t idle_immediate: 1 |
|
uint8_t one: 1 |
|
uint8_t zero: 1 |
|
} command_set_ext_support |
|
struct { |
uint8_t smart: 1 |
|
uint8_t security: 1 |
|
uint8_t removable: 1 |
|
uint8_t power: 1 |
|
uint8_t packet: 1 |
|
uint8_t cache: 1 |
|
uint8_t lookahead: 1 |
|
uint8_t release_int: 1 |
|
uint8_t service_int: 1 |
|
uint8_t device_reset: 1 |
|
uint8_t is_protected: 1 |
|
uint8_t __pad0__: 1 |
|
uint8_t write_buffer: 1 |
|
uint8_t read_buffer: 1 |
|
uint8_t nop: 1 |
|
uint8_t __pad1__: 1 |
|
} command_set_enabled |
|
struct { |
uint8_t microcode: 1 |
|
uint8_t rw_dma_queued: 1 |
|
uint8_t cfa: 1 |
|
uint8_t adv_power: 1 |
|
uint8_t removable_notify: 1 |
|
uint8_t powerup_standby: 1 |
|
uint8_t set_features_spinup: 1 |
|
uint8_t __pad0__: 1 |
|
uint8_t set_max: 1 |
|
uint8_t acoustic: 1 |
|
uint8_t address48: 1 |
|
uint8_t config_overlay: 1 |
|
uint8_t flush_cache: 1 |
|
uint8_t flush_cache_ext: 1 |
|
uint8_t one: 1 |
|
uint8_t zero: 1 |
|
} command_sets_enabled |
|
struct { |
uint8_t smart_logging: 1 |
|
uint8_t smart_selftest: 1 |
|
uint8_t media_serial: 1 |
|
uint8_t media_passthrough: 1 |
|
uint8_t streaming: 1 |
|
uint8_t logging: 1 |
|
uint8_t write_mult_fua_ext: 1 |
|
uint8_t write_dma_fua_ext: 1 |
|
uint8_t wwn_64: 1 |
|
uint8_t read_dma_ext_urg: 1 |
|
uint8_t write_dma_ext_urg: 1 |
|
uint8_t __pad0__: 2 |
|
uint8_t idle_immediate: 1 |
|
uint8_t one: 1 |
|
uint8_t zero: 1 |
|
} command_set_ext_default |
|
struct { |
uint8_t supp_mode0: 1 |
|
uint8_t supp_mode1: 1 |
|
uint8_t supp_mode2: 1 |
|
uint8_t supp_mode3: 1 |
|
uint8_t supp_mode4: 1 |
|
uint8_t supp_mode5: 1 |
|
uint8_t supp_mode6: 1 |
|
uint8_t __pad0__: 1 |
|
uint8_t sel_mode0: 1 |
|
uint8_t sel_mode1: 1 |
|
uint8_t sel_mode2: 1 |
|
uint8_t sel_mode3: 1 |
|
uint8_t sel_mode4: 1 |
|
uint8_t sel_mode5: 1 |
|
uint8_t sel_mode6: 1 |
|
uint8_t __pad1__: 1 |
|
} ultra_dma |
|
uint16_t secure_erase_time |
|
uint16_t enhanced_secure_erase_time |
|
uint16_t curr_adv_power |
|
uint16_t master_password_revision |
|
struct { |
struct { |
uint8_t one: 1 |
|
uint8_t method: 2 |
|
uint8_t diagnostics: 1 |
|
uint8_t pdiag_assert: 1 |
|
uint8_t dasp_assert: 1 |
|
uint8_t responds_to_other: 1 |
|
uint8_t __pad0__: 1 |
|
} device0 |
|
uint8_t one1: 1 |
|
uint8_t d1_method: 2 |
|
uint8_t d1_pdiag_assert: 1 |
|
uint8_t __pad0__: 1 |
|
uint8_t cbild_level: 1 |
|
uint8_t one2: 1 |
|
uint8_t zero: 1 |
|
} hardware_reset |
|
uint8_t current_acoustic |
|
uint8_t vendor_acoustic |
|
uint16_t stream_min_size |
|
uint16_t dma_streaming_time |
|
uint16_t streaming_latency |
|
uint32_t streaming_granularity |
|
uint64_t max_user_lba48 |
|
uint16_t pio_streaming_time |
|
uint16_t __pad21__: 16 |
|
struct { |
uint8_t logical_per_physical: 4 |
|
uint8_t __pad0__: 8 |
|
uint8_t logical_larger_than_512b: 1 |
|
uint8_t multiple_logical_per_physical: 1 |
|
uint8_t one: 1 |
|
uint8_t zero: 1 |
|
} sector_size |
|
uint16_t iso9779_delay |
|
struct { |
uint16_t oui1: 12 |
|
uint8_t naa: 4 |
|
uint8_t uid2: 4 |
|
uint16_t oui0: 12 |
|
uint16_t uid1 |
|
uint16_t uid0 |
|
} ident |
|
uint64_t __pad22__: 64 |
|
uint16_t __pad23__: 16 |
|
uint32_t words_per_logical |
|
uint64_t __pad24__: 64 |
|
uint64_t __pad25__: 64 |
|
uint16_t removable_notify_support |
|
struct { |
uint8_t supported: 1 |
|
uint8_t enabled: 1 |
|
uint8_t locked: 1 |
|
uint8_t frozen: 1 |
|
uint8_t count_expired: 1 |
|
uint8_t ehanced_erase_support: 1 |
|
uint8_t __pad0__: 2 |
|
uint8_t level: 1 |
|
uint8_t __pad1__: 7 |
|
} security |
|
uint16_t vendor [31] |
|
uint16_t cfa_power_mode1 |
|
uint16_t rsvd [15] |
|
char media_serial [60] |
|
uint16_t rsvd2 [49] |
|
uint8_t signature |
|
uint8_t checksum |
|
} | data |
|
uint16_t | __raw [256] |
|
Definition at line 48 of file ata-common.h.