mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-11 20:35:12 +00:00
This moves check_perm code under GAT and make use of it to check if CCC write permission can be attended by the connection security level or if it needs to be increased. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
51 lines
1.5 KiB
C
51 lines
1.5 KiB
C
/** @file
|
|
* @brief Internal API for Generic Attribute Profile handling.
|
|
*/
|
|
|
|
/*
|
|
* Copyright (c) 2015-2016 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#define BT_GATT_CENTRAL_ADDR_RES_NOT_SUPP 0
|
|
#define BT_GATT_CENTRAL_ADDR_RES_SUPP 1
|
|
|
|
#define BT_GATT_PERM_READ_MASK (BT_GATT_PERM_READ | \
|
|
BT_GATT_PERM_READ_ENCRYPT | \
|
|
BT_GATT_PERM_READ_AUTHEN)
|
|
#define BT_GATT_PERM_WRITE_MASK (BT_GATT_PERM_WRITE | \
|
|
BT_GATT_PERM_WRITE_ENCRYPT | \
|
|
BT_GATT_PERM_WRITE_AUTHEN)
|
|
#define BT_GATT_PERM_ENCRYPT_MASK (BT_GATT_PERM_READ_ENCRYPT | \
|
|
BT_GATT_PERM_WRITE_ENCRYPT)
|
|
#define BT_GATT_PERM_AUTHEN_MASK (BT_GATT_PERM_READ_AUTHEN | \
|
|
BT_GATT_PERM_WRITE_AUTHEN)
|
|
|
|
void bt_gatt_init(void);
|
|
void bt_gatt_connected(struct bt_conn *conn);
|
|
void bt_gatt_encrypt_change(struct bt_conn *conn);
|
|
void bt_gatt_disconnected(struct bt_conn *conn);
|
|
|
|
bool bt_gatt_change_aware(struct bt_conn *conn, bool req);
|
|
|
|
int bt_gatt_store_ccc(u8_t id, const bt_addr_le_t *addr);
|
|
|
|
int bt_gatt_clear(u8_t id, const bt_addr_le_t *addr);
|
|
|
|
#if defined(CONFIG_BT_GATT_CLIENT)
|
|
void bt_gatt_notification(struct bt_conn *conn, u16_t handle,
|
|
const void *data, u16_t length);
|
|
#else
|
|
static inline void bt_gatt_notification(struct bt_conn *conn, u16_t handle,
|
|
const void *data, u16_t length)
|
|
{
|
|
}
|
|
#endif /* CONFIG_BT_GATT_CLIENT */
|
|
|
|
struct bt_gatt_attr;
|
|
|
|
/* Check attribute permission */
|
|
u8_t bt_gatt_check_perm(struct bt_conn *conn, const struct bt_gatt_attr *attr,
|
|
u8_t mask);
|