Lines Matching refs:ccc
1121 struct _bt_gatt_ccc *ccc; in convert_to_id_on_match() local
1128 ccc = attr->user_data; in convert_to_id_on_match()
1133 for (size_t i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in convert_to_id_on_match()
1134 if (bt_addr_le_eq(&ccc->cfg[i].peer, match->private_addr)) { in convert_to_id_on_match()
1135 bt_addr_le_copy(&ccc->cfg[i].peer, match->id_addr); in convert_to_id_on_match()
1647 static void gatt_unregister_ccc(struct _bt_gatt_ccc *ccc) in gatt_unregister_ccc() argument
1649 ccc->value = 0; in gatt_unregister_ccc()
1651 for (size_t i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in gatt_unregister_ccc()
1652 struct bt_gatt_ccc_cfg *cfg = &ccc->cfg[i]; in gatt_unregister_ccc()
2130 struct _bt_gatt_ccc *ccc) in find_ccc_cfg() argument
2132 for (size_t i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in find_ccc_cfg()
2133 struct bt_gatt_ccc_cfg *cfg = &ccc->cfg[i]; in find_ccc_cfg()
2152 struct _bt_gatt_ccc *ccc = attr->user_data; in bt_gatt_attr_read_ccc() local
2156 cfg = find_ccc_cfg(conn, ccc); in bt_gatt_attr_read_ccc()
2169 struct _bt_gatt_ccc *ccc) in gatt_ccc_changed() argument
2174 for (i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in gatt_ccc_changed()
2178 struct bt_conn *conn = bt_conn_lookup_addr_le(ccc->cfg[i].id, &ccc->cfg[i].peer); in gatt_ccc_changed()
2181 if (ccc->cfg[i].value > value) { in gatt_ccc_changed()
2182 value = ccc->cfg[i].value; in gatt_ccc_changed()
2189 LOG_DBG("ccc %p value 0x%04x", ccc, value); in gatt_ccc_changed()
2191 if (value != ccc->value) { in gatt_ccc_changed()
2192 ccc->value = value; in gatt_ccc_changed()
2193 if (ccc->cfg_changed) { in gatt_ccc_changed()
2194 ccc->cfg_changed(attr, value); in gatt_ccc_changed()
2203 struct _bt_gatt_ccc *ccc = attr->user_data; in bt_gatt_attr_write_ccc() local
2222 cfg = find_ccc_cfg(conn, ccc); in bt_gatt_attr_write_ccc()
2232 cfg = find_ccc_cfg(NULL, ccc); in bt_gatt_attr_write_ccc()
2243 if (ccc->cfg_write) { in bt_gatt_attr_write_ccc()
2244 ssize_t write = ccc->cfg_write(conn, attr, value); in bt_gatt_attr_write_ccc()
2262 if (cfg->value != ccc->value) { in bt_gatt_attr_write_ccc()
2263 gatt_ccc_changed(attr, ccc); in bt_gatt_attr_write_ccc()
2735 struct _bt_gatt_ccc *ccc; in notify_cb() local
2742 ccc = attr->user_data; in notify_cb()
2745 if (IS_ENABLED(CONFIG_BT_GATT_SERVICE_CHANGED) && ccc == &sc_ccc) { in notify_cb()
2771 for (i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in notify_cb()
2772 struct bt_gatt_ccc_cfg *cfg = &ccc->cfg[i]; in notify_cb()
2794 if (ccc->cfg_match && !ccc->cfg_match(conn, attr)) { in notify_cb()
3324 struct _bt_gatt_ccc *ccc; in update_ccc() local
3332 ccc = attr->user_data; in update_ccc()
3334 for (i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in update_ccc()
3335 struct bt_gatt_ccc_cfg *cfg = &ccc->cfg[i]; in update_ccc()
3369 gatt_ccc_changed(attr, ccc); in update_ccc()
3372 ccc == &sc_ccc) { in update_ccc()
3386 struct _bt_gatt_ccc *ccc; in disconnected_cb() local
3394 ccc = attr->user_data; in disconnected_cb()
3397 if (!ccc->value) { in disconnected_cb()
3404 for (i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in disconnected_cb()
3405 struct bt_gatt_ccc_cfg *cfg = &ccc->cfg[i]; in disconnected_cb()
3427 if (ccc == &sc_ccc) { in disconnected_cb()
3441 ccc->value = 0U; in disconnected_cb()
3442 if (ccc->cfg_changed) { in disconnected_cb()
3443 ccc->cfg_changed(attr, ccc->value); in disconnected_cb()
3446 LOG_DBG("ccc %p reset", ccc); in disconnected_cb()
4236 struct bt_gatt_ccc ccc; in parse_read_std_char_desc() member
4272 value.ccc.flags = sys_get_le16(data->value); in parse_read_std_char_desc()
5727 static struct bt_gatt_ccc_cfg *ccc_find_cfg(struct _bt_gatt_ccc *ccc, in ccc_find_cfg() argument
5731 for (size_t i = 0; i < ARRAY_SIZE(ccc->cfg); i++) { in ccc_find_cfg()
5732 if (id == ccc->cfg[i].id && in ccc_find_cfg()
5733 bt_addr_le_eq(&ccc->cfg[i].peer, addr)) { in ccc_find_cfg()
5734 return &ccc->cfg[i]; in ccc_find_cfg()
5752 static void ccc_clear(struct _bt_gatt_ccc *ccc, in ccc_clear() argument
5758 cfg = ccc_find_cfg(ccc, addr, id); in ccc_clear()
5771 struct _bt_gatt_ccc *ccc; in ccc_load() local
5778 ccc = attr->user_data; in ccc_load()
5782 ccc_clear(ccc, load->addr_with_id.addr, load->addr_with_id.id); in ccc_load()
5805 cfg = ccc_find_cfg(ccc, load->addr_with_id.addr, load->addr_with_id.id); in ccc_load()
5807 cfg = ccc_find_cfg(ccc, BT_ADDR_LE_ANY, 0); in ccc_load()
5902 BT_SETTINGS_DEFINE(ccc, "ccc", ccc_set_cb, NULL);
6108 struct _bt_gatt_ccc *ccc; in ccc_save() local
6115 ccc = attr->user_data; in ccc_save()
6118 cfg = ccc_find_cfg(ccc, save->addr_with_id.addr, save->addr_with_id.id); in ccc_save()
6391 struct _bt_gatt_ccc *ccc; in remove_peer_from_attr() local
6398 ccc = attr->user_data; in remove_peer_from_attr()
6401 cfg = ccc_find_cfg(ccc, addr_with_id->addr, addr_with_id->id); in remove_peer_from_attr()