aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weil <weil@mail.berlios.de>2011-08-31 12:38:01 +0200
committerBlue Swirl <blauwirbel@gmail.com>2011-09-03 10:45:59 +0000
commit541dc0d47f10973c241e9955afc2aefc96adec51 (patch)
tree33d3224319ba8d33738cf5d2073f62687f1352c7
parent0f7fdd347514ea97b24f5f658f3ae31f9b078397 (diff)
Use new macro QEMU_PACKED for packed structures
Most changes were made using these commands: git grep -la '__attribute__((packed))'|xargs perl -pi -e 's/__attribute__\(\(packed\)\)/QEMU_PACKED/' git grep -la '__attribute__ ((packed))'|xargs perl -pi -e 's/__attribute__ \(\(packed\)\)/QEMU_PACKED/' git grep -la '__attribute__((__packed__))'|xargs perl -pi -e 's/__attribute__\(\(__packed__\)\)/QEMU_PACKED/' git grep -la '__attribute__ ((__packed__))'|xargs perl -pi -e 's/__attribute__ \(\(__packed__\)\)/QEMU_PACKED/' git grep -la '__attribute((packed))'|xargs perl -pi -e 's/__attribute\(\(packed\)\)/QEMU_PACKED/' Whitespace in linux-user/syscall_defs.h was fixed manually to avoid warnings from scripts/checkpatch.pl. Manual changes were also applied to hw/pc.c. I did not fix indentation with tabs in block/vvfat.c. The patch will show 4 errors with scripts/checkpatch.pl. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--a.out.h2
-rw-r--r--block.c2
-rw-r--r--block/parallels.c2
-rw-r--r--block/qcow2-snapshot.c2
-rw-r--r--block/vmdk.c2
-rw-r--r--block/vvfat.c14
-rw-r--r--hw/9pfs/virtio-9p.h2
-rw-r--r--hw/acpi.c2
-rw-r--r--hw/bt.h332
-rw-r--r--hw/hpet_emul.h4
-rw-r--r--hw/ide/ahci.h6
-rw-r--r--hw/ide/atapi.c4
-rw-r--r--hw/milkymist-tmu2.c2
-rw-r--r--hw/pc.c4
-rw-r--r--hw/pxa2xx_lcd.c2
-rw-r--r--hw/r2d.c2
-rw-r--r--hw/rc4030.c2
-rw-r--r--hw/smbios.c6
-rw-r--r--hw/smbios.h22
-rw-r--r--hw/srp.h10
-rw-r--r--hw/usb-ccid.c18
-rw-r--r--hw/virtio-balloon.h2
-rw-r--r--hw/virtio-blk.h2
-rw-r--r--hw/virtio-net.h2
-rw-r--r--hw/virtio-serial.h2
-rw-r--r--hw/vmware_vga.c2
-rw-r--r--hw/zaurus.c2
-rw-r--r--linux-user/syscall_defs.h16
-rw-r--r--m68k-semi.c4
-rw-r--r--nbd.h4
-rw-r--r--slirp/ip.h16
-rw-r--r--slirp/slirp.h2
-rw-r--r--target-i386/kvm.c2
-rw-r--r--target-i386/svm.h8
-rw-r--r--target-s390x/cpu.h2
-rw-r--r--tests/test-i386.c10
36 files changed, 259 insertions, 259 deletions
diff --git a/a.out.h b/a.out.h
index dfc104e606..33ca7f77ea 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 03a21d88de..43742b73c0 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 37d151dcb5..c64103ddbb 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 3e6bf8b6f3..bdc33ba94c 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 8da87acef0..5f673e9e25 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 d6a07efcc9..187ac96f25 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 1d8c1b1093..d00a502dcc 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 d04b965977..1cf35e116a 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 3797254691..a48b8d4b13 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 8bf312ab21..6128702533 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 832539c23c..3c29d93b47 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 c552320122..f38d2896ae 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 790cdcb41c..953d42f16b 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 263fb1a773..5bc845aaea 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 97f90153b7..b73290cb3f 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 96a7ff8c35..771f3d0733 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 a2a20996a2..33e10709c6 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 8f2e965387..c9ba43e8d0 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 3a5169dbd3..94e3641f9a 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 afcd135c8f..3009bd56ce 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 66aeb211af..c2f9241014 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 e20cf6bc0d..73300ddc86 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 5645d2bf3c..244dce45aa 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 8af9a1ce55..44687414c9 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 36e9d222e5..ab138038c0 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 52d2d26f1b..aa682376ad 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 c24aeb5763..0eeacf7cb3 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 a117407d84..15c44d45a8 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 7fde10e8f3..bab01ee863 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 b38d0d08de..96f77fe2d1 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 72dbe9a5d9..88c903fccd 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 dcf99d5ca4..28a5c037e6 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 1d9b20c706..70ef74b80a 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 a224aead17..04193ed60f 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 f8f0c82c6f..e192b50c73 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 56ff1103fa..9cb5b51b76 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;