diff --git a/a.out.h b/a.out.h index dfc104e60..33ca7f77e 100644 --- a/a.out.h +++ b/a.out.h @@ -151,7 +151,7 @@ struct external_lineno { #define E_FILNMLEN 14 /* # characters in a file name */ #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ -struct __attribute__((packed)) external_syment +struct QEMU_PACKED external_syment { union { char e_name[E_SYMNMLEN]; diff --git a/block.c b/block.c index 03a21d88d..43742b73c 100644 --- a/block.c +++ b/block.c @@ -1327,7 +1327,7 @@ struct partition { uint8_t end_cyl; /* end cylinder */ uint32_t start_sect; /* starting sector counting from 0 */ uint32_t nr_sects; /* nr of sectors in partition */ -} __attribute__((packed)); +} QEMU_PACKED; /* try to guess the disk logical geometry from the MSDOS partition table. Return 0 if OK, -1 if could not guess */ static int guess_disk_lchs(BlockDriverState *bs, diff --git a/block/parallels.c b/block/parallels.c index 37d151dcb..c64103ddb 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -43,7 +43,7 @@ struct parallels_header { uint32_t catalog_entries; uint32_t nb_sectors; char padding[24]; -} __attribute__((packed)); +} QEMU_PACKED; typedef struct BDRVParallelsState { diff --git a/block/qcow2-snapshot.c b/block/qcow2-snapshot.c index 3e6bf8b6f..bdc33ba94 100644 --- a/block/qcow2-snapshot.c +++ b/block/qcow2-snapshot.c @@ -26,7 +26,7 @@ #include "block_int.h" #include "block/qcow2.h" -typedef struct __attribute__((packed)) QCowSnapshotHeader { +typedef struct QEMU_PACKED QCowSnapshotHeader { /* header is 8 byte aligned */ uint64_t l1_table_offset; diff --git a/block/vmdk.c b/block/vmdk.c index 8da87acef..5f673e9e2 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -56,7 +56,7 @@ typedef struct { int64_t grain_offset; char filler[1]; char check_bytes[4]; -} __attribute__((packed)) VMDK4Header; +} QEMU_PACKED VMDK4Header; #define L2_CACHE_SIZE 16 diff --git a/block/vvfat.c b/block/vvfat.c index d6a07efcc..187ac96f2 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -200,7 +200,7 @@ static int array_index(array_t* array, void* pointer) } /* These structures are used to fake a disk and the VFAT filesystem. - * For this reason we need to use __attribute__((packed)). */ + * For this reason we need to use QEMU_PACKED. */ typedef struct bootsector_t { uint8_t jump[3]; @@ -224,7 +224,7 @@ typedef struct bootsector_t { uint8_t signature; uint32_t id; uint8_t volume_label[11]; - } __attribute__((packed)) fat16; + } QEMU_PACKED fat16; struct { uint32_t sectors_per_fat; uint16_t flags; @@ -233,12 +233,12 @@ typedef struct bootsector_t { uint16_t info_sector; uint16_t backup_boot_sector; uint16_t ignored; - } __attribute__((packed)) fat32; + } QEMU_PACKED fat32; } u; uint8_t fat_type[8]; uint8_t ignored[0x1c0]; uint8_t magic[2]; -} __attribute__((packed)) bootsector_t; +} QEMU_PACKED bootsector_t; typedef struct { uint8_t head; @@ -253,7 +253,7 @@ typedef struct partition_t { mbr_chs_t end_CHS; uint32_t start_sector_long; uint32_t length_sector_long; -} __attribute__((packed)) partition_t; +} QEMU_PACKED partition_t; typedef struct mbr_t { uint8_t ignored[0x1b8]; @@ -261,7 +261,7 @@ typedef struct mbr_t { uint8_t ignored2[2]; partition_t partition[4]; uint8_t magic[2]; -} __attribute__((packed)) mbr_t; +} QEMU_PACKED mbr_t; typedef struct direntry_t { uint8_t name[8]; @@ -276,7 +276,7 @@ typedef struct direntry_t { uint16_t mdate; uint16_t begin; uint32_t size; -} __attribute__((packed)) direntry_t; +} QEMU_PACKED direntry_t; /* this structure are used to transparently access the files */ diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h index 1d8c1b109..d00a502dc 100644 --- a/hw/9pfs/virtio-9p.h +++ b/hw/9pfs/virtio-9p.h @@ -314,7 +314,7 @@ struct virtio_9p_config uint16_t tag_len; /* Variable size tag name */ uint8_t tag[0]; -} __attribute__((packed)); +} QEMU_PACKED; typedef struct V9fsMkState { V9fsPDU *pdu; diff --git a/hw/acpi.c b/hw/acpi.c index d04b96597..1cf35e116 100644 --- a/hw/acpi.c +++ b/hw/acpi.c @@ -32,7 +32,7 @@ struct acpi_table_header { uint32_t oem_revision; /* OEM revision number */ char asl_compiler_id[4]; /* ASL compiler vendor ID */ uint32_t asl_compiler_revision; /* ASL compiler revision number */ -} __attribute__((packed)); +} QEMU_PACKED; #define ACPI_TABLE_HDR_SIZE sizeof(struct acpi_table_header) #define ACPI_TABLE_PFX_SIZE sizeof(uint16_t) /* size of the extra prefix */ diff --git a/hw/bt.h b/hw/bt.h index 379725469..a48b8d4b1 100644 --- a/hw/bt.h +++ b/hw/bt.h @@ -26,7 +26,7 @@ /* BD Address */ typedef struct { uint8_t b[6]; -} __attribute__((packed)) bdaddr_t; +} QEMU_PACKED bdaddr_t; #define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}}) #define BDADDR_ALL (&(bdaddr_t) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}) @@ -446,13 +446,13 @@ typedef struct { uint8_t lap[3]; uint8_t length; /* 1.28s units */ uint8_t num_rsp; -} __attribute__ ((packed)) inquiry_cp; +} QEMU_PACKED inquiry_cp; #define INQUIRY_CP_SIZE 5 typedef struct { uint8_t status; bdaddr_t bdaddr; -} __attribute__ ((packed)) status_bdaddr_rp; +} QEMU_PACKED status_bdaddr_rp; #define STATUS_BDADDR_RP_SIZE 7 #define OCF_INQUIRY_CANCEL 0x0002 @@ -464,7 +464,7 @@ typedef struct { uint8_t lap[3]; uint8_t length; /* 1.28s units */ uint8_t num_rsp; -} __attribute__ ((packed)) periodic_inquiry_cp; +} QEMU_PACKED periodic_inquiry_cp; #define PERIODIC_INQUIRY_CP_SIZE 9 #define OCF_EXIT_PERIODIC_INQUIRY 0x0004 @@ -477,55 +477,55 @@ typedef struct { uint8_t pscan_mode; uint16_t clock_offset; uint8_t role_switch; -} __attribute__ ((packed)) create_conn_cp; +} QEMU_PACKED create_conn_cp; #define CREATE_CONN_CP_SIZE 13 #define OCF_DISCONNECT 0x0006 typedef struct { uint16_t handle; uint8_t reason; -} __attribute__ ((packed)) disconnect_cp; +} QEMU_PACKED disconnect_cp; #define DISCONNECT_CP_SIZE 3 #define OCF_ADD_SCO 0x0007 typedef struct { uint16_t handle; uint16_t pkt_type; -} __attribute__ ((packed)) add_sco_cp; +} QEMU_PACKED add_sco_cp; #define ADD_SCO_CP_SIZE 4 #define OCF_CREATE_CONN_CANCEL 0x0008 typedef struct { uint8_t status; bdaddr_t bdaddr; -} __attribute__ ((packed)) create_conn_cancel_cp; +} QEMU_PACKED create_conn_cancel_cp; #define CREATE_CONN_CANCEL_CP_SIZE 6 typedef struct { uint8_t status; bdaddr_t bdaddr; -} __attribute__ ((packed)) create_conn_cancel_rp; +} QEMU_PACKED create_conn_cancel_rp; #define CREATE_CONN_CANCEL_RP_SIZE 7 #define OCF_ACCEPT_CONN_REQ 0x0009 typedef struct { bdaddr_t bdaddr; uint8_t role; -} __attribute__ ((packed)) accept_conn_req_cp; +} QEMU_PACKED accept_conn_req_cp; #define ACCEPT_CONN_REQ_CP_SIZE 7 #define OCF_REJECT_CONN_REQ 0x000A typedef struct { bdaddr_t bdaddr; uint8_t reason; -} __attribute__ ((packed)) reject_conn_req_cp; +} QEMU_PACKED reject_conn_req_cp; #define REJECT_CONN_REQ_CP_SIZE 7 #define OCF_LINK_KEY_REPLY 0x000B typedef struct { bdaddr_t bdaddr; uint8_t link_key[16]; -} __attribute__ ((packed)) link_key_reply_cp; +} QEMU_PACKED link_key_reply_cp; #define LINK_KEY_REPLY_CP_SIZE 22 #define OCF_LINK_KEY_NEG_REPLY 0x000C @@ -535,7 +535,7 @@ typedef struct { bdaddr_t bdaddr; uint8_t pin_len; uint8_t pin_code[16]; -} __attribute__ ((packed)) pin_code_reply_cp; +} QEMU_PACKED pin_code_reply_cp; #define PIN_CODE_REPLY_CP_SIZE 23 #define OCF_PIN_CODE_NEG_REPLY 0x000E @@ -544,32 +544,32 @@ typedef struct { typedef struct { uint16_t handle; uint16_t pkt_type; -} __attribute__ ((packed)) set_conn_ptype_cp; +} QEMU_PACKED set_conn_ptype_cp; #define SET_CONN_PTYPE_CP_SIZE 4 #define OCF_AUTH_REQUESTED 0x0011 typedef struct { uint16_t handle; -} __attribute__ ((packed)) auth_requested_cp; +} QEMU_PACKED auth_requested_cp; #define AUTH_REQUESTED_CP_SIZE 2 #define OCF_SET_CONN_ENCRYPT 0x0013 typedef struct { uint16_t handle; uint8_t encrypt; -} __attribute__ ((packed)) set_conn_encrypt_cp; +} QEMU_PACKED set_conn_encrypt_cp; #define SET_CONN_ENCRYPT_CP_SIZE 3 #define OCF_CHANGE_CONN_LINK_KEY 0x0015 typedef struct { uint16_t handle; -} __attribute__ ((packed)) change_conn_link_key_cp; +} QEMU_PACKED change_conn_link_key_cp; #define CHANGE_CONN_LINK_KEY_CP_SIZE 2 #define OCF_MASTER_LINK_KEY 0x0017 typedef struct { uint8_t key_flag; -} __attribute__ ((packed)) master_link_key_cp; +} QEMU_PACKED master_link_key_cp; #define MASTER_LINK_KEY_CP_SIZE 1 #define OCF_REMOTE_NAME_REQ 0x0019 @@ -578,50 +578,50 @@ typedef struct { uint8_t pscan_rep_mode; uint8_t pscan_mode; uint16_t clock_offset; -} __attribute__ ((packed)) remote_name_req_cp; +} QEMU_PACKED remote_name_req_cp; #define REMOTE_NAME_REQ_CP_SIZE 10 #define OCF_REMOTE_NAME_REQ_CANCEL 0x001A typedef struct { bdaddr_t bdaddr; -} __attribute__ ((packed)) remote_name_req_cancel_cp; +} QEMU_PACKED remote_name_req_cancel_cp; #define REMOTE_NAME_REQ_CANCEL_CP_SIZE 6 typedef struct { uint8_t status; bdaddr_t bdaddr; -} __attribute__ ((packed)) remote_name_req_cancel_rp; +} QEMU_PACKED remote_name_req_cancel_rp; #define REMOTE_NAME_REQ_CANCEL_RP_SIZE 7 #define OCF_READ_REMOTE_FEATURES 0x001B typedef struct { uint16_t handle; -} __attribute__ ((packed)) read_remote_features_cp; +} QEMU_PACKED read_remote_features_cp; #define READ_REMOTE_FEATURES_CP_SIZE 2 #define OCF_READ_REMOTE_EXT_FEATURES 0x001C typedef struct { uint16_t handle; uint8_t page_num; -} __attribute__ ((packed)) read_remote_ext_features_cp; +} QEMU_PACKED read_remote_ext_features_cp; #define READ_REMOTE_EXT_FEATURES_CP_SIZE 3 #define OCF_READ_REMOTE_VERSION 0x001D typedef struct { uint16_t handle; -} __attribute__ ((packed)) read_remote_version_cp; +} QEMU_PACKED read_remote_version_cp; #define READ_REMOTE_VERSION_CP_SIZE 2 #define OCF_READ_CLOCK_OFFSET 0x001F typedef struct { uint16_t handle; -} __attribute__ ((packed)) read_clock_offset_cp; +} QEMU_PACKED read_clock_offset_cp; #define READ_CLOCK_OFFSET_CP_SIZE 2 #define OCF_READ_LMP_HANDLE 0x0020 typedef struct { uint16_t handle; -} __attribute__ ((packed)) read_lmp_handle_cp; +} QEMU_PACKED read_lmp_handle_cp; #define READ_LMP_HANDLE_CP_SIZE 2 typedef struct { @@ -629,7 +629,7 @@ typedef struct { uint16_t handle; uint8_t lmp_handle; uint32_t reserved; -} __attribute__ ((packed)) read_lmp_handle_rp; +} QEMU_PACKED read_lmp_handle_rp; #define READ_LMP_HANDLE_RP_SIZE 8 #define OCF_SETUP_SYNC_CONN 0x0028 @@ -641,7 +641,7 @@ typedef struct { uint16_t voice_setting; uint8_t retrans_effort; uint16_t pkt_type; -} __attribute__ ((packed)) setup_sync_conn_cp; +} QEMU_PACKED setup_sync_conn_cp; #define SETUP_SYNC_CONN_CP_SIZE 17 #define OCF_ACCEPT_SYNC_CONN_REQ 0x0029 @@ -653,14 +653,14 @@ typedef struct { uint16_t voice_setting; uint8_t retrans_effort; uint16_t pkt_type; -} __attribute__ ((packed)) accept_sync_conn_req_cp; +} QEMU_PACKED accept_sync_conn_req_cp; #define ACCEPT_SYNC_CONN_REQ_CP_SIZE 21 #define OCF_REJECT_SYNC_CONN_REQ 0x002A typedef struct { bdaddr_t bdaddr; uint8_t reason; -} __attribute__ ((packed)) reject_sync_conn_req_cp; +} QEMU_PACKED reject_sync_conn_req_cp; #define REJECT_SYNC_CONN_REQ_CP_SIZE 7 /* Link Policy */ @@ -671,7 +671,7 @@ typedef struct { uint16_t handle; uint16_t max_interval; uint16_t min_interval; -} __attribute__ ((packed)) hold_mode_cp; +} QEMU_PACKED hold_mode_cp; #define HOLD_MODE_CP_SIZE 6 #define OCF_SNIFF_MODE 0x0003 @@ -681,13 +681,13 @@ typedef struct { uint16_t min_interval; uint16_t attempt; uint16_t timeout; -} __attribute__ ((packed)) sniff_mode_cp; +} QEMU_PACKED sniff_mode_cp; #define SNIFF_MODE_CP_SIZE 10 #define OCF_EXIT_SNIFF_MODE 0x0004 typedef struct { uint16_t handle; -} __attribute__ ((packed)) exit_sniff_mode_cp; +} QEMU_PACKED exit_sniff_mode_cp; #define EXIT_SNIFF_MODE_CP_SIZE 2 #define OCF_PARK_MODE 0x0005 @@ -695,13 +695,13 @@ typedef struct { uint16_t handle; uint16_t max_interval; uint16_t min_interval; -} __attribute__ ((packed)) park_mode_cp; +} QEMU_PACKED park_mode_cp; #define PARK_MODE_CP_SIZE 6 #define OCF_EXIT_PARK_MODE 0x0006 typedef struct { uint16_t handle; -} __attribute__ ((packed)) exit_park_mode_cp; +} QEMU_PACKED exit_park_mode_cp; #define EXIT_PARK_MODE_CP_SIZE 2 #define OCF_QOS_SETUP 0x0007 @@ -711,56 +711,56 @@ typedef struct { uint32_t peak_bandwidth; /* Byte per seconds */ uint32_t latency; /* Microseconds */ uint32_t delay_variation; /* Microseconds */ -} __attribute__ ((packed)) hci_qos; +} QEMU_PACKED hci_qos; #define HCI_QOS_CP_SIZE 17 typedef struct { uint16_t handle; uint8_t flags; /* Reserved */ hci_qos qos; -} __attribute__ ((packed)) qos_setup_cp; +} QEMU_PACKED qos_setup_cp; #define QOS_SETUP_CP_SIZE (3 + HCI_QOS_CP_SIZE) #define OCF_ROLE_DISCOVERY 0x0009 typedef struct { uint16_t handle; -} __attribute__ ((packed)) role_discovery_cp; +} QEMU_PACKED role_discovery_cp; #define ROLE_DISCOVERY_CP_SIZE 2 typedef struct { uint8_t status; uint16_t handle; uint8_t role; -} __attribute__ ((packed)) role_discovery_rp; +} QEMU_PACKED role_discovery_rp; #define ROLE_DISCOVERY_RP_SIZE 4 #define OCF_SWITCH_ROLE 0x000B typedef struct { bdaddr_t bdaddr; uint8_t role; -} __attribute__ ((packed)) switch_role_cp; +} QEMU_PACKED switch_role_cp; #define SWITCH_ROLE_CP_SIZE 7 #define OCF_READ_LINK_POLICY 0x000C typedef struct { uint16_t handle; -} __attribute__ ((packed)) read_link_policy_cp; +} QEMU_PACKED read_link_policy_cp; #define READ_LINK_POLICY_CP_SIZE 2 typedef struct { uint8_t status; uint16_t handle; uint16_t policy; -} __attribute__ ((packed)) read_link_policy_rp; +} QEMU_PACKED read_link_policy_rp; #define READ_LINK_POLICY_RP_SIZE 5 #define OCF_WRITE_LINK_POLICY 0x000D typedef struct { uint16_t handle; uint16_t policy; -} __attribute__ ((packed)) write_link_policy_cp; +} QEMU_PACKED write_link_policy_cp; #define WRITE_LINK_POLICY_CP_SIZE 4 typedef struct { uint8_t status; uint16_t handle; -} __attribute__ ((packed)) write_link_policy_rp; +} QEMU_PACKED write_link_policy_rp; #define WRITE_LINK_POLICY_RP_SIZE 3 #define OCF_READ_DEFAULT_LINK_POLICY 0x000E @@ -776,7 +776,7 @@ typedef struct { uint16_t max_local_latency; uint16_t min_remote_timeout; uint16_t min_local_timeout; -} __attribute__ ((packed)) sniff_subrate_cp; +} QEMU_PACKED sniff_subrate_cp; #define SNIFF_SUBRATE_CP_SIZE 10 /* Host Controller and Baseband */ @@ -785,7 +785,7 @@ typedef struct { #define OCF_SET_EVENT_MASK 0x0001 typedef struct { uint8_t mask[8]; -} __attribute__ ((packed)) set_event_mask_cp; +} QEMU_PACKED set_event_mask_cp; #define SET_EVENT_MASK_CP_SIZE 8 #define OCF_RESET 0x0003 @@ -795,7 +795,7 @@ typedef struct { uint8_t flt_type; uint8_t cond_type; uint8_t condition[0]; -} __attribute__ ((packed)) set_event_flt_cp; +} QEMU_PACKED set_event_flt_cp; #define SET_EVENT_FLT_CP_SIZE 2 enum bt_filter_type { @@ -821,26 +821,26 @@ enum conn_setup_cond { #define OCF_FLUSH 0x0008 typedef struct { uint16_t handle; -} __attribute__ ((packed)) flush_cp; +} QEMU_PACKED flush_cp; #define FLUSH_CP_SIZE 2 typedef struct { uint8_t status; uint16_t handle; -} __attribute__ ((packed)) flush_rp; +} QEMU_PACKED flush_rp; #define FLUSH_RP_SIZE 3 #define OCF_READ_PIN_TYPE 0x0009 typedef struct { uint8_t status; uint8_t pin_type; -} __attribute__ ((packed)) read_pin_type_rp; +} QEMU_PACKED read_pin_type_rp; #define READ_PIN_TYPE_RP_SIZE 2 #define OCF_WRITE_PIN_TYPE 0x000A typedef struct { uint8_t pin_type; -} __attribute__ ((packed)) write_pin_type_cp; +} QEMU_PACKED write_pin_type_cp; #define WRITE_PIN_TYPE_CP_SIZE 1 #define OCF_CREATE_NEW_UNIT_KEY 0x000B @@ -849,89 +849,89 @@ typedef struct { typedef struct { bdaddr_t bdaddr; uint8_t read_all; -} __attribute__ ((packed)) read_stored_link_key_cp; +} QEMU_PACKED read_stored_link_key_cp; #define READ_STORED_LINK_KEY_CP_SIZE 7 typedef struct { uint8_t status; uint16_t max_keys; uint16_t num_keys; -} __attribute__ ((packed)) read_stored_link_key_rp; +} QEMU_PACKED read_stored_link_key_rp; #define READ_STORED_LINK_KEY_RP_SIZE 5 #define OCF_WRITE_STORED_LINK_KEY 0x0011 typedef struct { uint8_t num_keys; /* variable length part */ -} __attribute__ ((packed)) write_stored_link_key_cp; +} QEMU_PACKED write_stored_link_key_cp; #define WRITE_STORED_LINK_KEY_CP_SIZE 1 typedef struct { uint8_t status; uint8_t num_keys; -} __attribute__ ((packed)) write_stored_link_key_rp; +} QEMU_PACKED write_stored_link_key_rp; #define READ_WRITE_LINK_KEY_RP_SIZE 2 #define OCF_DELETE_STORED_LINK_KEY 0x0012 typedef struct { bdaddr_t bdaddr; uint8_t delete_all; -} __attribute__ ((packed)) delete_stored_link_key_cp; +} QEMU_PACKED delete_stored_link_key_cp; #define DELETE_STORED_LINK_KEY_CP_SIZE 7 typedef struct { uint8_t status; uint16_t num_keys; -} __attribute__ ((packed)) delete_stored_link_key_rp; +} QEMU_PACKED delete_stored_link_key_rp; #define DELETE_STORED_LINK_KEY_RP_SIZE 3 #define OCF_CHANGE_LOCAL_NAME 0x0013 typedef struct { char name[248]; -} __attribute__ ((packed)) change_local_name_cp; +} QEMU_PACKED change_local_name_cp; #define CHANGE_LOCAL_NAME_CP_SIZE 248 #define OCF_READ_LOCAL_NAME 0x0014 typedef struct { uint8_t status; char name[248]; -} __attribute__ ((packed)) read_local_name_rp; +} QEMU_PACKED read_local_name_rp; #define READ_LOCAL_NAME_RP_SIZE 249 #define OCF_READ_CONN_ACCEPT_TIMEOUT 0x0015 typedef struct { uint8_t status; uint16_t timeout; -} __attribute__ ((packed)) read_conn_accept_timeout_rp; +} QEMU_PACKED read_conn_accept_timeout_rp; #define READ_CONN_ACCEPT_TIMEOUT_RP_SIZE 3 #define OCF_WRITE_CONN_ACCEPT_TIMEOUT 0x0016 typedef struct { uint16_t timeout; -} __attribute__ ((packed)) write_conn_accept_timeout_cp; +} QEMU_PACKED write_conn_accept_timeout_cp; #define WRITE_CONN_ACCEPT_TIMEOUT_CP_SIZE 2 #define OCF_READ_PAGE_TIMEOUT 0x0017 typedef struct { uint8_t status; uint16_t timeout; -} __attribute__ ((packed)) read_page_timeout_rp; +} QEMU_PACKED read_page_timeout_rp; #define READ_PAGE_TIMEOUT_RP_SIZE 3 #define OCF_WRITE_PAGE_TIMEOUT 0x0018 typedef struct { uint16_t timeout; -} __attribute__ ((packed)) write_page_timeout_cp; +} QEMU_PACKED write_page_timeout_cp; #define WRITE_PAGE_TIMEOUT_CP_SIZE 2 #define OCF_READ_SCAN_ENABLE 0x0019 typedef struct { uint8_t status; uint8_t enable; -} __attribute__ ((packed)) read_scan_enable_rp; +} QEMU_PACKED read_scan_enable_rp; #define READ_SCAN_ENABLE_RP_SIZE 2 #define OCF_WRITE_SCAN_ENABLE 0x001A typedef struct { uint8_t scan_enable; -} __attribute__ ((packed)) write_scan_enable_cp; +} QEMU_PACKED write_scan_enable_cp; #define WRITE_SCAN_ENABLE_CP_SIZE 1 enum scan_enable_bits { @@ -945,14 +945,14 @@ typedef struct { uint8_t status; uint16_t interval; uint16_t window; -} __attribute__ ((packed)) read_page_activity_rp; +} QEMU_PACKED read_page_activity_rp; #define READ_PAGE_ACTIVITY_RP_SIZE 5 #define OCF_WRITE_PAGE_ACTIVITY 0x001C typedef struct { uint16_t interval; uint16_t window; -} __attribute__ ((packed)) write_page_activity_cp; +} QEMU_PACKED write_page_activity_cp; #define WRITE_PAGE_ACTIVITY_CP_SIZE 4 #define OCF_READ_INQ_ACTIVITY 0x001D @@ -960,14 +960,14 @@ typedef struct { uint8_t status; uint16_t interval; uint16_t window; -} __attribute__ ((packed)) read_inq_activity_rp; +} QEMU_PACKED read_inq_activity_rp; #define READ_INQ_ACTIVITY_RP_SIZE 5 #define OCF_WRITE_INQ_ACTIVITY 0x001E typedef struct { uint16_t interval; uint16_t window; -} __attribute__ ((packed)) write_inq_activity_cp; +} QEMU_PACKED write_inq_activity_cp; #define WRITE_INQ_ACTIVITY_CP_SIZE 4 #define OCF_READ_AUTH_ENABLE 0x001F @@ -989,26 +989,26 @@ typedef struct { typedef struct { uint8_t status; uint8_t dev_class[3]; -} __attribute__ ((packed)) read_class_of_dev_rp; +} QEMU_PACKED read_class_of_dev_rp; #define READ_CLASS_OF_DEV_RP_SIZE 4 #define OCF_WRITE_CLASS_OF_DEV 0x0024 typedef struct { uint8_t dev_class[3]; -} __attribute__ ((packed)) write_class_of_dev_cp; +} QEMU_PACKED write_class_of_dev_cp; #define WRITE_CLASS_OF_DEV_CP_SIZE 3 #define OCF_READ_VOICE_SETTING 0x0025 typedef struct { uint8_t status; uint16_t voice_setting; -} __attribute__ ((packed)) read_voice_setting_rp; +} QEMU_PACKED read_voice_setting_rp; #define READ_VOICE_SETTING_RP_SIZE 3 #define OCF_WRITE_VOICE_SETTING 0x0026 typedef struct { uint16_t voice_setting; -} __attribute__ ((packed)) write_voice_setting_cp; +} QEMU_PACKED write_voice_setting_cp; #define WRITE_VOICE_SETTING_CP_SIZE 2 #define OCF_READ_AUTOMATIC_FLUSH_TIMEOUT 0x0027 @@ -1027,13 +1027,13 @@ typedef struct { typedef struct { uint16_t handle; uint8_t type; -} __attribute__ ((packed)) read_transmit_power_level_cp; +} QEMU_PACKED read_transmit_power_level_cp; #define READ_TRANSMIT_POWER_LEVEL_CP_SIZE 3 typedef struct { uint8_t status; uint16_t handle; int8_t level; -} __attribute__ ((packed)) read_transmit_power_level_rp; +} QEMU_PACKED read_transmit_power_level_rp; #define READ_TRANSMIT_POWER_LEVEL_RP_SIZE 4 #define OCF_HOST_BUFFER_SIZE 0x0033 @@ -1042,7 +1042,7 @@ typedef struct { uint8_t sco_mtu; uint16_t acl_max_pkt; uint16_t sco_max_pkt; -} __attribute__ ((packed)) host_buffer_size_cp; +} QEMU_PACKED host_buffer_size_cp; #define HOST_BUFFER_SIZE_CP_SIZE 7 #define OCF_HOST_NUMBER_OF_COMPLETED_PACKETS 0x0035 @@ -1052,19 +1052,19 @@ typedef struct { uint8_t status; uint16_t handle; uint16_t link_sup_to; -} __attribute__ ((packed)) read_link_supervision_timeout_rp; +} QEMU_PACKED read_link_supervision_timeout_rp; #define READ_LINK_SUPERVISION_TIMEOUT_RP_SIZE 5 #define OCF_WRITE_LINK_SUPERVISION_TIMEOUT 0x0037 typedef struct { uint16_t handle; uint16_t link_sup_to; -} __attribute__ ((packed)) write_link_supervision_timeout_cp; +} QEMU_PACKED write_link_supervision_timeout_cp; #define WRITE_LINK_SUPERVISION_TIMEOUT_CP_SIZE 4 typedef struct { uint8_t status; uint16_t handle; -} __attribute__ ((packed)) write_link_supervision_timeout_rp; +} QEMU_PACKED write_link_supervision_timeout_rp; #define WRITE_LINK_SUPERVISION_TIMEOUT_RP_SIZE 3 #define OCF_READ_NUM_SUPPORTED_IAC 0x0038 @@ -1075,14 +1075,14 @@ typedef struct { uint8_t status; uint8_t num_current_iac; uint8_t lap[MAX_IAC_LAP][3]; -} __attribute__ ((packed)) read_current_iac_lap_rp; +} QEMU_PACKED read_current_iac_lap_rp; #define READ_CURRENT_IAC_LAP_RP_SIZE 2+3*MAX_IAC_LAP #define OCF_WRITE_CURRENT_IAC_LAP 0x003A typedef struct { uint8_t num_current_iac; uint8_t lap[MAX_IAC_LAP][3]; -} __attribute__ ((packed)) write_current_iac_lap_cp; +} QEMU_PACKED write_current_iac_lap_cp; #define WRITE_CURRENT_IAC_LAP_CP_SIZE 1+3*MAX_IAC_LAP #define OCF_READ_PAGE_SCAN_PERIOD_MODE 0x003B @@ -1096,45 +1096,45 @@ typedef struct { #define OCF_SET_AFH_CLASSIFICATION 0x003F typedef struct { uint8_t map[10]; -} __attribute__ ((packed)) set_afh_classification_cp; +} QEMU_PACKED set_afh_classification_cp; #define SET_AFH_CLASSIFICATION_CP_SIZE 10 typedef struct { uint8_t status; -} __attribute__ ((packed)) set_afh_classification_rp; +} QEMU_PACKED set_afh_classification_rp; #define SET_AFH_CLASSIFICATION_RP_SIZE 1 #define OCF_READ_INQUIRY_SCAN_TYPE 0x0042 typedef struct { uint8_t status; uint8_t type; -} __attribute__ ((packed)) read_inquiry_scan_type_rp; +} QEMU_PACKED read_inquiry_scan_type_rp; #define READ_INQUIRY_SCAN_TYPE_RP_SIZE 2 #define OCF_WRITE_INQUIRY_SCAN_TYPE 0x0043 typedef struct { uint8_t type; -} __attribute__ ((packed)) write_inquiry_scan_type_cp; +} QEMU_PACKED write_inquiry_scan_type_cp; #define WRITE_INQUIRY_SCAN_TYPE_CP_SIZE 1 typedef struct { uint8_t status; -} __attribute__ ((packed)) write_inquiry_scan_type_rp; +} QEMU_PACKED write_inquiry_scan_type_rp; #define WRITE_INQUIRY_SCAN_TYPE_RP_SIZE 1 #define OCF_READ_INQUIRY_MODE 0x0044 typedef struct { uint8_t status; uint8_t mode; -} __attribute__ ((packed)) read_inquiry_mode_rp; +} QEMU_PACKED read_inquiry_mode_rp; #define READ_INQUIRY_MODE_RP_SIZE 2 #define OCF_WRITE_INQUIRY_MODE 0x0045 typedef struct { uint8_t mode; -} __attribute__ ((packed)) write_inquiry_mode_cp; +} QEMU_PACKED write_inquiry_mode_cp; #define WRITE_INQUIRY_MODE_CP_SIZE 1 typedef struct { uint8_t status; -} __attribute__ ((packed)) write_inquiry_mode_rp; +} QEMU_PACKED write_inquiry_mode_rp; #define WRITE_INQUIRY_MODE_RP_SIZE 1 #define OCF_READ_PAGE_SCAN_TYPE 0x0046 @@ -1145,17 +1145,17 @@ typedef struct { typedef struct { uint8_t status; uint8_t mode; -} __attribute__ ((packed)) read_afh_mode_rp; +} QEMU_PACKED read_afh_mode_rp; #define READ_AFH_MODE_RP_SIZE 2 #define OCF_WRITE_AFH_MODE 0x0049 typedef struct { uint8_t mode; -} __attribute__ ((packed)) write_afh_mode_cp; +} QEMU_PACKED write_afh_mode_cp; #define WRITE_AFH_MODE_CP_SIZE 1 typedef struct { uint8_t status; -} __attribute__ ((packed)) write_afh_mode_rp; +} QEMU_PACKED write_afh_mode_rp; #define WRITE_AFH_MODE_RP_SIZE 1 #define OCF_READ_EXT_INQUIRY_RESPONSE 0x0051 @@ -1163,18 +1163,18 @@ typedef struct { uint8_t status; uint8_t fec; uint8_t data[240]; -} __attribute__ ((packed)) read_ext_inquiry_response_rp; +} QEMU_PACKED read_ext_inquiry_response_rp; #define READ_EXT_INQUIRY_RESPONSE_RP_SIZE 242 #define OCF_WRITE_EXT_INQUIRY_RESPONSE 0x0052 typedef struct { uint8_t fec; uint8_t data[240]; -} __attribute__ ((packed)) write_ext_inquiry_response_cp; +} QEMU_PACKED write_ext_inquiry_response_cp; #define WRITE_EXT_INQUIRY_RESPONSE_CP_SIZE 241 typedef struct { uint8_t status; -} __attribute__ ((packed)) write_ext_inquiry_response_rp; +} QEMU_PACKED write_ext_inquiry_response_rp; #define WRITE_EXT_INQUIRY_RESPONSE_RP_SIZE 1 /* Informational Parameters */ @@ -1188,34 +1188,34 @@ typedef struct { uint8_t lmp_ver; uint16_t manufacturer; uint16_t lmp_subver; -} __attribute__ ((packed)) read_local_version_rp; +} QEMU_PACKED read_local_version_rp; #define READ_LOCAL_VERSION_RP_SIZE 9 #define OCF_READ_LOCAL_COMMANDS 0x0002 typedef struct { uint8_t status; uint8_t commands[64]; -} __attribute__ ((packed)) read_local_commands_rp; +} QEMU_PACKED read_local_commands_rp; #define READ_LOCAL_COMMANDS_RP_SIZE 65 #define OCF_READ_LOCAL_FEATURES 0x0003 typedef struct { uint8_t status; uint8_t features[8]; -} __attribute__ ((packed)) read_local_features_rp; +} QEMU_PACKED read_local_features_rp; #define READ_LOCAL_FEATURES_RP_SIZE 9 #define OCF_READ_LOCAL_EXT_FEATURES 0x0004 typedef struct { uint8_t page_num; -} __attribute__ ((packed)) read_local_ext_features_cp; +} QEMU_PACKED read_local_ext_features_cp; #define READ_LOCAL_EXT_FEATURES_CP_SIZE 1 typedef struct { uint8_t status; uint8_t page_num; uint8_t max_page_num; uint8_t features[8]; -} __attribute__ ((packed)) read_local_ext_features_rp; +} QEMU_PACKED read_local_ext_features_rp; #define READ_LOCAL_EXT_FEATURES_RP_SIZE 11 #define OCF_READ_BUFFER_SIZE 0x0005 @@ -1225,21 +1225,21 @@ typedef struct { uint8_t sco_mtu; uint16_t acl_max_pkt; uint16_t sco_max_pkt; -} __attribute__ ((packed)) read_buffer_size_rp; +} QEMU_PACKED read_buffer_size_rp; #define READ_BUFFER_SIZE_RP_SIZE 8 #define OCF_READ_COUNTRY_CODE 0x0007 typedef struct { uint8_t status; uint8_t country_code; -} __attribute__ ((packed)) read_country_code_rp; +} QEMU_PACKED read_country_code_rp; #define READ_COUNTRY_CODE_RP_SIZE 2 #define OCF_READ_BD_ADDR 0x0009 typedef struct { uint8_t status; bdaddr_t bdaddr; -} __attribute__ ((packed)) read_bd_addr_rp; +} QEMU_PACKED read_bd_addr_rp; #define READ_BD_ADDR_RP_SIZE 7 /* Status params */ @@ -1250,27 +1250,27 @@ typedef struct { uint8_t status; uint16_t handle; uint8_t counter; -} __attribute__ ((packed)) read_failed_contact_counter_rp; +} QEMU_PACKED read_failed_contact_counter_rp; #define READ_FAILED_CONTACT_COUNTER_RP_SIZE 4 #define OCF_RESET_FAILED_CONTACT_COUNTER 0x0002 typedef struct { uint8_t status; uint16_t handle; -} __attribute__ ((packed)) reset_failed_contact_counter_rp; +} QEMU_PACKED reset_failed_contact_counter_rp; #define RESET_FAILED_CONTACT_COUNTER_RP_SIZE 4 #define OCF_READ_LINK_QUALITY 0x0003 typedef struct { uint16_t handle; -} __attribute__ ((packed)) read_link_quality_cp; +} QEMU_PACKED read_link_quality_cp; #define READ_LINK_QUALITY_CP_SIZE 4 typedef struct { uint8_t status; uint16_t handle; uint8_t link_quality; -} __attribute__ ((packed)) read_link_quality_rp; +} QEMU_PACKED read_link_quality_rp; #define READ_LINK_QUALITY_RP_SIZE 4 #define OCF_READ_RSSI 0x0005 @@ -1278,7 +1278,7 @@ typedef struct { uint8_t status; uint16_t handle; int8_t rssi; -} __attribute__ ((packed)) read_rssi_rp; +} QEMU_PACKED read_rssi_rp; #define READ_RSSI_RP_SIZE 4 #define OCF_READ_AFH_MAP 0x0006 @@ -1287,21 +1287,21 @@ typedef struct { uint16_t handle; uint8_t mode; uint8_t map[10]; -} __attribute__ ((packed)) read_afh_map_rp; +} QEMU_PACKED read_afh_map_rp; #define READ_AFH_MAP_RP_SIZE 14 #define OCF_READ_CLOCK 0x0007 typedef struct { uint16_t handle; uint8_t which_clock; -} __attribute__ ((packed)) read_clock_cp; +} QEMU_PACKED read_clock_cp; #define READ_CLOCK_CP_SIZE 3 typedef struct { uint8_t status; uint16_t handle; uint32_t clock; uint16_t accuracy; -} __attribute__ ((packed)) read_clock_rp; +} QEMU_PACKED read_clock_rp; #define READ_CLOCK_RP_SIZE 9 /* Testing commands */ @@ -1323,7 +1323,7 @@ typedef struct { uint8_t pscan_mode; uint8_t dev_class[3]; uint16_t clock_offset; -} __attribute__ ((packed)) inquiry_info; +} QEMU_PACKED inquiry_info; #define INQUIRY_INFO_SIZE 14 #define EVT_CONN_COMPLETE 0x03 @@ -1333,7 +1333,7 @@ typedef struct { bdaddr_t bdaddr; uint8_t link_type; uint8_t encr_mode; -} __attribute__ ((packed)) evt_conn_complete; +} QEMU_PACKED evt_conn_complete; #define EVT_CONN_COMPLETE_SIZE 11 #define EVT_CONN_REQUEST 0x04 @@ -1341,7 +1341,7 @@ typedef struct { bdaddr_t bdaddr; uint8_t dev_class[3]; uint8_t link_type; -} __attribute__ ((packed)) evt_conn_request; +} QEMU_PACKED evt_conn_request; #define EVT_CONN_REQUEST_SIZE 10 #define EVT_DISCONN_COMPLETE 0x05 @@ -1349,14 +1349,14 @@ typedef struct { uint8_t status; uint16_t handle; uint8_t reason; -} __attribute__ ((packed)) evt_disconn_complete; +} QEMU_PACKED evt_disconn_complete; #define EVT_DISCONN_COMPLETE_SIZE 4 #define EVT_AUTH_COMPLETE 0x06 typedef struct { uint8_t status; uint16_t handle; -} __attribute__ ((packed)) evt_auth_complete; +} QEMU_PACKED evt_auth_complete; #define EVT_AUTH_COMPLETE_SIZE 3 #define EVT_REMOTE_NAME_REQ_COMPLETE 0x07 @@ -1364,7 +1364,7 @@ typedef struct { uint8_t status; bdaddr_t bdaddr; char name[248]; -} __attribute__ ((packed)) evt_remote_name_req_complete; +} QEMU_PACKED evt_remote_name_req_complete; #define EVT_REMOTE_NAME_REQ_COMPLETE_SIZE 255 #define EVT_ENCRYPT_CHANGE 0x08 @@ -1372,14 +1372,14 @@ typedef struct { uint8_t status; uint16_t handle; uint8_t encrypt; -} __attribute__ ((packed)) evt_encrypt_change; +} QEMU_PACKED evt_encrypt_change; #define EVT_ENCRYPT_CHANGE_SIZE 5 #define EVT_CHANGE_CONN_LINK_KEY_COMPLETE 0x09 typedef struct { uint8_t status; uint16_t handle; -} __attribute__ ((packed)) evt_change_conn_link_key_complete; +} QEMU_PACKED evt_change_conn_link_key_complete; #define EVT_CHANGE_CONN_LINK_KEY_COMPLETE_SIZE 3 #define EVT_MASTER_LINK_KEY_COMPLETE 0x0A @@ -1387,7 +1387,7 @@ typedef struct { uint8_t status; uint16_t handle; uint8_t key_flag; -} __attribute__ ((packed)) evt_master_link_key_complete; +} QEMU_PACKED evt_master_link_key_complete; #define EVT_MASTER_LINK_KEY_COMPLETE_SIZE 4 #define EVT_READ_REMOTE_FEATURES_COMPLETE 0x0B @@ -1395,7 +1395,7 @@ typedef struct { uint8_t status; uint16_t handle; uint8_t features[8]; -} __attribute__ ((packed)) evt_read_remote_features_complete; +} QEMU_PACKED evt_read_remote_features_complete; #define EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE 11 #define EVT_READ_REMOTE_VERSION_COMPLETE 0x0C @@ -1405,7 +1405,7 @@ typedef struct { uint8_t lmp_ver; uint16_t manufacturer; uint16_t lmp_subver; -} __attribute__ ((packed)) evt_read_remote_version_complete; +} QEMU_PACKED evt_read_remote_version_complete; #define EVT_READ_REMOTE_VERSION_COMPLETE_SIZE 8 #define EVT_QOS_SETUP_COMPLETE 0x0D @@ -1414,14 +1414,14 @@ typedef struct { uint16_t handle; uint8_t flags; /* Reserved */ hci_qos qos; -} __attribute__ ((packed)) evt_qos_setup_complete; +} QEMU_PACKED evt_qos_setup_complete; #define EVT_QOS_SETUP_COMPLETE_SIZE (4 + HCI_QOS_CP_SIZE) #define EVT_CMD_COMPLETE 0x0E typedef struct { uint8_t ncmd; uint16_t opcode; -} __attribute__ ((packed)) evt_cmd_complete; +} QEMU_PACKED evt_cmd_complete; #define EVT_CMD_COMPLETE_SIZE 3 #define EVT_CMD_STATUS 0x0F @@ -1429,19 +1429,19 @@ typedef struct { uint8_t status; uint8_t ncmd; uint16_t opcode; -} __attribute__ ((packed)) evt_cmd_status; +} QEMU_PACKED evt_cmd_status; #define EVT_CMD_STATUS_SIZE 4 #define EVT_HARDWARE_ERROR 0x10 typedef struct { uint8_t code; -} __attribute__ ((packed)) evt_hardware_error; +} QEMU_PACKED evt_hardware_error; #define EVT_HARDWARE_ERROR_SIZE 1 #define EVT_FLUSH_OCCURRED 0x11 typedef struct { uint16_t handle; -} __attribute__ ((packed)) evt_flush_occurred; +} QEMU_PACKED evt_flush_occurred; #define EVT_FLUSH_OCCURRED_SIZE 2 #define EVT_ROLE_CHANGE 0x12 @@ -1449,7 +1449,7 @@ typedef struct { uint8_t status; bdaddr_t bdaddr; uint8_t role; -} __attribute__ ((packed)) evt_role_change; +} QEMU_PACKED evt_role_change; #define EVT_ROLE_CHANGE_SIZE 8 #define EVT_NUM_COMP_PKTS 0x13 @@ -1459,7 +1459,7 @@ typedef struct { uint16_t handle; uint16_t num_packets; } connection[0]; -} __attribute__ ((packed)) evt_num_comp_pkts; +} QEMU_PACKED evt_num_comp_pkts; #define EVT_NUM_COMP_PKTS_SIZE(num_hndl) (1 + 4 * (num_hndl)) #define EVT_MODE_CHANGE 0x14 @@ -1468,26 +1468,26 @@ typedef struct { uint16_t handle; uint8_t mode; uint16_t interval; -} __attribute__ ((packed)) evt_mode_change; +} QEMU_PACKED evt_mode_change; #define EVT_MODE_CHANGE_SIZE 6 #define EVT_RETURN_LINK_KEYS 0x15 typedef struct { uint8_t num_keys; /* variable length part */ -} __attribute__ ((packed)) evt_return_link_keys; +} QEMU_PACKED evt_return_link_keys; #define EVT_RETURN_LINK_KEYS_SIZE 1 #define EVT_PIN_CODE_REQ 0x16 typedef struct { bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_pin_code_req; +} QEMU_PACKED evt_pin_code_req; #define EVT_PIN_CODE_REQ_SIZE 6 #define EVT_LINK_KEY_REQ 0x17 typedef struct { bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_link_key_req; +} QEMU_PACKED evt_link_key_req; #define EVT_LINK_KEY_REQ_SIZE 6 #define EVT_LINK_KEY_NOTIFY 0x18 @@ -1495,7 +1495,7 @@ typedef struct { bdaddr_t bdaddr; uint8_t link_key[16]; uint8_t key_type; -} __attribute__ ((packed)) evt_link_key_notify; +} QEMU_PACKED evt_link_key_notify; #define EVT_LINK_KEY_NOTIFY_SIZE 23 #define EVT_LOOPBACK_COMMAND 0x19 @@ -1503,14 +1503,14 @@ typedef struct { #define EVT_DATA_BUFFER_OVERFLOW 0x1A typedef struct { uint8_t link_type; -} __attribute__ ((packed)) evt_data_buffer_overflow; +} QEMU_PACKED evt_data_buffer_overflow; #define EVT_DATA_BUFFER_OVERFLOW_SIZE 1 #define EVT_MAX_SLOTS_CHANGE 0x1B typedef struct { uint16_t handle; uint8_t max_slots; -} __attribute__ ((packed)) evt_max_slots_change; +} QEMU_PACKED evt_max_slots_change; #define EVT_MAX_SLOTS_CHANGE_SIZE 3 #define EVT_READ_CLOCK_OFFSET_COMPLETE 0x1C @@ -1518,7 +1518,7 @@ typedef struct { uint8_t status; uint16_t handle; uint16_t clock_offset; -} __attribute__ ((packed)) evt_read_clock_offset_complete; +} QEMU_PACKED evt_read_clock_offset_complete; #define EVT_READ_CLOCK_OFFSET_COMPLETE_SIZE 5 #define EVT_CONN_PTYPE_CHANGED 0x1D @@ -1526,20 +1526,20 @@ typedef struct { uint8_t status; uint16_t handle; uint16_t ptype; -} __attribute__ ((packed)) evt_conn_ptype_changed; +} QEMU_PACKED evt_conn_ptype_changed; #define EVT_CONN_PTYPE_CHANGED_SIZE 5 #define EVT_QOS_VIOLATION 0x1E typedef struct { uint16_t handle; -} __attribute__ ((packed)) evt_qos_violation; +} QEMU_PACKED evt_qos_violation; #define EVT_QOS_VIOLATION_SIZE 2 #define EVT_PSCAN_REP_MODE_CHANGE 0x20 typedef struct { bdaddr_t bdaddr; uint8_t pscan_rep_mode; -} __attribute__ ((packed)) evt_pscan_rep_mode_change; +} QEMU_PACKED evt_pscan_rep_mode_change; #define EVT_PSCAN_REP_MODE_CHANGE_SIZE 7 #define EVT_FLOW_SPEC_COMPLETE 0x21 @@ -1549,7 +1549,7 @@ typedef struct { uint8_t flags; uint8_t direction; hci_qos qos; -} __attribute__ ((packed)) evt_flow_spec_complete; +} QEMU_PACKED evt_flow_spec_complete; #define EVT_FLOW_SPEC_COMPLETE_SIZE (5 + HCI_QOS_CP_SIZE) #define EVT_INQUIRY_RESULT_WITH_RSSI 0x22 @@ -1561,7 +1561,7 @@ typedef struct { uint8_t dev_class[3]; uint16_t clock_offset; int8_t rssi; -} __attribute__ ((packed)) inquiry_info_with_rssi; +} QEMU_PACKED inquiry_info_with_rssi; #define INQUIRY_INFO_WITH_RSSI_SIZE 15 typedef struct { uint8_t num_responses; @@ -1572,7 +1572,7 @@ typedef struct { uint8_t dev_class[3]; uint16_t clock_offset; int8_t rssi; -} __attribute__ ((packed)) inquiry_info_with_rssi_and_pscan_mode; +} QEMU_PACKED inquiry_info_with_rssi_and_pscan_mode; #define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE_SIZE 16 #define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE 0x23 @@ -1582,7 +1582,7 @@ typedef struct { uint8_t page_num; uint8_t max_page_num; uint8_t features[8]; -} __attribute__ ((packed)) evt_read_remote_ext_features_complete; +} QEMU_PACKED evt_read_remote_ext_features_complete; #define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE_SIZE 13 #define EVT_SYNC_CONN_COMPLETE 0x2C @@ -1596,7 +1596,7 @@ typedef struct { uint16_t rx_pkt_len; uint16_t tx_pkt_len; uint8_t air_mode; -} __attribute__ ((packed)) evt_sync_conn_complete; +} QEMU_PACKED evt_sync_conn_complete; #define EVT_SYNC_CONN_COMPLETE_SIZE 17 #define EVT_SYNC_CONN_CHANGED 0x2D @@ -1607,7 +1607,7 @@ typedef struct { uint8_t retrans_window; uint16_t rx_pkt_len; uint16_t tx_pkt_len; -} __attribute__ ((packed)) evt_sync_conn_changed; +} QEMU_PACKED evt_sync_conn_changed; #define EVT_SYNC_CONN_CHANGED_SIZE 9 #define EVT_SNIFF_SUBRATE 0x2E @@ -1618,7 +1618,7 @@ typedef struct { uint16_t max_local_latency; uint16_t min_remote_timeout; uint16_t min_local_timeout; -} __attribute__ ((packed)) evt_sniff_subrate; +} QEMU_PACKED evt_sniff_subrate; #define EVT_SNIFF_SUBRATE_SIZE 11 #define EVT_EXTENDED_INQUIRY_RESULT 0x2F @@ -1630,7 +1630,7 @@ typedef struct { uint16_t clock_offset; int8_t rssi; uint8_t data[240]; -} __attribute__ ((packed)) extended_inquiry_info; +} QEMU_PACKED extended_inquiry_info; #define EXTENDED_INQUIRY_INFO_SIZE 254 #define EVT_TESTING 0xFE @@ -1656,22 +1656,22 @@ typedef struct { struct hci_command_hdr { uint16_t opcode; /* OCF & OGF */ uint8_t plen; -} __attribute__ ((packed)); +} QEMU_PACKED; struct hci_event_hdr { uint8_t evt; uint8_t plen; -} __attribute__ ((packed)); +} QEMU_PACKED; struct hci_acl_hdr { uint16_t handle; /* Handle & Flags(PB, BC) */ uint16_t dlen; -} __attribute__ ((packed)); +} QEMU_PACKED; struct hci_sco_hdr { uint16_t handle; uint8_t dlen; -} __attribute__ ((packed)); +} QEMU_PACKED; /* L2CAP layer defines */ @@ -1718,25 +1718,25 @@ typedef struct { uint16_t len; uint16_t cid; uint8_t data[0]; -} __attribute__ ((packed)) l2cap_hdr; +} QEMU_PACKED l2cap_hdr; #define L2CAP_HDR_SIZE 4 typedef struct { uint8_t code; uint8_t ident; uint16_t len; -} __attribute__ ((packed)) l2cap_cmd_hdr; +} QEMU_PACKED l2cap_cmd_hdr; #define L2CAP_CMD_HDR_SIZE 4 typedef struct { uint16_t reason; -} __attribute__ ((packed)) l2cap_cmd_rej; +} QEMU_PACKED l2cap_cmd_rej; #define L2CAP_CMD_REJ_SIZE 2 typedef struct { uint16_t dcid; uint16_t scid; -} __attribute__ ((packed)) l2cap_cmd_rej_cid; +} QEMU_PACKED l2cap_cmd_rej_cid; #define L2CAP_CMD_REJ_CID_SIZE 4 /* reject reason */ @@ -1749,7 +1749,7 @@ enum bt_l2cap_rej_reason { typedef struct { uint16_t psm; uint16_t scid; -} __attribute__ ((packed)) l2cap_conn_req; +} QEMU_PACKED l2cap_conn_req; #define L2CAP_CONN_REQ_SIZE 4 typedef struct { @@ -1757,7 +1757,7 @@ typedef struct { uint16_t scid; uint16_t result; uint16_t status; -} __attribute__ ((packed)) l2cap_conn_rsp; +} QEMU_PACKED l2cap_conn_rsp; #define L2CAP_CONN_RSP_SIZE 8 /* connect result */ @@ -1780,7 +1780,7 @@ typedef struct { uint16_t dcid; uint16_t flags; uint8_t data[0]; -} __attribute__ ((packed)) l2cap_conf_req; +} QEMU_PACKED l2cap_conf_req; #define L2CAP_CONF_REQ_SIZE(datalen) (4 + (datalen)) typedef struct { @@ -1788,7 +1788,7 @@ typedef struct { uint16_t flags; uint16_t result; uint8_t data[0]; -} __attribute__ ((packed)) l2cap_conf_rsp; +} QEMU_PACKED l2cap_conf_rsp; #define L2CAP_CONF_RSP_SIZE(datalen) (6 + datalen) enum bt_l2cap_conf_res { @@ -1802,7 +1802,7 @@ typedef struct { uint8_t type; uint8_t len; uint8_t val[0]; -} __attribute__ ((packed)) l2cap_conf_opt; +} QEMU_PACKED l2cap_conf_opt; #define L2CAP_CONF_OPT_SIZE 2 enum bt_l2cap_conf_val { @@ -1821,7 +1821,7 @@ typedef struct { uint32_t peak_bandwidth; uint32_t latency; uint32_t delay_variation; -} __attribute__ ((packed)) l2cap_conf_opt_qos; +} QEMU_PACKED l2cap_conf_opt_qos; #define L2CAP_CONF_OPT_QOS_SIZE 22 enum bt_l2cap_conf_opt_qos_st { @@ -1841,25 +1841,25 @@ enum bt_l2cap_mode { typedef struct { uint16_t dcid; uint16_t scid; -} __attribute__ ((packed)) l2cap_disconn_req; +} QEMU_PACKED l2cap_disconn_req; #define L2CAP_DISCONN_REQ_SIZE 4 typedef struct { uint16_t dcid; uint16_t scid; -} __attribute__ ((packed)) l2cap_disconn_rsp; +} QEMU_PACKED l2cap_disconn_rsp; #define L2CAP_DISCONN_RSP_SIZE 4 typedef struct { uint16_t type; -} __attribute__ ((packed)) l2cap_info_req; +} QEMU_PACKED l2cap_info_req; #define L2CAP_INFO_REQ_SIZE 2 typedef struct { uint16_t type; uint16_t result; uint8_t data[0]; -} __attribute__ ((packed)) l2cap_info_rsp; +} QEMU_PACKED l2cap_info_rsp; #define L2CAP_INFO_RSP_SIZE 4 /* info type */ diff --git a/hw/hpet_emul.h b/hw/hpet_emul.h index 8bf312ab2..612870253 100644 --- a/hw/hpet_emul.h +++ b/hw/hpet_emul.h @@ -59,13 +59,13 @@ struct hpet_fw_entry uint64_t address; uint16_t min_tick; uint8_t page_prot; -} __attribute__ ((packed)); +} QEMU_PACKED; struct hpet_fw_config { uint8_t count; struct hpet_fw_entry hpet[8]; -} __attribute__ ((packed)); +} QEMU_PACKED; extern struct hpet_fw_config hpet_cfg; #endif diff --git a/hw/ide/ahci.h b/hw/ide/ahci.h index 832539c23..3c29d93b4 100644 --- a/hw/ide/ahci.h +++ b/hw/ide/ahci.h @@ -244,13 +244,13 @@ typedef struct AHCICmdHdr { uint32_t status; uint64_t tbl_addr; uint32_t reserved[4]; -} __attribute__ ((packed)) AHCICmdHdr; +} QEMU_PACKED AHCICmdHdr; typedef struct AHCI_SG { uint64_t addr; uint32_t reserved; uint32_t flags_size; -} __attribute__ ((packed)) AHCI_SG; +} QEMU_PACKED AHCI_SG; typedef struct AHCIDevice AHCIDevice; @@ -321,7 +321,7 @@ typedef struct NCQFrame { uint8_t reserved8; uint8_t reserved9; uint8_t reserved10; -} __attribute__ ((packed)) NCQFrame; +} QEMU_PACKED NCQFrame; void ahci_init(AHCIState *s, DeviceState *qdev, int ports); void ahci_uninit(AHCIState *s); diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c index c55232012..f38d2896a 100644 --- a/hw/ide/atapi.c +++ b/hw/ide/atapi.c @@ -557,13 +557,13 @@ static void cmd_get_event_status_notification(IDEState *s, uint8_t reserved3[2]; uint16_t len; uint8_t control; - } __attribute__((packed)) *gesn_cdb; + } QEMU_PACKED *gesn_cdb; struct { uint16_t len; uint8_t notification_class; uint8_t supported_events; - } __attribute((packed)) *gesn_event_header; + } QEMU_PACKED *gesn_event_header; enum notification_class_request_type { NCR_RESERVED1 = 1 << 0, diff --git a/hw/milkymist-tmu2.c b/hw/milkymist-tmu2.c index 790cdcb41..953d42f16 100644 --- a/hw/milkymist-tmu2.c +++ b/hw/milkymist-tmu2.c @@ -73,7 +73,7 @@ enum { struct vertex { int x; int y; -} __attribute__((packed)); +} QEMU_PACKED; struct MilkymistTMU2State { SysBusDevice busdev; diff --git a/hw/pc.c b/hw/pc.c index 263fb1a77..5bc845aae 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -78,12 +78,12 @@ struct e820_entry { uint64_t address; uint64_t length; uint32_t type; -} __attribute((__packed__, __aligned__(4))); +} QEMU_PACKED __attribute((__aligned__(4))); struct e820_table { uint32_t count; struct e820_entry entry[E820_NR_ENTRIES]; -} __attribute((__packed__, __aligned__(4))); +} QEMU_PACKED __attribute((__aligned__(4))); static struct e820_table e820_table; struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX}; diff --git a/hw/pxa2xx_lcd.c b/hw/pxa2xx_lcd.c index 97f90153b..b73290cb3 100644 --- a/hw/pxa2xx_lcd.c +++ b/hw/pxa2xx_lcd.c @@ -70,7 +70,7 @@ struct PXA2xxLCDState { int orientation; }; -typedef struct __attribute__ ((__packed__)) { +typedef struct QEMU_PACKED { uint32_t fdaddr; uint32_t fsaddr; uint32_t fidr; diff --git a/hw/r2d.c b/hw/r2d.c index 96a7ff8c3..771f3d073 100644 --- a/hw/r2d.c +++ b/hw/r2d.c @@ -209,7 +209,7 @@ static void main_cpu_reset(void *opaque) env->pc = s->vector; } -static struct __attribute__((__packed__)) +static struct QEMU_PACKED { int mount_root_rdonly; int ramdisk_flags; diff --git a/hw/rc4030.c b/hw/rc4030.c index a2a20996a..33e10709c 100644 --- a/hw/rc4030.c +++ b/hw/rc4030.c @@ -50,7 +50,7 @@ do { fprintf(stderr, "rc4030 ERROR: %s: " fmt, __func__ , ## __VA_ARGS__); } whi typedef struct dma_pagetable_entry { int32_t frame; int32_t owner; -} __attribute__((packed)) dma_pagetable_entry; +} QEMU_PACKED dma_pagetable_entry; #define DMA_PAGESIZE 4096 #define DMA_REG_ENABLE 1 diff --git a/hw/smbios.c b/hw/smbios.c index 8f2e96538..c9ba43e8d 100644 --- a/hw/smbios.c +++ b/hw/smbios.c @@ -21,19 +21,19 @@ struct smbios_header { uint16_t length; uint8_t type; -} __attribute__((__packed__)); +} QEMU_PACKED; struct smbios_field { struct smbios_header header; uint8_t type; uint16_t offset; uint8_t data[]; -} __attribute__((__packed__)); +} QEMU_PACKED; struct smbios_table { struct smbios_header header; uint8_t data[]; -} __attribute__((__packed__)); +} QEMU_PACKED; #define SMBIOS_FIELD_ENTRY 0 #define SMBIOS_TABLE_ENTRY 1 diff --git a/hw/smbios.h b/hw/smbios.h index 3a5169dbd..94e3641f9 100644 --- a/hw/smbios.h +++ b/hw/smbios.h @@ -26,7 +26,7 @@ struct smbios_structure_header { uint8_t type; uint8_t length; uint16_t handle; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 0 - BIOS Information */ struct smbios_type_0 { @@ -42,7 +42,7 @@ struct smbios_type_0 { uint8_t system_bios_minor_release; uint8_t embedded_controller_major_release; uint8_t embedded_controller_minor_release; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 1 - System Information */ struct smbios_type_1 { @@ -55,7 +55,7 @@ struct smbios_type_1 { uint8_t wake_up_type; uint8_t sku_number_str; uint8_t family_str; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 3 - System Enclosure (v2.3) */ struct smbios_type_3 { @@ -74,7 +74,7 @@ struct smbios_type_3 { uint8_t number_of_power_cords; uint8_t contained_element_count; // contained elements follow -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 4 - Processor Information (v2.0) */ struct smbios_type_4 { @@ -94,7 +94,7 @@ struct smbios_type_4 { uint16_t l1_cache_handle; uint16_t l2_cache_handle; uint16_t l3_cache_handle; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 16 - Physical Memory Array * Associated with one type 17 (Memory Device). @@ -107,7 +107,7 @@ struct smbios_type_16 { uint32_t maximum_capacity; uint16_t memory_error_information_handle; uint16_t number_of_memory_devices; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 17 - Memory Device * Associated with one type 19 */ @@ -124,7 +124,7 @@ struct smbios_type_17 { uint8_t bank_locator_str; uint8_t memory_type; uint16_t type_detail; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 19 - Memory Array Mapped Address */ struct smbios_type_19 { @@ -133,7 +133,7 @@ struct smbios_type_19 { uint32_t ending_address; uint16_t memory_array_handle; uint8_t partition_width; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 20 - Memory Device Mapped Address */ struct smbios_type_20 { @@ -145,18 +145,18 @@ struct smbios_type_20 { uint8_t partition_row_position; uint8_t interleave_position; uint8_t interleaved_data_depth; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 32 - System Boot Information */ struct smbios_type_32 { struct smbios_structure_header header; uint8_t reserved[6]; uint8_t boot_status; -} __attribute__((__packed__)); +} QEMU_PACKED; /* SMBIOS type 127 -- End-of-table */ struct smbios_type_127 { struct smbios_structure_header header; -} __attribute__((__packed__)); +} QEMU_PACKED; #endif /*QEMU_SMBIOS_H */ diff --git a/hw/srp.h b/hw/srp.h index afcd135c8..3009bd56c 100644 --- a/hw/srp.h +++ b/hw/srp.h @@ -106,7 +106,7 @@ struct srp_indirect_buf { struct srp_direct_buf table_desc; uint32_t len; struct srp_direct_buf desc_list[0]; -} __attribute__((packed)); +} QEMU_PACKED; enum { SRP_MULTICHAN_SINGLE = 0, @@ -141,7 +141,7 @@ struct srp_login_rsp { uint16_t buf_fmt; uint8_t rsp_flags; uint8_t reserved2[25]; -} __attribute__((packed)); +} QEMU_PACKED; struct srp_login_rej { uint8_t opcode; @@ -177,7 +177,7 @@ struct srp_tsk_mgmt { uint8_t reserved1[6]; uint64_t tag; uint8_t reserved2[4]; - uint64_t lun __attribute__((packed)); + uint64_t lun QEMU_PACKED; uint8_t reserved3[2]; uint8_t tsk_mgmt_func; uint8_t reserved4; @@ -198,7 +198,7 @@ struct srp_cmd { uint8_t data_in_desc_cnt; uint64_t tag; uint8_t reserved2[4]; - uint64_t lun __attribute__((packed)); + uint64_t lun QEMU_PACKED; uint8_t reserved3; uint8_t task_attr; uint8_t reserved4; @@ -235,6 +235,6 @@ struct srp_rsp { uint32_t sense_data_len; uint32_t resp_data_len; uint8_t data[0]; -} __attribute__((packed)); +} QEMU_PACKED; #endif /* SCSI_SRP_H */ diff --git a/hw/usb-ccid.c b/hw/usb-ccid.c index 66aeb211a..c2f924101 100644 --- a/hw/usb-ccid.c +++ b/hw/usb-ccid.c @@ -176,56 +176,56 @@ enum { */ }; -typedef struct __attribute__ ((__packed__)) CCID_Header { +typedef struct QEMU_PACKED CCID_Header { uint8_t bMessageType; uint32_t dwLength; uint8_t bSlot; uint8_t bSeq; } CCID_Header; -typedef struct __attribute__ ((__packed__)) CCID_BULK_IN { +typedef struct QEMU_PACKED CCID_BULK_IN { CCID_Header hdr; uint8_t bStatus; /* Only used in BULK_IN */ uint8_t bError; /* Only used in BULK_IN */ } CCID_BULK_IN; -typedef struct __attribute__ ((__packed__)) CCID_SlotStatus { +typedef struct QEMU_PACKED CCID_SlotStatus { CCID_BULK_IN b; uint8_t bClockStatus; } CCID_SlotStatus; -typedef struct __attribute__ ((__packed__)) CCID_Parameter { +typedef struct QEMU_PACKED CCID_Parameter { CCID_BULK_IN b; uint8_t bProtocolNum; uint8_t abProtocolDataStructure[0]; } CCID_Parameter; -typedef struct __attribute__ ((__packed__)) CCID_DataBlock { +typedef struct QEMU_PACKED CCID_DataBlock { CCID_BULK_IN b; uint8_t bChainParameter; uint8_t abData[0]; } CCID_DataBlock; /* 6.1.4 PC_to_RDR_XfrBlock */ -typedef struct __attribute__ ((__packed__)) CCID_XferBlock { +typedef struct QEMU_PACKED CCID_XferBlock { CCID_Header hdr; uint8_t bBWI; /* Block Waiting Timeout */ uint16_t wLevelParameter; /* XXX currently unused */ uint8_t abData[0]; } CCID_XferBlock; -typedef struct __attribute__ ((__packed__)) CCID_IccPowerOn { +typedef struct QEMU_PACKED CCID_IccPowerOn { CCID_Header hdr; uint8_t bPowerSelect; uint16_t abRFU; } CCID_IccPowerOn; -typedef struct __attribute__ ((__packed__)) CCID_IccPowerOff { +typedef struct QEMU_PACKED CCID_IccPowerOff { CCID_Header hdr; uint16_t abRFU; } CCID_IccPowerOff; -typedef struct __attribute__ ((__packed__)) CCID_SetParameters { +typedef struct QEMU_PACKED CCID_SetParameters { CCID_Header hdr; uint8_t bProtocolNum; uint16_t abRFU; diff --git a/hw/virtio-balloon.h b/hw/virtio-balloon.h index e20cf6bc0..73300ddc8 100644 --- a/hw/virtio-balloon.h +++ b/hw/virtio-balloon.h @@ -50,6 +50,6 @@ struct virtio_balloon_config typedef struct VirtIOBalloonStat { uint16_t tag; uint64_t val; -} __attribute__((packed)) VirtIOBalloonStat; +} QEMU_PACKED VirtIOBalloonStat; #endif diff --git a/hw/virtio-blk.h b/hw/virtio-blk.h index 5645d2bf3..244dce45a 100644 --- a/hw/virtio-blk.h +++ b/hw/virtio-blk.h @@ -49,7 +49,7 @@ struct virtio_blk_config uint8_t alignment_offset; uint16_t min_io_size; uint32_t opt_io_size; -} __attribute__((packed)); +} QEMU_PACKED; /* These two define direction. */ #define VIRTIO_BLK_T_IN 0 diff --git a/hw/virtio-net.h b/hw/virtio-net.h index 8af9a1ce5..44687414c 100644 --- a/hw/virtio-net.h +++ b/hw/virtio-net.h @@ -72,7 +72,7 @@ struct virtio_net_config uint8_t mac[ETH_ALEN]; /* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */ uint16_t status; -} __attribute__((packed)); +} QEMU_PACKED; /* This is the first element of the scatter-gather list. If you don't * specify GSO or CSUM features, you can simply ignore the header. */ diff --git a/hw/virtio-serial.h b/hw/virtio-serial.h index 36e9d222e..ab138038c 100644 --- a/hw/virtio-serial.h +++ b/hw/virtio-serial.h @@ -37,7 +37,7 @@ struct virtio_console_config { uint16_t rows; uint32_t max_nr_ports; -} __attribute__((packed)); +} QEMU_PACKED; struct virtio_console_control { uint32_t id; /* Port number */ diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c index 52d2d26f1..aa682376a 100644 --- a/hw/vmware_vga.c +++ b/hw/vmware_vga.c @@ -70,7 +70,7 @@ struct vmsvga_state_s { union { uint32_t *fifo; - struct __attribute__((__packed__)) { + struct QEMU_PACKED { uint32_t min; uint32_t max; uint32_t next_cmd; diff --git a/hw/zaurus.c b/hw/zaurus.c index c24aeb576..0eeacf7cb 100644 --- a/hw/zaurus.c +++ b/hw/zaurus.c @@ -246,7 +246,7 @@ device_init(scoop_register); #define MAGIC_CHG(a, b, c, d) ((d << 24) | (c << 16) | (b << 8) | a) -static struct __attribute__ ((__packed__)) sl_param_info { +static struct QEMU_PACKED sl_param_info { uint32_t comadj_keyword; int32_t comadj; diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index a117407d8..15c44d45a 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -1120,7 +1120,7 @@ struct target_stat64 { abi_ulong __pad7; /* will be high 32 bits of ctime someday */ unsigned long long st_ino; -} __attribute__((packed)); +} QEMU_PACKED; #ifdef TARGET_ARM struct target_eabi_stat64 { @@ -1151,7 +1151,7 @@ struct target_eabi_stat64 { abi_ulong target_st_ctime_nsec; unsigned long long st_ino; -} __attribute__ ((packed)); +} QEMU_PACKED; #endif #elif defined(TARGET_SPARC64) && !defined(TARGET_ABI32) @@ -1294,7 +1294,7 @@ struct target_stat { #endif }; -struct __attribute__((__packed__)) target_stat64 { +struct QEMU_PACKED target_stat64 { unsigned long long st_dev; unsigned long long st_ino; unsigned int st_mode; @@ -1341,7 +1341,7 @@ struct target_stat { }; /* FIXME: Microblaze no-mmu user-space has a difference stat64 layout... */ -struct __attribute__((__packed__)) target_stat64 { +struct QEMU_PACKED target_stat64 { uint64_t st_dev; #define TARGET_STAT64_HAS_BROKEN_ST_INO 1 uint32_t pad0; @@ -1428,7 +1428,7 @@ struct target_stat64 { abi_ulong target_st_ctime_nsec; unsigned long long st_ino; -} __attribute__((packed)); +} QEMU_PACKED; #elif defined(TARGET_ABI_MIPSN64) @@ -1680,7 +1680,7 @@ struct target_stat { /* This matches struct stat64 in glibc2.1, hence the absolutely * insane amounts of padding around dev_t's. */ -struct __attribute__((__packed__)) target_stat64 { +struct QEMU_PACKED target_stat64 { unsigned long long st_dev; unsigned char __pad0[4]; @@ -2095,7 +2095,7 @@ struct target_flock64 { unsigned long long l_start; unsigned long long l_len; int l_pid; -}__attribute__((packed)); +} QEMU_PACKED; #ifdef TARGET_ARM struct target_eabi_flock64 { @@ -2105,7 +2105,7 @@ struct target_eabi_flock64 { unsigned long long l_start; unsigned long long l_len; int l_pid; -}__attribute__((packed)); +} QEMU_PACKED; #endif /* soundcard defines */ diff --git a/m68k-semi.c b/m68k-semi.c index 7fde10e8f..bab01ee86 100644 --- a/m68k-semi.c +++ b/m68k-semi.c @@ -70,12 +70,12 @@ struct m68k_gdb_stat { gdb_time_t gdb_st_atime; /* time of last access */ gdb_time_t gdb_st_mtime; /* time of last modification */ gdb_time_t gdb_st_ctime; /* time of last change */ -} __attribute__((packed)); +} QEMU_PACKED; struct gdb_timeval { gdb_time_t tv_sec; /* second */ uint64_t tv_usec; /* microsecond */ -} __attribute__((packed)); +} QEMU_PACKED; #define GDB_O_RDONLY 0x0 #define GDB_O_WRONLY 0x1 diff --git a/nbd.h b/nbd.h index b38d0d08d..96f77fe2d 100644 --- a/nbd.h +++ b/nbd.h @@ -31,13 +31,13 @@ struct nbd_request { uint64_t handle; uint64_t from; uint32_t len; -} __attribute__ ((__packed__)); +} QEMU_PACKED; struct nbd_reply { uint32_t magic; uint32_t error; uint64_t handle; -} __attribute__ ((__packed__)); +} QEMU_PACKED; enum { NBD_CMD_READ = 0, diff --git a/slirp/ip.h b/slirp/ip.h index 72dbe9a5d..88c903fcc 100644 --- a/slirp/ip.h +++ b/slirp/ip.h @@ -91,7 +91,7 @@ struct ip { uint8_t ip_p; /* protocol */ uint16_t ip_sum; /* checksum */ struct in_addr ip_src,ip_dst; /* source and dest address */ -} __attribute__((packed)); +} QEMU_PACKED; #define IP_MAXPACKET 65535 /* maximum packet size */ @@ -153,7 +153,7 @@ struct ip_timestamp { n_long ipt_time; } ipt_ta[1]; } ipt_timestamp; -} __attribute__((packed)); +} QEMU_PACKED; /* flag bits for ipt_flg */ #define IPOPT_TS_TSONLY 0 /* timestamps only */ @@ -183,11 +183,11 @@ struct ip_timestamp { struct mbuf_ptr { struct mbuf *mptr; uint32_t dummy; -} __attribute__((packed)); +} QEMU_PACKED; #else struct mbuf_ptr { struct mbuf *mptr; -} __attribute__((packed)); +} QEMU_PACKED; #endif struct qlink { void *next, *prev; @@ -203,7 +203,7 @@ struct ipovly { uint16_t ih_len; /* protocol length */ struct in_addr ih_src; /* source internet address */ struct in_addr ih_dst; /* destination internet address */ -} __attribute__((packed)); +} QEMU_PACKED; /* * Ip reassembly queue structure. Each fragment @@ -219,7 +219,7 @@ struct ipq { uint8_t ipq_p; /* protocol of this fragment */ uint16_t ipq_id; /* sequence id for reassembly */ struct in_addr ipq_src,ipq_dst; -} __attribute__((packed)); +} QEMU_PACKED; /* * Ip header, when holding a fragment. @@ -229,7 +229,7 @@ struct ipq { struct ipasfrag { struct qlink ipf_link; struct ip ipf_ip; -} __attribute__((packed)); +} QEMU_PACKED; #define ipf_off ipf_ip.ip_off #define ipf_tos ipf_ip.ip_tos @@ -248,6 +248,6 @@ struct ipasfrag { struct ipoption { struct in_addr ipopt_dst; /* first-hop dst if source routed */ int8_t ipopt_list[MAX_IPOPTLEN]; /* options proper */ -} __attribute__((packed)); +} QEMU_PACKED; #endif diff --git a/slirp/slirp.h b/slirp/slirp.h index dcf99d5ca..28a5c037e 100644 --- a/slirp/slirp.h +++ b/slirp/slirp.h @@ -199,7 +199,7 @@ struct arphdr { uint32_t ar_sip; /* sender IP address */ unsigned char ar_tha[ETH_ALEN]; /* target hardware address */ uint32_t ar_tip; /* target IP address */ -} __attribute__((packed)); +} QEMU_PACKED; #define ARP_TABLE_SIZE 16 diff --git a/target-i386/kvm.c b/target-i386/kvm.c index 1d9b20c70..70ef74b80 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -348,7 +348,7 @@ int kvm_arch_init_vcpu(CPUState *env) struct { struct kvm_cpuid2 cpuid; struct kvm_cpuid_entry2 entries[100]; - } __attribute__((packed)) cpuid_data; + } QEMU_PACKED cpuid_data; KVMState *s = env->kvm_state; uint32_t limit, i, j, cpuid_i; uint32_t unused; diff --git a/target-i386/svm.h b/target-i386/svm.h index a224aead1..04193ed60 100644 --- a/target-i386/svm.h +++ b/target-i386/svm.h @@ -130,7 +130,7 @@ #define SVM_CR0_SELECTIVE_MASK (1 << 3 | 1) /* TS and MP */ -struct __attribute__ ((__packed__)) vmcb_control_area { +struct QEMU_PACKED vmcb_control_area { uint16_t intercept_cr_read; uint16_t intercept_cr_write; uint16_t intercept_dr_read; @@ -162,14 +162,14 @@ struct __attribute__ ((__packed__)) vmcb_control_area { uint8_t reserved_5[832]; }; -struct __attribute__ ((__packed__)) vmcb_seg { +struct QEMU_PACKED vmcb_seg { uint16_t selector; uint16_t attrib; uint32_t limit; uint64_t base; }; -struct __attribute__ ((__packed__)) vmcb_save_area { +struct QEMU_PACKED vmcb_save_area { struct vmcb_seg es; struct vmcb_seg cs; struct vmcb_seg ss; @@ -214,7 +214,7 @@ struct __attribute__ ((__packed__)) vmcb_save_area { uint64_t last_excp_to; }; -struct __attribute__ ((__packed__)) vmcb { +struct QEMU_PACKED vmcb { struct vmcb_control_area control; struct vmcb_save_area save; }; diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h index f8f0c82c6..e192b50c7 100644 --- a/target-s390x/cpu.h +++ b/target-s390x/cpu.h @@ -698,7 +698,7 @@ typedef struct LowCore /* align to the top of the prefix area */ uint8_t pad18[0x2000-0x1400]; /* 0x1400 */ -} __attribute__((packed)) LowCore; +} QEMU_PACKED LowCore; /* STSI */ #define STSI_LEVEL_MASK 0x00000000f0000000ULL diff --git a/tests/test-i386.c b/tests/test-i386.c index 56ff1103f..9cb5b51b7 100644 --- a/tests/test-i386.c +++ b/tests/test-i386.c @@ -773,7 +773,7 @@ void test_fops(double a, double b) void fpu_clear_exceptions(void) { - struct __attribute__((packed)) { + struct QEMU_PACKED { uint16_t fpuc; uint16_t dummy1; uint16_t fpus; @@ -924,7 +924,7 @@ void test_fbcd(double a) void test_fenv(void) { - struct __attribute__((packed)) { + struct QEMU_PACKED { uint16_t fpuc; uint16_t dummy1; uint16_t fpus; @@ -934,7 +934,7 @@ void test_fenv(void) uint32_t ignored[4]; long double fpregs[8]; } float_env32; - struct __attribute__((packed)) { + struct QEMU_PACKED { uint16_t fpuc; uint16_t fpus; uint16_t fptag; @@ -1279,7 +1279,7 @@ void test_segs(void) struct { uint32_t offset; uint16_t seg; - } __attribute__((packed)) segoff; + } QEMU_PACKED segoff; ldt.entry_number = 1; ldt.base_addr = (unsigned long)&seg_data1; @@ -1441,7 +1441,7 @@ void test_misc(void) /* XXX: see if Intel Core2 and AMD64 behavior really differ. Here we implemented the Intel way which is not compatible yet with QEMU. */ - static struct __attribute__((packed)) { + static struct QEMU_PACKED { uint64_t offset; uint16_t seg; } desc;