Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
tmap.h File Reference

Header for Bluetooth TMAP. More...

Go to the source code of this file.

Data Structures

struct  bt_tmap_cb
 TMAP callback structure. More...
 

Macros

#define BT_TMAP_CG_SUPPORTED
 Call Gateway (CG) supported.
 
#define BT_TMAP_CT_SUPPORTED
 Call Terminal (CT) supported.
 
#define BT_TMAP_UMS_SUPPORTED
 Unicast Media Sender (UMS) supported.
 
#define BT_TMAP_UMR_SUPPORTED
 Unicast Media Receiver (UMR) supported.
 
#define BT_TMAP_BMS_SUPPORTED    (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SOURCE))
 Broadcast Media Sender (BMS) supported.
 
#define BT_TMAP_BMR_SUPPORTED    (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SINK))
 Broadcast Media Receiver (BMR) supported.
 

Enumerations

enum  bt_tmap_role {
  BT_TMAP_ROLE_CG = BIT(0) , BT_TMAP_ROLE_CT = BIT(1) , BT_TMAP_ROLE_UMS = BIT(2) , BT_TMAP_ROLE_UMR = BIT(3) ,
  BT_TMAP_ROLE_BMS = BIT(4) , BT_TMAP_ROLE_BMR = BIT(5)
}
 TMAP Role characteristic. More...
 

Functions

int bt_tmap_register (enum bt_tmap_role role)
 Adds TMAS instance to database and sets the received TMAP role(s).
 
int bt_tmap_discover (struct bt_conn *conn, const struct bt_tmap_cb *tmap_cb)
 Perform service discovery as TMAP Client.
 
void bt_tmap_set_role (enum bt_tmap_role role)
 Set one or multiple TMAP roles dynamically.
 

Detailed Description

Header for Bluetooth TMAP.

Copyright 2023 NXP

SPDX-License-Identifier: Apache-2.0

Macro Definition Documentation

◆ BT_TMAP_BMR_SUPPORTED

#define BT_TMAP_BMR_SUPPORTED    (IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SINK))

Broadcast Media Receiver (BMR) supported.

◆ BT_TMAP_BMS_SUPPORTED

#define BT_TMAP_BMS_SUPPORTED    (IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && IS_ENABLED(CONFIG_BT_BAP_BROADCAST_SOURCE))

Broadcast Media Sender (BMS) supported.

◆ BT_TMAP_CG_SUPPORTED

#define BT_TMAP_CG_SUPPORTED
Value:
(IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && IS_ENABLED(CONFIG_BT_BAP_UNICAST_CLIENT) && \
IS_ENABLED(CONFIG_BT_TBS) && IS_ENABLED(CONFIG_BT_VCP_VOL_CTLR))
#define IS_ENABLED(config_macro)
Check for macro definition in compiler-visible expressions.
Definition: util_macro.h:124

Call Gateway (CG) supported.

◆ BT_TMAP_CT_SUPPORTED

#define BT_TMAP_CT_SUPPORTED
Value:
(IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_BAP_UNICAST_SERVER) && \
IS_ENABLED(CONFIG_BT_TBS_CLIENT) && \
(IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK) && \
IS_ENABLED(CONFIG_BT_VCP_VOL_REND) == IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK)))

Call Terminal (CT) supported.

◆ BT_TMAP_UMR_SUPPORTED

#define BT_TMAP_UMR_SUPPORTED
Value:
(IS_ENABLED(CONFIG_BT_CAP_ACCEPTOR) && IS_ENABLED(CONFIG_BT_ASCS_ASE_SNK) && \
IS_ENABLED(CONFIG_BT_VCP_VOL_REND))

Unicast Media Receiver (UMR) supported.

◆ BT_TMAP_UMS_SUPPORTED

#define BT_TMAP_UMS_SUPPORTED
Value:
(IS_ENABLED(CONFIG_BT_CAP_INITIATOR) && \
IS_ENABLED(CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SNK) && IS_ENABLED(CONFIG_BT_VCP_VOL_CTLR) && \
IS_ENABLED(CONFIG_BT_MCS))

Unicast Media Sender (UMS) supported.

Enumeration Type Documentation

◆ bt_tmap_role

TMAP Role characteristic.

Enumerator
BT_TMAP_ROLE_CG 
BT_TMAP_ROLE_CT 
BT_TMAP_ROLE_UMS 
BT_TMAP_ROLE_UMR 
BT_TMAP_ROLE_BMS 
BT_TMAP_ROLE_BMR 

Function Documentation

◆ bt_tmap_discover()

int bt_tmap_discover ( struct bt_conn *  conn,
const struct bt_tmap_cb tmap_cb 
)

Perform service discovery as TMAP Client.

Parameters
connPointer to the connection.
tmap_cbPointer to struct of TMAP callbacks.
Returns
0 on success or negative error value on failure.

◆ bt_tmap_register()

int bt_tmap_register ( enum bt_tmap_role  role)

Adds TMAS instance to database and sets the received TMAP role(s).

Parameters
roleTMAP role(s) of the device (one or multiple).
Returns
0 on success or negative error value on failure.

◆ bt_tmap_set_role()

void bt_tmap_set_role ( enum bt_tmap_role  role)

Set one or multiple TMAP roles dynamically.

Previously registered value will be overwritten.

Parameters
roleTMAP role(s).