Zephyr Project API  3.3.0
A Scalable Open Source RTOS
bap.h File Reference

Header for Bluetooth BAP. More...

Go to the source code of this file.

Data Structures

struct  bt_bap_scan_delegator_subgroup
 
struct  bt_bap_scan_delegator_recv_state
 
struct  bt_bap_scan_delegator_cb
 
struct  bt_bap_broadcast_assistant_cb
 
struct  bt_bap_broadcast_assistant_add_src_param
 
struct  bt_bap_broadcast_assistant_mod_src_param
 

Macros

#define BT_BAP_SCAN_DELEGATOR_MAX_METADATA_LEN   0
 
#define BT_BAP_SCAN_DELEGATOR_MAX_SUBGROUPS   0
 
#define BT_BAP_BROADCAST_CODE_SIZE   16
 
#define BT_BAP_PA_STATE_NOT_SYNCED   0x00
 
#define BT_BAP_PA_STATE_INFO_REQ   0x01
 
#define BT_BAP_PA_STATE_SYNCED   0x02
 
#define BT_BAP_PA_STATE_FAILED   0x03
 
#define BT_BAP_PA_STATE_NO_PAST   0x04
 
#define BT_BAP_BIG_ENC_STATE_NO_ENC   0x00
 
#define BT_BAP_BIG_ENC_STATE_BCODE_REQ   0x01
 
#define BT_BAP_BIG_ENC_STATE_DEC   0x02
 
#define BT_BAP_BIG_ENC_STATE_BAD_CODE   0x03
 
#define BT_BAP_BASS_ERR_OPCODE_NOT_SUPPORTED   0x80
 
#define BT_BAP_BASS_ERR_INVALID_SRC_ID   0x81
 
#define BT_BAP_PA_INTERVAL_UNKNOWN   0xFFFF
 
#define BT_BAP_BROADCAST_MAX_ID   0xFFFFFF
 
#define BT_BAP_BIS_SYNC_NO_PREF   0xFFFFFFFF
 

Typedefs

typedef void(* bt_bap_broadcast_assistant_discover_cb) (struct bt_conn *conn, int err, uint8_t recv_state_count)
 Callback function for bt_bap_broadcast_assistant_discover. More...
 
typedef void(* bt_bap_broadcast_assistant_scan_cb) (const struct bt_le_scan_recv_info *info, uint32_t broadcast_id)
 Callback function for Broadcast Audio Scan Service client scan results. More...
 
typedef void(* bt_bap_broadcast_assistant_recv_state_cb) (struct bt_conn *conn, int err, const struct bt_bap_scan_delegator_recv_state *state)
 Callback function for when a receive state is read or updated. More...
 
typedef void(* bt_bap_broadcast_assistant_recv_state_rem_cb) (struct bt_conn *conn, int err, uint8_t src_id)
 Callback function for when a receive state is removed. More...
 
typedef void(* bt_bap_broadcast_assistant_write_cb) (struct bt_conn *conn, int err)
 Callback function for writes. More...
 

Functions

void bt_bap_scan_delegator_register_cb (struct bt_bap_scan_delegator_cb *cb)
 Register the callbacks for the Basic Audio Profile Scan Delegator. More...
 
int bt_bap_scan_delegator_set_sync_state (uint8_t src_id, uint8_t pa_sync_state, uint32_t bis_synced[0], uint8_t encrypted)
 Set the sync state of a receive state in the server. More...
 
int bt_bap_broadcast_assistant_discover (struct bt_conn *conn)
 Discover Broadcast Audio Scan Service on the server. More...
 
int bt_bap_broadcast_assistant_scan_start (struct bt_conn *conn, bool start_scan)
 Scan start for BISes for a remote server. More...
 
int bt_bap_broadcast_assistant_scan_stop (struct bt_conn *conn)
 Stop remote scanning for BISes for a server. More...
 
void bt_bap_broadcast_assistant_register_cb (struct bt_bap_broadcast_assistant_cb *cb)
 Registers the callbacks used by Broadcast Audio Scan Service client. More...
 
int bt_bap_broadcast_assistant_add_src (struct bt_conn *conn, struct bt_bap_broadcast_assistant_add_src_param *param)
 Add a source on the server. More...
 
int bt_bap_broadcast_assistant_mod_src (struct bt_conn *conn, struct bt_bap_broadcast_assistant_mod_src_param *param)
 Modify a source on the server. More...
 
int bt_bap_broadcast_assistant_set_broadcast_code (struct bt_conn *conn, uint8_t src_id, uint8_t broadcast_code[16])
 Set a broadcast code to the specified receive state. More...
 
int bt_bap_broadcast_assistant_rem_src (struct bt_conn *conn, uint8_t src_id)
 Remove a source from the server. More...
 
int bt_bap_broadcast_assistant_read_recv_state (struct bt_conn *conn, uint8_t idx)
 Read the specified receive state from the server. More...
 

Detailed Description

Header for Bluetooth BAP.

Copyright (c) 2020 Bose Corporation Copyright (c) 2021-2022 Nordic Semiconductor ASA

SPDX-License-Identifier: Apache-2.0

Macro Definition Documentation

◆ BT_BAP_BASS_ERR_INVALID_SRC_ID

#define BT_BAP_BASS_ERR_INVALID_SRC_ID   0x81

◆ BT_BAP_BASS_ERR_OPCODE_NOT_SUPPORTED

#define BT_BAP_BASS_ERR_OPCODE_NOT_SUPPORTED   0x80

◆ BT_BAP_BIG_ENC_STATE_BAD_CODE

#define BT_BAP_BIG_ENC_STATE_BAD_CODE   0x03

◆ BT_BAP_BIG_ENC_STATE_BCODE_REQ

#define BT_BAP_BIG_ENC_STATE_BCODE_REQ   0x01

◆ BT_BAP_BIG_ENC_STATE_DEC

#define BT_BAP_BIG_ENC_STATE_DEC   0x02

◆ BT_BAP_BIG_ENC_STATE_NO_ENC

#define BT_BAP_BIG_ENC_STATE_NO_ENC   0x00

◆ BT_BAP_BIS_SYNC_NO_PREF

#define BT_BAP_BIS_SYNC_NO_PREF   0xFFFFFFFF

◆ BT_BAP_BROADCAST_CODE_SIZE

#define BT_BAP_BROADCAST_CODE_SIZE   16

◆ BT_BAP_BROADCAST_MAX_ID

#define BT_BAP_BROADCAST_MAX_ID   0xFFFFFF

◆ BT_BAP_PA_INTERVAL_UNKNOWN

#define BT_BAP_PA_INTERVAL_UNKNOWN   0xFFFF

◆ BT_BAP_PA_STATE_FAILED

#define BT_BAP_PA_STATE_FAILED   0x03

◆ BT_BAP_PA_STATE_INFO_REQ

#define BT_BAP_PA_STATE_INFO_REQ   0x01

◆ BT_BAP_PA_STATE_NO_PAST

#define BT_BAP_PA_STATE_NO_PAST   0x04

◆ BT_BAP_PA_STATE_NOT_SYNCED

#define BT_BAP_PA_STATE_NOT_SYNCED   0x00

◆ BT_BAP_PA_STATE_SYNCED

#define BT_BAP_PA_STATE_SYNCED   0x02

◆ BT_BAP_SCAN_DELEGATOR_MAX_METADATA_LEN

#define BT_BAP_SCAN_DELEGATOR_MAX_METADATA_LEN   0

◆ BT_BAP_SCAN_DELEGATOR_MAX_SUBGROUPS

#define BT_BAP_SCAN_DELEGATOR_MAX_SUBGROUPS   0

Typedef Documentation

◆ bt_bap_broadcast_assistant_discover_cb

typedef void(* bt_bap_broadcast_assistant_discover_cb) (struct bt_conn *conn, int err, uint8_t recv_state_count)

Callback function for bt_bap_broadcast_assistant_discover.

Parameters
connThe connection that was used to discover Broadcast Audio Scan Service.
errError value. 0 on success, GATT error or ERRNO on fail.
recv_state_countNumber of receive states on the server.

◆ bt_bap_broadcast_assistant_recv_state_cb

typedef void(* bt_bap_broadcast_assistant_recv_state_cb) (struct bt_conn *conn, int err, const struct bt_bap_scan_delegator_recv_state *state)

Callback function for when a receive state is read or updated.

Called whenever a receive state is read or updated.

Parameters
connThe connection to the Broadcast Audio Scan Service server.
errError value. 0 on success, GATT error on fail.
stateThe receive state.

◆ bt_bap_broadcast_assistant_recv_state_rem_cb

typedef void(* bt_bap_broadcast_assistant_recv_state_rem_cb) (struct bt_conn *conn, int err, uint8_t src_id)

Callback function for when a receive state is removed.

Parameters
connThe connection to the Broadcast Audio Scan Service server.
errError value. 0 on success, GATT error on fail.
src_idThe receive state.

◆ bt_bap_broadcast_assistant_scan_cb

typedef void(* bt_bap_broadcast_assistant_scan_cb) (const struct bt_le_scan_recv_info *info, uint32_t broadcast_id)

Callback function for Broadcast Audio Scan Service client scan results.

Called when the scanner finds an advertiser that advertises the BT_UUID_BROADCAST_AUDIO UUID.

Parameters
infoAdvertiser information.
broadcast_id24-bit broadcast ID.

◆ bt_bap_broadcast_assistant_write_cb

typedef void(* bt_bap_broadcast_assistant_write_cb) (struct bt_conn *conn, int err)

Callback function for writes.

Parameters
connThe connection to the peer device.
errError value. 0 on success, GATT error on fail.

Function Documentation

◆ bt_bap_broadcast_assistant_add_src()

int bt_bap_broadcast_assistant_add_src ( struct bt_conn *  conn,
struct bt_bap_broadcast_assistant_add_src_param param 
)

Add a source on the server.

Parameters
connConnection to the server.
paramParameter struct.
Returns
Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_broadcast_assistant_discover()

int bt_bap_broadcast_assistant_discover ( struct bt_conn *  conn)

Discover Broadcast Audio Scan Service on the server.

Warning: Only one connection can be active at any time; discovering for a new connection, will delete all previous data.

Parameters
connThe connection
Returns
int Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_broadcast_assistant_mod_src()

int bt_bap_broadcast_assistant_mod_src ( struct bt_conn *  conn,
struct bt_bap_broadcast_assistant_mod_src_param param 
)

Modify a source on the server.

Parameters
connConnection to the server.
paramParameter struct.
Returns
Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_broadcast_assistant_read_recv_state()

int bt_bap_broadcast_assistant_read_recv_state ( struct bt_conn *  conn,
uint8_t  idx 
)

Read the specified receive state from the server.

Parameters
connConnection to the server.
idxThe index of the receive start (0 up to the value from bt_bap_broadcast_assistant_discover_cb)
Returns
Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_broadcast_assistant_register_cb()

void bt_bap_broadcast_assistant_register_cb ( struct bt_bap_broadcast_assistant_cb cb)

Registers the callbacks used by Broadcast Audio Scan Service client.

◆ bt_bap_broadcast_assistant_rem_src()

int bt_bap_broadcast_assistant_rem_src ( struct bt_conn *  conn,
uint8_t  src_id 
)

Remove a source from the server.

Parameters
connConnection to the server.
src_idSource ID of the receive state.
Returns
Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_broadcast_assistant_scan_start()

int bt_bap_broadcast_assistant_scan_start ( struct bt_conn *  conn,
bool  start_scan 
)

Scan start for BISes for a remote server.

This will let the Broadcast Audio Scan Service server know that this device is actively scanning for broadcast sources. The function can optionally also start scanning, if the caller does not want to start scanning itself.

Scan results, if start_scan is true, is sent to the bt_bap_broadcast_assistant_scan_cb callback.

Parameters
connConnection to the Broadcast Audio Scan Service server. Used to let the server know that we are scanning.
start_scanStart scanning if true. If false, the application should enable scan itself.
Returns
int Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_broadcast_assistant_scan_stop()

int bt_bap_broadcast_assistant_scan_stop ( struct bt_conn *  conn)

Stop remote scanning for BISes for a server.

Parameters
connConnection to the server.
Returns
int Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_broadcast_assistant_set_broadcast_code()

int bt_bap_broadcast_assistant_set_broadcast_code ( struct bt_conn *  conn,
uint8_t  src_id,
uint8_t  broadcast_code[16] 
)

Set a broadcast code to the specified receive state.

Parameters
connConnection to the server.
src_idSource ID of the receive state.
broadcast_codeThe broadcast code.
Returns
Error value. 0 on success, GATT error or ERRNO on fail.

◆ bt_bap_scan_delegator_register_cb()

void bt_bap_scan_delegator_register_cb ( struct bt_bap_scan_delegator_cb cb)

Register the callbacks for the Basic Audio Profile Scan Delegator.

Parameters
cbPointer to the callback struct

◆ bt_bap_scan_delegator_set_sync_state()

int bt_bap_scan_delegator_set_sync_state ( uint8_t  src_id,
uint8_t  pa_sync_state,
uint32_t  bis_synced[0],
uint8_t  encrypted 
)

Set the sync state of a receive state in the server.

Parameters
src_idThe source id used to identify the receive state.
pa_sync_stateThe sync state of the PA.
bis_syncedArray of bitfields to set the BIS sync state for each subgroup.
encryptedThe BIG encryption state.
Returns
int Error value. 0 on success, ERRNO on fail.