NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
avdt_defs.h
1
/******************************************************************************
2
*
3
* Copyright (C) 2002-2012 Broadcom Corporation
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at:
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
******************************************************************************/
18
19
/******************************************************************************
20
*
21
* This contains constants definitions and other information from the AVDTP
22
* specification. This file is intended for use internal to AVDT only.
23
*
24
******************************************************************************/
25
#ifndef AVDT_DEFS_H
26
#define AVDT_DEFS_H
27
28
/*****************************************************************************
29
** constants
30
*****************************************************************************/
31
32
/* signalling packet type */
33
#define AVDT_PKT_TYPE_SINGLE 0
/* single packet */
34
#define AVDT_PKT_TYPE_START 1
/* start packet */
35
#define AVDT_PKT_TYPE_CONT 2
/* continue packet */
36
#define AVDT_PKT_TYPE_END 3
/* end packet */
37
38
/* signalling message type */
39
#define AVDT_MSG_TYPE_CMD 0
/* command */
40
#define AVDT_MSG_TYPE_GRJ 1
/* general reject */
41
#define AVDT_MSG_TYPE_RSP 2
/* response accept */
42
#define AVDT_MSG_TYPE_REJ 3
/* response reject */
43
44
/* signalling messages */
45
#define AVDT_SIG_DISCOVER 1
/* discover */
46
#define AVDT_SIG_GETCAP 2
/* get capabilities */
47
#define AVDT_SIG_SETCONFIG 3
/* set configuration */
48
#define AVDT_SIG_GETCONFIG 4
/* get configuration */
49
#define AVDT_SIG_RECONFIG 5
/* reconfigure */
50
#define AVDT_SIG_OPEN 6
/* open */
51
#define AVDT_SIG_START 7
/* start */
52
#define AVDT_SIG_CLOSE 8
/* close */
53
#define AVDT_SIG_SUSPEND 9
/* suspend */
54
#define AVDT_SIG_ABORT 10
/* abort */
55
#define AVDT_SIG_SECURITY 11
/* security control */
56
#define AVDT_SIG_GET_ALLCAP 12
/* get all capabilities */
57
#define AVDT_SIG_DELAY_RPT 13
/* delay report */
58
59
/* maximum signal value */
60
#define AVDT_SIG_MAX AVDT_SIG_DELAY_RPT
61
62
/* used for general reject */
63
#define AVDT_SIG_NONE 0
64
65
/* some maximum and minimum sizes of signalling messages */
66
#define AVDT_DISCOVER_REQ_MIN 1
67
#define AVDT_DISCOVER_REQ_MAX 124
68
69
/* service category information element field values */
70
#define AVDT_CAT_TRANS 1
/* Media Transport */
71
#define AVDT_CAT_REPORT 2
/* Reporting */
72
#define AVDT_CAT_RECOV 3
/* Recovery */
73
#define AVDT_CAT_PROTECT 4
/* Content Protection */
74
#define AVDT_CAT_HDRCMP 5
/* Header Compression */
75
#define AVDT_CAT_MUX 6
/* Multiplexing */
76
#define AVDT_CAT_CODEC 7
/* Media Codec */
77
#define AVDT_CAT_DELAY_RPT 8
/* Delay Reporting */
78
#define AVDT_CAT_MAX_CUR AVDT_CAT_DELAY_RPT
79
80
/* min/max lengths of service category information elements */
81
#define AVDT_LEN_TRANS_MIN 0
82
#define AVDT_LEN_REPORT_MIN 0
83
#define AVDT_LEN_RECOV_MIN 3
84
#define AVDT_LEN_PROTECT_MIN 2
85
#define AVDT_LEN_HDRCMP_MIN 1
86
#define AVDT_LEN_MUX_MIN 3
87
#define AVDT_LEN_CODEC_MIN 2
88
#define AVDT_LEN_DELAY_RPT_MIN 0
89
90
#define AVDT_LEN_TRANS_MAX 0
91
#define AVDT_LEN_REPORT_MAX 0
92
#define AVDT_LEN_RECOV_MAX 3
93
#define AVDT_LEN_PROTECT_MAX 255
94
#define AVDT_LEN_HDRCMP_MAX 1
95
#define AVDT_LEN_MUX_MAX 7
96
#define AVDT_LEN_CODEC_MAX 255
97
#define AVDT_LEN_DELAY_RPT_MAX 0
98
99
/* minimum possible size of configuration or capabilities data */
100
#define AVDT_LEN_CFG_MIN 2
101
102
/* minimum and maximum lengths for different message types */
103
#define AVDT_LEN_SINGLE 1
104
#define AVDT_LEN_SETCONFIG_MIN 2
105
#define AVDT_LEN_RECONFIG_MIN 1
106
#define AVDT_LEN_MULTI_MIN 1
107
#define AVDT_LEN_SECURITY_MIN 1
108
#define AVDT_LEN_DELAY_RPT 3
109
110
/* header lengths for different packet types */
111
#define AVDT_LEN_TYPE_SINGLE 2
/* single packet */
112
#define AVDT_LEN_TYPE_START 3
/* start packet */
113
#define AVDT_LEN_TYPE_CONT 1
/* continue packet */
114
#define AVDT_LEN_TYPE_END 1
/* end packet */
115
116
/* length of general reject message */
117
#define AVDT_LEN_GEN_REJ 2
118
119
/* recovery service capabilities information elements */
120
#define AVDT_RECOV_MRWS_MIN 0x01
/* min value for maximum recovery window */
121
#define AVDT_RECOV_MRWS_MAX 0x18
/* max value for maximum recovery window */
122
#define AVDT_RECOV_MNMP_MIN 0x01
/* min value for maximum number of media packets */
123
#define AVDT_RECOV_MNMP_MAX 0x18
/* max value for maximum number of media packets */
124
125
/* SEID value range */
126
#define AVDT_SEID_MIN 0x01
127
#define AVDT_SEID_MAX 0x3E
128
129
/* first byte of media packet header */
130
#define AVDT_MEDIA_OCTET1 0x80
131
132
/* for adaptation layer header */
133
#define AVDT_ALH_LCODE_MASK 0x03
/* coding of length field */
134
#define AVDT_ALH_LCODE_NONE 0x00
/* No length field present. Take length from l2cap */
135
#define AVDT_ALH_LCODE_16BIT 0x01
/* 16bit length field */
136
#define AVDT_ALH_LCODE_9BITM0 0x02
/* 9 bit length field, MSB = 0, 8 LSBs in 1 octet following */
137
#define AVDT_ALH_LCODE_9BITM1 0x03
/* 9 bit length field, MSB = 1, 8 LSBs in 1 octet following */
138
139
#define AVDT_ALH_FRAG_MASK 0x04
/* set this for continuation packet */
140
141
/*****************************************************************************
142
** message parsing and building macros
143
*****************************************************************************/
144
145
#define AVDT_MSG_PRS_HDR(p, lbl, pkt, msg) \
146
lbl = *(p) >> 4; \
147
pkt = (*(p) >> 2) & 0x03; \
148
msg = *(p)++ & 0x03;
149
150
#define AVDT_MSG_PRS_DISC(p, seid, in_use, type, tsep) \
151
seid = *(p) >> 2; \
152
in_use = (*(p)++ >> 1) & 0x01; \
153
type = *(p) >> 4; \
154
tsep = (*(p)++ >> 3) & 0x01;
155
156
#define AVDT_MSG_PRS_SIG(p, sig) \
157
sig = *(p)++ & 0x3F;
158
159
#define AVDT_MSG_PRS_SEID(p, seid) \
160
seid = *(p)++ >> 2;
161
162
#define AVDT_MSG_PRS_PKT_TYPE(p, pkt) \
163
pkt = (*(p) >> 2) & 0x03;
164
165
#define AVDT_MSG_PRS_OCTET1(p, o_v, o_p, o_x, o_cc) \
166
o_v = *(p) >> 6; \
167
o_p = (*(p) >> 5) & 0x01; \
168
o_x = (*(p) >> 4) & 0x01; \
169
o_cc = *(p)++ & 0x0F;
170
171
#define AVDT_MSG_PRS_RPT_OCTET1(p, o_v, o_p, o_cc) \
172
o_v = *(p) >> 6; \
173
o_p = (*(p) >> 5) & 0x01; \
174
o_cc = *(p)++ & 0x1F;
175
176
#define AVDT_MSG_PRS_M_PT(p, m_pt, marker) \
177
marker = *(p) >> 7; \
178
m_pt = *(p)++ & 0x7F;
179
180
#define AVDT_MSG_BLD_HDR(p, lbl, pkt, msg) \
181
*(p)++ = (UINT8) ((lbl) << 4) | ((pkt) << 2) | (msg);
182
183
#define AVDT_MSG_BLD_DISC(p, seid, in_use, type, tsep) \
184
*(p)++ = (UINT8) (((seid) << 2) | ((in_use) << 1)); \
185
*(p)++ = (UINT8) (((type) << 4) | ((tsep) << 3));
186
187
#define AVDT_MSG_BLD_SIG(p, sig) \
188
*(p)++ = (UINT8) (sig);
189
190
#define AVDT_MSG_BLD_SEID(p, seid) \
191
*(p)++ = (UINT8) ((seid) << 2);
192
193
#define AVDT_MSG_BLD_ERR(p, err) \
194
*(p)++ = (UINT8) (err);
195
196
#define AVDT_MSG_BLD_PARAM(p, param) \
197
*(p)++ = (UINT8) (param);
198
199
#define AVDT_MSG_BLD_NOSP(p, nosp) \
200
*(p)++ = (UINT8) (nosp);
201
202
#endif
/* AVDT_DEFS_H */
203
include
lib
revolution
BTE
stack
avdt
avdt_defs.h
Made with ❤️ by
CLF78
and
RootCubed
. Logos by
Chasical
and
B1
. Website generated by
Doxygen
1.13.2