| /** @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); |
| |
| void bt_gatt_mult_notification(struct bt_conn *conn, 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) |
| { |
| } |
| |
| static inline void bt_gatt_mult_notification(struct bt_conn *conn, |
| 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); |