10#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_
11#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_BAP_
15#if defined(CONFIG_BT_BAP_SCAN_DELEGATOR)
16#define BT_BAP_SCAN_DELEGATOR_MAX_METADATA_LEN CONFIG_BT_BAP_SCAN_DELEGATOR_MAX_METADATA_LEN
17#define BT_BAP_SCAN_DELEGATOR_MAX_SUBGROUPS CONFIG_BT_BAP_SCAN_DELEGATOR_MAX_SUBGROUPS
19#define BT_BAP_SCAN_DELEGATOR_MAX_METADATA_LEN 0
20#define BT_BAP_SCAN_DELEGATOR_MAX_SUBGROUPS 0
23#define BT_BAP_BROADCAST_CODE_SIZE 16
25#define BT_BAP_PA_STATE_NOT_SYNCED 0x00
26#define BT_BAP_PA_STATE_INFO_REQ 0x01
27#define BT_BAP_PA_STATE_SYNCED 0x02
28#define BT_BAP_PA_STATE_FAILED 0x03
29#define BT_BAP_PA_STATE_NO_PAST 0x04
31#define BT_BAP_BIG_ENC_STATE_NO_ENC 0x00
32#define BT_BAP_BIG_ENC_STATE_BCODE_REQ 0x01
33#define BT_BAP_BIG_ENC_STATE_DEC 0x02
34#define BT_BAP_BIG_ENC_STATE_BAD_CODE 0x03
36#define BT_BAP_BASS_ERR_OPCODE_NOT_SUPPORTED 0x80
37#define BT_BAP_BASS_ERR_INVALID_SRC_ID 0x81
39#define BT_BAP_PA_INTERVAL_UNKNOWN 0xFFFF
41#define BT_BAP_BROADCAST_MAX_ID 0xFFFFFF
43#define BT_BAP_BIS_SYNC_NO_PREF 0xFFFFFFFF
137 struct bt_conn *conn,
int err,
288 struct bt_conn *conn,
uint8_t src_id,
int bt_bap_broadcast_assistant_rem_src(struct bt_conn *conn, uint8_t src_id)
Remove a source from the server.
#define BT_BAP_SCAN_DELEGATOR_MAX_SUBGROUPS
Definition: bap.h:20
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.
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.
Definition: bap.h:111
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.
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.
Definition: bap.h:147
void(* bt_bap_broadcast_assistant_write_cb)(struct bt_conn *conn, int err)
Callback function for writes.
Definition: bap.h:157
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.
void bt_bap_scan_delegator_register_cb(struct bt_bap_scan_delegator_cb *cb)
Register the callbacks for the Basic Audio Profile Scan Delegator.
#define BT_BAP_BROADCAST_CODE_SIZE
Definition: bap.h:23
int bt_bap_broadcast_assistant_scan_stop(struct bt_conn *conn)
Stop remote scanning for BISes for a server.
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.
Definition: bap.h:124
int bt_bap_broadcast_assistant_read_recv_state(struct bt_conn *conn, uint8_t idx)
Read the specified receive state from the server.
#define BT_BAP_SCAN_DELEGATOR_MAX_METADATA_LEN
Definition: bap.h:19
int bt_bap_broadcast_assistant_scan_start(struct bt_conn *conn, bool start_scan)
Scan start for BISes for a remote server.
int bt_bap_broadcast_assistant_discover(struct bt_conn *conn)
Discover Broadcast Audio Scan Service on the server.
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.
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.
Definition: bap.h:136
void bt_bap_broadcast_assistant_register_cb(struct bt_bap_broadcast_assistant_cb *cb)
Registers the callbacks used by Broadcast Audio Scan Service client.
Bluetooth connection handling.
state
Definition: parser_state.h:29
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
uint8_t num_subgroups
Definition: bap.h:235
uint8_t pa_sync
Definition: bap.h:225
bt_addr_le_t addr
Definition: bap.h:221
uint8_t adv_sid
Definition: bap.h:223
uint16_t pa_interval
Periodic advertising interval in milliseconds.
Definition: bap.h:233
struct bt_bap_scan_delegator_subgroup * subgroups
Definition: bap.h:237
uint32_t broadcast_id
Definition: bap.h:227
bt_bap_broadcast_assistant_scan_cb scan
Definition: bap.h:162
bt_bap_broadcast_assistant_write_cb mod_src
Definition: bap.h:169
bt_bap_broadcast_assistant_write_cb rem_src
Definition: bap.h:171
bt_bap_broadcast_assistant_write_cb add_src
Definition: bap.h:168
bt_bap_broadcast_assistant_write_cb scan_stop
Definition: bap.h:167
bt_bap_broadcast_assistant_recv_state_cb recv_state
Definition: bap.h:163
bt_bap_broadcast_assistant_write_cb broadcast_code
Definition: bap.h:170
bt_bap_broadcast_assistant_write_cb scan_start
Definition: bap.h:166
bt_bap_broadcast_assistant_recv_state_rem_cb recv_state_removed
Definition: bap.h:164
bt_bap_broadcast_assistant_discover_cb discover
Definition: bap.h:161
uint8_t num_subgroups
Definition: bap.h:264
uint8_t pa_sync
Definition: bap.h:256
uint8_t src_id
Definition: bap.h:254
struct bt_bap_scan_delegator_subgroup * subgroups
Definition: bap.h:266
uint16_t pa_interval
Periodic advertising interval.
Definition: bap.h:262
void(* biginfo)(struct bt_bap_scan_delegator_recv_state *recv_state, const struct bt_iso_biginfo *biginfo)
Definition: bap.h:75
void(* pa_recv)(struct bt_bap_scan_delegator_recv_state *recv_state, const struct bt_le_per_adv_sync_recv_info *info, struct net_buf_simple *buf)
Definition: bap.h:72
void(* pa_term)(struct bt_bap_scan_delegator_recv_state *recv_state, const struct bt_le_per_adv_sync_term_info *info)
Definition: bap.h:70
void(* pa_synced)(struct bt_bap_scan_delegator_recv_state *recv_state, const struct bt_le_per_adv_sync_synced_info *info)
Definition: bap.h:68
uint8_t src_id
Definition: bap.h:55
uint8_t bad_code[16]
Definition: bap.h:62
bt_addr_le_t addr
Definition: bap.h:56
uint8_t req_pa_sync_value
Definition: bap.h:58
uint8_t adv_sid
Definition: bap.h:57
uint8_t encrypt_state
Definition: bap.h:60
uint8_t num_subgroups
Definition: bap.h:63
uint32_t broadcast_id
Definition: bap.h:61
struct bt_bap_scan_delegator_subgroup subgroups[0]
Definition: bap.h:64
uint8_t pa_sync_state
Definition: bap.h:59
uint8_t metadata_len
Definition: bap.h:49
uint8_t metadata[0]
Definition: bap.h:50
uint32_t bis_sync
Definition: bap.h:47
uint32_t requested_bis_sync
Definition: bap.h:48
Definition: bluetooth.h:1235
Definition: bluetooth.h:1192
Definition: bluetooth.h:1224
Definition: bluetooth.h:1789
Simple network buffer representation.
Definition: buf.h:82