Bluetooth: ATT: Reorder handler struct for compactness

Move the uint8_t members together to save 4 bytes for each struct.

Change-Id: I522be86397c57fd062018e409b65835912c6e7bc
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
Johan Hedberg 2017-03-17 10:58:46 +02:00
commit 6a2d57d90e

View file

@ -1603,60 +1603,91 @@ static uint8_t att_confirm(struct bt_att *att, struct net_buf *buf)
static const struct {
uint8_t op;
uint8_t (*func)(struct bt_att *att, struct net_buf *buf);
uint8_t expect_len;
uint8_t (*func)(struct bt_att *att, struct net_buf *buf);
} handlers[] = {
{ BT_ATT_OP_ERROR_RSP, att_error_rsp,
sizeof(struct bt_att_error_rsp) },
{ BT_ATT_OP_MTU_REQ, att_mtu_req,
sizeof(struct bt_att_exchange_mtu_req) },
{ BT_ATT_OP_MTU_RSP, att_mtu_rsp,
sizeof(struct bt_att_exchange_mtu_rsp) },
{ BT_ATT_OP_FIND_INFO_REQ, att_find_info_req,
sizeof(struct bt_att_find_info_req) },
{ BT_ATT_OP_FIND_INFO_RSP, att_handle_find_info_rsp,
sizeof(struct bt_att_find_info_rsp) },
{ BT_ATT_OP_FIND_TYPE_REQ, att_find_type_req,
sizeof(struct bt_att_find_type_req) },
{ BT_ATT_OP_FIND_TYPE_RSP, att_handle_find_type_rsp,
sizeof(struct bt_att_find_type_rsp) },
{ BT_ATT_OP_READ_TYPE_REQ, att_read_type_req,
sizeof(struct bt_att_read_type_req) },
{ BT_ATT_OP_READ_TYPE_RSP, att_handle_read_type_rsp,
sizeof(struct bt_att_read_type_rsp) },
{ BT_ATT_OP_READ_REQ, att_read_req,
sizeof(struct bt_att_read_req) },
{ BT_ATT_OP_READ_RSP, att_handle_read_rsp,
sizeof(struct bt_att_read_rsp) },
{ BT_ATT_OP_READ_BLOB_REQ, att_read_blob_req,
sizeof(struct bt_att_read_blob_req) },
{ BT_ATT_OP_READ_BLOB_RSP, att_handle_read_blob_rsp,
sizeof(struct bt_att_read_blob_rsp) },
{ BT_ATT_OP_READ_MULT_REQ, att_read_mult_req,
BT_ATT_READ_MULT_MIN_LEN_REQ },
{ BT_ATT_OP_READ_MULT_RSP, att_handle_read_mult_rsp,
sizeof(struct bt_att_read_mult_rsp) },
{ BT_ATT_OP_READ_GROUP_REQ, att_read_group_req,
sizeof(struct bt_att_read_group_req) },
{ BT_ATT_OP_WRITE_REQ, att_write_req,
sizeof(struct bt_att_write_req) },
{ BT_ATT_OP_WRITE_RSP, att_handle_write_rsp, 0 },
{ BT_ATT_OP_PREPARE_WRITE_REQ, att_prepare_write_req,
sizeof(struct bt_att_prepare_write_req) },
{ BT_ATT_OP_PREPARE_WRITE_RSP, att_handle_prepare_write_rsp,
sizeof(struct bt_att_prepare_write_rsp) },
{ BT_ATT_OP_EXEC_WRITE_REQ, att_exec_write_req,
sizeof(struct bt_att_exec_write_req) },
{ BT_ATT_OP_EXEC_WRITE_RSP, att_handle_exec_write_rsp, 0 },
{ BT_ATT_OP_NOTIFY, att_notify,
sizeof(struct bt_att_notify) },
{ BT_ATT_OP_INDICATE, att_indicate,
sizeof(struct bt_att_indicate) },
{ BT_ATT_OP_CONFIRM, att_confirm, 0 },
{ BT_ATT_OP_WRITE_CMD, att_write_cmd,
sizeof(struct bt_att_write_cmd) },
{ BT_ATT_OP_SIGNED_WRITE_CMD, att_signed_write_cmd,
sizeof(struct bt_att_write_cmd) + sizeof(struct bt_att_signature) },
{ BT_ATT_OP_ERROR_RSP,
sizeof(struct bt_att_error_rsp),
att_error_rsp },
{ BT_ATT_OP_MTU_REQ,
sizeof(struct bt_att_exchange_mtu_req),
att_mtu_req },
{ BT_ATT_OP_MTU_RSP,
sizeof(struct bt_att_exchange_mtu_rsp),
att_mtu_rsp },
{ BT_ATT_OP_FIND_INFO_REQ,
sizeof(struct bt_att_find_info_req),
att_find_info_req },
{ BT_ATT_OP_FIND_INFO_RSP,
sizeof(struct bt_att_find_info_rsp),
att_handle_find_info_rsp },
{ BT_ATT_OP_FIND_TYPE_REQ,
sizeof(struct bt_att_find_type_req),
att_find_type_req },
{ BT_ATT_OP_FIND_TYPE_RSP,
sizeof(struct bt_att_find_type_rsp),
att_handle_find_type_rsp },
{ BT_ATT_OP_READ_TYPE_REQ,
sizeof(struct bt_att_read_type_req),
att_read_type_req },
{ BT_ATT_OP_READ_TYPE_RSP,
sizeof(struct bt_att_read_type_rsp),
att_handle_read_type_rsp },
{ BT_ATT_OP_READ_REQ,
sizeof(struct bt_att_read_req),
att_read_req },
{ BT_ATT_OP_READ_RSP,
sizeof(struct bt_att_read_rsp),
att_handle_read_rsp },
{ BT_ATT_OP_READ_BLOB_REQ,
sizeof(struct bt_att_read_blob_req),
att_read_blob_req },
{ BT_ATT_OP_READ_BLOB_RSP,
sizeof(struct bt_att_read_blob_rsp),
att_handle_read_blob_rsp },
{ BT_ATT_OP_READ_MULT_REQ,
BT_ATT_READ_MULT_MIN_LEN_REQ,
att_read_mult_req },
{ BT_ATT_OP_READ_MULT_RSP,
sizeof(struct bt_att_read_mult_rsp),
att_handle_read_mult_rsp },
{ BT_ATT_OP_READ_GROUP_REQ,
sizeof(struct bt_att_read_group_req),
att_read_group_req },
{ BT_ATT_OP_WRITE_REQ,
sizeof(struct bt_att_write_req),
att_write_req },
{ BT_ATT_OP_WRITE_RSP,
0,
att_handle_write_rsp },
{ BT_ATT_OP_PREPARE_WRITE_REQ,
sizeof(struct bt_att_prepare_write_req),
att_prepare_write_req },
{ BT_ATT_OP_PREPARE_WRITE_RSP,
sizeof(struct bt_att_prepare_write_rsp),
att_handle_prepare_write_rsp },
{ BT_ATT_OP_EXEC_WRITE_REQ,
sizeof(struct bt_att_exec_write_req),
att_exec_write_req },
{ BT_ATT_OP_EXEC_WRITE_RSP,
0,
att_handle_exec_write_rsp },
{ BT_ATT_OP_NOTIFY,
sizeof(struct bt_att_notify),
att_notify },
{ BT_ATT_OP_INDICATE,
sizeof(struct bt_att_indicate),
att_indicate },
{ BT_ATT_OP_CONFIRM,
0,
att_confirm },
{ BT_ATT_OP_WRITE_CMD,
sizeof(struct bt_att_write_cmd),
att_write_cmd },
{ BT_ATT_OP_SIGNED_WRITE_CMD,
(sizeof(struct bt_att_write_cmd) +
sizeof(struct bt_att_signature)),
att_signed_write_cmd },
};
static void bt_att_recv(struct bt_l2cap_chan *chan, struct net_buf *buf)