Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
tmap.h
Go to the documentation of this file.
1
9#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_TMAP_
10#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_TMAP_
11
13#include <zephyr/sys/util.h>
14
16#define BT_TMAP_CG_SUPPORTED \
17 (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && IS_ENABLED(CONFIG_BT_BAP_UNICAST_CLIENT) && \
18 IS_ENABLED(CONFIG_BT_TBS) && IS_ENABLED(CONFIG_BT_VCP_VOL_CTLR))
19
21#define BT_TMAP_CT_SUPPORTED \
22 (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_BAP_UNICAST_SERVER) && \
23 IS_ENABLED(CONFIG_BT_TBS_CLIENT) && \
24 (IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK) && \
25 IS_ENABLED(CONFIG_BT_VCP_VOL_REND) == IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK)))
26
28#define BT_TMAP_UMS_SUPPORTED \
29 (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && \
30 IS_ENABLED(CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SNK) && IS_ENABLED(CONFIG_BT_VCP_VOL_CTLR) && \
31 IS_ENABLED(CONFIG_BT_MCS))
32
34#define BT_TMAP_UMR_SUPPORTED \
35 (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK) && \
36 IS_ENABLED(CONFIG_BT_VCP_VOL_REND))
37
39#define BT_TMAP_BMS_SUPPORTED \
40 (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SOURCE))
41
43#define BT_TMAP_BMR_SUPPORTED \
44 (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SINK))
45
54};
55
57struct bt_tmap_cb {
67 void (*discovery_complete)(enum bt_tmap_role role, struct bt_conn *conn, int err);
68};
69
78
87int bt_tmap_discover(struct bt_conn *conn, const struct bt_tmap_cb *tmap_cb);
88
97
98#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:57
void(* discovery_complete)(enum bt_tmap_role role, struct bt_conn *conn, int err)
TMAP discovery complete callback.
Definition: tmap.h:67
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:47
@ BT_TMAP_ROLE_UMR
Definition: tmap.h:51
@ BT_TMAP_ROLE_UMS
Definition: tmap.h:50
@ BT_TMAP_ROLE_CG
Definition: tmap.h:48
@ BT_TMAP_ROLE_BMS
Definition: tmap.h:52
@ BT_TMAP_ROLE_CT
Definition: tmap.h:49
@ BT_TMAP_ROLE_BMR
Definition: tmap.h:53
int bt_tmap_discover(struct bt_conn *conn, const struct bt_tmap_cb *tmap_cb)
Perform service discovery as TMAP Client.
Misc utilities.