1- /* @file
2- * @brief APIs for Audio Capabilities handling
3- *
4- * Copyright (c) 2021 Intel Corporation
5- * Copyright (c) 2021-2022 Nordic Semiconductor ASA
1+ /**
2+ * @file
3+ * @brief Bluetooth Published Audio Capabilities Service (PACS) APIs
4+ */
5+
6+ /* Copyright (c) 2021 Intel Corporation
7+ * Copyright (c) 2021-2024 Nordic Semiconductor ASA
68 *
79 * SPDX-License-Identifier: Apache-2.0
810 */
911
1012#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_PACS_H_
1113#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_PACS_H_
1214
15+ /**
16+ * @brief Published Audio Capabilities Service (PACS)
17+ *
18+ * @defgroup bt_gatt_csip Coordinated Set Identification Profile (CSIP)
19+ *
20+ * @since 3.0
21+ * @version 0.8.0
22+ *
23+ * @ingroup bluetooth
24+ * @{
25+ *
26+ * The Published Audio Capabilities Service (PACS) is used to expose capabilities to remote devices.
27+ */
28+
1329#include <stdbool.h>
1430
1531#include <zephyr/bluetooth/audio/audio.h>
@@ -25,57 +41,62 @@ struct bt_pacs_cap {
2541 /** Codec capability reference */
2642 const struct bt_audio_codec_cap * codec_cap ;
2743
28- /* Internally used list node */
44+ /** @internal Internally used list node */
2945 sys_snode_t _node ;
3046};
3147
32- /** @typedef bt_pacs_cap_foreach_func_t
33- * @brief Published Audio Capability iterator callback.
48+ /**
49+ * @typedef bt_pacs_cap_foreach_func_t
50+ * @brief Published Audio Capability iterator callback.
3451 *
35- * @param cap Capability found.
36- * @param user_data Data given.
52+ * @param cap Capability found.
53+ * @param user_data Data given.
3754 *
38- * @return true to continue to the next capability
39- * @return false to stop the iteration
55+ * @return true to continue to the next capability
56+ * @return false to stop the iteration
4057 */
4158typedef bool (* bt_pacs_cap_foreach_func_t )(const struct bt_pacs_cap * cap ,
4259 void * user_data );
4360
44- /** @brief Published Audio Capability iterator.
61+ /**
62+ * @brief Published Audio Capability iterator.
4563 *
46- * Iterate capabilities with endpoint direction specified.
64+ * Iterate capabilities with endpoint direction specified.
4765 *
48- * @param dir Direction of the endpoint to look capability for.
49- * @param func Callback function.
50- * @param user_data Data to pass to the callback.
66+ * @param dir Direction of the endpoint to look capability for.
67+ * @param func Callback function.
68+ * @param user_data Data to pass to the callback.
5169 */
5270void bt_pacs_cap_foreach (enum bt_audio_dir dir ,
5371 bt_pacs_cap_foreach_func_t func ,
5472 void * user_data );
5573
56- /** @brief Register Published Audio Capability.
74+ /**
75+ * @brief Register Published Audio Capability.
5776 *
58- * Register Audio Local Capability.
77+ * Register Audio Local Capability.
5978 *
60- * @param dir Direction of the endpoint to register capability for.
61- * @param cap Capability structure.
79+ * @param dir Direction of the endpoint to register capability for.
80+ * @param cap Capability structure.
6281 *
63- * @return 0 in case of success or negative value in case of error.
82+ * @return 0 in case of success or negative value in case of error.
6483 */
6584int bt_pacs_cap_register (enum bt_audio_dir dir , struct bt_pacs_cap * cap );
6685
67- /** @brief Unregister Published Audio Capability.
86+ /**
87+ * @brief Unregister Published Audio Capability.
6888 *
69- * Unregister Audio Local Capability.
89+ * Unregister Audio Local Capability.
7090 *
71- * @param dir Direction of the endpoint to unregister capability for.
72- * @param cap Capability structure.
91+ * @param dir Direction of the endpoint to unregister capability for.
92+ * @param cap Capability structure.
7393 *
74- * @return 0 in case of success or negative value in case of error.
94+ * @return 0 in case of success or negative value in case of error.
7595 */
7696int bt_pacs_cap_unregister (enum bt_audio_dir dir , struct bt_pacs_cap * cap );
7797
78- /** @brief Set the location for an endpoint type
98+ /**
99+ * @brief Set the location for an endpoint type
79100 *
80101 * @param dir Direction of the endpoints to change location for.
81102 * @param location The location to be set.
@@ -85,7 +106,8 @@ int bt_pacs_cap_unregister(enum bt_audio_dir dir, struct bt_pacs_cap *cap);
85106int bt_pacs_set_location (enum bt_audio_dir dir ,
86107 enum bt_audio_location location );
87108
88- /** @brief Set the available contexts for an endpoint type
109+ /**
110+ * @brief Set the available contexts for an endpoint type
89111 *
90112 * @param dir Direction of the endpoints to change available contexts for.
91113 * @param contexts The contexts to be set.
@@ -95,15 +117,17 @@ int bt_pacs_set_location(enum bt_audio_dir dir,
95117int bt_pacs_set_available_contexts (enum bt_audio_dir dir ,
96118 enum bt_audio_context contexts );
97119
98- /** @brief Get the available contexts for an endpoint type
120+ /**
121+ * @brief Get the available contexts for an endpoint type
99122 *
100123 * @param dir Direction of the endpoints to get contexts for.
101124 *
102125 * @return Bitmask of available contexts.
103126 */
104127enum bt_audio_context bt_pacs_get_available_contexts (enum bt_audio_dir dir );
105128
106- /** @brief Set the available contexts for a given connection
129+ /**
130+ * @brief Set the available contexts for a given connection
107131 *
108132 * This function sets the available contexts value for a given @p conn connection object.
109133 * If the @p contexts parameter is NULL the available contexts value is reset to default.
@@ -120,7 +144,8 @@ enum bt_audio_context bt_pacs_get_available_contexts(enum bt_audio_dir dir);
120144int bt_pacs_conn_set_available_contexts_for_conn (struct bt_conn * conn , enum bt_audio_dir dir ,
121145 enum bt_audio_context * contexts );
122146
123- /** @brief Get the available contexts for a given connection
147+ /**
148+ * @brief Get the available contexts for a given connection
124149 *
125150 * This server function returns the available contexts value for a given @p conn connection object.
126151 * The value returned is the one set with @ref bt_pacs_conn_set_available_contexts_for_conn function
@@ -135,7 +160,8 @@ int bt_pacs_conn_set_available_contexts_for_conn(struct bt_conn *conn, enum bt_a
135160enum bt_audio_context bt_pacs_get_available_contexts_for_conn (struct bt_conn * conn ,
136161 enum bt_audio_dir dir );
137162
138- /** @brief Set the supported contexts for an endpoint type
163+ /**
164+ * @brief Set the supported contexts for an endpoint type
139165 *
140166 * @param dir Direction of the endpoints to change available contexts for.
141167 * @param contexts The contexts to be set.
@@ -149,4 +175,6 @@ int bt_pacs_set_supported_contexts(enum bt_audio_dir dir,
149175}
150176#endif
151177
178+ /** @} */
179+
152180#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_PACS_H_ */
0 commit comments