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:
parent
bd80affa3f
commit
6a2d57d90e
1 changed files with 83 additions and 52 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue