Lines Matching full:svc
250 struct bt_gatt_service *svc; in foreach_attr_type_dyndb() local
252 SYS_SLIST_FOR_EACH_CONTAINER(&db, svc, node) { in foreach_attr_type_dyndb()
255 next = SYS_SLIST_PEEK_NEXT_CONTAINER(svc, node); in foreach_attr_type_dyndb()
263 for (i = 0; i < svc->attr_count; i++) { in foreach_attr_type_dyndb()
264 struct bt_gatt_attr *attr = &svc->attrs[i]; in foreach_attr_type_dyndb()
323 STRUCT_SECTION_FOREACH(bt_gatt_service_static, svc) { in bt_gatt_service_init()
324 last_static_handle += svc->attr_count; in bt_gatt_service_init()
349 static void gatt_insert(struct bt_gatt_service *svc, uint16_t last_handle) in gatt_insert() argument
353 if (last_handle == 0 || svc->attrs[0].handle > last_handle) { in gatt_insert()
354 sys_slist_append(&db, &svc->node); in gatt_insert()
360 if (tmp->attrs[0].handle > svc->attrs[0].handle) { in gatt_insert()
362 sys_slist_insert(&db, &prev->node, &svc->node); in gatt_insert()
364 sys_slist_prepend(&db, &svc->node); in gatt_insert()
374 static int gatt_register(struct bt_gatt_service *svc) in gatt_register() argument
378 struct bt_gatt_attr *attrs = svc->attrs; in gatt_register()
379 uint16_t count = svc->attr_count; in gatt_register()
410 gatt_insert(svc, last_handle); in gatt_register()
415 static int gatt_unregister(struct bt_gatt_service *svc) in gatt_unregister() argument
417 if (!sys_slist_find_and_remove(&db, &svc->node)) { in gatt_unregister()
424 int bt_gatt_service_register(struct bt_gatt_service *svc) in bt_gatt_service_register() argument
428 __ASSERT(svc, "invalid parameters\n"); in bt_gatt_service_register()
429 __ASSERT(svc->attrs, "invalid parameters\n"); in bt_gatt_service_register()
430 __ASSERT(svc->attr_count, "invalid parameters\n"); in bt_gatt_service_register()
436 if (!bt_uuid_cmp(svc->attrs[0].uuid, BT_UUID_GAP) || in bt_gatt_service_register()
437 !bt_uuid_cmp(svc->attrs[0].uuid, BT_UUID_GATT)) { in bt_gatt_service_register()
441 err = gatt_register(svc); in bt_gatt_service_register()
449 int bt_gatt_service_unregister(struct bt_gatt_service *svc) in bt_gatt_service_unregister() argument
453 __ASSERT(svc, "invalid parameters\n"); in bt_gatt_service_unregister()
455 err = gatt_unregister(svc); in bt_gatt_service_unregister()