Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
tmap.h
Go to the documentation of this file.
1
11#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_TMAP_
12#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_TMAP_
13
14#include <zephyr/autoconf.h>
16#include <zephyr/sys/util.h>
18
20#define BT_TMAP_CG_SUPPORTED \
21 (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && IS_ENABLED(CONFIG_BT_BAP_UNICAST_CLIENT) && \
22 IS_ENABLED(CONFIG_BT_TBS) && IS_ENABLED(CONFIG_BT_VCP_VOL_CTLR))
23
25#define BT_TMAP_CT_SUPPORTED \
26 (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_BAP_UNICAST_SERVER) && \
27 IS_ENABLED(CONFIG_BT_TBS_CLIENT) && \
28 (IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK) && \
29 IS_ENABLED(CONFIG_BT_VCP_VOL_REND) == IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK)))
30
32#define BT_TMAP_UMS_SUPPORTED \
33 (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && \
34 IS_ENABLED(CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SNK) && IS_ENABLED(CONFIG_BT_VCP_VOL_CTLR) && \
35 IS_ENABLED(CONFIG_BT_MCS))
36
38#define BT_TMAP_UMR_SUPPORTED \
39 (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK) && \
40 IS_ENABLED(CONFIG_BT_VCP_VOL_REND))
41
43#define BT_TMAP_BMS_SUPPORTED \
44 (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SOURCE))
45
47#define BT_TMAP_BMR_SUPPORTED \
48 (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SINK))
49
97
99struct bt_tmap_cb {
110 void (*discovery_complete)(enum bt_tmap_role role, struct bt_conn *conn, int err);
111};
112
121
130int bt_tmap_discover(struct bt_conn *conn, const struct bt_tmap_cb *tmap_cb);
131
140
141#endif /* ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_TMAP_ */
Bluetooth connection handling.
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition util_macro.h:44
TMAP callback structure.
Definition tmap.h:99
void(* discovery_complete)(enum bt_tmap_role role, struct bt_conn *conn, int err)
TMAP discovery complete callback.
Definition tmap.h:110
void bt_tmap_set_role(enum bt_tmap_role role)
Set one or multiple TMAP roles dynamically.
int bt_tmap_register(enum bt_tmap_role role)
Adds TMAS instance to database and sets the received TMAP role(s).
bt_tmap_role
TMAP Role characteristic.
Definition tmap.h:51
@ BT_TMAP_ROLE_UMR
TMAP Unicast Media Receiver role.
Definition tmap.h:81
@ BT_TMAP_ROLE_UMS
TMAP Unicast Media Sender role.
Definition tmap.h:74
@ BT_TMAP_ROLE_CG
TMAP Call Gateway role.
Definition tmap.h:59
@ BT_TMAP_ROLE_BMS
TMAP Broadcast Media Sender role.
Definition tmap.h:88
@ BT_TMAP_ROLE_CT
TMAP Call Terminal role.
Definition tmap.h:67
@ BT_TMAP_ROLE_BMR
TMAP Broadcast Media Receiver role.
Definition tmap.h:95
int bt_tmap_discover(struct bt_conn *conn, const struct bt_tmap_cb *tmap_cb)
Perform service discovery as TMAP Client.
Misc utilities.
Macro utilities.