From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v8 01/11] monitor: Use __packed in bt.h and its users
Date: Tue, 10 Nov 2026 11:34:41 -0500 [thread overview]
Message-ID: <20261110163452.2649366-2-luiz.dentz@gmail.com> (raw)
In-Reply-To: <20261110163452.2649366-1-luiz.dentz@gmail.com>
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Define __packed in monitor/bt.h, as lib/bluetooth/mgmt.h and the
src/shared headers do, guarded so it matches theirs whichever is
included first, and use it instead of __attribute__ ((packed)) in
bt.h and the files that include it.
This is what checkpatch asks for (PREFER_DEFINED_ATTRIBUTE_MACRO), so
new definitions no longer get flagged for following the style of the
existing ones.
The structs btdev.c declared with struct __packed, meaning to pack
them, now are: until now __packed was taken as their tag name.
---
emulator/btdev.c | 6 +-
emulator/bthost.c | 6 +-
emulator/vhci.c | 4 +-
monitor/bt.h | 1294 +++++++++++++++++++++---------------------
monitor/packet.c | 4 +-
tools/3dsp.c | 4 +-
tools/bluemoon.c | 24 +-
tools/l2cap-tester.c | 2 +-
8 files changed, 674 insertions(+), 670 deletions(-)
diff --git a/emulator/btdev.c b/emulator/btdev.c
index 7a8d8a4645f6..2fe593ac4959 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -145,7 +145,7 @@ struct le_cig {
struct bt_hci_cmd_le_set_cig_params params;
struct bt_hci_cis_params cis[CIS_SIZE];
bool activated;
-} __attribute__ ((packed));
+} __packed;
struct pending_conn {
struct btdev *dev;
@@ -6851,7 +6851,7 @@ static int cmd_set_cig_params(struct btdev *dev, const void *data,
struct lescp {
struct bt_hci_rsp_le_set_cig_params params;
uint16_t handle[CIS_SIZE];
- } __attribute__ ((packed)) rsp;
+ } __packed rsp;
int i = 0;
int cig_idx;
uint32_t interval;
@@ -8040,7 +8040,7 @@ static int cmd_le_read_conn_interval(struct btdev *dev, const void *data,
struct {
struct bt_hci_rsp_le_read_conn_interval rsp;
struct bt_hci_le_conn_interval_group grp;
- } __attribute__ ((packed)) pdu;
+ } __packed pdu;
memset(&pdu, 0, sizeof(pdu));
pdu.rsp.status = BT_HCI_ERR_SUCCESS;
diff --git a/emulator/bthost.c b/emulator/bthost.c
index 2f05573786f8..0c669f92efc4 100644
--- a/emulator/bthost.c
+++ b/emulator/bthost.c
@@ -2597,7 +2597,7 @@ static bool l2cap_ecred_conn_req(struct bthost *bthost, struct btconn *conn,
struct {
struct bt_l2cap_pdu_ecred_conn_rsp pdu;
uint16_t dcid[5];
- } __attribute__ ((packed)) rsp;
+ } __packed rsp;
uint16_t psm;
int num_scid, i = 0;
@@ -2640,10 +2640,10 @@ respond:
static bool l2cap_ecred_conn_rsp(struct bthost *bthost, struct btconn *conn,
uint8_t ident, const void *data, uint16_t len)
{
- const struct {
+ const struct __packed {
const struct bt_l2cap_pdu_ecred_conn_rsp pdu;
uint16_t scid[5];
- } __attribute__ ((packed)) *rsp = data;
+ } *rsp = data;
int num_scid, i;
struct l2conn *l2conn;
diff --git a/emulator/vhci.c b/emulator/vhci.c
index 1edba8cfcd53..e524de8637a3 100644
--- a/emulator/vhci.c
+++ b/emulator/vhci.c
@@ -118,13 +118,13 @@ bool vhci_set_debug(struct vhci *vhci, vhci_debug_func_t callback,
struct vhci_create_req {
uint8_t pkt_type;
uint8_t opcode;
-} __attribute__((packed));
+} __packed;
struct vhci_create_rsp {
uint8_t pkt_type;
uint8_t opcode;
uint16_t index;
-} __attribute__((packed));
+} __packed;
struct vhci *vhci_open(uint8_t type)
{
diff --git a/monitor/bt.h b/monitor/bt.h
index 2ddf37ccc22f..1a4aa394182d 100644
--- a/monitor/bt.h
+++ b/monitor/bt.h
@@ -12,12 +12,16 @@
#include <stdint.h>
+#ifndef __packed
+#define __packed __attribute__((packed))
+#endif
+
#define BT_HCI_CMD_BIT(_byte, _bit) ((8 * _byte) + _bit)
struct bt_ll_hdr {
uint8_t preamble;
uint32_t access_addr;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CONN_UPDATE_REQ 0x00
struct bt_ll_conn_update_req {
@@ -27,18 +31,18 @@ struct bt_ll_conn_update_req {
uint16_t latency;
uint16_t timeout;
uint16_t instant;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CHANNEL_MAP_REQ 0x01
struct bt_ll_channel_map_req {
uint8_t map[5];
uint16_t instant;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_TERMINATE_IND 0x02
struct bt_ll_terminate_ind {
uint8_t error;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_ENC_REQ 0x03
struct bt_ll_enc_req {
@@ -46,13 +50,13 @@ struct bt_ll_enc_req {
uint16_t ediv;
uint64_t skd;
uint32_t iv;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_ENC_RSP 0x04
struct bt_ll_enc_rsp {
uint64_t skd;
uint32_t iv;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_START_ENC_REQ 0x05
@@ -61,17 +65,17 @@ struct bt_ll_enc_rsp {
#define BT_LL_UNKNOWN_RSP 0x07
struct bt_ll_unknown_rsp {
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_FEATURE_REQ 0x08
struct bt_ll_feature_req {
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_FEATURE_RSP 0x09
struct bt_ll_feature_rsp {
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_PAUSE_ENC_REQ 0x0a
@@ -82,17 +86,17 @@ struct bt_ll_version_ind {
uint8_t version;
uint16_t company;
uint16_t subversion;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_REJECT_IND 0x0d
struct bt_ll_reject_ind {
uint8_t error;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_PERIPHERAL_FEATURE_REQ 0x0e
struct bt_ll_peripheral_feature_req {
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CONN_PARAM_REQ 0x0f
struct bt_ll_conn_param_req {
@@ -108,7 +112,7 @@ struct bt_ll_conn_param_req {
uint8_t offset_3;
uint8_t offset_4;
uint8_t offset_5;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CONN_PARAM_RSP 0x10
struct bt_ll_conn_param_rsp {
@@ -124,13 +128,13 @@ struct bt_ll_conn_param_rsp {
uint8_t offset_3;
uint8_t offset_4;
uint8_t offset_5;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_REJECT_IND_EXT 0x11
struct bt_ll_reject_ind_ext {
uint8_t opcode;
uint8_t error;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_PING_REQ 0x12
@@ -142,7 +146,7 @@ struct bt_ll_length {
uint16_t rx_time;
uint16_t tx_len;
uint16_t tx_time;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_LENGTH_RSP 0x15
@@ -150,7 +154,7 @@ struct bt_ll_length {
struct bt_ll_phy {
uint8_t tx_phys;
uint8_t rx_phys;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_PHY_RSP 0x17
@@ -159,18 +163,18 @@ struct bt_ll_phy_update_ind {
uint8_t c_phy;
uint8_t p_phy;
uint16_t instant;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_MIN_USED_CHANNELS 0x19
struct bt_ll_min_used_channels {
uint8_t phys;
uint8_t min_channels;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CTE_REQ 0x1a
struct bt_ll_cte_req {
uint8_t cte;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CTE_RSP 0x1b
@@ -184,12 +188,12 @@ struct bt_ll_periodic_sync_ind {
uint8_t phy;
uint8_t adv_addr[6];
uint16_t sync_counter;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CLOCK_ACCURACY_REQ 0x1d
struct bt_ll_clock_acc {
uint8_t sca;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CLOCK_ACCURACY_RSP 0x1e
@@ -214,14 +218,14 @@ struct bt_ll_cis_req {
uint8_t offset_min[3];
uint8_t offset_max[3];
uint16_t conn_event_count;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CIS_RSP 0x20
struct bt_ll_cis_rsp {
uint8_t offset_min[3];
uint8_t offset_max[3];
uint16_t conn_event_count;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CIS_IND 0x21
struct bt_ll_cis_ind {
@@ -230,97 +234,97 @@ struct bt_ll_cis_ind {
uint8_t cig_sync_delay[3];
uint8_t cis_sync_delay[3];
uint16_t conn_event_count;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_CIS_TERMINATE_IND 0x22
struct bt_ll_cis_term_ind {
uint8_t cig;
uint8_t cis;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_FEATURE_EXT_REQ 0x2b
struct bt_ll_feature_ext_req {
uint8_t max_page;
uint8_t page;
uint8_t features[24];
-} __attribute__ ((packed));
+} __packed;
#define BT_LL_FEATURE_EXT_RSP 0x2c
struct bt_ll_feature_ext_rsp {
uint8_t max_page;
uint8_t page;
uint8_t features[24];
-} __attribute__ ((packed));
+} __packed;
#define LMP_ESC4(x) ((127 << 8) | (x))
#define BT_LMP_NAME_REQ 1
struct bt_lmp_name_req {
uint8_t offset;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_NAME_RSP 2
struct bt_lmp_name_rsp {
uint8_t offset;
uint8_t length;
uint8_t fragment[14];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_ACCEPTED 3
struct bt_lmp_accepted {
uint8_t opcode;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_NOT_ACCEPTED 4
struct bt_lmp_not_accepted {
uint8_t opcode;
uint8_t error;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_CLKOFFSET_REQ 5
#define BT_LMP_CLKOFFSET_RSP 6
struct bt_lmp_clkoffset_rsp {
uint16_t offset;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_DETACH 7
struct bt_lmp_detach {
uint8_t error;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_AU_RAND 11
struct bt_lmp_au_rand {
uint8_t number[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_SRES 12
struct bt_lmp_sres {
uint8_t response[4];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_ENCRYPTION_MODE_REQ 15
struct bt_lmp_encryption_mode_req {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_ENCRYPTION_KEY_SIZE_REQ 16
struct bt_lmp_encryption_key_size_req {
uint8_t key_size;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_START_ENCRYPTION_REQ 17
struct bt_lmp_start_encryption_req {
uint8_t number[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_STOP_ENCRYPTION_REQ 18
#define BT_LMP_SWITCH_REQ 19
struct bt_lmp_switch_req {
uint32_t instant;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_UNSNIFF_REQ 24
@@ -333,41 +337,41 @@ struct bt_lmp_switch_req {
#define BT_LMP_PREFERRED_RATE 36
struct bt_lmp_preferred_rate {
uint8_t rate;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_VERSION_REQ 37
struct bt_lmp_version_req {
uint8_t version;
uint16_t company;
uint16_t subversion;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_VERSION_RES 38
struct bt_lmp_version_res {
uint8_t version;
uint16_t company;
uint16_t subversion;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_FEATURES_REQ 39
struct bt_lmp_features_req {
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_FEATURES_RES 40
struct bt_lmp_features_res {
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_MAX_SLOT 45
struct bt_lmp_max_slot {
uint8_t slots;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_MAX_SLOT_REQ 46
struct bt_lmp_max_slot_req {
uint8_t slots;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_TIMING_ACCURACY_REQ 47
@@ -375,7 +379,7 @@ struct bt_lmp_max_slot_req {
struct bt_lmp_timing_accuracy_res {
uint8_t drift;
uint8_t jitter;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_SETUP_COMPLETE 49
@@ -387,13 +391,13 @@ struct bt_lmp_timing_accuracy_res {
struct bt_lmp_slot_offset {
uint16_t offset;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_PAGE_SCAN_MODE_REQ 54
struct bt_lmp_page_scan_mode_req {
uint8_t scheme;
uint8_t settings;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_TEST_ACTIVATE 56
@@ -404,34 +408,34 @@ struct bt_lmp_set_afh {
uint32_t instant;
uint8_t mode;
uint8_t map[10];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_ENCAPSULATED_HEADER 61
struct bt_lmp_encapsulated_header {
uint8_t major;
uint8_t minor;
uint8_t length;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_ENCAPSULATED_PAYLOAD 62
struct bt_lmp_encapsulated_payload {
uint8_t data[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_SIMPLE_PAIRING_CONFIRM 63
struct bt_lmp_simple_pairing_confirm {
uint8_t value[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_SIMPLE_PAIRING_NUMBER 64
struct bt_lmp_simple_pairing_number {
uint8_t value[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_DHKEY_CHECK 65
struct bt_lmp_dhkey_check {
uint8_t value[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_PAUSE_ENCRYPTION_AES_REQ 66
@@ -439,45 +443,45 @@ struct bt_lmp_dhkey_check {
struct bt_lmp_accepted_ext {
uint8_t escape;
uint8_t opcode;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_NOT_ACCEPTED_EXT LMP_ESC4(2)
struct bt_lmp_not_accepted_ext {
uint8_t escape;
uint8_t opcode;
uint8_t error;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_FEATURES_REQ_EXT LMP_ESC4(3)
struct bt_lmp_features_req_ext {
uint8_t page;
uint8_t max_page;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_FEATURES_RES_EXT LMP_ESC4(4)
struct bt_lmp_features_res_ext {
uint8_t page;
uint8_t max_page;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_PACKET_TYPE_TABLE_REQ LMP_ESC4(11)
struct bt_lmp_packet_type_table_req {
uint8_t table;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_CHANNEL_CLASSIFICATION_REQ LMP_ESC4(16)
struct bt_lmp_channel_classification_req {
uint8_t mode;
uint16_t min_interval;
uint16_t max_interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_CHANNEL_CLASSIFICATION LMP_ESC4(17)
struct bt_lmp_channel_classification {
uint8_t classification[10];
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_PAUSE_ENCRYPTION_REQ LMP_ESC4(23)
@@ -488,14 +492,14 @@ struct bt_lmp_io_capability_req {
uint8_t capability;
uint8_t oob_data;
uint8_t authentication;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_IO_CAPABILITY_RES LMP_ESC4(26)
struct bt_lmp_io_capability_res {
uint8_t capability;
uint8_t oob_data;
uint8_t authentication;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_NUMERIC_COMPARISON_FAILED LMP_ESC(27)
@@ -506,12 +510,12 @@ struct bt_lmp_io_capability_res {
#define BT_LMP_POWER_CONTROL_REQ LMP_ESC4(31)
struct bt_lmp_power_control_req {
uint8_t request;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_POWER_CONTROL_RES LMP_ESC4(32)
struct bt_lmp_power_control_res {
uint8_t response;
-} __attribute__ ((packed));
+} __packed;
#define BT_LMP_PING_REQ LMP_ESC4(33)
@@ -526,36 +530,36 @@ struct bt_lmp_power_control_res {
struct bt_hci_cmd_hdr {
uint16_t opcode;
uint8_t plen;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_acl_hdr {
uint16_t handle;
uint16_t dlen;
uint8_t data[];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_sco_hdr {
uint16_t handle;
uint8_t dlen;
uint8_t data[];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_iso_hdr {
uint16_t handle;
uint16_t dlen;
uint8_t data[];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_iso_data_start {
uint16_t sn;
uint16_t slen;
uint8_t data[];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_evt_hdr {
uint8_t evt;
uint8_t plen;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_NOP 0x0000
@@ -564,7 +568,7 @@ struct bt_hci_cmd_inquiry {
uint8_t lap[3];
uint8_t length;
uint8_t num_resp;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_INQUIRY_CANCEL 0x0402
@@ -575,7 +579,7 @@ struct bt_hci_cmd_periodic_inquiry {
uint8_t lap[3];
uint8_t length;
uint8_t num_resp;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_EXIT_PERIODIC_INQUIRY 0x0404
@@ -587,102 +591,102 @@ struct bt_hci_cmd_create_conn {
uint8_t pscan_mode;
uint16_t clock_offset;
uint8_t role_switch;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_DISCONNECT 0x0406
struct bt_hci_cmd_disconnect {
uint16_t handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ADD_SCO_CONN 0x0407
struct bt_hci_cmd_add_sco_conn {
uint16_t handle;
uint16_t pkt_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_CREATE_CONN_CANCEL 0x0408
struct bt_hci_cmd_create_conn_cancel {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_create_conn_cancel {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ACCEPT_CONN_REQUEST 0x0409
struct bt_hci_cmd_accept_conn_request {
uint8_t bdaddr[6];
uint8_t role;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REJECT_CONN_REQUEST 0x040a
struct bt_hci_cmd_reject_conn_request {
uint8_t bdaddr[6];
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LINK_KEY_REQUEST_REPLY 0x040b
struct bt_hci_cmd_link_key_request_reply {
uint8_t bdaddr[6];
uint8_t link_key[16];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_link_key_request_reply {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LINK_KEY_REQUEST_NEG_REPLY 0x040c
struct bt_hci_cmd_link_key_request_neg_reply {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_link_key_request_neg_reply {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_PIN_CODE_REQUEST_REPLY 0x040d
struct bt_hci_cmd_pin_code_request_reply {
uint8_t bdaddr[6];
uint8_t pin_len;
uint8_t pin_code[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_PIN_CODE_REQUEST_NEG_REPLY 0x040e
struct bt_hci_cmd_pin_code_request_neg_reply {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_pin_code_request_neg_reply {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_CHANGE_CONN_PKT_TYPE 0x040f
struct bt_hci_cmd_change_conn_pkt_type {
uint16_t handle;
uint16_t pkt_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_AUTH_REQUESTED 0x0411
struct bt_hci_cmd_auth_requested {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_CONN_ENCRYPT 0x0413
struct bt_hci_cmd_set_conn_encrypt {
uint16_t handle;
uint8_t encr_mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_CHANGE_CONN_LINK_KEY 0x0415
struct bt_hci_cmd_change_conn_link_key {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LINK_KEY_SELECTION 0x0417
struct bt_hci_cmd_link_key_selection {
uint8_t key_flag;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REMOTE_NAME_REQUEST 0x0419
struct bt_hci_cmd_remote_name_request {
@@ -690,48 +694,48 @@ struct bt_hci_cmd_remote_name_request {
uint8_t pscan_rep_mode;
uint8_t pscan_mode;
uint16_t clock_offset;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REMOTE_NAME_REQUEST_CANCEL 0x041a
struct bt_hci_cmd_remote_name_request_cancel {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_remote_name_request_cancel {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_REMOTE_FEATURES 0x041b
struct bt_hci_cmd_read_remote_features {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_REMOTE_EXT_FEATURES 0x041c
struct bt_hci_cmd_read_remote_ext_features {
uint16_t handle;
uint8_t page;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_REMOTE_VERSION 0x041d
struct bt_hci_cmd_read_remote_version {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_CLOCK_OFFSET 0x041f
struct bt_hci_cmd_read_clock_offset {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LMP_HANDLE 0x0420
struct bt_hci_cmd_read_lmp_handle {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_lmp_handle {
uint8_t status;
uint16_t handle;
uint8_t lmp_handle;
uint32_t reserved;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SETUP_SYNC_CONN 0x0428
struct bt_hci_cmd_setup_sync_conn {
@@ -742,7 +746,7 @@ struct bt_hci_cmd_setup_sync_conn {
uint16_t voice_setting;
uint8_t retrans_effort;
uint16_t pkt_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ACCEPT_SYNC_CONN_REQUEST 0x0429
struct bt_hci_cmd_accept_sync_conn_request {
@@ -753,13 +757,13 @@ struct bt_hci_cmd_accept_sync_conn_request {
uint16_t voice_setting;
uint8_t retrans_effort;
uint16_t pkt_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REJECT_SYNC_CONN_REQUEST 0x042a
struct bt_hci_cmd_reject_sync_conn_request {
uint8_t bdaddr[6];
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_IO_CAPABILITY_REQUEST_REPLY 0x042b
struct bt_hci_cmd_io_capability_request_reply {
@@ -767,119 +771,119 @@ struct bt_hci_cmd_io_capability_request_reply {
uint8_t capability;
uint8_t oob_data;
uint8_t authentication;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_io_capability_request_reply {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_USER_CONFIRM_REQUEST_REPLY 0x042c
struct bt_hci_cmd_user_confirm_request_reply {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_user_confirm_request_reply {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_USER_CONFIRM_REQUEST_NEG_REPLY 0x042d
struct bt_hci_cmd_user_confirm_request_neg_reply {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_user_confirm_request_neg_reply {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_USER_PASSKEY_REQUEST_REPLY 0x042e
struct bt_hci_cmd_user_passkey_request_reply {
uint8_t bdaddr[6];
uint32_t passkey;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_USER_PASSKEY_REQUEST_NEG_REPLY 0x042f
struct bt_hci_cmd_user_passkey_request_neg_reply {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REMOTE_OOB_DATA_REQUEST_REPLY 0x0430
struct bt_hci_cmd_remote_oob_data_request_reply {
uint8_t bdaddr[6];
uint8_t hash[16];
uint8_t randomizer[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REMOTE_OOB_DATA_REQUEST_NEG_REPLY 0x0433
struct bt_hci_cmd_remote_oob_data_request_neg_reply {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_IO_CAPABILITY_REQUEST_NEG_REPLY 0x0434
struct bt_hci_cmd_io_capability_request_neg_reply {
uint8_t bdaddr[6];
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_io_capability_request_neg_reply {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_CREATE_PHY_LINK 0x0435
struct bt_hci_cmd_create_phy_link {
uint8_t phy_handle;
uint8_t key_len;
uint8_t key_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ACCEPT_PHY_LINK 0x0436
struct bt_hci_cmd_accept_phy_link {
uint8_t phy_handle;
uint8_t key_len;
uint8_t key_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_DISCONN_PHY_LINK 0x0437
struct bt_hci_cmd_disconn_phy_link {
uint8_t phy_handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_CREATE_LOGIC_LINK 0x0438
struct bt_hci_cmd_create_logic_link {
uint8_t phy_handle;
uint8_t tx_flow_spec[16];
uint8_t rx_flow_spec[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ACCEPT_LOGIC_LINK 0x0439
struct bt_hci_cmd_accept_logic_link {
uint8_t phy_handle;
uint8_t tx_flow_spec[16];
uint8_t rx_flow_spec[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_DISCONN_LOGIC_LINK 0x043a
struct bt_hci_cmd_disconn_logic_link {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LOGIC_LINK_CANCEL 0x043b
struct bt_hci_cmd_logic_link_cancel {
uint8_t phy_handle;
uint8_t flow_spec;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_logic_link_cancel {
uint8_t status;
uint8_t phy_handle;
uint8_t flow_spec;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_FLOW_SPEC_MODIFY 0x043c
struct bt_hci_cmd_flow_spec_modify {
uint16_t handle;
uint8_t tx_flow_spec[16];
uint8_t rx_flow_spec[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ENHANCED_SETUP_SYNC_CONN 0x043d
struct bt_hci_cmd_enhanced_setup_sync_conn {
@@ -907,7 +911,7 @@ struct bt_hci_cmd_enhanced_setup_sync_conn {
uint16_t max_latency;
uint16_t pkt_type;
uint8_t retrans_effort;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ENHANCED_ACCEPT_SYNC_CONN_REQUEST 0x043e
struct bt_hci_cmd_enhanced_accept_sync_conn_request {
@@ -935,19 +939,19 @@ struct bt_hci_cmd_enhanced_accept_sync_conn_request {
uint16_t max_latency;
uint16_t pkt_type;
uint8_t retrans_effort;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_TRUNCATED_PAGE 0x043f
struct bt_hci_cmd_truncated_page {
uint8_t bdaddr[6];
uint8_t pscan_rep_mode;
uint16_t clock_offset;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_TRUNCATED_PAGE_CANCEL 0x0440
struct bt_hci_cmd_truncated_page_cancel {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_PERIPHERAL_BROADCAST 0x0441
struct bt_hci_cmd_set_peripheral_broadcast {
@@ -958,12 +962,12 @@ struct bt_hci_cmd_set_peripheral_broadcast {
uint16_t min_interval;
uint16_t max_interval;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_set_peripheral_broadcast {
uint8_t status;
uint8_t lt_addr;
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_PERIPHERAL_BROADCAST_RECEIVE 0x0442
struct bt_hci_cmd_set_peripheral_broadcast_receive {
@@ -978,12 +982,12 @@ struct bt_hci_cmd_set_peripheral_broadcast_receive {
uint8_t skip;
uint16_t pkt_type;
uint8_t map[10];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_set_peripheral_broadcast_receive {
uint8_t status;
uint8_t bdaddr[6];
uint8_t lt_addr;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_START_SYNC_TRAIN 0x0443
@@ -993,7 +997,7 @@ struct bt_hci_cmd_receive_sync_train {
uint16_t timeout;
uint16_t window;
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REMOTE_OOB_EXT_DATA_REQUEST_REPLY 0x0445
struct bt_hci_cmd_remote_oob_ext_data_request_reply {
@@ -1002,14 +1006,14 @@ struct bt_hci_cmd_remote_oob_ext_data_request_reply {
uint8_t randomizer192[16];
uint8_t hash256[16];
uint8_t randomizer256[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_HOLD_MODE 0x0801
struct bt_hci_cmd_hold_mode {
uint16_t handle;
uint16_t max_interval;
uint16_t min_interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SNIFF_MODE 0x0803
struct bt_hci_cmd_sniff_mode {
@@ -1018,24 +1022,24 @@ struct bt_hci_cmd_sniff_mode {
uint16_t min_interval;
uint16_t attempt;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_EXIT_SNIFF_MODE 0x0804
struct bt_hci_cmd_exit_sniff_mode {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_PARK_STATE 0x0805
struct bt_hci_cmd_park_state {
uint16_t handle;
uint16_t max_interval;
uint16_t min_interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_EXIT_PARK_STATE 0x0806
struct bt_hci_cmd_exit_park_state {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_QOS_SETUP 0x0807
struct bt_hci_cmd_qos_setup {
@@ -1046,54 +1050,54 @@ struct bt_hci_cmd_qos_setup {
uint32_t peak_bandwidth;
uint32_t latency;
uint32_t delay_variation;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ROLE_DISCOVERY 0x0809
struct bt_hci_cmd_role_discovery {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_role_discovery {
uint8_t status;
uint16_t handle;
uint8_t role;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SWITCH_ROLE 0x080b
struct bt_hci_cmd_switch_role {
uint8_t bdaddr[6];
uint8_t role;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LINK_POLICY 0x080c
struct bt_hci_cmd_read_link_policy {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_link_policy {
uint8_t status;
uint16_t handle;
uint16_t policy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_LINK_POLICY 0x080d
struct bt_hci_cmd_write_link_policy {
uint16_t handle;
uint16_t policy;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_write_link_policy {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_DEFAULT_LINK_POLICY 0x080e
struct bt_hci_rsp_read_default_link_policy {
uint8_t status;
uint16_t policy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_DEFAULT_LINK_POLICY 0x080f
struct bt_hci_cmd_write_default_link_policy {
uint16_t policy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_FLOW_SPEC 0x0810
struct bt_hci_cmd_flow_spec {
@@ -1105,7 +1109,7 @@ struct bt_hci_cmd_flow_spec {
uint32_t token_bucket_size;
uint32_t peak_bandwidth;
uint32_t access_latency;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SNIFF_SUBRATING 0x0811
struct bt_hci_cmd_sniff_subrating {
@@ -1113,16 +1117,16 @@ struct bt_hci_cmd_sniff_subrating {
uint16_t max_latency;
uint16_t min_remote_timeout;
uint16_t min_local_timeout;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_sniff_subrating {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_EVENT_MASK 0x0c01
struct bt_hci_cmd_set_event_mask {
uint8_t mask[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_RESET 0x0c03
@@ -1131,27 +1135,27 @@ struct bt_hci_cmd_set_event_filter {
uint8_t type;
uint8_t cond_type;
uint8_t cond[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_FLUSH 0x0c08
struct bt_hci_cmd_flush {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_flush {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_PIN_TYPE 0x0c09
struct bt_hci_rsp_read_pin_type {
uint8_t status;
uint8_t pin_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_PIN_TYPE 0x0c0a
struct bt_hci_cmd_write_pin_type {
uint8_t pin_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_CREATE_NEW_UNIT_KEY 0x0c0b
@@ -1159,214 +1163,214 @@ struct bt_hci_cmd_write_pin_type {
struct bt_hci_cmd_read_stored_link_key {
uint8_t bdaddr[6];
uint8_t read_all;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_stored_link_key {
uint8_t status;
uint16_t max_num_keys;
uint16_t num_keys;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_STORED_LINK_KEY 0x0c11
struct bt_hci_cmd_write_stored_link_key {
uint8_t num_keys;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_write_stored_link_key {
uint8_t status;
uint8_t num_keys;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_DELETE_STORED_LINK_KEY 0x0c12
struct bt_hci_cmd_delete_stored_link_key {
uint8_t bdaddr[6];
uint8_t delete_all;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_delete_stored_link_key {
uint8_t status;
uint16_t num_keys;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_LOCAL_NAME 0x0c13
struct bt_hci_cmd_write_local_name {
uint8_t name[248];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_NAME 0x0c14
struct bt_hci_rsp_read_local_name {
uint8_t status;
uint8_t name[248];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_CONN_ACCEPT_TIMEOUT 0x0c15
struct bt_hci_rsp_read_conn_accept_timeout {
uint8_t status;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_CONN_ACCEPT_TIMEOUT 0x0c16
struct bt_hci_cmd_write_conn_accept_timeout {
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_PAGE_TIMEOUT 0x0c17
struct bt_hci_rsp_read_page_timeout {
uint8_t status;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_PAGE_TIMEOUT 0x0c18
struct bt_hci_cmd_write_page_timeout {
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_SCAN_ENABLE 0x0c19
struct bt_hci_rsp_read_scan_enable {
uint8_t status;
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_SCAN_ENABLE 0x0c1a
struct bt_hci_cmd_write_scan_enable {
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_PAGE_SCAN_ACTIVITY 0x0c1b
struct bt_hci_rsp_read_page_scan_activity {
uint8_t status;
uint16_t interval;
uint16_t window;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_PAGE_SCAN_ACTIVITY 0x0c1c
struct bt_hci_cmd_write_page_scan_activity {
uint16_t interval;
uint16_t window;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_INQUIRY_SCAN_ACTIVITY 0x0c1d
struct bt_hci_rsp_read_inquiry_scan_activity {
uint8_t status;
uint16_t interval;
uint16_t window;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_INQUIRY_SCAN_ACTIVITY 0x0c1e
struct bt_hci_cmd_write_inquiry_scan_activity {
uint16_t interval;
uint16_t window;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_AUTH_ENABLE 0x0c1f
struct bt_hci_rsp_read_auth_enable {
uint8_t status;
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_AUTH_ENABLE 0x0c20
struct bt_hci_cmd_write_auth_enable {
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_ENCRYPT_MODE 0x0c21
struct bt_hci_rsp_read_encrypt_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_ENCRYPT_MODE 0x0c22
struct bt_hci_cmd_write_encrypt_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_CLASS_OF_DEV 0x0c23
struct bt_hci_rsp_read_class_of_dev {
uint8_t status;
uint8_t dev_class[3];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_CLASS_OF_DEV 0x0c24
struct bt_hci_cmd_write_class_of_dev {
uint8_t dev_class[3];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_VOICE_SETTING 0x0c25
struct bt_hci_rsp_read_voice_setting {
uint8_t status;
uint16_t setting;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_VOICE_SETTING 0x0c26
struct bt_hci_cmd_write_voice_setting {
uint16_t setting;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_AUTO_FLUSH_TIMEOUT 0x0c27
struct bt_hci_cmd_read_auto_flush_timeout {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_auto_flush_timeout {
uint8_t status;
uint16_t handle;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_AUTO_FLUSH_TIMEOUT 0x0c28
struct bt_hci_cmd_write_auto_flush_timeout {
uint16_t handle;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_write_auto_flush_timeout {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_NUM_BROADCAST_RETRANS 0x0c29
struct bt_hci_rsp_read_num_broadcast_retrans {
uint8_t status;
uint8_t num_retrans;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_NUM_BROADCAST_RETRANS 0x0c2a
struct bt_hci_cmd_write_num_broadcast_retrans {
uint8_t num_retrans;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_HOLD_MODE_ACTIVITY 0x0c2b
struct bt_hci_rsp_read_hold_mode_activity {
uint8_t status;
uint8_t activity;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_HOLD_MODE_ACTIVITY 0x0c2c
struct bt_hci_cmd_write_hold_mode_activity {
uint8_t activity;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_TX_POWER 0x0c2d
struct bt_hci_cmd_read_tx_power {
uint16_t handle;
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_tx_power {
uint8_t status;
uint16_t handle;
int8_t level;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_SYNC_FLOW_CONTROL 0x0c2e
struct bt_hci_rsp_read_sync_flow_control {
uint8_t status;
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_SYNC_FLOW_CONTROL 0x0c2f
struct bt_hci_cmd_write_sync_flow_control {
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_HOST_FLOW_CONTROL 0x0c31
struct bt_hci_cmd_set_host_flow_control {
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_HOST_BUFFER_SIZE 0x0c33
struct bt_hci_cmd_host_buffer_size {
@@ -1374,203 +1378,203 @@ struct bt_hci_cmd_host_buffer_size {
uint8_t sco_mtu;
uint16_t acl_max_pkt;
uint16_t sco_max_pkt;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_HOST_NUM_COMPLETED_PACKETS 0x0c35
struct bt_hci_cmd_host_num_completed_packets {
uint8_t num_handles;
uint16_t handle;
uint16_t count;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LINK_SUPV_TIMEOUT 0x0c36
struct bt_hci_cmd_read_link_supv_timeout {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_link_supv_timeout {
uint8_t status;
uint16_t handle;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_LINK_SUPV_TIMEOUT 0x0c37
struct bt_hci_cmd_write_link_supv_timeout {
uint16_t handle;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_write_link_supv_timeout {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_NUM_SUPPORTED_IAC 0x0c38
struct bt_hci_rsp_read_num_supported_iac {
uint8_t status;
uint8_t num_iac;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_CURRENT_IAC_LAP 0x0c39
struct bt_hci_rsp_read_current_iac_lap {
uint8_t status;
uint8_t num_iac;
uint8_t iac_lap[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_CURRENT_IAC_LAP 0x0c3a
struct bt_hci_cmd_write_current_iac_lap {
uint8_t num_iac;
uint8_t iac_lap[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_PAGE_SCAN_PERIOD_MODE 0x0c3b
struct bt_hci_rsp_read_page_scan_period_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_PAGE_SCAN_PERIOD_MODE 0x0c3c
struct bt_hci_cmd_write_page_scan_period_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_PAGE_SCAN_MODE 0x0c3d
struct bt_hci_rsp_read_page_scan_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_PAGE_SCAN_MODE 0x0c3e
struct bt_hci_cmd_write_page_scan_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_AFH_HOST_CLASSIFICATION 0x0c3f
struct bt_hci_cmd_set_afh_host_classification {
uint8_t map[10];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_INQUIRY_SCAN_TYPE 0x0c42
struct bt_hci_rsp_read_inquiry_scan_type {
uint8_t status;
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_INQUIRY_SCAN_TYPE 0x0c43
struct bt_hci_cmd_write_inquiry_scan_type {
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_INQUIRY_MODE 0x0c44
struct bt_hci_rsp_read_inquiry_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_INQUIRY_MODE 0x0c45
struct bt_hci_cmd_write_inquiry_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_PAGE_SCAN_TYPE 0x0c46
struct bt_hci_rsp_read_page_scan_type {
uint8_t status;
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_PAGE_SCAN_TYPE 0x0c47
struct bt_hci_cmd_write_page_scan_type {
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_AFH_ASSESSMENT_MODE 0x0c48
struct bt_hci_rsp_read_afh_assessment_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_AFH_ASSESSMENT_MODE 0x0c49
struct bt_hci_cmd_write_afh_assessment_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_EXT_INQUIRY_RESPONSE 0x0c51
struct bt_hci_rsp_read_ext_inquiry_response {
uint8_t status;
uint8_t fec;
uint8_t data[240];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_EXT_INQUIRY_RESPONSE 0x0c52
struct bt_hci_cmd_write_ext_inquiry_response {
uint8_t fec;
uint8_t data[240];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_REFRESH_ENCRYPT_KEY 0x0c53
struct bt_hci_cmd_refresh_encrypt_key {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_SIMPLE_PAIRING_MODE 0x0c55
struct bt_hci_rsp_read_simple_pairing_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_SIMPLE_PAIRING_MODE 0x0c56
struct bt_hci_cmd_write_simple_pairing_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_OOB_DATA 0x0c57
struct bt_hci_rsp_read_local_oob_data {
uint8_t status;
uint8_t hash[16];
uint8_t randomizer[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_INQUIRY_RESP_TX_POWER 0x0c58
struct bt_hci_rsp_read_inquiry_resp_tx_power {
uint8_t status;
int8_t level;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_INQUIRY_TX_POWER 0x0c59
struct bt_hci_cmd_write_inquiry_tx_power {
int8_t level;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_ERRONEOUS_REPORTING 0x0c5a
struct bt_hci_rsp_read_erroneous_reporting {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_ERRONEOUS_REPORTING 0x0c5b
struct bt_hci_cmd_write_erroneous_reporting {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ENHANCED_FLUSH 0x0c5f
struct bt_hci_cmd_enhanced_flush {
uint16_t handle;
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SEND_KEYPRESS_NOTIFY 0x0c60
struct bt_hci_cmd_send_keypress_notify {
uint8_t bdaddr[6];
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_send_keypress_notify {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_EVENT_MASK_PAGE2 0x0c63
struct bt_hci_cmd_set_event_mask_page2 {
uint8_t mask[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCATION_DATA 0x0c64
struct bt_hci_rsp_read_location_data {
@@ -1579,7 +1583,7 @@ struct bt_hci_rsp_read_location_data {
uint8_t domain[2];
uint8_t domain_options;
uint8_t options;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_LOCATION_DATA 0x0c65
struct bt_hci_cmd_write_location_data {
@@ -1587,79 +1591,79 @@ struct bt_hci_cmd_write_location_data {
uint8_t domain[2];
uint8_t domain_options;
uint8_t options;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_FLOW_CONTROL_MODE 0x0c66
struct bt_hci_rsp_read_flow_control_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_FLOW_CONTROL_MODE 0x0c67
struct bt_hci_cmd_write_flow_control_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_ENHANCED_TX_POWER 0x0c68
struct bt_hci_cmd_read_enhanced_tx_power {
uint16_t handle;
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_enhanced_tx_power {
uint8_t status;
uint16_t handle;
int8_t level_gfsk;
int8_t level_dqpsk;
int8_t level_8dpsk;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SHORT_RANGE_MODE 0x0c6b
struct bt_hci_cmd_short_range_mode {
uint8_t phy_handle;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LE_HOST_SUPPORTED 0x0c6c
struct bt_hci_rsp_read_le_host_supported {
uint8_t status;
uint8_t supported;
uint8_t simultaneous;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_LE_HOST_SUPPORTED 0x0c6d
struct bt_hci_cmd_write_le_host_supported {
uint8_t supported;
uint8_t simultaneous;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_RESERVED_LT_ADDR 0x0c74
struct bt_hci_cmd_set_reserved_lt_addr {
uint8_t lt_addr;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_set_reserved_lt_addr {
uint8_t status;
uint8_t lt_addr;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_DELETE_RESERVED_LT_ADDR 0x0c75
struct bt_hci_cmd_delete_reserved_lt_addr {
uint8_t lt_addr;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_delete_reserved_lt_addr {
uint8_t status;
uint8_t lt_addr;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_PERIPHERAL_BROADCAST_DATA 0x0c76
struct bt_hci_cmd_set_peripheral_broadcast_data {
uint8_t lt_addr;
uint8_t fragment;
uint8_t length;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_set_peripheral_broadcast_data {
uint8_t status;
uint8_t lt_addr;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_SYNC_TRAIN_PARAMS 0x0c77
struct bt_hci_rsp_read_sync_train_params {
@@ -1667,7 +1671,7 @@ struct bt_hci_rsp_read_sync_train_params {
uint16_t interval;
uint32_t timeout;
uint8_t service_data;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_SYNC_TRAIN_PARAMS 0x0c78
struct bt_hci_cmd_write_sync_train_params {
@@ -1675,42 +1679,42 @@ struct bt_hci_cmd_write_sync_train_params {
uint16_t max_interval;
uint32_t timeout;
uint8_t service_data;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_write_sync_train_params {
uint8_t status;
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_SECURE_CONN_SUPPORT 0x0c79
struct bt_hci_rsp_read_secure_conn_support {
uint8_t status;
uint8_t support;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_SECURE_CONN_SUPPORT 0x0c7a
struct bt_hci_cmd_write_secure_conn_support {
uint8_t support;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_AUTH_PAYLOAD_TIMEOUT 0x0c7b
struct bt_hci_cmd_read_auth_payload_timeout {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_auth_payload_timeout {
uint8_t status;
uint16_t handle;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_AUTH_PAYLOAD_TIMEOUT 0x0c7c
struct bt_hci_cmd_write_auth_payload_timeout {
uint16_t handle;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_write_auth_payload_timeout {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_OOB_EXT_DATA 0x0c7d
struct bt_hci_rsp_read_local_oob_ext_data {
@@ -1719,29 +1723,29 @@ struct bt_hci_rsp_read_local_oob_ext_data {
uint8_t randomizer192[16];
uint8_t hash256[16];
uint8_t randomizer256[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_EXT_PAGE_TIMEOUT 0x0c7e
struct bt_hci_rsp_read_ext_page_timeout {
uint8_t status;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_EXT_PAGE_TIMEOUT 0x0c7f
struct bt_hci_cmd_write_ext_page_timeout {
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_EXT_INQUIRY_LENGTH 0x0c80
struct bt_hci_rsp_read_ext_inquiry_length {
uint8_t status;
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_EXT_INQUIRY_LENGTH 0x0c81
struct bt_hci_cmd_write_ext_inquiry_length {
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_CONFIG_DATA_PATH 0x0c83
#define BT_HCI_BIT_CONFIG_DATA_PATH BT_HCI_CMD_BIT(45, 5)
@@ -1750,7 +1754,7 @@ struct bt_hci_cmd_config_data_path {
uint8_t id;
uint8_t vnd_config_len;
uint8_t vnd_config[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_VERSION 0x1001
struct bt_hci_rsp_read_local_version {
@@ -1760,30 +1764,30 @@ struct bt_hci_rsp_read_local_version {
uint8_t lmp_ver;
uint16_t manufacturer;
uint16_t lmp_subver;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_COMMANDS 0x1002
struct bt_hci_rsp_read_local_commands {
uint8_t status;
uint8_t commands[64];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_FEATURES 0x1003
struct bt_hci_rsp_read_local_features {
uint8_t status;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_EXT_FEATURES 0x1004
struct bt_hci_cmd_read_local_ext_features {
uint8_t page;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_local_ext_features {
uint8_t status;
uint8_t page;
uint8_t max_page;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_BUFFER_SIZE 0x1005
struct bt_hci_rsp_read_buffer_size {
@@ -1792,19 +1796,19 @@ struct bt_hci_rsp_read_buffer_size {
uint8_t sco_mtu;
uint16_t acl_max_pkt;
uint16_t sco_max_pkt;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_COUNTRY_CODE 0x1007
struct bt_hci_rsp_read_country_code {
uint8_t status;
uint8_t code;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_BD_ADDR 0x1009
struct bt_hci_rsp_read_bd_addr {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_DATA_BLOCK_SIZE 0x100a
struct bt_hci_rsp_read_data_block_size {
@@ -1812,21 +1816,21 @@ struct bt_hci_rsp_read_data_block_size {
uint16_t max_acl_len;
uint16_t block_len;
uint16_t num_blocks;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_CODECS 0x100b
struct bt_hci_rsp_read_local_codecs {
uint8_t status;
uint8_t num_codecs;
uint8_t codec[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_PAIRING_OPTIONS 0x100c
struct bt_hci_rsp_read_local_pairing_options {
uint8_t status;
uint8_t pairing_options;
uint8_t max_key_size;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_CODECS_V2 0x100d
#define BT_HCI_BIT_READ_LOCAL_CODECS_V2 BT_HCI_CMD_BIT(45, 2)
@@ -1839,43 +1843,43 @@ struct bt_hci_vnd_codec_v2 {
uint16_t cid;
uint16_t vid;
uint8_t transport;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_vnd_codec {
uint8_t id;
uint16_t cid;
uint16_t vid;
uint8_t transport;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_codec {
uint8_t id;
uint8_t transport;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_local_codecs_v2 {
uint8_t status;
uint8_t num_codecs;
struct bt_hci_codec codec[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_CODEC_CAPS 0x100e
#define BT_HCI_BIT_READ_LOCAL_CODEC_CAPS BT_HCI_CMD_BIT(45, 3)
struct bt_hci_cmd_read_local_codec_caps {
struct bt_hci_vnd_codec codec;
uint8_t dir;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_codec_caps {
uint8_t len;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_local_codec_caps {
uint8_t status;
uint8_t num;
struct bt_hci_codec_caps caps[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_CTRL_DELAY 0x100f
#define BT_HCI_BIT_READ_LOCAL_CTRL_DELAY BT_HCI_CMD_BIT(45, 4)
@@ -1884,85 +1888,85 @@ struct bt_hci_cmd_read_local_ctrl_delay {
uint8_t dir;
uint8_t codec_cfg_len;
uint8_t codec_cfg[0];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_local_ctrl_delay {
uint8_t status;
uint8_t min_delay[3];
uint8_t max_delay[3];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_FAILED_CONTACT_COUNTER 0x1401
struct bt_hci_cmd_read_failed_contact_counter {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_failed_contact_counter {
uint8_t status;
uint16_t handle;
uint16_t counter;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_RESET_FAILED_CONTACT_COUNTER 0x1402
struct bt_hci_cmd_reset_failed_contact_counter {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_reset_failed_contact_counter {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LINK_QUALITY 0x1403
struct bt_hci_cmd_read_link_quality {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_link_quality {
uint8_t status;
uint16_t handle;
uint8_t link_quality;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_RSSI 0x1405
struct bt_hci_cmd_read_rssi {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_rssi {
uint8_t status;
uint16_t handle;
int8_t rssi;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_AFH_CHANNEL_MAP 0x1406
struct bt_hci_cmd_read_afh_channel_map {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_afh_channel_map {
uint8_t status;
uint16_t handle;
uint8_t mode;
uint8_t map[10];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_CLOCK 0x1407
struct bt_hci_cmd_read_clock {
uint16_t handle;
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_clock {
uint8_t status;
uint16_t handle;
uint32_t clock;
uint16_t accuracy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_ENCRYPT_KEY_SIZE 0x1408
struct bt_hci_cmd_read_encrypt_key_size {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_encrypt_key_size {
uint8_t status;
uint16_t handle;
uint8_t key_size;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_AMP_INFO 0x1409
struct bt_hci_rsp_read_local_amp_info {
@@ -1977,20 +1981,20 @@ struct bt_hci_rsp_read_local_amp_info {
uint16_t max_assoc_len;
uint32_t max_flush_to;
uint32_t be_flush_to;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOCAL_AMP_ASSOC 0x140a
struct bt_hci_cmd_read_local_amp_assoc {
uint8_t phy_handle;
uint16_t len_so_far;
uint16_t max_assoc_len;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_read_local_amp_assoc {
uint8_t status;
uint8_t phy_handle;
uint16_t remain_assoc_len;
uint8_t assoc_fragment[248];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_REMOTE_AMP_ASSOC 0x140b
struct bt_hci_cmd_write_remote_amp_assoc {
@@ -1998,18 +2002,18 @@ struct bt_hci_cmd_write_remote_amp_assoc {
uint16_t len_so_far;
uint16_t remain_assoc_len;
uint8_t assoc_fragment[248];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_write_remote_amp_assoc {
uint8_t status;
uint8_t phy_handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_GET_MWS_TRANSPORT_CONFIG 0x140c
struct bt_hci_rsp_get_mws_transport_config {
uint8_t status;
uint8_t num_transports;
uint8_t transport[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_TRIGGERED_CLOCK_CAPTURE 0x140d
struct bt_hci_cmd_set_triggered_clock_capture {
@@ -2018,48 +2022,48 @@ struct bt_hci_cmd_set_triggered_clock_capture {
uint8_t type;
uint8_t lpo_allowed;
uint8_t num_filter;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_READ_LOOPBACK_MODE 0x1801
struct bt_hci_rsp_read_loopback_mode {
uint8_t status;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_WRITE_LOOPBACK_MODE 0x1802
struct bt_hci_cmd_write_loopback_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_ENABLE_DUT_MODE 0x1803
#define BT_HCI_CMD_WRITE_SSP_DEBUG_MODE 0x1804
struct bt_hci_cmd_write_ssp_debug_mode {
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_EVENT_MASK 0x2001
struct bt_hci_cmd_le_set_event_mask {
uint8_t mask[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_BUFFER_SIZE 0x2002
struct bt_hci_rsp_le_read_buffer_size {
uint8_t status;
uint16_t le_mtu;
uint8_t le_max_pkt;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_LOCAL_FEATURES 0x2003
struct bt_hci_rsp_le_read_local_features {
uint8_t status;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_RANDOM_ADDRESS 0x2005
struct bt_hci_cmd_le_set_random_address {
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_ADV_PARAMETERS 0x2006
struct bt_hci_cmd_le_set_adv_parameters {
@@ -2071,30 +2075,30 @@ struct bt_hci_cmd_le_set_adv_parameters {
uint8_t direct_addr[6];
uint8_t channel_map;
uint8_t filter_policy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_ADV_TX_POWER 0x2007
struct bt_hci_rsp_le_read_adv_tx_power {
uint8_t status;
int8_t level;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_ADV_DATA 0x2008
struct bt_hci_cmd_le_set_adv_data {
uint8_t len;
uint8_t data[31];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_SCAN_RSP_DATA 0x2009
struct bt_hci_cmd_le_set_scan_rsp_data {
uint8_t len;
uint8_t data[31];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_ADV_ENABLE 0x200a
struct bt_hci_cmd_le_set_adv_enable {
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_SCAN_PARAMETERS 0x200b
struct bt_hci_cmd_le_set_scan_parameters {
@@ -2103,13 +2107,13 @@ struct bt_hci_cmd_le_set_scan_parameters {
uint16_t window;
uint8_t own_addr_type;
uint8_t filter_policy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_SCAN_ENABLE 0x200c
struct bt_hci_cmd_le_set_scan_enable {
uint8_t enable;
uint8_t filter_dup;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CREATE_CONN 0x200d
struct bt_hci_cmd_le_create_conn {
@@ -2125,7 +2129,7 @@ struct bt_hci_cmd_le_create_conn {
uint16_t supv_timeout;
uint16_t min_length;
uint16_t max_length;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CREATE_CONN_CANCEL 0x200e
@@ -2133,7 +2137,7 @@ struct bt_hci_cmd_le_create_conn {
struct bt_hci_rsp_le_read_accept_list_size {
uint8_t status;
uint8_t size;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CLEAR_ACCEPT_LIST 0x2010
@@ -2141,13 +2145,13 @@ struct bt_hci_rsp_le_read_accept_list_size {
struct bt_hci_cmd_le_add_to_accept_list {
uint8_t addr_type;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REMOVE_FROM_ACCEPT_LIST 0x2012
struct bt_hci_cmd_le_remove_from_accept_list {
uint8_t addr_type;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CONN_UPDATE 0x2013
struct bt_hci_cmd_le_conn_update {
@@ -2158,43 +2162,43 @@ struct bt_hci_cmd_le_conn_update {
uint16_t supv_timeout;
uint16_t min_length;
uint16_t max_length;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_HOST_CLASSIFICATION 0x2014
struct bt_hci_cmd_le_set_host_classification {
uint8_t map[5];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_CHANNEL_MAP 0x2015
struct bt_hci_cmd_le_read_channel_map {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_read_channel_map {
uint8_t status;
uint16_t handle;
uint8_t map[5];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_REMOTE_FEATURES 0x2016
struct bt_hci_cmd_le_read_remote_features {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_ENCRYPT 0x2017
struct bt_hci_cmd_le_encrypt {
uint8_t key[16];
uint8_t plaintext[16];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_encrypt {
uint8_t status;
uint8_t data[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_RAND 0x2018
struct bt_hci_rsp_le_rand {
uint8_t status;
uint64_t number;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_START_ENCRYPT 0x2019
struct bt_hci_cmd_le_start_encrypt {
@@ -2202,50 +2206,50 @@ struct bt_hci_cmd_le_start_encrypt {
uint64_t rand;
uint16_t ediv;
uint8_t ltk[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_LTK_REQ_REPLY 0x201a
struct bt_hci_cmd_le_ltk_req_reply {
uint16_t handle;
uint8_t ltk[16];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_ltk_req_reply {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_LTK_REQ_NEG_REPLY 0x201b
struct bt_hci_cmd_le_ltk_req_neg_reply {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_ltk_req_neg_reply {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_SUPPORTED_STATES 0x201c
struct bt_hci_rsp_le_read_supported_states {
uint8_t status;
uint8_t states[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_RECEIVER_TEST 0x201d
struct bt_hci_cmd_le_receiver_test {
uint8_t frequency;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_TRANSMITTER_TEST 0x201e
struct bt_hci_cmd_le_transmitter_test {
uint8_t frequency;
uint8_t data_len;
uint8_t payload;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_TEST_END 0x201f
struct bt_hci_rsp_le_test_end {
uint8_t status;
uint16_t num_packets;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CONN_PARAM_REQ_REPLY 0x2020
struct bt_hci_cmd_le_conn_param_req_reply {
@@ -2256,52 +2260,52 @@ struct bt_hci_cmd_le_conn_param_req_reply {
uint16_t supv_timeout;
uint16_t min_length;
uint16_t max_length;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_conn_param_req_reply {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CONN_PARAM_REQ_NEG_REPLY 0x2021
struct bt_hci_cmd_le_conn_param_req_neg_reply {
uint16_t handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_conn_param_req_neg_reply {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_DATA_LENGTH 0x2022
struct bt_hci_cmd_le_set_data_length {
uint16_t handle;
uint16_t tx_len;
uint16_t tx_time;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_set_data_length {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_DEFAULT_DATA_LENGTH 0x2023
struct bt_hci_rsp_le_read_default_data_length {
uint8_t status;
uint16_t tx_len;
uint16_t tx_time;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_WRITE_DEFAULT_DATA_LENGTH 0x2024
struct bt_hci_cmd_le_write_default_data_length {
uint16_t tx_len;
uint16_t tx_time;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_LOCAL_PK256 0x2025
#define BT_HCI_CMD_LE_GENERATE_DHKEY 0x2026
struct bt_hci_cmd_le_generate_dhkey {
uint8_t remote_pk256[64];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_ADD_TO_RESOLV_LIST 0x2027
struct bt_hci_cmd_le_add_to_resolv_list {
@@ -2309,13 +2313,13 @@ struct bt_hci_cmd_le_add_to_resolv_list {
uint8_t addr[6];
uint8_t peer_irk[16];
uint8_t local_irk[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REMOVE_FROM_RESOLV_LIST 0x2028
struct bt_hci_cmd_le_remove_from_resolv_list {
uint8_t addr_type;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CLEAR_RESOLV_LIST 0x2029
@@ -2323,37 +2327,37 @@ struct bt_hci_cmd_le_remove_from_resolv_list {
struct bt_hci_rsp_le_read_resolv_list_size {
uint8_t status;
uint8_t size;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_PEER_RESOLV_ADDR 0x202b
struct bt_hci_cmd_le_read_peer_resolv_addr {
uint8_t addr_type;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_read_peer_resolv_addr {
uint8_t status;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_LOCAL_RESOLV_ADDR 0x202c
struct bt_hci_cmd_le_read_local_resolv_addr {
uint8_t addr_type;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_read_local_resolv_addr {
uint8_t status;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_RESOLV_ENABLE 0x202d
struct bt_hci_cmd_le_set_resolv_enable {
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_RESOLV_TIMEOUT 0x202e
struct bt_hci_cmd_le_set_resolv_timeout {
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_MAX_DATA_LENGTH 0x202f
struct bt_hci_rsp_le_read_max_data_length {
@@ -2362,25 +2366,25 @@ struct bt_hci_rsp_le_read_max_data_length {
uint16_t max_tx_time;
uint16_t max_rx_len;
uint16_t max_rx_time;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_PHY 0x2030
struct bt_hci_cmd_le_read_phy {
uint16_t handle;
-} __attribute__((packed));
+} __packed;
struct bt_hci_rsp_le_read_phy {
uint8_t status;
uint16_t handle;
uint8_t tx_phy;
uint8_t rx_phy;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_DEFAULT_PHY 0x2031
struct bt_hci_cmd_le_set_default_phy {
uint8_t all_phys;
uint8_t tx_phys;
uint8_t rx_phys;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_PHY 0x2032
struct bt_hci_cmd_le_set_phy {
@@ -2389,14 +2393,14 @@ struct bt_hci_cmd_le_set_phy {
uint8_t tx_phys;
uint8_t rx_phys;
uint16_t phy_opts;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_ENHANCED_RECEIVER_TEST 0x2033
struct bt_hci_cmd_le_enhanced_receiver_test {
uint8_t rx_channel;
uint8_t phy;
uint8_t modulation_index;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_ENHANCED_TRANSMITTER_TEST 0x2034
struct bt_hci_cmd_le_enhanced_transmitter_test {
@@ -2404,13 +2408,13 @@ struct bt_hci_cmd_le_enhanced_transmitter_test {
uint8_t data_len;
uint8_t payload;
uint8_t phy;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_ADV_SET_RAND_ADDR 0x2035
struct bt_hci_cmd_le_set_adv_set_rand_addr {
uint8_t handle;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_EXT_ADV_PARAMS 0x2036
struct bt_hci_cmd_le_set_ext_adv_params {
@@ -2429,11 +2433,11 @@ struct bt_hci_cmd_le_set_ext_adv_params {
uint8_t secondary_phy;
uint8_t sid;
uint8_t notif_enable;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_set_ext_adv_params {
uint8_t status;
uint8_t tx_power;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_EXT_ADV_DATA 0x2037
struct bt_hci_cmd_le_set_ext_adv_data {
@@ -2442,7 +2446,7 @@ struct bt_hci_cmd_le_set_ext_adv_data {
uint8_t fragment_preference;
uint8_t data_len;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_EXT_SCAN_RSP_DATA 0x2038
struct bt_hci_cmd_le_set_ext_scan_rsp_data {
@@ -2451,35 +2455,35 @@ struct bt_hci_cmd_le_set_ext_scan_rsp_data {
uint8_t fragment_preference;
uint8_t data_len;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_EXT_ADV_ENABLE 0x2039
struct bt_hci_cmd_le_set_ext_adv_enable {
uint8_t enable;
uint8_t num_of_sets;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_cmd_ext_adv_set {
uint8_t handle;
uint16_t duration;
uint8_t max_events;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_MAX_ADV_DATA_LEN 0x203a
struct bt_hci_rsp_le_read_max_adv_data_len {
uint8_t status;
uint16_t max_len;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_NUM_SUPPORTED_ADV_SETS 0x203b
struct bt_hci_rsp_le_read_num_supported_adv_sets {
uint8_t status;
uint8_t num_of_sets;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REMOVE_ADV_SET 0x203c
struct bt_hci_cmd_le_remove_adv_set {
uint8_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CLEAR_ADV_SETS 0x203d
@@ -2489,7 +2493,7 @@ struct bt_hci_cmd_le_set_pa_params {
uint16_t min_interval;
uint16_t max_interval;
uint16_t properties;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_PA_DATA 0x203f
struct bt_hci_cmd_le_set_pa_data {
@@ -2497,13 +2501,13 @@ struct bt_hci_cmd_le_set_pa_data {
uint8_t operation;
uint8_t data_len;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_PA_ENABLE 0x2040
struct bt_hci_cmd_le_set_pa_enable {
uint8_t enable;
uint8_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_EXT_SCAN_PARAMS 0x2041
struct bt_hci_cmd_le_set_ext_scan_params {
@@ -2511,12 +2515,12 @@ struct bt_hci_cmd_le_set_ext_scan_params {
uint8_t filter_policy;
uint8_t num_phys;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_le_scan_phy {
uint8_t type;
uint16_t interval;
uint16_t window;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_EXT_SCAN_ENABLE 0x2042
struct bt_hci_cmd_le_set_ext_scan_enable {
@@ -2524,7 +2528,7 @@ struct bt_hci_cmd_le_set_ext_scan_enable {
uint8_t filter_dup;
uint16_t duration;
uint16_t period;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_EXT_CREATE_CONN 0x2043
struct bt_hci_cmd_le_ext_create_conn {
@@ -2534,7 +2538,7 @@ struct bt_hci_cmd_le_ext_create_conn {
uint8_t peer_addr[6];
uint8_t phys;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_le_ext_create_conn {
uint16_t scan_interval;
uint16_t scan_window;
@@ -2544,7 +2548,7 @@ struct bt_hci_le_ext_create_conn {
uint16_t supv_timeout;
uint16_t min_length;
uint16_t max_length;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_PA_CREATE_SYNC 0x2044
struct bt_hci_cmd_le_pa_create_sync {
@@ -2555,28 +2559,28 @@ struct bt_hci_cmd_le_pa_create_sync {
uint16_t skip;
uint16_t sync_timeout;
uint8_t sync_cte_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_PA_CREATE_SYNC_CANCEL 0x2045
#define BT_HCI_CMD_LE_PA_TERM_SYNC 0x2046
struct bt_hci_cmd_le_pa_term_sync {
uint16_t sync_handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_ADD_DEV_PA_LIST 0x2047
struct bt_hci_cmd_le_add_dev_pa_list {
uint8_t addr_type;
uint8_t addr[6];
uint8_t sid;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REMOVE_DEV_PA_LIST 0x2048
struct bt_hci_cmd_le_remove_dev_pa_list {
uint8_t addr_type;
uint8_t addr[6];
uint8_t sid;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CLEAR_PA_LIST 0x2049
@@ -2584,34 +2588,34 @@ struct bt_hci_cmd_le_remove_dev_pa_list {
struct bt_hci_rsp_le_read_dev_pa_list_size {
uint8_t status;
uint8_t list_size;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_TX_POWER 0x204b
struct bt_hci_rsp_le_read_tx_power {
uint8_t status;
int8_t min_tx_power;
int8_t max_tx_power;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_RF_PATH_COMPENSATION 0x204c
struct bt_hci_rsp_le_read_rf_path_comp {
uint8_t status;
uint16_t rf_tx_path_comp;
uint16_t rf_rx_path_comp;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_WRITE_RF_PATH_COMPENSATION 0x204d
struct bt_hci_cmd_le_write_rf_path_comp {
uint16_t rf_tx_path_comp;
uint16_t rf_rx_path_comp;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_PRIV_MODE 0x204e
struct bt_hci_cmd_le_set_priv_mode {
uint8_t peer_id_addr_type;
uint8_t peer_id_addr[6];
uint8_t priv_mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_RECEIVER_TEST_V3 0x204f
struct bt_hci_cmd_le_receiver_test_v3 {
@@ -2623,7 +2627,7 @@ struct bt_hci_cmd_le_receiver_test_v3 {
uint8_t duration;
uint8_t num_antenna_id;
uint8_t antenna_ids[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_TX_TEST_V3 0x2050
struct bt_hci_cmd_le_tx_test_v3 {
@@ -2636,37 +2640,37 @@ struct bt_hci_cmd_le_tx_test_v3 {
uint8_t duration;
uint8_t num_antenna_id;
uint8_t antenna_ids[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_SET_PA_REC_ENABLE 0x2059
struct bt_hci_cmd_set_pa_rec_enable {
uint16_t sync_handle;
uint8_t enable;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_PAST 0x205a
struct bt_hci_cmd_le_past {
uint16_t handle;
uint16_t service_data;
uint16_t sync_handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_past {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_PAST_SET_INFO 0x205b
struct bt_hci_cmd_le_past_set_info {
uint16_t handle;
uint16_t service_data;
uint8_t adv_handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_past_set_info {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_PAST_PARAMS 0x205c
struct bt_hci_cmd_le_past_params {
@@ -2675,12 +2679,12 @@ struct bt_hci_cmd_le_past_params {
uint16_t skip;
uint16_t sync_timeout;
uint8_t cte_type;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_past_params {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_DEFAULT_PAST_PARAMS 0x205d
struct bt_hci_cmd_le_default_past_params {
@@ -2688,7 +2692,7 @@ struct bt_hci_cmd_le_default_past_params {
uint16_t skip;
uint16_t sync_timeout;
uint8_t cte_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_BUFFER_SIZE_V2 0x2060
#define BT_HCI_BIT_LE_READ_BUFFER_SIZE_V2 BT_HCI_CMD_BIT(41, 5)
@@ -2698,13 +2702,13 @@ struct bt_hci_rsp_le_read_buffer_size_v2 {
uint8_t acl_max_pkt;
uint16_t iso_mtu;
uint8_t iso_max_pkt;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_ISO_TX_SYNC 0x2061
#define BT_HCI_BIT_LE_READ_ISO_TX_SYNC BT_HCI_CMD_BIT(41, 6)
struct bt_hci_cmd_le_read_iso_tx_sync {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_read_iso_tx_sync {
uint8_t status;
@@ -2712,7 +2716,7 @@ struct bt_hci_rsp_le_read_iso_tx_sync {
uint16_t seq;
uint32_t timestamp;
uint8_t offset[3];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_CIG_PARAMS 0x2062
#define BT_HCI_BIT_LE_SET_CIG_PARAMS BT_HCI_CMD_BIT(41, 7)
@@ -2724,7 +2728,7 @@ struct bt_hci_cis_params {
uint8_t p_phys;
uint8_t c_rtn;
uint8_t p_rtn;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_cmd_le_set_cig_params {
uint8_t cig_id;
@@ -2737,14 +2741,14 @@ struct bt_hci_cmd_le_set_cig_params {
uint16_t p_latency;
uint8_t num_cis;
struct bt_hci_cis_params cis[0];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_set_cig_params {
uint8_t status;
uint8_t cig_id;
uint8_t num_handles;
uint16_t handle[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_CIG_PARAMS_TEST 0x2063
#define BT_HCI_BIT_LE_SET_CIG_PARAMS_TEST BT_HCI_CMD_BIT(42, 0)
@@ -2759,7 +2763,7 @@ struct bt_hci_cis_params_test {
uint8_t p_phys;
uint8_t c_bn;
uint8_t p_bn;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_cmd_le_set_cig_params_test {
uint8_t cig_id;
@@ -2773,43 +2777,43 @@ struct bt_hci_cmd_le_set_cig_params_test {
uint8_t framing;
uint8_t num_cis;
struct bt_hci_cis_params_test cis[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CREATE_CIS 0x2064
#define BT_HCI_BIT_LE_CREATE_CIS BT_HCI_CMD_BIT(42, 1)
struct bt_hci_cis {
uint16_t cis_handle;
uint16_t acl_handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_cmd_le_create_cis {
uint8_t num_cis;
struct bt_hci_cis cis[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REMOVE_CIG 0x2065
#define BT_HCI_BIT_LE_REMOVE_CIG BT_HCI_CMD_BIT(42, 2)
struct bt_hci_cmd_le_remove_cig {
uint8_t cig_id;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_remove_cig {
uint8_t status;
uint8_t cig_id;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_ACCEPT_CIS 0x2066
#define BT_HCI_BIT_LE_ACCEPT_CIS BT_HCI_CMD_BIT(42, 3)
struct bt_hci_cmd_le_accept_cis {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REJECT_CIS 0x2067
#define BT_HCI_BIT_LE_REJECT_CIS BT_HCI_CMD_BIT(42, 4)
struct bt_hci_cmd_le_reject_cis {
uint16_t handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CREATE_BIG 0x2068
#define BT_HCI_BIT_LE_CREATE_BIG BT_HCI_CMD_BIT(42, 5)
@@ -2823,14 +2827,14 @@ struct bt_hci_bis {
uint8_t framing;
uint8_t encryption;
uint8_t bcode[16];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_cmd_le_create_big {
uint8_t handle;
uint8_t adv_handle;
uint8_t num_bis;
struct bt_hci_bis bis;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CREATE_BIG_TEST 0x2069
#define BT_HCI_BIT_LE_CREATE_BIG_TEST BT_HCI_CMD_BIT(42, 6)
@@ -2848,27 +2852,27 @@ struct bt_hci_bis_test {
uint8_t pto;
uint8_t encryption;
uint8_t bcode[16];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_cmd_le_create_big_test {
uint8_t big_handle;
uint8_t adv_handle;
uint8_t num_bis;
struct bt_hci_bis_test bis[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_TERM_BIG 0x206a
#define BT_HCI_BIT_LE_TERM_BIG BT_HCI_CMD_BIT(42, 7)
struct bt_hci_cmd_le_term_big {
uint8_t handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_BIG_CREATE_SYNC 0x206b
#define BT_HCI_BIT_LE_BIG_CREATE_SYNC BT_HCI_CMD_BIT(43, 0)
struct bt_hci_bis_sync {
uint8_t index;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_cmd_le_big_create_sync {
uint8_t handle;
@@ -2879,24 +2883,24 @@ struct bt_hci_cmd_le_big_create_sync {
uint16_t timeout;
uint8_t num_bis;
struct bt_hci_bis_sync bis[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_BIG_TERM_SYNC 0x206c
#define BT_HCI_BIT_LE_BIG_TERM_SYNC BT_HCI_CMD_BIT(43, 1)
struct bt_hci_cmd_le_big_term_sync {
uint8_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_big_term_sync {
uint8_t status;
uint8_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REQ_PEER_SCA 0x206d
#define BT_HCI_BIT_LE_REQ_PEER_SCA BT_HCI_CMD_BIT(43, 2)
struct bt_hci_cmd_le_req_peer_sca {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SETUP_ISO_PATH 0x206e
#define BT_HCI_BIT_LE_SETUP_ISO_PATH BT_HCI_CMD_BIT(43, 3)
@@ -2910,24 +2914,24 @@ struct bt_hci_cmd_le_setup_iso_path {
uint8_t delay[3];
uint8_t codec_cfg_len;
uint8_t codec_cfg[0];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_setup_iso_path {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_REMOVE_ISO_PATH 0x206f
#define BT_HCI_BIT_LE_REMOVE_ISO_PATH BT_HCI_CMD_BIT(43, 4)
struct bt_hci_cmd_le_remove_iso_path {
uint16_t handle;
uint8_t direction;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_remove_iso_path {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_ISO_TX_TEST 0x2070
#define BT_HCI_BIT_LE_ISO_TX_TEST BT_HCI_CMD_BIT(43, 5)
@@ -2946,13 +2950,13 @@ struct bt_hci_rsp_le_remove_iso_path {
struct bt_hci_cmd_le_set_host_feature {
uint8_t bit_number;
uint8_t bit_value;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_ISO_LINK_QUALITY 0x2075
#define BT_HCI_BIT_LE_READ_ISO_LINK_QUALITY BT_HCI_CMD_BIT(44, 2)
struct bt_hci_cmd_le_read_iso_link_quality {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_read_iso_link_quality {
uint8_t status;
@@ -2964,7 +2968,7 @@ struct bt_hci_rsp_le_read_iso_link_quality {
uint32_t crc_error_packets;
uint32_t rx_unreceived_packets;
uint32_t duplicated_packets;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_ALL_LOCAL_FEATURES 0x2087
#define BT_HCI_BIT_LE_READ_ALL_LOCAL_FEATURES BT_HCI_CMD_BIT(47, 2)
@@ -2972,14 +2976,14 @@ struct bt_hci_rsp_le_read_all_local_features {
uint8_t status;
uint8_t page;
uint8_t features[248];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_ALL_REMOTE_FEATURES 0x2088
#define BT_HCI_BIT_LE_READ_ALL_REMOTE_FEATURES BT_HCI_CMD_BIT(47, 3)
struct bt_hci_cmd_le_read_all_remote_features {
uint16_t handle;
uint8_t pages;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_RD_LOC_SUPP_CAP 0x2089
#define BT_HCI_BIT_LE_CS_RD_LOC_SUPP_CAP BT_HCI_CMD_BIT(20, 5)
@@ -3005,13 +3009,13 @@ struct bt_hci_rsp_le_cs_rd_loc_supp_cap {
uint16_t t_pm_times_supported;
uint8_t t_sw_time_supported;
uint8_t tx_snr_capability;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_RD_REM_SUPP_CAP 0x208A
#define BT_HCI_BIT_LE_CS_RD_REM_SUPP_CAP BT_HCI_CMD_BIT(20, 6)
struct bt_hci_cmd_le_cs_rd_rem_supp_cap {
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_WR_CACHED_REM_SUPP_CAP 0x208B
#define BT_HCI_BIT_LE_CS_WR_CACHED_REM_SUPP_CAP BT_HCI_CMD_BIT(20, 7)
@@ -3037,17 +3041,17 @@ struct bt_hci_cmd_le_cs_wr_cached_rem_supp_cap {
uint16_t t_pm_times_supported;
uint8_t t_sw_time_supported;
uint8_t tx_snr_capability;
-} __attribute__((packed));
+} __packed;
struct bt_hci_rsp_le_cs_wr_cached_rem_supp_cap {
uint8_t status;
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_SEC_ENABLE 0x208C
#define BT_HCI_BIT_LE_CS_SEC_ENABLE BT_HCI_CMD_BIT(24, 1)
struct bt_hci_cmd_le_cs_sec_enable {
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_SET_DEF_SETTINGS 0x208D
#define BT_HCI_BIT_LE_CS_SET_DEF_SETTINGS BT_HCI_CMD_BIT(24, 7)
@@ -3056,28 +3060,28 @@ struct bt_hci_cmd_le_cs_set_def_settings {
uint8_t role_enable;
uint8_t cs_sync_antenna_selection;
uint8_t max_tx_power;
-} __attribute__((packed));
+} __packed;
struct bt_hci_rsp_le_cs_set_def_settings {
uint8_t status;
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_RD_REM_FAE 0x208E
#define BT_HCI_BIT_LE_CS_RD_REM_FAE BT_HCI_CMD_BIT(12, 2)
struct bt_hci_cmd_le_cs_rd_rem_fae {
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_WR_CACHED_REM_FAE 0x208F
#define BT_HCI_BIT_LE_CS_WR_CACHED_REM_FAE BT_HCI_CMD_BIT(12, 3)
struct bt_hci_cmd_le_cs_wr_cached_rem_fae {
uint16_t handle;
uint8_t remote_fae_table[72];
-} __attribute__((packed));
+} __packed;
struct bt_hci_rsp_le_cs_wr_cached_rem_fae {
uint8_t status;
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_CREATE_CONFIG 0x2090
#define BT_HCI_BIT_LE_CS_CREATE_CONFIG BT_HCI_CMD_BIT(16, 6)
@@ -3100,23 +3104,23 @@ struct bt_hci_cmd_le_cs_create_config {
uint8_t ch3c_shape;
uint8_t ch3c_jump;
uint8_t reserved;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_REMOVE_CONFIG 0x2091
#define BT_HCI_BIT_LE_CS_REMOVE_CONFIG BT_HCI_CMD_BIT(16, 7)
struct bt_hci_cmd_le_cs_remove_config {
uint16_t handle;
uint8_t config_id;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_SET_CHAN_CLASS 0x2092
#define BT_HCI_BIT_LE_CS_SET_CHAN_CLASS BT_HCI_CMD_BIT(29, 0)
struct bt_hci_cmd_le_cs_set_chan_class {
uint8_t channel_classification[10];
-} __attribute__((packed));
+} __packed;
struct bt_hci_rsp_le_cs_set_chan_class {
uint8_t status;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_SET_PROC_PARAMS 0x2093
#define BT_HCI_BIT_LE_CS_SET_PROC_PARAMS BT_HCI_CMD_BIT(29, 1)
@@ -3135,11 +3139,11 @@ struct bt_hci_cmd_le_cs_set_proc_params {
uint8_t preferred_peer_antenna;
uint8_t snr_control_initiator;
uint8_t snr_control_reflector;
-} __attribute__((packed));
+} __packed;
struct bt_hci_rsp_le_cs_set_proc_params {
uint8_t status;
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_PROC_ENABLE 0x2094
#define BT_HCI_BIT_LE_CS_PROC_ENABLE BT_HCI_CMD_BIT(29, 2)
@@ -3147,7 +3151,7 @@ struct bt_hci_cmd_le_cs_proc_enable {
uint16_t handle;
uint8_t config_id;
uint8_t enable;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_TEST 0x2095
#define BT_HCI_BIT_LE_CS_TEST BT_HCI_CMD_BIT(23, 3)
@@ -3178,10 +3182,10 @@ struct bt_hci_cmd_le_cs_test {
uint16_t override_config;
uint8_t override_parameters_length;
uint8_t override_parameters_data[];
-} __attribute__((packed));
+} __packed;
struct bt_hci_rsp_le_cs_test {
uint8_t status;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_CMD_LE_CS_TEST_END 0x2096
#define BT_HCI_BIT_LE_CS_TEST_END BT_HCI_CMD_BIT(23, 4)
@@ -3191,7 +3195,7 @@ struct bt_hci_rsp_le_cs_test {
struct bt_hci_cmd_le_set_host_feature_v2 {
uint16_t bit_number;
uint8_t bit_value;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_FSU 0x209d
#define BT_HCI_BIT_LE_FSU BT_HCI_CMD_BIT(48, 1)
@@ -3201,7 +3205,7 @@ struct bt_hci_cmd_le_fsu {
uint16_t frame_space_max;
uint8_t phys;
uint8_t types;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_CONN_RATE 0x20a1
#define BT_HCI_BIT_LE_CONN_RATE BT_HCI_CMD_BIT(48, 5)
@@ -3216,7 +3220,7 @@ struct bt_hci_cmd_le_conn_rate {
uint16_t supv_timeout;
uint16_t min_ce_len;
uint16_t max_ce_len;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_SET_DEF_RATE 0x20a2
#define BT_HCI_BIT_LE_SET_DEF_RATE BT_HCI_CMD_BIT(48, 6)
@@ -3230,7 +3234,7 @@ struct bt_hci_cmd_le_set_def_rate {
uint16_t supv_timeout;
uint16_t min_ce_len;
uint16_t max_ce_len;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_CMD_LE_READ_CONN_INTERVAL 0x20a3
#define BT_HCI_BIT_LE_READ_CONN_INTERVAL BT_HCI_CMD_BIT(48, 7)
@@ -3238,19 +3242,19 @@ struct bt_hci_le_conn_interval_group {
uint16_t min;
uint16_t max;
uint16_t stride;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_rsp_le_read_conn_interval {
uint8_t status;
uint8_t min;
uint8_t num_grps;
struct bt_hci_le_conn_interval_group grps[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_INQUIRY_COMPLETE 0x01
struct bt_hci_evt_inquiry_complete {
uint8_t status;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_INQUIRY_RESULT 0x02
struct bt_hci_evt_inquiry_result {
@@ -3261,7 +3265,7 @@ struct bt_hci_evt_inquiry_result {
uint8_t pscan_mode;
uint8_t dev_class[3];
uint16_t clock_offset;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CONN_COMPLETE 0x03
struct bt_hci_evt_conn_complete {
@@ -3270,61 +3274,61 @@ struct bt_hci_evt_conn_complete {
uint8_t bdaddr[6];
uint8_t link_type;
uint8_t encr_mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CONN_REQUEST 0x04
struct bt_hci_evt_conn_request {
uint8_t bdaddr[6];
uint8_t dev_class[3];
uint8_t link_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_DISCONNECT_COMPLETE 0x05
struct bt_hci_evt_disconnect_complete {
uint8_t status;
uint16_t handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_AUTH_COMPLETE 0x06
struct bt_hci_evt_auth_complete {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_REMOTE_NAME_REQUEST_COMPLETE 0x07
struct bt_hci_evt_remote_name_request_complete {
uint8_t status;
uint8_t bdaddr[6];
uint8_t name[248];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_ENCRYPT_CHANGE 0x08
struct bt_hci_evt_encrypt_change {
uint8_t status;
uint16_t handle;
uint8_t encr_mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CHANGE_CONN_LINK_KEY_COMPLETE 0x09
struct bt_hci_evt_change_conn_link_key_complete {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LINK_KEY_TYPE_CHANGED 0x0a
struct bt_hci_evt_link_key_type_changed {
uint8_t status;
uint16_t handle;
uint8_t key_flag;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_REMOTE_FEATURES_COMPLETE 0x0b
struct bt_hci_evt_remote_features_complete {
uint8_t status;
uint16_t handle;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_REMOTE_VERSION_COMPLETE 0x0c
struct bt_hci_evt_remote_version_complete {
@@ -3333,7 +3337,7 @@ struct bt_hci_evt_remote_version_complete {
uint8_t lmp_ver;
uint16_t manufacturer;
uint16_t lmp_subver;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_QOS_SETUP_COMPLETE 0x0d
struct bt_hci_evt_qos_setup_complete {
@@ -3345,44 +3349,44 @@ struct bt_hci_evt_qos_setup_complete {
uint32_t peak_bandwidth;
uint32_t latency;
uint32_t delay_variation;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CMD_COMPLETE 0x0e
struct bt_hci_evt_cmd_complete {
uint8_t ncmd;
uint16_t opcode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CMD_STATUS 0x0f
struct bt_hci_evt_cmd_status {
uint8_t status;
uint8_t ncmd;
uint16_t opcode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_HARDWARE_ERROR 0x10
struct bt_hci_evt_hardware_error {
uint8_t code;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_FLUSH_OCCURRED 0x11
struct bt_hci_evt_flush_occurred {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_ROLE_CHANGE 0x12
struct bt_hci_evt_role_change {
uint8_t status;
uint8_t bdaddr[6];
uint8_t role;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_NUM_COMPLETED_PACKETS 0x13
struct bt_hci_evt_num_completed_packets {
uint8_t num_handles;
uint16_t handle;
uint16_t count;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_MODE_CHANGE 0x14
struct bt_hci_evt_mode_change {
@@ -3390,74 +3394,74 @@ struct bt_hci_evt_mode_change {
uint16_t handle;
uint8_t mode;
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_RETURN_LINK_KEYS 0x15
struct bt_hci_evt_return_link_keys {
uint8_t num_keys;
uint8_t keys[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PIN_CODE_REQUEST 0x16
struct bt_hci_evt_pin_code_request {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LINK_KEY_REQUEST 0x17
struct bt_hci_evt_link_key_request {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LINK_KEY_NOTIFY 0x18
struct bt_hci_evt_link_key_notify {
uint8_t bdaddr[6];
uint8_t link_key[16];
uint8_t key_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LOOPBACK_COMMAND 0x19
#define BT_HCI_EVT_DATA_BUFFER_OVERFLOW 0x1a
struct bt_hci_evt_data_buffer_overflow {
uint8_t link_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_MAX_SLOTS_CHANGE 0x1b
struct bt_hci_evt_max_slots_change {
uint16_t handle;
uint8_t max_slots;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CLOCK_OFFSET_COMPLETE 0x1c
struct bt_hci_evt_clock_offset_complete {
uint8_t status;
uint16_t handle;
uint16_t clock_offset;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CONN_PKT_TYPE_CHANGED 0x1d
struct bt_hci_evt_conn_pkt_type_changed {
uint8_t status;
uint16_t handle;
uint16_t pkt_type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_QOS_VIOLATION 0x1e
struct bt_hci_evt_qos_violation {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PSCAN_MODE_CHANGE 0x1f
struct bt_hci_evt_pscan_mode_change {
uint8_t bdaddr[6];
uint8_t pscan_mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PSCAN_REP_MODE_CHANGE 0x20
struct bt_hci_evt_pscan_rep_mode_change {
uint8_t bdaddr[6];
uint8_t pscan_rep_mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_FLOW_SPEC_COMPLETE 0x21
struct bt_hci_evt_flow_spec_complete {
@@ -3470,7 +3474,7 @@ struct bt_hci_evt_flow_spec_complete {
uint32_t token_bucket_size;
uint32_t peak_bandwidth;
uint32_t access_latency;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI 0x22
struct bt_hci_evt_inquiry_result_with_rssi {
@@ -3481,7 +3485,7 @@ struct bt_hci_evt_inquiry_result_with_rssi {
uint8_t dev_class[3];
uint16_t clock_offset;
int8_t rssi;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_REMOTE_EXT_FEATURES_COMPLETE 0x23
struct bt_hci_evt_remote_ext_features_complete {
@@ -3490,7 +3494,7 @@ struct bt_hci_evt_remote_ext_features_complete {
uint8_t page;
uint8_t max_page;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_SYNC_CONN_COMPLETE 0x2c
struct bt_hci_evt_sync_conn_complete {
@@ -3503,7 +3507,7 @@ struct bt_hci_evt_sync_conn_complete {
uint16_t rx_pkt_len;
uint16_t tx_pkt_len;
uint8_t air_mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_SYNC_CONN_CHANGED 0x2d
struct bt_hci_evt_sync_conn_changed {
@@ -3513,7 +3517,7 @@ struct bt_hci_evt_sync_conn_changed {
uint8_t retrans_window;
uint16_t rx_pkt_len;
uint16_t tx_pkt_len;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_SNIFF_SUBRATING 0x2e
struct bt_hci_evt_sniff_subrating {
@@ -3523,7 +3527,7 @@ struct bt_hci_evt_sniff_subrating {
uint16_t max_rx_latency;
uint16_t min_remote_timeout;
uint16_t min_local_timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_EXT_INQUIRY_RESULT 0x2f
struct bt_hci_evt_ext_inquiry_result {
@@ -3535,18 +3539,18 @@ struct bt_hci_evt_ext_inquiry_result {
uint16_t clock_offset;
int8_t rssi;
uint8_t data[240];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE 0x30
struct bt_hci_evt_encrypt_key_refresh_complete {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_IO_CAPABILITY_REQUEST 0x31
struct bt_hci_evt_io_capability_request {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_IO_CAPABILITY_RESPONSE 0x32
struct bt_hci_evt_io_capability_response {
@@ -3554,58 +3558,58 @@ struct bt_hci_evt_io_capability_response {
uint8_t capability;
uint8_t oob_data;
uint8_t authentication;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_USER_CONFIRM_REQUEST 0x33
struct bt_hci_evt_user_confirm_request {
uint8_t bdaddr[6];
uint32_t passkey;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_USER_PASSKEY_REQUEST 0x34
struct bt_hci_evt_user_passkey_request {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_REMOTE_OOB_DATA_REQUEST 0x35
struct bt_hci_evt_remote_oob_data_request {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_SIMPLE_PAIRING_COMPLETE 0x36
struct bt_hci_evt_simple_pairing_complete {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LINK_SUPV_TIMEOUT_CHANGED 0x38
struct bt_hci_evt_link_supv_timeout_changed {
uint16_t handle;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_ENHANCED_FLUSH_COMPLETE 0x39
struct bt_hci_evt_enhanced_flush_complete {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_USER_PASSKEY_NOTIFY 0x3b
struct bt_hci_evt_user_passkey_notify {
uint8_t bdaddr[6];
uint32_t passkey;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_KEYPRESS_NOTIFY 0x3c
struct bt_hci_evt_keypress_notify {
uint8_t bdaddr[6];
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_REMOTE_HOST_FEATURES_NOTIFY 0x3d
struct bt_hci_evt_remote_host_features_notify {
uint8_t bdaddr[6];
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_META_EVENT 0x3e
@@ -3613,30 +3617,30 @@ uint8_t bdaddr[6];
struct bt_hci_evt_phy_link_complete {
uint8_t status;
uint8_t phy_handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_CHANNEL_SELECTED 0x41
struct bt_hci_evt_channel_selected {
uint8_t phy_handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_DISCONN_PHY_LINK_COMPLETE 0x42
struct bt_hci_evt_disconn_phy_link_complete {
uint8_t status;
uint8_t phy_handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PHY_LINK_LOSS_EARLY_WARNING 0x43
struct bt_hci_evt_phy_link_loss_early_warning {
uint8_t phy_handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PHY_LINK_RECOVERY 0x44
struct bt_hci_evt_phy_link_recovery {
uint8_t phy_handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LOGIC_LINK_COMPLETE 0x45
struct bt_hci_evt_logic_link_complete {
@@ -3644,20 +3648,20 @@ struct bt_hci_evt_logic_link_complete {
uint16_t handle;
uint8_t phy_handle;
uint8_t flow_spec;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_DISCONN_LOGIC_LINK_COMPLETE 0x46
struct bt_hci_evt_disconn_logic_link_complete {
uint8_t status;
uint16_t handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_FLOW_SPEC_MODIFY_COMPLETE 0x47
struct bt_hci_evt_flow_spec_modify_complete {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_NUM_COMPLETED_DATA_BLOCKS 0x48
struct bt_hci_evt_num_completed_data_blocks {
@@ -3666,20 +3670,20 @@ struct bt_hci_evt_num_completed_data_blocks {
uint16_t handle;
uint16_t num_packets;
uint16_t num_blocks;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_SHORT_RANGE_MODE_CHANGE 0x4c
struct bt_hci_evt_short_range_mode_change {
uint8_t status;
uint8_t phy_handle;
uint8_t mode;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_AMP_STATUS_CHANGE 0x4d
struct bt_hci_evt_amp_status_change {
uint8_t status;
uint8_t amp_status;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_TRIGGERED_CLOCK_CAPTURE 0x4e
struct bt_hci_evt_triggered_clock_capture {
@@ -3687,12 +3691,12 @@ struct bt_hci_evt_triggered_clock_capture {
uint8_t type;
uint32_t clock;
uint16_t clock_offset;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_SYNC_TRAIN_COMPLETE 0x4f
struct bt_hci_evt_sync_train_complete {
uint8_t status;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_SYNC_TRAIN_RECEIVED 0x50
struct bt_hci_evt_sync_train_received {
@@ -3704,7 +3708,7 @@ struct bt_hci_evt_sync_train_received {
uint32_t instant;
uint16_t interval;
uint8_t service_data;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PERIPHERAL_BROADCAST_RECEIVE 0x51
struct bt_hci_evt_peripheral_broadcast_receive {
@@ -3715,37 +3719,37 @@ struct bt_hci_evt_peripheral_broadcast_receive {
uint8_t status;
uint8_t fragment;
uint8_t length;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PERIPHERAL_BROADCAST_TIMEOUT 0x52
struct bt_hci_evt_peripheral_broadcast_timeout {
uint8_t bdaddr[6];
uint8_t lt_addr;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_TRUNCATED_PAGE_COMPLETE 0x53
struct bt_hci_evt_truncated_page_complete {
uint8_t status;
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_PERIPHERAL_PAGE_RESPONSE_TIMEOUT 0x54
#define BT_HCI_EVT_PERIPHERAL_BROADCAST_CHANNEL_MAP_CHANGE 0x55
struct bt_hci_evt_channel_map_change {
uint8_t map[10];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_INQUIRY_RESPONSE_NOTIFY 0x56
struct bt_hci_evt_inquiry_response_notify {
uint8_t lap[3];
int8_t rssi;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_AUTH_PAYLOAD_TIMEOUT_EXPIRED 0x57
struct bt_hci_evt_auth_payload_timeout_expired {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_ENCRYPT_CHANGE_V2 0x59
struct bt_hci_evt_encrypt_change_v2 {
@@ -3753,7 +3757,7 @@ struct bt_hci_evt_encrypt_change_v2 {
uint16_t handle;
uint8_t encr_mode;
uint8_t encr_key_size;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CONN_COMPLETE 0x01
struct bt_hci_evt_le_conn_complete {
@@ -3766,7 +3770,7 @@ struct bt_hci_evt_le_conn_complete {
uint16_t latency;
uint16_t supv_timeout;
uint8_t clock_accuracy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_ADV_REPORT 0x02
struct bt_hci_evt_le_adv_report {
@@ -3776,7 +3780,7 @@ struct bt_hci_evt_le_adv_report {
uint8_t addr[6];
uint8_t data_len;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE 0x03
struct bt_hci_evt_le_conn_update_complete {
@@ -3785,21 +3789,21 @@ struct bt_hci_evt_le_conn_update_complete {
uint16_t interval;
uint16_t latency;
uint16_t supv_timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_REMOTE_FEATURES_COMPLETE 0x04
struct bt_hci_evt_le_remote_features_complete {
uint8_t status;
uint16_t handle;
uint8_t features[8];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_LONG_TERM_KEY_REQUEST 0x05
struct bt_hci_evt_le_long_term_key_request {
uint16_t handle;
uint64_t rand;
uint16_t ediv;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CONN_PARAM_REQUEST 0x06
struct bt_hci_evt_le_conn_param_request {
@@ -3808,7 +3812,7 @@ struct bt_hci_evt_le_conn_param_request {
uint16_t max_interval;
uint16_t latency;
uint16_t supv_timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_DATA_LENGTH_CHANGE 0x07
struct bt_hci_evt_le_data_length_change {
@@ -3817,19 +3821,19 @@ struct bt_hci_evt_le_data_length_change {
uint16_t max_tx_time;
uint16_t max_rx_len;
uint16_t max_rx_time;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_READ_LOCAL_PK256_COMPLETE 0x08
struct bt_hci_evt_le_read_local_pk256_complete {
uint8_t status;
uint8_t local_pk256[64];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE 0x09
struct bt_hci_evt_le_generate_dhkey_complete {
uint8_t status;
uint8_t dhkey[32];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_ENHANCED_CONN_COMPLETE 0x0a
struct bt_hci_evt_le_enhanced_conn_complete {
@@ -3844,7 +3848,7 @@ struct bt_hci_evt_le_enhanced_conn_complete {
uint16_t latency;
uint16_t supv_timeout;
uint8_t clock_accuracy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_DIRECT_ADV_REPORT 0x0b
struct bt_hci_evt_le_direct_adv_report {
@@ -3855,7 +3859,7 @@ struct bt_hci_evt_le_direct_adv_report {
uint8_t direct_addr_type;
uint8_t direct_addr[6];
int8_t rssi;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE 0x0c
struct bt_hci_evt_le_phy_update_complete {
@@ -3863,12 +3867,12 @@ struct bt_hci_evt_le_phy_update_complete {
uint16_t handle;
uint8_t tx_phy;
uint8_t rx_phy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_EXT_ADV_REPORT 0x0d
struct bt_hci_evt_le_ext_adv_report {
uint8_t num_reports;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_le_ext_adv_report {
uint16_t event_type;
uint8_t addr_type;
@@ -3883,7 +3887,7 @@ struct bt_hci_le_ext_adv_report {
uint8_t direct_addr[6];
uint8_t data_len;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_PA_SYNC_ESTABLISHED 0x0e
struct bt_hci_evt_le_per_sync_established {
@@ -3895,35 +3899,35 @@ struct bt_hci_evt_le_per_sync_established {
uint8_t phy;
uint16_t interval;
uint8_t clock_accuracy;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_le_pa_base_codec {
uint8_t id;
uint16_t cid;
uint16_t vid;
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_lv_data {
uint8_t len;
uint8_t data[];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_le_pa_base_bis {
uint8_t index;
struct bt_hci_lv_data codec_cfg[];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_le_pa_base_subgroup {
uint8_t num_bis;
struct bt_hci_le_pa_base_codec codec;
uint8_t data[];
-} __attribute__ ((packed));
+} __packed;
struct bt_hci_le_pa_base_data {
uint8_t pd[3];
uint8_t num_subgroups;
struct bt_hci_le_pa_base_subgroup subgroups[];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_PA_REPORT 0x0f
struct bt_hci_le_pa_report {
@@ -3934,12 +3938,12 @@ struct bt_hci_le_pa_report {
uint8_t data_status;
uint8_t data_len;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_PA_SYNC_LOST 0x10
struct bt_hci_evt_le_per_sync_lost {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_ADV_SET_TERM 0x12
struct bt_hci_evt_le_adv_set_term {
@@ -3947,26 +3951,26 @@ struct bt_hci_evt_le_adv_set_term {
uint8_t handle;
uint16_t conn_handle;
uint8_t num_evts;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_SCAN_REQ_RECEIVED 0x13
struct bt_hci_evt_le_scan_req_received {
uint8_t handle;
uint8_t scanner_addr_type;
uint8_t scanner_addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CHAN_SELECT_ALG 0x14
struct bt_hci_evt_le_chan_select_alg {
uint16_t handle;
uint8_t algorithm;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CTE_REQUEST_FAILED 0x17
struct bt_hci_evt_le_cte_request_failed {
uint8_t status;
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_PAST_RECEIVED 0x18
struct bt_hci_evt_le_past_recv {
@@ -3980,7 +3984,7 @@ struct bt_hci_evt_le_past_recv {
uint8_t phy;
uint16_t interval;
uint8_t clock_accuracy;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CIS_ESTABLISHED 0x19
struct bt_hci_evt_le_cis_established {
@@ -4000,7 +4004,7 @@ struct bt_hci_evt_le_cis_established {
uint16_t c_mtu;
uint16_t p_mtu;
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CIS_REQ 0x1a
struct bt_hci_evt_le_cis_req {
@@ -4008,7 +4012,7 @@ struct bt_hci_evt_le_cis_req {
uint16_t cis_handle;
uint8_t cig_id;
uint8_t cis_id;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_BIG_COMPLETE 0x1b
struct bt_hci_evt_le_big_complete {
@@ -4025,13 +4029,13 @@ struct bt_hci_evt_le_big_complete {
uint16_t interval;
uint8_t num_bis;
uint16_t bis_handle[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_BIG_TERMINATE 0x1c
struct bt_hci_evt_le_big_terminate {
uint8_t handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_BIG_SYNC_ESTABILISHED 0x1d
struct bt_hci_evt_le_big_sync_estabilished {
@@ -4046,20 +4050,20 @@ struct bt_hci_evt_le_big_sync_estabilished {
uint16_t interval;
uint8_t num_bis;
uint16_t bis[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_BIG_SYNC_LOST 0x1e
struct bt_hci_evt_le_big_sync_lost {
uint8_t big_handle;
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_REQ_PEER_SCA_COMPLETE 0x1f
struct bt_hci_evt_le_req_peer_sca_complete {
uint8_t status;
uint16_t handle;
uint8_t sca;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_BIG_INFO_ADV_REPORT 0x22
struct bt_hci_evt_le_big_info_adv_report {
@@ -4076,7 +4080,7 @@ struct bt_hci_evt_le_big_info_adv_report {
uint8_t phy;
uint8_t framing;
uint8_t encryption;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_READ_ALL_REMOTE_FEATURES_COMPLETE 0x2B
struct bt_hci_evt_le_read_all_remote_features_complete {
@@ -4085,7 +4089,7 @@ struct bt_hci_evt_le_read_all_remote_features_complete {
uint8_t max_pages;
uint8_t valid_pages;
uint8_t features[248];
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_RD_REM_SUPP_CAP_COMPLETE (0x2C)
struct bt_hci_evt_le_cs_rd_rem_supp_cap_complete {
@@ -4111,20 +4115,20 @@ struct bt_hci_evt_le_cs_rd_rem_supp_cap_complete {
uint16_t t_pm_times_supported;
uint8_t t_sw_time_supported;
uint8_t tx_snr_capability;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_RD_REM_FAE_COMPLETE (0x2D)
struct bt_hci_evt_le_cs_rd_rem_fae_complete {
uint8_t status;
uint16_t handle;
uint8_t remote_fae_table[72];
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_SEC_ENABLE_COMPLETE (0x2E)
struct bt_hci_evt_le_cs_sec_enable_complete {
uint8_t status;
uint16_t handle;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_CONFIG_COMPLETE (0x2F)
struct bt_hci_evt_le_cs_config_complete {
@@ -4151,7 +4155,7 @@ struct bt_hci_evt_le_cs_config_complete {
uint8_t t_ip2_time;
uint8_t t_fcs_time;
uint8_t t_pm_time;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_PROC_ENABLE_COMPLETE (0x30)
struct bt_hci_evt_le_cs_proc_enable_complete {
@@ -4168,7 +4172,7 @@ struct bt_hci_evt_le_cs_proc_enable_complete {
uint16_t procedure_interval;
uint16_t procedure_count;
uint16_t max_procedure_len;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_SUBEVENT_RESULT (0x31)
struct bt_hci_evt_le_cs_subevent_result {
@@ -4184,7 +4188,7 @@ struct bt_hci_evt_le_cs_subevent_result {
uint8_t num_antenna_paths;
uint8_t num_steps_reported;
uint8_t steps[];
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_SUBEVENT_RESULT_CONTINUE (0x32)
struct bt_hci_evt_le_cs_subevent_result_continue {
@@ -4196,12 +4200,12 @@ struct bt_hci_evt_le_cs_subevent_result_continue {
uint8_t num_antenna_paths;
uint8_t num_steps_reported;
uint8_t steps[];
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_CS_TEST_END_COMPLETE (0x33)
struct bt_hci_evt_le_cs_test_end_complete {
uint8_t status;
-} __attribute__((packed));
+} __packed;
#define BT_HCI_EVT_LE_FSU_COMPLETE 0x35
struct bt_hci_evt_le_fsu_complete {
@@ -4211,7 +4215,7 @@ struct bt_hci_evt_le_fsu_complete {
uint16_t frame_space;
uint8_t phys;
uint8_t types;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_EVT_LE_CONN_RATE_CHANGE 0x37
struct bt_hci_evt_le_conn_rate_change {
@@ -4222,7 +4226,7 @@ struct bt_hci_evt_le_conn_rate_change {
uint16_t latency;
uint16_t cont_number;
uint16_t supv_timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_HCI_ERR_SUCCESS 0x00
#define BT_HCI_ERR_UNKNOWN_COMMAND 0x01
@@ -4248,24 +4252,24 @@ struct bt_l2cap_hdr {
uint16_t len;
uint16_t cid;
uint8_t data[];
-} __attribute__ ((packed));
+} __packed;
struct bt_l2cap_hdr_sig {
uint8_t code;
uint8_t ident;
uint16_t len;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CMD_REJECT 0x01
struct bt_l2cap_pdu_cmd_reject {
uint16_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CONN_REQ 0x02
struct bt_l2cap_pdu_conn_req {
uint16_t psm;
uint16_t scid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CONN_RSP 0x03
struct bt_l2cap_pdu_conn_rsp {
@@ -4273,32 +4277,32 @@ struct bt_l2cap_pdu_conn_rsp {
uint16_t scid;
uint16_t result;
uint16_t status;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CONFIG_REQ 0x04
struct bt_l2cap_pdu_config_req {
uint16_t dcid;
uint16_t flags;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CONFIG_RSP 0x05
struct bt_l2cap_pdu_config_rsp {
uint16_t scid;
uint16_t flags;
uint16_t result;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_DISCONN_REQ 0x06
struct bt_l2cap_pdu_disconn_req {
uint16_t dcid;
uint16_t scid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_DISCONN_RSP 0x07
struct bt_l2cap_pdu_disconn_rsp {
uint16_t dcid;
uint16_t scid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_ECHO_REQ 0x08
@@ -4307,21 +4311,21 @@ struct bt_l2cap_pdu_disconn_rsp {
#define BT_L2CAP_PDU_INFO_REQ 0x0a
struct bt_l2cap_pdu_info_req {
uint16_t type;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_INFO_RSP 0x0b
struct bt_l2cap_pdu_info_rsp {
uint16_t type;
uint16_t result;
uint8_t data[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CREATE_CHAN_REQ 0x0c
struct bt_l2cap_pdu_create_chan_req {
uint16_t psm;
uint16_t scid;
uint8_t ctrlid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CREATE_CHAN_RSP 0x0d
struct bt_l2cap_pdu_create_chan_rsp {
@@ -4329,30 +4333,30 @@ struct bt_l2cap_pdu_create_chan_rsp {
uint16_t scid;
uint16_t result;
uint16_t status;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_MOVE_CHAN_REQ 0x0e
struct bt_l2cap_pdu_move_chan_req {
uint16_t icid;
uint8_t ctrlid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_MOVE_CHAN_RSP 0x0f
struct bt_l2cap_pdu_move_chan_rsp {
uint16_t icid;
uint16_t result;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_MOVE_CHAN_CFM 0x10
struct bt_l2cap_pdu_move_chan_cfm {
uint16_t icid;
uint16_t result;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_MOVE_CHAN_CFM_RSP 0x11
struct bt_l2cap_pdu_move_chan_cfm_rsp {
uint16_t icid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CONN_PARAM_REQ 0x12
struct bt_l2cap_pdu_conn_param_req {
@@ -4360,12 +4364,12 @@ struct bt_l2cap_pdu_conn_param_req {
uint16_t max_interval;
uint16_t latency;
uint16_t timeout;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_CONN_PARAM_RSP 0x13
struct bt_l2cap_pdu_conn_param_rsp {
uint16_t result;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_LE_CONN_REQ 0x14
struct bt_l2cap_pdu_le_conn_req {
@@ -4374,7 +4378,7 @@ struct bt_l2cap_pdu_le_conn_req {
uint16_t mtu;
uint16_t mps;
uint16_t credits;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_LE_CONN_RSP 0x15
struct bt_l2cap_pdu_le_conn_rsp {
@@ -4383,13 +4387,13 @@ struct bt_l2cap_pdu_le_conn_rsp {
uint16_t mps;
uint16_t credits;
uint16_t result;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_LE_FLOWCTL_CREDS 0x16
struct bt_l2cap_pdu_le_flowctl_creds {
uint16_t cid;
uint16_t credits;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_ECRED_CONN_REQ 0x17
struct bt_l2cap_pdu_ecred_conn_req {
@@ -4398,7 +4402,7 @@ struct bt_l2cap_pdu_ecred_conn_req {
uint16_t mps;
uint16_t credits;
uint16_t scid[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_ECRED_CONN_RSP 0x18
struct bt_l2cap_pdu_ecred_conn_rsp {
@@ -4407,46 +4411,46 @@ struct bt_l2cap_pdu_ecred_conn_rsp {
uint16_t credits;
uint16_t result;
uint16_t dcid[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_ECRED_RECONF_REQ 0x19
struct bt_l2cap_pdu_ecred_reconf_req {
uint16_t mtu;
uint16_t mps;
uint16_t scid[0];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_PDU_ECRED_RECONF_RSP 0x1a
struct bt_l2cap_pdu_ecred_reconf_rsp {
uint16_t result;
-} __attribute__ ((packed));
+} __packed;
struct bt_l2cap_hdr_connless {
uint16_t psm;
-} __attribute__ ((packed));
+} __packed;
struct bt_l2cap_hdr_amp {
uint8_t code;
uint8_t ident;
uint16_t len;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_CMD_REJECT 0x01
struct bt_l2cap_amp_cmd_reject {
uint16_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_DISCOVER_REQ 0x02
struct bt_l2cap_amp_discover_req {
uint16_t size;
uint16_t features;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_DISCOVER_RSP 0x03
struct bt_l2cap_amp_discover_rsp {
uint16_t size;
uint16_t features;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_CHANGE_NOTIFY 0x04
@@ -4455,7 +4459,7 @@ struct bt_l2cap_amp_discover_rsp {
#define BT_L2CAP_AMP_GET_INFO_REQ 0x06
struct bt_l2cap_amp_get_info_req {
uint8_t ctrlid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_GET_INFO_RSP 0x07
struct bt_l2cap_amp_get_info_rsp {
@@ -4466,81 +4470,81 @@ struct bt_l2cap_amp_get_info_rsp {
uint32_t min_latency;
uint16_t pal_cap;
uint16_t max_assoc_len;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_GET_ASSOC_REQ 0x08
struct bt_l2cap_amp_get_assoc_req {
uint8_t ctrlid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_GET_ASSOC_RSP 0x09
struct bt_l2cap_amp_get_assoc_rsp {
uint8_t ctrlid;
uint8_t status;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_CREATE_PHY_LINK_REQ 0x0a
struct bt_l2cap_amp_create_phy_link_req {
uint8_t local_ctrlid;
uint8_t remote_ctrlid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_CREATE_PHY_LINK_RSP 0x0b
struct bt_l2cap_amp_create_phy_link_rsp {
uint8_t local_ctrlid;
uint8_t remote_ctrlid;
uint8_t status;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_DISCONN_PHY_LINK_REQ 0x0c
struct bt_l2cap_amp_disconn_phy_link_req {
uint8_t local_ctrlid;
uint8_t remote_ctrlid;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_AMP_DISCONN_PHY_LINK_RSP 0x0d
struct bt_l2cap_amp_disconn_phy_link_rsp {
uint8_t local_ctrlid;
uint8_t remote_ctrlid;
uint8_t status;
-} __attribute__ ((packed));
+} __packed;
struct bt_l2cap_hdr_att {
uint8_t code;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_ERROR_RESPONSE 0x01
struct bt_l2cap_att_error_response {
uint8_t request;
uint16_t handle;
uint8_t error;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_EXCHANGE_MTU_REQ 0x02
struct bt_l2cap_att_exchange_mtu_req {
uint16_t mtu;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_EXCHANGE_MTU_RSP 0x03
struct bt_l2cap_att_exchange_mtu_rsp {
uint16_t mtu;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_READ_TYPE_REQ 0x08
struct bt_l2cap_att_read_type_req {
uint16_t start_handle;
uint16_t end_handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_READ_TYPE_RSP 0x09
struct bt_l2cap_att_read_type_rsp {
uint8_t length;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_READ_REQ 0x0a
struct bt_l2cap_att_read_req {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_READ_RSP 0x0b
@@ -4548,28 +4552,28 @@ struct bt_l2cap_att_read_req {
struct bt_l2cap_att_read_group_type_req {
uint16_t start_handle;
uint16_t end_handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_READ_GROUP_TYPE_RSP 0x11
struct bt_l2cap_att_read_group_type_rsp {
uint8_t length;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_HANDLE_VALUE_NOTIFY 0x1b
struct bt_l2cap_att_handle_value_notify {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_HANDLE_VALUE_IND 0x1d
struct bt_l2cap_att_handle_value_ind {
uint16_t handle;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_ATT_HANDLE_VALUE_CONF 0x1e
struct bt_l2cap_hdr_smp {
uint8_t code;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_PAIRING_REQUEST 0x01
struct bt_l2cap_smp_pairing_request {
@@ -4579,7 +4583,7 @@ struct bt_l2cap_smp_pairing_request {
uint8_t max_key_size;
uint8_t init_key_dist;
uint8_t resp_key_dist;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_PAIRING_RESPONSE 0x02
struct bt_l2cap_smp_pairing_response {
@@ -4589,73 +4593,73 @@ struct bt_l2cap_smp_pairing_response {
uint8_t max_key_size;
uint8_t init_key_dist;
uint8_t resp_key_dist;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_PAIRING_CONFIRM 0x03
struct bt_l2cap_smp_pairing_confirm {
uint8_t value[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_PAIRING_RANDOM 0x04
struct bt_l2cap_smp_pairing_random {
uint8_t value[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_PAIRING_FAILED 0x05
struct bt_l2cap_smp_pairing_failed {
uint8_t reason;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_ENCRYPT_INFO 0x06
struct bt_l2cap_smp_encrypt_info {
uint8_t ltk[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_CENTRAL_IDENT 0x07
struct bt_l2cap_smp_central_ident {
uint16_t ediv;
uint64_t rand;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_IDENT_INFO 0x08
struct bt_l2cap_smp_ident_info {
uint8_t irk[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_IDENT_ADDR_INFO 0x09
struct bt_l2cap_smp_ident_addr_info {
uint8_t addr_type;
uint8_t addr[6];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_SIGNING_INFO 0x0a
struct bt_l2cap_smp_signing_info {
uint8_t csrk[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_SECURITY_REQUEST 0x0b
struct bt_l2cap_smp_security_request {
uint8_t auth_req;
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_PUBLIC_KEY 0x0c
struct bt_l2cap_smp_public_key {
uint8_t x[32];
uint8_t y[32];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_DHKEY_CHECK 0x0d
struct bt_l2cap_smp_dhkey_check {
uint8_t e[16];
-} __attribute__ ((packed));
+} __packed;
#define BT_L2CAP_SMP_KEYPRESS_NOTIFY 0x0e
struct bt_l2cap_smp_keypress_notify {
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
struct bt_sdp_hdr {
uint8_t pdu;
uint16_t tid;
uint16_t plen;
-} __attribute__ ((packed));
+} __packed;
diff --git a/monitor/packet.c b/monitor/packet.c
index 0ad106eeaf3b..9162b41f72ed 100644
--- a/monitor/packet.c
+++ b/monitor/packet.c
@@ -4689,7 +4689,7 @@ struct broadcast_message {
uint16_t right_close_offset;
uint16_t frame_sync_period;
uint8_t frame_sync_period_fraction;
-} __attribute__ ((packed));
+} __packed;
static void print_3d_broadcast(const void *data, uint8_t size)
{
@@ -14680,7 +14680,7 @@ void packet_system_note(struct timeval *tv, struct ucred *cred, uint16_t index,
struct monitor_l2cap_hdr {
uint16_t cid;
uint16_t psm;
-} __attribute__((packed));
+} __packed;
static void packet_decode(struct timeval *tv, struct ucred *cred, char dir,
uint16_t index, const char *color,
diff --git a/tools/3dsp.c b/tools/3dsp.c
index 267a39e9043b..76026bef29e3 100644
--- a/tools/3dsp.c
+++ b/tools/3dsp.c
@@ -37,7 +37,7 @@ struct broadcast_message {
uint16_t right_close_offset;
uint16_t frame_sync_period;
uint8_t frame_sync_period_fraction;
-} __attribute__ ((packed));
+} __packed;
struct brcm_evt_sync_train_received {
uint8_t status;
@@ -48,7 +48,7 @@ struct brcm_evt_sync_train_received {
uint8_t lt_addr;
uint32_t instant;
uint16_t interval;
-} __attribute__ ((packed));
+} __packed;
static struct bt_hci *hci_dev;
diff --git a/tools/bluemoon.c b/tools/bluemoon.c
index 9aaf6428da42..322366a9e1d2 100644
--- a/tools/bluemoon.c
+++ b/tools/bluemoon.c
@@ -35,7 +35,7 @@ struct cmd_reset {
uint8_t otp_ddc_reload;
uint8_t boot_option;
uint32_t boot_addr;
-} __attribute__ ((packed));
+} __packed;
#define CMD_NO_OPERATION 0xfc02
@@ -51,7 +51,7 @@ struct rsp_read_version {
uint8_t fw_build_cw;
uint8_t fw_build_yy;
uint8_t fw_patch;
-} __attribute__ ((packed));
+} __packed;
#define CMD_READ_BOOT_PARAMS 0xfc0d
struct rsp_read_boot_params {
@@ -72,7 +72,7 @@ struct rsp_read_boot_params {
uint8_t min_fw_build_yy;
uint8_t limited_cce;
uint8_t unlocked_state;
-} __attribute__ ((packed));
+} __packed;
#define CMD_WRITE_BOOT_PARAMS 0xfc0e
struct cmd_write_boot_params {
@@ -80,13 +80,13 @@ struct cmd_write_boot_params {
uint8_t fw_build_nn;
uint8_t fw_build_cw;
uint8_t fw_build_yy;
-} __attribute__ ((packed));
+} __packed;
#define CMD_MANUFACTURER_MODE 0xfc11
struct cmd_manufacturer_mode {
uint8_t mode_switch;
uint8_t reset;
-} __attribute__ ((packed));
+} __packed;
#define CMD_WRITE_BD_DATA 0xfc2f
struct cmd_write_bd_data {
@@ -97,7 +97,7 @@ struct cmd_write_bd_data {
uint8_t reserved2[32];
uint8_t lmp_version;
uint8_t reserved3[26];
-} __attribute__ ((packed));
+} __packed;
#define CMD_READ_BD_DATA 0xfc30
struct rsp_read_bd_data {
@@ -109,24 +109,24 @@ struct rsp_read_bd_data {
uint8_t reserved2[32];
uint8_t lmp_version;
uint8_t reserved3[26];
-} __attribute__ ((packed));
+} __packed;
#define CMD_WRITE_BD_ADDRESS 0xfc31
struct cmd_write_bd_address {
uint8_t bdaddr[6];
-} __attribute__ ((packed));
+} __packed;
#define CMD_ACT_DEACT_TRACES 0xfc43
struct cmd_act_deact_traces {
uint8_t tx_trace;
uint8_t tx_arq;
uint8_t rx_trace;
-} __attribute__ ((packed));
+} __packed;
#define CMD_TRIGGER_EXCEPTION 0xfc4d
struct cmd_trigger_exception {
uint8_t type;
-} __attribute__ ((packed));
+} __packed;
#define CMD_DDC_CONFIG_WRITE 0xfc8b
@@ -755,7 +755,7 @@ struct ddc {
uint8_t size;
uint16_t id;
uint8_t value[0];
-} __attribute__ ((packed));
+} __packed;
static unsigned int analyze_ddc(uint8_t *data, ssize_t len)
{
@@ -852,7 +852,7 @@ struct css_hdr {
uint32_t modulus_size;
uint32_t exponent_size;
uint8_t reserved[88];
-} __attribute__ ((packed));
+} __packed;
static void analyze_firmware(const char *path)
{
diff --git a/tools/l2cap-tester.c b/tools/l2cap-tester.c
index 4002ca561db8..bc4495237b9c 100644
--- a/tools/l2cap-tester.c
+++ b/tools/l2cap-tester.c
@@ -1701,7 +1701,7 @@ static void setup_powered_client(const void *test_data)
struct {
struct mgmt_cp_load_conn_subrate cp;
struct mgmt_conn_subrate param;
- } __attribute__((packed)) load;
+ } __packed load;
client_bdaddr = hciemu_get_client_bdaddr(data->hciemu);
if (!client_bdaddr) {
--
2.56.0
next prev parent reply other threads:[~2026-11-10 16:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 16:34 [PATCH BlueZ v8 00/11] Add support for HDT and EKS Luiz Augusto von Dentz
2026-11-10 16:34 ` Luiz Augusto von Dentz [this message]
2026-11-10 18:37 ` bluez.test.bot
2026-11-10 16:34 ` [PATCH BlueZ v8 02/11] lib: Add HDT definitions Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 03/11] doc/iso-protocol: Document BT_ISO_QOS Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 04/11] monitor: Add HCI decoding for HDT Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 05/11] monitor: Add LL " Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 06/11] emulator: Add HDT support to btdev Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 07/11] emulator: Add HDT support to bthost Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 08/11] shared/gatt: Add MIC length permission checks Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 09/11] main.conf: Add HDT configuration Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 10/11] l2cap-tester, iso-tester, mgmt-tester: Add HDT tests Luiz Augusto von Dentz
2026-11-10 16:34 ` [PATCH BlueZ v8 11/11] l2test: Add HDT options Luiz Augusto von Dentz
-- strict thread matches above, loose matches on Subject: below --
2026-11-10 22:24 [PATCH BlueZ v8 00/11] Add support for HDT and EKS Luiz Augusto von Dentz
2026-11-10 22:25 ` [PATCH BlueZ v8 01/11] monitor: Use __packed in bt.h and its users Luiz Augusto von Dentz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261110163452.2649366-2-luiz.dentz@gmail.com \
--to=luiz.dentz@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.