1 /** @file
2  * @brief Audio/Video Distribution Transport Protocol header.
3  */
4 
5 /*
6  * Copyright (c) 2015-2016 Intel Corporation
7  *
8  * SPDX-License-Identifier: Apache-2.0
9  */
10 #ifndef ZEPHYR_INCLUDE_BLUETOOTH_AVDTP_H_
11 #define ZEPHYR_INCLUDE_BLUETOOTH_AVDTP_H_
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #include <bluetooth/l2cap.h>
18 
19 /** @brief AVDTP SEID Information */
20 struct bt_avdtp_seid_info {
21 	/** Stream End Point ID */
22 	uint8_t id:6;
23 	/** End Point usage status */
24 	uint8_t inuse:1;
25 	/** Reserved */
26 	uint8_t rfa0:1;
27 	/** Media-type of the End Point */
28 	uint8_t media_type:4;
29 	/** TSEP of the End Point */
30 	uint8_t tsep:1;
31 	/** Reserved */
32 	uint8_t rfa1:3;
33 } __packed;
34 
35 /** @brief AVDTP Local SEP*/
36 struct bt_avdtp_seid_lsep {
37 	/** Stream End Point information */
38 	struct bt_avdtp_seid_info sep;
39 	/** Pointer to next local Stream End Point structure */
40 	struct bt_avdtp_seid_lsep *next;
41 };
42 
43 /** @brief AVDTP Stream */
44 struct bt_avdtp_stream {
45 	struct bt_l2cap_br_chan chan; /* Transport Channel*/
46 	struct bt_avdtp_seid_info lsep; /* Configured Local SEP */
47 	struct bt_avdtp_seid_info rsep; /* Configured Remote SEP*/
48 	uint8_t state; /* current state of the stream */
49 	struct bt_avdtp_stream *next;
50 };
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 
56 #endif /* ZEPHYR_INCLUDE_BLUETOOTH_AVDTP_H_ */
57