Select one of the symbols to view example projects that use it.
 
Outline
#define AVRC_INT_H
#include "avct_defs.h"
#include "stack/avrc_api.h"
#define AVRC_NUM_ATTR
#define AVRC_NUM_PROTO_ELEMS
#define AVRC_MIN_CMD_LEN
#define AVRC_UNIT_OPRND_BYTES
#define AVRC_SUB_OPRND_BYTES
#define AVRC_SUBRSP_OPRND_BYTES
#define AVRC_SUB_PAGE_MASK
#define AVRC_SUB_PAGE_SHIFT
#define AVRC_SUB_EXT_CODE
#define AVRC_PASS_OP_ID_MASK
#define AVRC_PASS_STATE_MASK
#define AVRC_CMD_OPRND_PAD
#define AVRC_CTYPE_MASK
#define AVRC_SUBTYPE_MASK
#define AVRC_SUBTYPE_SHIFT
#define AVRC_SUBID_MASK
#define AVRC_SUBID_IGNORE
#define AVRC_SINGLE_PARAM_SIZE
#define AVRC_METADATA_PKT_TYPE_MASK
#define AVRC_PASS_THOUGH_MSG_MASK
#define AVRC_VENDOR_UNIQUE_MASK
#define AVRC_CO_ID_TO_BE_STREAM
#define AVRC_BE_STREAM_TO_CO_ID
#define AVRC_AVC_HDR_SIZE
#define AVRC_MIN_META_HDR_SIZE
#define AVRC_MIN_BROWSE_HDR_SIZE
#define AVRC_VENDOR_HDR_SIZE
#define AVRC_MSG_VENDOR_OFFSET
#define AVRC_MIN_VENDOR_SIZE
#define AVRC_PASS_THRU_SIZE
#define AVRC_MSG_PASS_THRU_OFFSET
#define AVRC_MIN_PASS_THRU_SIZE
#define AVRC_MIN_BROWSE_SIZE
#define AVRC_CTRL_PKT_LEN
#define AVRC_MAX_CTRL_DATA_LEN
#define avrc_cb
Files
loading...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/bt/host/bluedroid/stack/avrc/include/avrc_int.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/****************************************************************************** * * Copyright (C) 2003-2012 Broadcom Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************//* ... */ /****************************************************************************** * * VRCP internal header file. * ******************************************************************************//* ... */ #ifndef AVRC_INT_H #define AVRC_INT_H #include "avct_defs.h" #include "stack/avrc_api.h" #if (AVRC_INCLUDED == TRUE) /* DEBUG FLAGS * * #define META_DEBUG_ENABLED *//* ... */ /***************************************************************************** ** Constants *****************************************************************************//* ... */ /* Number of attributes in AVRC SDP record. */ #define AVRC_NUM_ATTR 6 /* Number of protocol elements in protocol element list. */ #define AVRC_NUM_PROTO_ELEMS 2 #ifndef AVRC_MIN_CMD_LEN #define AVRC_MIN_CMD_LEN 20 #endif #define AVRC_UNIT_OPRND_BYTES 5 #define AVRC_SUB_OPRND_BYTES 4 #define AVRC_SUBRSP_OPRND_BYTES 3 #define AVRC_SUB_PAGE_MASK 7 #define AVRC_SUB_PAGE_SHIFT 4 #define AVRC_SUB_EXT_CODE 7 #define AVRC_PASS_OP_ID_MASK 0x7F #define AVRC_PASS_STATE_MASK 0x80 #define AVRC_CMD_OPRND_PAD 0xFF #define AVRC_CTYPE_MASK 0x0F #define AVRC_SUBTYPE_MASK 0xF8 #define AVRC_SUBTYPE_SHIFT 3 #define AVRC_SUBID_MASK 0x07 #define AVRC_SUBID_IGNORE 0x07 #define AVRC_SINGLE_PARAM_SIZE 1 #define AVRC_METADATA_PKT_TYPE_MASK 0x03 #define AVRC_PASS_THOUGH_MSG_MASK 0x80 /* MSB of msg_type indicates the PAS THROUGH msg */ #define AVRC_VENDOR_UNIQUE_MASK 0x70 /* vendor unique id */ /* Company ID is 24-bit integer We can not use the macros in stack/bt_types.h */ #define AVRC_CO_ID_TO_BE_STREAM(p, u32) {*(p)++ = (UINT8)((u32) >> 16); *(p)++ = (UINT8)((u32) >> 8); *(p)++ = (UINT8)(u32); } #define AVRC_BE_STREAM_TO_CO_ID(u32, p) {u32 = (((UINT32)(*((p) + 2))) + (((UINT32)(*((p) + 1))) << 8) + (((UINT32)(*(p))) << 16)); (p) += 3;} #define AVRC_AVC_HDR_SIZE 3 /* ctype, subunit*, opcode */ #define AVRC_MIN_META_HDR_SIZE 4 /* pdu id(1), packet type(1), param len(2) */ #define AVRC_MIN_BROWSE_HDR_SIZE 3 /* pdu id(1), param len(2) */ #define AVRC_VENDOR_HDR_SIZE 6 /* ctype, subunit*, opcode, CO_ID */ #define AVRC_MSG_VENDOR_OFFSET 23 #define AVRC_MIN_VENDOR_SIZE (AVRC_MSG_VENDOR_OFFSET + BT_HDR_SIZE + AVRC_MIN_META_HDR_SIZE) #define AVRC_PASS_THRU_SIZE 8 #define AVRC_MSG_PASS_THRU_OFFSET 25 #define AVRC_MIN_PASS_THRU_SIZE (AVRC_MSG_PASS_THRU_OFFSET + BT_HDR_SIZE + 4) #define AVRC_MIN_BROWSE_SIZE (AVCT_BROWSE_OFFSET + BT_HDR_SIZE + AVRC_MIN_BROWSE_HDR_SIZE) #define AVRC_CTRL_PKT_LEN(pf, pk) {pf = (UINT8 *)((pk) + 1) + (pk)->offset + 2;} #define AVRC_MAX_CTRL_DATA_LEN (AVRC_PACKET_LEN)32 defines /***************************************************************************** ** Type definitions *****************************************************************************//* ... */ #if (AVRC_METADATA_INCLUDED == TRUE) /* type for Metadata fragmentation control block */ typedef struct { BT_HDR *p_fmsg; /* the fragmented message */ UINT8 frag_pdu; /* the PDU ID for fragmentation */ BOOLEAN frag_enabled; /* fragmentation flag */ }{...} tAVRC_FRAG_CB; /* type for Metadata re-assembly control block */ typedef struct { BT_HDR *p_rmsg; /* the received message */ UINT16 rasm_offset; /* re-assembly flag, the offset of the start fragment */ UINT8 rasm_pdu; /* the PDU ID for re-assembly */ }{...} tAVRC_RASM_CB;/* ... */ #endif typedef struct { tAVRC_CONN_CB ccb[AVCT_NUM_CONN]; #if (AVRC_METADATA_INCLUDED == TRUE) tAVRC_FRAG_CB fcb[AVCT_NUM_CONN]; tAVRC_RASM_CB rcb[AVCT_NUM_CONN];/* ... */ #endif tAVRC_FIND_CBACK *p_cback; /* pointer to application callback */ tSDP_DISCOVERY_DB *p_db; /* pointer to discovery database */ UINT16 service_uuid; /* service UUID to search */ UINT8 trace_level; }{...} tAVRC_CB; #ifdef __cplusplus extern "C" { #endif /****************************************************************************** ** Main Control Block *******************************************************************************/ #if AVRC_DYNAMIC_MEMORY == FALSE extern tAVRC_CB avrc_cb; #else extern tAVRC_CB *avrc_cb_ptr; #define avrc_cb (*avrc_cb_ptr) #endif extern BOOLEAN avrc_is_valid_pdu_id(UINT8 pdu_id); extern BOOLEAN avrc_is_valid_player_attrib_value(UINT8 attrib, UINT8 value); extern BT_HDR *avrc_alloc_ctrl_pkt (UINT8 pdu); extern tAVRC_STS avrc_pars_pass_thru(tAVRC_MSG_PASS *p_msg, UINT16 *p_vendor_unique_id); extern UINT8 avrc_opcode_from_pdu(UINT8 pdu); extern BOOLEAN avrc_is_valid_opcode(UINT8 opcode); #ifdef __cplusplus } #endif #endif ///AVRC_INCLUDED == TRUE #endif /* AVRC_INT_H */
Details
Show:
from
Types: Columns:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.