Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ccp.h
Go to the documentation of this file.
1
5
6/*
7 * Copyright (c) 2024 Nordic Semiconductor ASA
8 *
9 * SPDX-License-Identifier: Apache-2.0
10 */
11
12#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CCP_H_
13#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CCP_H_
14
34
35#include <stddef.h>
36
37#include <zephyr/autoconf.h>
41#include <zephyr/sys/slist.h>
42
43#ifdef __cplusplus
44extern "C" {
45#endif
56
80 struct bt_ccp_call_control_server_bearer **bearer);
81
99
114 struct bt_ccp_call_control_server_bearer *bearer, const char *name);
115
131 struct bt_ccp_call_control_server_bearer *bearer, char *name, size_t name_size);
132
145 char uci[BT_TBS_MAX_UCI_SIZE]);
146
158 enum bt_bearer_tech tech);
159
171 const struct bt_ccp_call_control_server_bearer *bearer, enum bt_bearer_tech *tech); /* End of group bt_ccp_call_control_server */
173
179
185
191
194#if defined(CONFIG_BT_TBS_CLIENT_GTBS) || defined(__DOXYGEN__)
197#endif /* CONFIG_BT_TBS_CLIENT_GTBS */
198
199#if defined(CONFIG_BT_TBS_CLIENT_TBS) || defined(__DOXYGEN__)
201 size_t tbs_count;
202
205 *tbs_bearers[CONFIG_BT_CCP_CALL_CONTROL_CLIENT_BEARER_COUNT];
206#endif /* CONFIG_BT_TBS_CLIENT_TBS */
207};
208
228 void (*discover)(struct bt_ccp_call_control_client *client, int err,
229 struct bt_ccp_call_control_client_bearers *bearers, void *user_data);
230
231#if defined(CONFIG_BT_TBS_CLIENT_BEARER_PROVIDER_NAME) || defined(__DOXYGEN__)
247 const char *name, void *user_data);
248#endif /* CONFIG_BT_TBS_CLIENT_BEARER_PROVIDER_NAME */
249
250#if defined(CONFIG_BT_TBS_CLIENT_BEARER_UCI) || defined(__DOXYGEN__)
264 void (*bearer_uci)(struct bt_ccp_call_control_client_bearer *bearer, int err,
265 const char *uci, void *user_data);
266#endif /* CONFIG_BT_TBS_CLIENT_BEARER_UCI */
267
268#if defined(CONFIG_BT_CCP_CALL_CONTROL_CLIENT_CB_USER_DATA) || defined(__DOXYGEN__)
271#endif /* CONFIG_BT_CCP_CALL_CONTROL_CLIENT_CB_USER_DATA */
272
275 sys_snode_t _node;
277};
278
298 struct bt_ccp_call_control_client **out_client);
299
310
321
332 struct bt_ccp_call_control_client_bearers *bearers);
333
350 struct bt_ccp_call_control_client_bearer *bearer);
351
367int bt_ccp_call_control_client_read_bearer_uci(struct bt_ccp_call_control_client_bearer *bearer); /* End of group bt_ccp_call_control_client */
369#ifdef __cplusplus
370}
371#endif
372
376
377#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_CCP_H_ */
Bluetooth Assigned Numbers, codes and identifiers.
Bluetooth connection handling.
bt_bearer_tech
Enum for valid bearer technology values.
Definition assigned_numbers.h:926
int bt_ccp_call_control_client_discover(struct bt_conn *conn, struct bt_ccp_call_control_client **out_client)
Discovers the Telephone Bearer Service (TBS) support on a remote device.
int bt_ccp_call_control_client_read_bearer_provider_name(struct bt_ccp_call_control_client_bearer *bearer)
Read the bearer provider name of a remote TBS bearer.
int bt_ccp_call_control_client_unregister_cb(struct bt_ccp_call_control_client_cb *cb)
Unregister callbacks for the Call Control Client.
int bt_ccp_call_control_client_register_cb(struct bt_ccp_call_control_client_cb *cb)
Register callbacks for the Call Control Client.
int bt_ccp_call_control_client_read_bearer_uci(struct bt_ccp_call_control_client_bearer *bearer)
Read the bearer Uniform Caller Identifier (UCI) of a remote TBS bearer.
int bt_ccp_call_control_client_get_bearers(struct bt_ccp_call_control_client *client, struct bt_ccp_call_control_client_bearers *bearers)
Get the bearers of a client instance.
int bt_ccp_call_control_server_get_bearer_provider_name(struct bt_ccp_call_control_server_bearer *bearer, char *name, size_t name_size)
Get the bearer provider name.
int bt_ccp_call_control_server_get_bearer_uci(struct bt_ccp_call_control_server_bearer *bearer, char uci[6U])
Get the bearer UCI.
int bt_ccp_call_control_server_register_bearer(const struct bt_tbs_register_param *param, struct bt_ccp_call_control_server_bearer **bearer)
Register a Telephone Bearer.
int bt_ccp_call_control_server_get_bearer_tech(const struct bt_ccp_call_control_server_bearer *bearer, enum bt_bearer_tech *tech)
Get the bearer technology.
int bt_ccp_call_control_server_unregister_bearer(struct bt_ccp_call_control_server_bearer *bearer)
Unregister a Telephone Bearer.
int bt_ccp_call_control_server_set_bearer_provider_name(struct bt_ccp_call_control_server_bearer *bearer, const char *name)
Set a new bearer provider name.
int bt_ccp_call_control_server_set_bearer_tech(struct bt_ccp_call_control_server_bearer *bearer, enum bt_bearer_tech tech)
Set a new bearer technology.
#define BT_TBS_MAX_UCI_SIZE
Maximum size of bearer uniform caller identifier (UCI).
Definition tbs.h:186
struct _snode sys_snode_t
Single-linked list node structure.
Definition slist.h:42
Header file for the single-linked list API.
Abstract Call Control Client bearer structure.
Struct with information about bearers of a client.
Definition ccp.h:193
struct bt_ccp_call_control_client_bearer * gtbs_bearer
The GTBS bearer.
Definition ccp.h:196
size_t tbs_count
Number of TBS bearers in tbs_bearers.
Definition ccp.h:201
struct bt_ccp_call_control_client_bearer * tbs_bearers[CONFIG_BT_CCP_CALL_CONTROL_CLIENT_BEARER_COUNT]
Array of pointers of TBS bearers.
Definition ccp.h:204
Struct to hold the Telephone Bearer Service client callbacks.
Definition ccp.h:214
void * user_data
User data that will be supplied to all callbacks.
Definition ccp.h:270
void(* bearer_provider_name)(struct bt_ccp_call_control_client_bearer *bearer, int err, const char *name, void *user_data)
Callback function for bt_ccp_call_control_client_read_bearer_provider_name().
Definition ccp.h:246
void(* discover)(struct bt_ccp_call_control_client *client, int err, struct bt_ccp_call_control_client_bearers *bearers, void *user_data)
Callback function for bt_ccp_call_control_client_discover().
Definition ccp.h:228
void(* bearer_uci)(struct bt_ccp_call_control_client_bearer *bearer, int err, const char *uci, void *user_data)
Callback function for bt_ccp_call_control_client_read_bearer_uci().
Definition ccp.h:264
Abstract Call Control Client structure.
Abstract Call Control Server Telephone Bearer structure.
Opaque type representing a connection to a remote device.
Parameters for registering a Telephone Bearer Service.
Definition tbs.h:456
Public APIs for Bluetooth Telephone Bearer Service.