Line data Source code
1 1 : /** 2 : * @file 3 : * @brief Header for Bluetooth Audio Content Control Identifier. 4 : * 5 : * Copyright (c) 2020 Bose Corporation 6 : * Copyright (c) 2021-2024 Nordic Semiconductor ASA 7 : * 8 : * SPDX-License-Identifier: Apache-2.0 9 : */ 10 : 11 : #ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CCID_H_ 12 : #define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CCID_H_ 13 : 14 : /** 15 : * @brief Bluetooth Content Control Identifier (CCID) 16 : * @defgroup bt_ccid Bluetooth Content Control Identifier 17 : * 18 : * @since 3.7 19 : * @version 0.8.0 20 : * 21 : * @ingroup bluetooth 22 : * @{ 23 : * 24 : * The Content Control Identifier (CCID) API manages CCIDs for @ref BT_UUID_CCID characteristics. 25 : */ 26 : 27 : #include <stdint.h> 28 : 29 : #include <zephyr/bluetooth/gatt.h> 30 : 31 : #ifdef __cplusplus 32 : extern "C" { 33 : #endif 34 : 35 : /** Minimum CCID value */ 36 1 : #define BT_CCID_MIN 0 37 : /** Maximum CCID value */ 38 1 : #define BT_CCID_MAX 255 39 : 40 : /** 41 : * @brief Allocates a CCID value. 42 : * 43 : * This should always be called right before registering a GATT service that contains a 44 : * @ref BT_UUID_CCID characteristic. Allocating a CCID without registering the characteristic 45 : * may (in very rare cases) result in duplicated CCIDs on the device. 46 : * 47 : * Requires that @kconfig{CONFIG_BT_CONN} is enabled. 48 : * 49 : * @retval ccid 8-bit unsigned CCID value on success 50 : * @retval -ENOMEM No more CCIDs can be allocated 51 : */ 52 1 : int bt_ccid_alloc_value(void); 53 : 54 : /** 55 : * @brief Get the GATT attribute of a CCID value 56 : * 57 : * Searches the current GATT database for a CCID characteristic that has the supplied CCID value. 58 : * 59 : * Requires that @kconfig{CONFIG_BT_CONN} is enabled. 60 : * 61 : * @param ccid The CCID to search for 62 : * 63 : * @retval NULL None was found 64 : * @retval attr Pointer to a GATT attribute 65 : */ 66 1 : const struct bt_gatt_attr *bt_ccid_find_attr(uint8_t ccid); 67 : 68 : /** @} */ 69 : 70 : #ifdef __cplusplus 71 : } 72 : #endif 73 : 74 : #endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CCID_H_ */