The Pedigree Project  0.1
Public Attributes | List of all members
IdentifyData Union Reference
+ Collaboration diagram for IdentifyData:

Public Attributes

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]
 

Detailed Description

Definition at line 48 of file ata-common.h.


The documentation for this union was generated from the following file: