1 /* @file
2  * @brief Internal APIs for PACS handling
3  *
4  * Copyright (c) 2020 Intel Corporation
5  * Copyright (c) 2022 Nordic Semiconductor ASA
6  *
7  * SPDX-License-Identifier: Apache-2.0
8  */
9 
10 #include <stdint.h>
11 
12 #include <zephyr/bluetooth/audio/audio.h>
13 #include <zephyr/sys/util_macro.h>
14 
15 #define BT_AUDIO_LOCATION_MASK BIT_MASK(28)
16 
17 struct bt_pac_codec {
18 	uint8_t  id;			/* Codec ID */
19 	uint16_t cid;			/* Company ID */
20 	uint16_t vid;			/* Vendor specific Codec ID */
21 } __packed;
22 
23 struct bt_pac_ltv {
24 	uint8_t  len;
25 	uint8_t  type;
26 	uint8_t  value[0];
27 } __packed;
28 
29 struct bt_pac_ltv_data {
30 	uint8_t  len;
31 	struct bt_pac_ltv data[0];
32 } __packed;
33 
34 struct bt_pacs_read_rsp {
35 	uint8_t  num_pac;		/* Number of PAC Records*/
36 } __packed;
37 
38 struct bt_pacs_context {
39 	uint16_t  snk;
40 	uint16_t  src;
41 } __packed;
42 
43 const struct bt_audio_codec_cap *bt_pacs_get_codec_cap(enum bt_audio_dir dir,
44 						       const struct bt_pac_codec *codec_id);
45