zephyr/subsys/bluetooth/services/nus/nus_inst.c

31 lines
621 B
C

/*
* Copyright (c) 2024 Croxel, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "nus_internal.h"
#if defined(CONFIG_BT_ZEPHYR_NUS_DEFAULT_INSTANCE)
BT_NUS_INST_DEFINE(nus_def);
struct bt_nus_inst *bt_nus_inst_default(void)
{
return &nus_def;
}
#else
struct bt_nus_inst *bt_nus_inst_default(void) { return NULL; }
#endif
struct bt_nus_inst *bt_nus_inst_get_from_attr(const struct bt_gatt_attr *attr)
{
STRUCT_SECTION_FOREACH(bt_nus_inst, instance) {
for (size_t i = 0 ; i < instance->svc->attr_count ; i++) {
if (attr == &instance->svc->attrs[i]) {
return instance;
}
}
}
return NULL;
}