--- a/atacmds.h +++ b/atacmds.h @@ -125,7 +125,6 @@ // Needed parts of the ATA DRIVE IDENTIFY Structure. Those labeled // word* are NOT used. -#pragma pack(1) struct ata_identify_device { unsigned short words000_009[10]; unsigned char serial_no[20]; @@ -147,7 +146,6 @@ ASSERT_SIZEOF_STRUCT(ata_identify_device, 512); /* ata_smart_attribute is the vendor specific in SFF-8035 spec */ -#pragma pack(1) struct ata_smart_attribute { unsigned char id; // meaning of flag bits: see MACROS just below @@ -208,7 +206,6 @@ // Format of data returned by SMART READ DATA // Table 62 of T13/1699-D (ATA8-ACS) Revision 6a, September 2008 -#pragma pack(1) struct ata_smart_values { unsigned short int revnumber; struct ata_smart_attribute vendor_attributes [NUMBER_ATA_SMART_ATTRIBUTES]; @@ -241,7 +238,6 @@ */ /* Vendor attribute of SMART Threshold (compare to ata_smart_attribute above) */ -#pragma pack(1) struct ata_smart_threshold_entry { unsigned char id; unsigned char threshold; @@ -252,7 +248,6 @@ /* Format of Read SMART THreshold Command */ /* Compare to ata_smart_values above */ -#pragma pack(1) struct ata_smart_thresholds_pvt { unsigned short int revnumber; struct ata_smart_threshold_entry thres_entries[NUMBER_ATA_SMART_ATTRIBUTES]; @@ -264,7 +259,6 @@ // Table 42 of T13/1321D Rev 1 spec (Error Data Structure) -#pragma pack(1) struct ata_smart_errorlog_error_struct { unsigned char reserved; unsigned char error_register; @@ -283,7 +277,6 @@ // Table 41 of T13/1321D Rev 1 spec (Command Data Structure) -#pragma pack(1) struct ata_smart_errorlog_command_struct { unsigned char devicecontrolreg; unsigned char featuresreg; @@ -299,7 +292,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_errorlog_command_struct, 12); // Table 40 of T13/1321D Rev 1 spec (Error log data structure) -#pragma pack(1) struct ata_smart_errorlog_struct { struct ata_smart_errorlog_command_struct commands[5]; struct ata_smart_errorlog_error_struct error_struct; @@ -308,7 +300,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_errorlog_struct, 90); // Table 39 of T13/1321D Rev 1 spec (SMART error log sector) -#pragma pack(1) struct ata_smart_errorlog { unsigned char revnumber; unsigned char error_log_pointer; @@ -405,7 +396,6 @@ // Table 45 of T13/1321D Rev 1 spec (Self-test log descriptor entry) -#pragma pack(1) struct ata_smart_selftestlog_struct { unsigned char selftestnumber; // Sector number register unsigned char selfteststatus; @@ -418,7 +408,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_selftestlog_struct, 24); // Table 44 of T13/1321D Rev 1 spec (Self-test log data structure) -#pragma pack(1) struct ata_smart_selftestlog { unsigned short int revnumber; struct ata_smart_selftestlog_struct selftest_struct[21]; @@ -467,7 +456,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_extselftestlog, 512); // SMART LOG DIRECTORY Table 52 of T13/1532D Vol 1 Rev 1a -#pragma pack(1) struct ata_smart_log_entry { unsigned char numsectors; unsigned char reserved; @@ -475,7 +463,6 @@ #pragma pack() ASSERT_SIZEOF_STRUCT(ata_smart_log_entry, 2); -#pragma pack(1) struct ata_smart_log_directory { unsigned short int logversion; struct ata_smart_log_entry entry[255]; @@ -485,7 +472,6 @@ // SMART SELECTIVE SELF-TEST LOG Table 61 of T13/1532D Volume 1 // Revision 3 -#pragma pack(1) struct test_span { uint64_t start; uint64_t end; @@ -493,7 +479,6 @@ #pragma pack() ASSERT_SIZEOF_STRUCT(test_span, 16); -#pragma pack(1) struct ata_selective_self_test_log { unsigned short logversion; struct test_span span[5];