blob: edaeccacb6bbd6a13ab66b3994b9b1d4ae8e1fe4 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
AnjaneeDevi Kapparapu24b52ff2014-02-18 18:44:02 -08002 * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
Gopichand Nakkala9c070ad2013-01-08 21:16:34 -080020 */
AnjaneeDevi Kapparapu24b52ff2014-02-18 18:44:02 -080021
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028#ifndef BTAMPHCI_H
29#define BTAMPHCI_H
30
31/**
32 * \file btampHCI.h
33 *
34 * \brief Structures, function prototypes & definitions
35 * for working with 802.11 Frames
36 *
37 *
AnjaneeDevi Kapparapu24b52ff2014-02-18 18:44:02 -080038
Jeff Johnson295189b2012-06-20 16:38:30 -070039 *
40 *
41 * This file was automatically generated by 'framesc'
42 * Mon Mar 02 14:06:14 2009 from the following file(s):
43 *
44 * btampHCI.frms
45 *
46 * PLEASE DON'T EDIT THIS FILE BY HAND!
47 *
48 * Instead, please update the input files & re-run
49 * 'framesc' For more information on 'framesc' & the
50 * frames language, run 'framesc --help'.
51 *
52 *
53 */
54
55
56#define WLANBAP_MAX_LOG_LINKS 16 /* Logical links are assigned by BAP */
57
58
59#if 0
60
61/* Calling conventions: The General format of the Unpack and Pack routines */
62
63/*==========================================================================
64
65 FUNCTION Unpack_XxxMessage
66
67 DESCRIPTION
68 Unpack from a Message buffer into a structured type.
69
70
71 DEPENDENCIES
72
73
74 PARAMETERS
75
76
77 IN
78 void * : halHandle (passed down to the MAC layer and below)
79 v_U8_t* : Pointer to the source message buffer
80 v_U16_t : Length in bytes of the contents of the message buffer.
81 tXxxMessage* : Pointer to the structure in which to return the unpacked values.
82
83 RETURN VALUE
84
85 The result code associated with performing the operation
86
87
88 SIDE EFFECTS
89
90============================================================================*/
91v_U32_t Unpack_XxxMessage(void *, v_U8_t*,v_U16_t, tXxxMessage*);
92
93
94/*==========================================================================
95
96 FUNCTION Pack_XxxMessage
97
98 DESCRIPTION
99 Pack the data from a structure into a Message buffer.
100
101
102 DEPENDENCIES
103
104
105 PARAMETERS
106
107
108 IN
109 void * : halHandle (passed down to the MAC layer and below)
110 tXxxMessage* : Pointer to the structure from which to obtain values.
111 v_U8_t* : Pointer to the destination message buffer.
112 v_U32_t : Length in bytes of the destination message buffer.
113 v_U32_t* : Pointer to return the actual length of the encoded message buffer in.
114
115
116 RETURN VALUE
117
118 The result code associated with performing the operation
119
120 SIDE EFFECTS
121
122
123============================================================================*/
124v_U32_t Pack_XxxMessage(void *, tXxxMessage*, v_U8_t*, v_U32_t, v_U32_t*);
125
126#endif
127
128
129typedef v_U32_t tBTAMP_U64[2];
130
131#if defined ( _MSC_VER )
132# pragma warning (disable: 4214) /* nonstandard extension used */
133#endif /* Microsoft C/C++ bit field types other than int */
134
135/*
136 * Frames Return Codes:
137 *
138 * Success is indicated by a return value of zero. Failure is indicated
139 * by the presence of the high bit. Warnings encountered in the course
140 * of a successful parse are indicated by various bits in the lower 31
141 * being turned on.
142 *
143 * For instance, a return value of 0x0000000a would indicate that the
144 * parse succeeded, but that a mandatory IE wasn't present, and some IE
145 * was found to be corrupt.
146 *
147 *
148 */
149
150#define BTAMP_PARSE_SUCCESS ( 0x00000000 )
151#define BTAMP_UNKNOWN_IES ( 0x00000001 )
152#define BTAMP_MANDATORY_IE_MISSING ( 0x00000002 )
153#define BTAMP_INCOMPLETE_IE ( 0x00000004 )
154#define BTAMP_SKIPPED_BAD_IE ( 0x00000008 )
155#define BTAMP_LAST_IE_TOO_LONG ( 0x00000010 )
156#define BTAMP_DUPLICATE_IE ( 0x00000020 )
157#define BTAMP_BAD_FIXED_VALUE ( 0x00000040 )
158#define BTAMP_INCOMPLETE_TLV ( 0x00000080 )
159#define BTAMP_INVALID_TLV_LENGTH ( 0x00000100 )
160#define BTAMP_SKIPPED_BAD_TLV ( 0x00000200 )
161#define BTAMP_UNKNOWN_TLVS ( 0x00000400 )
162#define BTAMP_LAST_TLV_TOO_LONG ( 0x00000800 )
163#define BTAMP_INTERNAL_ERROR ( 0x10000001 )
164#define BTAMP_MISSING_FIXED_FIELD ( 0x10000002 )
165#define BTAMP_BAD_INPUT_BUFFER ( 0x10000003 )
166#define BTAMP_BAD_OUTPUT_BUFFER ( 0x10000004 )
167#define BTAMP_BUFFER_OVERFLOW ( 0x10000005 )
168#define BTAMP_MANDATORY_TLV_MISSING ( 0x00001000 )
169#define BTAMP_FAILED(code) ( (code) & 0x10000000 )
170#define BTAMP_WARNED(code) ( ( ( 0 == (code) ) & 0x10000000 ) && code)
171#define BTAMP_SUCCEEDED(code) ( (code) == 0 )
172
173/*********************************************************************
174 * Fixed Fields *
175 ********************************************************************/
176
177/*********************************************************************
178 * TLVs *
179 ********************************************************************/
180
181// ID 3 (0x0003)
182typedef struct sBtampTLVAMP_Assoc_Connected_Channel {
183 v_U8_t present;
184 v_U8_t country[3];
185 v_U8_t num_triplets;
Tushnim Bhattacharyya812c8bd2013-04-30 21:02:48 -0700186 v_U8_t triplets[5][3];
Jeff Johnson295189b2012-06-20 16:38:30 -0700187} tBtampTLVAMP_Assoc_Connected_Channel;
188
189#define BTAMP_TLV_AMP_ASSOC_CONNECTED_CHANNEL ( 3 )
190
191// N.B. These #defines do *not* include the ID & length
192#define BTAMP_TLV_AMP_ASSOC_CONNECTED_CHANNEL_MIN_LEN ( 5 )
193
194#define BTAMP_TLV_AMP_ASSOC_CONNECTED_CHANNEL_MAX_LEN ( 11 )
195
196#ifdef __cplusplus
197extern "C" {
198#endif /* C++ */
199v_U32_t btampUnpackTlvAMP_Assoc_Connected_Channel(void *, v_U8_t*,v_U16_t, tBtampTLVAMP_Assoc_Connected_Channel*);
200
201v_U32_t btampPackTlvAMP_Assoc_Connected_Channel(void *, tBtampTLVAMP_Assoc_Connected_Channel*, v_U8_t*, v_U32_t, v_U32_t*);
202
203v_U32_t btampGetPackedTlvAMP_Assoc_Connected_Channel(void *, tBtampTLVAMP_Assoc_Connected_Channel*, v_U32_t*);
204
205#ifdef __cplusplus
206}; /* End extern "C". */
207#endif /* C++ */
208// ID 1 (0x0001)
209typedef struct sBtampTLVAMP_Assoc_MAC_Addr {
210 v_U8_t present;
211 v_U8_t mac_addr[6];
212} tBtampTLVAMP_Assoc_MAC_Addr;
213
214#define BTAMP_TLV_AMP_ASSOC_MAC_ADDR ( 1 )
215
216// N.B. These #defines do *not* include the ID & length
217#define BTAMP_TLV_AMP_ASSOC_MAC_ADDR_MIN_LEN ( 8 )
218
219#define BTAMP_TLV_AMP_ASSOC_MAC_ADDR_MAX_LEN ( 8 )
220
221#ifdef __cplusplus
222extern "C" {
223#endif /* C++ */
224v_U32_t btampUnpackTlvAMP_Assoc_MAC_Addr(void *, v_U8_t*,v_U16_t, tBtampTLVAMP_Assoc_MAC_Addr*);
225
226v_U32_t btampPackTlvAMP_Assoc_MAC_Addr(void *, tBtampTLVAMP_Assoc_MAC_Addr*, v_U8_t*, v_U32_t, v_U32_t*);
227
228v_U32_t btampGetPackedTlvAMP_Assoc_MAC_Addr(void *, tBtampTLVAMP_Assoc_MAC_Addr*, v_U32_t*);
229
230#ifdef __cplusplus
231}; /* End extern "C". */
232#endif /* C++ */
233// ID 4 (0x0004)
234typedef struct sBtampTLVAMP_Assoc_PAL_Capabilities {
235 v_U8_t present;
236 v_U32_t pal_capabilities;
237} tBtampTLVAMP_Assoc_PAL_Capabilities;
238
239#define BTAMP_TLV_AMP_ASSOC_PAL_CAPABILITIES ( 4 )
240
241// N.B. These #defines do *not* include the ID & length
242#define BTAMP_TLV_AMP_ASSOC_PAL_CAPABILITIES_MIN_LEN ( 6 )
243
244#define BTAMP_TLV_AMP_ASSOC_PAL_CAPABILITIES_MAX_LEN ( 6 )
245
246#ifdef __cplusplus
247extern "C" {
248#endif /* C++ */
249v_U32_t btampUnpackTlvAMP_Assoc_PAL_Capabilities(void *, v_U8_t*,v_U16_t, tBtampTLVAMP_Assoc_PAL_Capabilities*);
250
251v_U32_t btampPackTlvAMP_Assoc_PAL_Capabilities(void *, tBtampTLVAMP_Assoc_PAL_Capabilities*, v_U8_t*, v_U32_t, v_U32_t*);
252
253v_U32_t btampGetPackedTlvAMP_Assoc_PAL_Capabilities(void *, tBtampTLVAMP_Assoc_PAL_Capabilities*, v_U32_t*);
254
255#ifdef __cplusplus
256}; /* End extern "C". */
257#endif /* C++ */
258// ID 5 (0x0005)
259typedef struct sBtampTLVAMP_Assoc_PAL_Version {
260 v_U8_t present;
261 v_U8_t pal_version;
262 v_U16_t pal_CompanyID;
263 v_U16_t pal_subversion;
264} tBtampTLVAMP_Assoc_PAL_Version;
265
266#define BTAMP_TLV_AMP_ASSOC_PAL_VERSION ( 5 )
267
268// N.B. These #defines do *not* include the ID & length
269#define BTAMP_TLV_AMP_ASSOC_PAL_VERSION_MIN_LEN ( 7 )
270
271#define BTAMP_TLV_AMP_ASSOC_PAL_VERSION_MAX_LEN ( 7 )
272
273#ifdef __cplusplus
274extern "C" {
275#endif /* C++ */
276v_U32_t btampUnpackTlvAMP_Assoc_PAL_Version(void *, v_U8_t*,v_U16_t, tBtampTLVAMP_Assoc_PAL_Version*);
277
278v_U32_t btampPackTlvAMP_Assoc_PAL_Version(void *, tBtampTLVAMP_Assoc_PAL_Version*, v_U8_t*, v_U32_t, v_U32_t*);
279
280v_U32_t btampGetPackedTlvAMP_Assoc_PAL_Version(void *, tBtampTLVAMP_Assoc_PAL_Version*, v_U32_t*);
281
282#ifdef __cplusplus
283}; /* End extern "C". */
284#endif /* C++ */
285// ID 2 (0x0002)
286typedef struct sBtampTLVAMP_Assoc_Preferred_Channel_List {
287 v_U8_t present;
288 v_U8_t country[3];
289 v_U8_t num_triplets;
290 v_U8_t triplets[5][3];
291} tBtampTLVAMP_Assoc_Preferred_Channel_List;
292
293#define BTAMP_TLV_AMP_ASSOC_PREFERRED_CHANNEL_LIST ( 2 )
294
295// N.B. These #defines do *not* include the ID & length
296#define BTAMP_TLV_AMP_ASSOC_PREFERRED_CHANNEL_LIST_MIN_LEN ( 5 )
297
298#define BTAMP_TLV_AMP_ASSOC_PREFERRED_CHANNEL_LIST_MAX_LEN ( 20 )
299
300#ifdef __cplusplus
301extern "C" {
302#endif /* C++ */
303v_U32_t btampUnpackTlvAMP_Assoc_Preferred_Channel_List(void *, v_U8_t*,v_U16_t, tBtampTLVAMP_Assoc_Preferred_Channel_List*);
304
305v_U32_t btampPackTlvAMP_Assoc_Preferred_Channel_List(void *, tBtampTLVAMP_Assoc_Preferred_Channel_List*, v_U8_t*, v_U32_t, v_U32_t*);
306
307v_U32_t btampGetPackedTlvAMP_Assoc_Preferred_Channel_List(void *, tBtampTLVAMP_Assoc_Preferred_Channel_List*, v_U32_t*);
308
309#ifdef __cplusplus
310}; /* End extern "C". */
311#endif /* C++ */
312// ID 6 (0x0006)
313typedef struct sBtampTLVFlow_Spec {
314 v_U8_t present;
315 v_U8_t flow_spec_id;
316 v_U8_t service_type;
317 v_U16_t max_sdu;
318 v_U32_t sdu_inter_arrival;
319 v_U32_t access_latency;
320 v_U32_t flush_timeout;
321} tBtampTLVFlow_Spec;
322
323#define BTAMP_TLV_FLOW_SPEC ( 6 )
324
325// N.B. These #defines do *not* include the ID & length
326#define BTAMP_TLV_FLOW_SPEC_MIN_LEN ( 18 )
327
328#define BTAMP_TLV_FLOW_SPEC_MAX_LEN ( 18 )
329
330#ifdef __cplusplus
331extern "C" {
332#endif /* C++ */
333v_U32_t btampUnpackTlvFlow_Spec(void *, v_U8_t*,v_U16_t, tBtampTLVFlow_Spec*);
334
335v_U32_t btampPackTlvFlow_Spec(void *, tBtampTLVFlow_Spec*, v_U8_t*, v_U32_t, v_U32_t*);
336
337v_U32_t btampGetPackedTlvFlow_Spec(void *, tBtampTLVFlow_Spec*, v_U32_t*);
338
339#ifdef __cplusplus
340}; /* End extern "C". */
341#endif /* C++ */
342// ID 1081 (0x0439)
343typedef struct sBtampTLVHCI_Accept_Logical_Link_Cmd {
344 v_U8_t present;
345 v_U8_t phy_link_handle;
346 v_U8_t tx_flow_spec[18];
347 v_U8_t rx_flow_spec[18];
348} tBtampTLVHCI_Accept_Logical_Link_Cmd;
349
350#define BTAMP_TLV_HCI_ACCEPT_LOGICAL_LINK_CMD ( 1081 )
351
352// N.B. These #defines do *not* include the ID & length
353#define BTAMP_TLV_HCI_ACCEPT_LOGICAL_LINK_CMD_MIN_LEN ( 39 )
354
355#define BTAMP_TLV_HCI_ACCEPT_LOGICAL_LINK_CMD_MAX_LEN ( 39 )
356
357#ifdef __cplusplus
358extern "C" {
359#endif /* C++ */
360v_U32_t btampUnpackTlvHCI_Accept_Logical_Link_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Accept_Logical_Link_Cmd*);
361
362v_U32_t btampPackTlvHCI_Accept_Logical_Link_Cmd(void *, tBtampTLVHCI_Accept_Logical_Link_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
363
364v_U32_t btampGetPackedTlvHCI_Accept_Logical_Link_Cmd(void *, tBtampTLVHCI_Accept_Logical_Link_Cmd*, v_U32_t*);
365
366#ifdef __cplusplus
367}; /* End extern "C". */
368#endif /* C++ */
369// ID 1078 (0x0436)
370typedef struct sBtampTLVHCI_Accept_Physical_Link_Cmd {
371 v_U8_t present;
372 v_U8_t phy_link_handle;
373 v_U8_t key_length;
374 v_U8_t key_type;
375 v_U8_t key_material[32];
376} tBtampTLVHCI_Accept_Physical_Link_Cmd;
377
378#define BTAMP_TLV_HCI_ACCEPT_PHYSICAL_LINK_CMD ( 1078 )
379
380// N.B. These #defines do *not* include the ID & length
381#define BTAMP_TLV_HCI_ACCEPT_PHYSICAL_LINK_CMD_MIN_LEN ( 5 )
382
383#define BTAMP_TLV_HCI_ACCEPT_PHYSICAL_LINK_CMD_MAX_LEN ( 37 )
384
385#ifdef __cplusplus
386extern "C" {
387#endif /* C++ */
388v_U32_t btampUnpackTlvHCI_Accept_Physical_Link_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Accept_Physical_Link_Cmd*);
389
390v_U32_t btampPackTlvHCI_Accept_Physical_Link_Cmd(void *, tBtampTLVHCI_Accept_Physical_Link_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
391
392v_U32_t btampGetPackedTlvHCI_Accept_Physical_Link_Cmd(void *, tBtampTLVHCI_Accept_Physical_Link_Cmd*, v_U32_t*);
393
394#ifdef __cplusplus
395}; /* End extern "C". */
396#endif /* C++ */
397// ID 65 (0x0041)
398typedef struct sBtampTLVHCI_Channel_Selected_Event {
399 v_U8_t present;
400 v_U8_t phy_link_handle;
401} tBtampTLVHCI_Channel_Selected_Event;
402
403#define BTAMP_TLV_HCI_CHANNEL_SELECTED_EVENT ( 65 )
404
405// N.B. These #defines do *not* include the ID & length
406#define BTAMP_TLV_HCI_CHANNEL_SELECTED_EVENT_MIN_LEN ( 3 )
407
408#define BTAMP_TLV_HCI_CHANNEL_SELECTED_EVENT_MAX_LEN ( 3 )
409
410#ifdef __cplusplus
411extern "C" {
412#endif /* C++ */
413v_U32_t btampUnpackTlvHCI_Channel_Selected_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Channel_Selected_Event*);
414
415v_U32_t btampPackTlvHCI_Channel_Selected_Event(void *, tBtampTLVHCI_Channel_Selected_Event*, v_U8_t*, v_U32_t, v_U32_t*);
416
417v_U32_t btampGetPackedTlvHCI_Channel_Selected_Event(void *, tBtampTLVHCI_Channel_Selected_Event*, v_U32_t*);
418
419#ifdef __cplusplus
420}; /* End extern "C". */
421#endif /* C++ */
422// ID 14 (0x000e)
423typedef struct sBtampTLVHCI_Command_Complete_Event {
424 v_U8_t present;
425 v_U8_t num_hci_command_packets;
426 v_U16_t command_opcode;
427 union
428 {
429 struct
430 {
431 v_U8_t status;
432 } Reset; /* command_opcode = c03 */
433 struct
434 {
435 v_U8_t status;
436 v_U16_t log_link_handle;
437 } Flush; /* command_opcode = c08 */
438 struct
439 {
440 v_U8_t status;
441 v_U8_t phy_link_handle;
442 v_U8_t tx_flow_spec_id;
443 } Logical_Link_Cancel; /* command_opcode = 43b */
444 struct
445 {
446 v_U8_t status;
447 } Set_Event_Mask; /* command_opcode = c05 */
448 struct
449 {
450 v_U8_t status;
451 v_U16_t connection_accept_timeout;
452 } Read_Connection_Accept_TO; /* command_opcode = c15 */
453 struct
454 {
455 v_U8_t status;
456 } Write_Connection_Accept_TO; /* command_opcode = c16 */
457 struct
458 {
459 v_U8_t status;
460 v_U16_t log_link_handle;
461 v_U16_t link_supervision_timeout;
462 } Read_Link_Supervision_TO; /* command_opcode = c36 */
463 struct
464 {
465 v_U8_t status;
466 v_U16_t log_link_handle;
467 } Write_Link_Supervision_TO; /* command_opcode = c37 */
468 struct
469 {
470 v_U8_t status;
471 v_U16_t logical_link_accept_timeout;
472 } Read_Logical_Link_Accept_TO; /* command_opcode = c61 */
473 struct
474 {
475 v_U8_t status;
476 } Write_Logical_Link_Accept_TO; /* command_opcode = c62 */
477 struct
478 {
479 v_U8_t status;
480 } Set_Event_Mask_Page_2; /* command_opcode = c63 */
481 struct
482 {
483 v_U8_t status;
484 v_U8_t loc_domain_aware;
485 v_U8_t loc_domain[3];
486 v_U8_t loc_options;
487 } Read_Location_Data; /* command_opcode = 3172 */
488 struct
489 {
490 v_U8_t status;
491 } Write_Location_Data; /* command_opcode = 3173 */
492 struct
493 {
494 v_U8_t status;
495 v_U8_t flow_control_mode;
496 } Read_Flow_Control_Mode; /* command_opcode = 3174 */
497 struct
498 {
499 v_U8_t status;
500 } Write_Flow_Control_Mode; /* command_opcode = 3175 */
501 struct
502 {
503 v_U8_t status;
504 v_U32_t best_effort_flush_timeout;
505 } Read_BE_Flush_TO; /* command_opcode = 3177 */
506 struct
507 {
508 v_U8_t status;
509 } Write_BE_Flush_TO; /* command_opcode = 3178 */
510 struct
511 {
512 v_U8_t status;
513 } Set_Short_Range_Mode; /* command_opcode = 3179 */
514 struct
515 {
516 v_U8_t status;
517 v_U8_t HC_HCI_Version;
518 v_U16_t HC_HCI_Revision;
519 v_U8_t HC_PAL_Version;
520 v_U16_t HC_Manufac_Name;
521 v_U16_t HC_PAL_Sub_Version;
522 } Read_Local_Version_Info; /* command_opcode = 4097 */
523 struct
524 {
525 v_U8_t status;
526 v_U8_t HC_Support_Cmds[64];
527 } Read_Local_Supported_Cmds; /* command_opcode = 4098 */
528 struct
529 {
530 v_U8_t status;
531 v_U16_t HC_ACL_Data_Packet_Length;
532 v_U8_t HC_SCO_Packet_Length;
533 v_U16_t HC_Total_Num_ACL_Packets;
534 v_U16_t HC_Total_Num_SCO_Packets;
535 } Read_Buffer_Size; /* command_opcode = 4101 */
536 struct
537 {
538 v_U8_t status;
539 v_U16_t HC_Max_ACL_Data_Packet_Length;
540 v_U16_t HC_Data_Block_Length;
541 v_U16_t HC_Total_Num_Data_Blocks;
542 } Read_Data_Block_Size; /* command_opcode = 4106 */
543 struct
544 {
545 v_U8_t status;
546 v_U16_t log_link_handle;
547 v_U16_t failed_contact_counter;
548 } Read_Failed_Contact_Counter; /* command_opcode = 5121 */
549 struct
550 {
551 v_U8_t status;
552 v_U16_t log_link_handle;
553 } Reset_Failed_Contact_Counter; /* command_opcode = 5122 */
554 struct
555 {
556 v_U8_t status;
557 v_U16_t log_link_handle;
558 v_U8_t link_quality;
559 } Read_Link_Quality; /* command_opcode = 5123 */
560 struct
561 {
562 v_U8_t status;
563 /* 2 bytes handle to comply with spec, (lower byte valid) */
564 v_U16_t phy_link_handle;
565 v_S7_t rssi;
566 } Read_RSSI; /* command_opcode = 5125 */
567 struct
568 {
569 v_U8_t status;
570 v_U8_t HC_AMP_Status;
571 v_U32_t HC_Total_BW;
572 v_U32_t HC_Max_Guaranteed_BW;
573 v_U32_t HC_Min_Latency;
574 v_U32_t HC_Max_PDU_Size;
575 v_U8_t HC_Controller_Type;
576 v_U16_t HC_PAL_Capabilities;
577 v_U16_t HC_AMP_Assoc_Length;
578 v_U32_t HC_Max_Flush_Timeout;
579 v_U32_t HC_BE_Flush_Timeout;
580 } Read_Local_AMP_Info; /* command_opcode = 5129 */
581 struct
582 {
583 v_U8_t status;
584 v_U8_t phy_link_handle;
585 v_U16_t remaining_length;
586 v_U8_t AMP_assoc_fragment[248];
587 } Read_Read_Local_AMP_Assoc; /* command_opcode = 5130 */
588 struct
589 {
590 v_U8_t status;
591 v_U8_t phy_link_handle;
592 } Write_Remote_AMP_Assoc; /* command_opcode = 5131 */
593 struct
594 {
595 v_U8_t status;
596 v_U8_t loopback_mode;
597 } Read_Loopback_Mode; /* command_opcode = 6145 */
598 struct
599 {
600 v_U8_t status;
601 } Write_Loopback_Mode; /* command_opcode = 6146 */
602 struct
603 {
604 v_U8_t status;
605 } Vendor_Specific_Cmd_0; /* command_opcode = fc00 */
606 struct
607 {
608 v_U8_t status;
609 } Vendor_Specific_Cmd_1; /* command_opcode = fc01 */
610 } cc_event;
611} tBtampTLVHCI_Command_Complete_Event;
612
613#define BTAMP_TLV_HCI_COMMAND_COMPLETE_EVENT ( 14 )
614
615// N.B. These #defines do *not* include the ID & length
616#define BTAMP_TLV_HCI_COMMAND_COMPLETE_EVENT_MIN_LEN ( 6 )
617
618#define BTAMP_TLV_HCI_COMMAND_COMPLETE_EVENT_MAX_LEN ( 257 )
619
620#ifdef __cplusplus
621extern "C" {
622#endif /* C++ */
623v_U32_t btampUnpackTlvHCI_Command_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Command_Complete_Event*);
624
625v_U32_t btampPackTlvHCI_Command_Complete_Event(void *, tBtampTLVHCI_Command_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
626
627v_U32_t btampGetPackedTlvHCI_Command_Complete_Event(void *, tBtampTLVHCI_Command_Complete_Event*, v_U32_t*);
628
629#ifdef __cplusplus
630}; /* End extern "C". */
631#endif /* C++ */
632// ID 15 (0x000f)
633typedef struct sBtampTLVHCI_Command_Status_Event {
634 v_U8_t present;
635 v_U8_t status;
636 v_U8_t num_hci_command_packets;
637 v_U16_t command_opcode;
638} tBtampTLVHCI_Command_Status_Event;
639
640#define BTAMP_TLV_HCI_COMMAND_STATUS_EVENT ( 15 )
641
642// N.B. These #defines do *not* include the ID & length
643#define BTAMP_TLV_HCI_COMMAND_STATUS_EVENT_MIN_LEN ( 6 )
644
645#define BTAMP_TLV_HCI_COMMAND_STATUS_EVENT_MAX_LEN ( 6 )
646
647#ifdef __cplusplus
648extern "C" {
649#endif /* C++ */
650v_U32_t btampUnpackTlvHCI_Command_Status_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Command_Status_Event*);
651
652v_U32_t btampPackTlvHCI_Command_Status_Event(void *, tBtampTLVHCI_Command_Status_Event*, v_U8_t*, v_U32_t, v_U32_t*);
653
654v_U32_t btampGetPackedTlvHCI_Command_Status_Event(void *, tBtampTLVHCI_Command_Status_Event*, v_U32_t*);
655
656#ifdef __cplusplus
657}; /* End extern "C". */
658#endif /* C++ */
659// ID 1080 (0x0438)
660typedef struct sBtampTLVHCI_Create_Logical_Link_Cmd {
661 v_U8_t present;
662 v_U8_t phy_link_handle;
663 v_U8_t tx_flow_spec[18];
664 v_U8_t rx_flow_spec[18];
665} tBtampTLVHCI_Create_Logical_Link_Cmd;
666
667#define BTAMP_TLV_HCI_CREATE_LOGICAL_LINK_CMD ( 1080 )
668
669// N.B. These #defines do *not* include the ID & length
670#define BTAMP_TLV_HCI_CREATE_LOGICAL_LINK_CMD_MIN_LEN ( 39 )
671
672#define BTAMP_TLV_HCI_CREATE_LOGICAL_LINK_CMD_MAX_LEN ( 39 )
673
674#ifdef __cplusplus
675extern "C" {
676#endif /* C++ */
677v_U32_t btampUnpackTlvHCI_Create_Logical_Link_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Create_Logical_Link_Cmd*);
678
679v_U32_t btampPackTlvHCI_Create_Logical_Link_Cmd(void *, tBtampTLVHCI_Create_Logical_Link_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
680
681v_U32_t btampGetPackedTlvHCI_Create_Logical_Link_Cmd(void *, tBtampTLVHCI_Create_Logical_Link_Cmd*, v_U32_t*);
682
683#ifdef __cplusplus
684}; /* End extern "C". */
685#endif /* C++ */
686// ID 1077 (0x0435)
687typedef struct sBtampTLVHCI_Create_Physical_Link_Cmd {
688 v_U8_t present;
689 v_U8_t phy_link_handle;
690 v_U8_t key_length;
691 v_U8_t key_type;
692 v_U8_t key_material[32];
693} tBtampTLVHCI_Create_Physical_Link_Cmd;
694
695#define BTAMP_TLV_HCI_CREATE_PHYSICAL_LINK_CMD ( 1077 )
696
697// N.B. These #defines do *not* include the ID & length
698#define BTAMP_TLV_HCI_CREATE_PHYSICAL_LINK_CMD_MIN_LEN ( 5 )
699
700#define BTAMP_TLV_HCI_CREATE_PHYSICAL_LINK_CMD_MAX_LEN ( 37 )
701
702#ifdef __cplusplus
703extern "C" {
704#endif /* C++ */
705v_U32_t btampUnpackTlvHCI_Create_Physical_Link_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Create_Physical_Link_Cmd*);
706
707v_U32_t btampPackTlvHCI_Create_Physical_Link_Cmd(void *, tBtampTLVHCI_Create_Physical_Link_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
708
709v_U32_t btampGetPackedTlvHCI_Create_Physical_Link_Cmd(void *, tBtampTLVHCI_Create_Physical_Link_Cmd*, v_U32_t*);
710
711#ifdef __cplusplus
712}; /* End extern "C". */
713#endif /* C++ */
714// ID 26 (0x001a)
715typedef struct sBtampTLVHCI_Data_Buffer_Overflow_Event {
716 v_U8_t present;
717 v_U8_t link_type;
718} tBtampTLVHCI_Data_Buffer_Overflow_Event;
719
720#define BTAMP_TLV_HCI_DATA_BUFFER_OVERFLOW_EVENT ( 26 )
721
722// N.B. These #defines do *not* include the ID & length
723#define BTAMP_TLV_HCI_DATA_BUFFER_OVERFLOW_EVENT_MIN_LEN ( 3 )
724
725#define BTAMP_TLV_HCI_DATA_BUFFER_OVERFLOW_EVENT_MAX_LEN ( 3 )
726
727#ifdef __cplusplus
728extern "C" {
729#endif /* C++ */
730v_U32_t btampUnpackTlvHCI_Data_Buffer_Overflow_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Data_Buffer_Overflow_Event*);
731
732v_U32_t btampPackTlvHCI_Data_Buffer_Overflow_Event(void *, tBtampTLVHCI_Data_Buffer_Overflow_Event*, v_U8_t*, v_U32_t, v_U32_t*);
733
734v_U32_t btampGetPackedTlvHCI_Data_Buffer_Overflow_Event(void *, tBtampTLVHCI_Data_Buffer_Overflow_Event*, v_U32_t*);
735
736#ifdef __cplusplus
737}; /* End extern "C". */
738#endif /* C++ */
739// ID 1082 (0x043a)
740typedef struct sBtampTLVHCI_Disconnect_Logical_Link_Cmd {
741 v_U8_t present;
742 v_U16_t log_link_handle;
743} tBtampTLVHCI_Disconnect_Logical_Link_Cmd;
744
745#define BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_CMD ( 1082 )
746
747// N.B. These #defines do *not* include the ID & length
748#define BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_CMD_MIN_LEN ( 4 )
749
750#define BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_CMD_MAX_LEN ( 4 )
751
752#ifdef __cplusplus
753extern "C" {
754#endif /* C++ */
755v_U32_t btampUnpackTlvHCI_Disconnect_Logical_Link_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Disconnect_Logical_Link_Cmd*);
756
757v_U32_t btampPackTlvHCI_Disconnect_Logical_Link_Cmd(void *, tBtampTLVHCI_Disconnect_Logical_Link_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
758
759v_U32_t btampGetPackedTlvHCI_Disconnect_Logical_Link_Cmd(void *, tBtampTLVHCI_Disconnect_Logical_Link_Cmd*, v_U32_t*);
760
761#ifdef __cplusplus
762}; /* End extern "C". */
763#endif /* C++ */
764// ID 70 (0x0046)
765typedef struct sBtampTLVHCI_Disconnect_Logical_Link_Complete_Event {
766 v_U8_t present;
767 v_U8_t status;
768 v_U16_t log_link_handle;
769 v_U8_t reason;
770} tBtampTLVHCI_Disconnect_Logical_Link_Complete_Event;
771
772#define BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_COMPLETE_EVENT ( 70 )
773
774// N.B. These #defines do *not* include the ID & length
775#define BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_COMPLETE_EVENT_MIN_LEN ( 6 )
776
777#define BTAMP_TLV_HCI_DISCONNECT_LOGICAL_LINK_COMPLETE_EVENT_MAX_LEN ( 6 )
778
779#ifdef __cplusplus
780extern "C" {
781#endif /* C++ */
782v_U32_t btampUnpackTlvHCI_Disconnect_Logical_Link_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Disconnect_Logical_Link_Complete_Event*);
783
784v_U32_t btampPackTlvHCI_Disconnect_Logical_Link_Complete_Event(void *, tBtampTLVHCI_Disconnect_Logical_Link_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
785
786v_U32_t btampGetPackedTlvHCI_Disconnect_Logical_Link_Complete_Event(void *, tBtampTLVHCI_Disconnect_Logical_Link_Complete_Event*, v_U32_t*);
787
788#ifdef __cplusplus
789}; /* End extern "C". */
790#endif /* C++ */
791// ID 1079 (0x0437)
792typedef struct sBtampTLVHCI_Disconnect_Physical_Link_Cmd {
793 v_U8_t present;
794 v_U8_t phy_link_handle;
795 v_U8_t reason;
796} tBtampTLVHCI_Disconnect_Physical_Link_Cmd;
797
798#define BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_CMD ( 1079 )
799
800// N.B. These #defines do *not* include the ID & length
801#define BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_CMD_MIN_LEN ( 4 )
802
803#define BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_CMD_MAX_LEN ( 4 )
804
805#ifdef __cplusplus
806extern "C" {
807#endif /* C++ */
808v_U32_t btampUnpackTlvHCI_Disconnect_Physical_Link_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Disconnect_Physical_Link_Cmd*);
809
810v_U32_t btampPackTlvHCI_Disconnect_Physical_Link_Cmd(void *, tBtampTLVHCI_Disconnect_Physical_Link_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
811
812v_U32_t btampGetPackedTlvHCI_Disconnect_Physical_Link_Cmd(void *, tBtampTLVHCI_Disconnect_Physical_Link_Cmd*, v_U32_t*);
813
814#ifdef __cplusplus
815}; /* End extern "C". */
816#endif /* C++ */
817// ID 66 (0x0042)
818typedef struct sBtampTLVHCI_Disconnect_Physical_Link_Complete_Event {
819 v_U8_t present;
820 v_U8_t status;
821 v_U8_t phy_link_handle;
822 v_U8_t reason;
823} tBtampTLVHCI_Disconnect_Physical_Link_Complete_Event;
824
825#define BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_COMPLETE_EVENT ( 66 )
826
827// N.B. These #defines do *not* include the ID & length
828#define BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_COMPLETE_EVENT_MIN_LEN ( 5 )
829
830#define BTAMP_TLV_HCI_DISCONNECT_PHYSICAL_LINK_COMPLETE_EVENT_MAX_LEN ( 5 )
831
832#ifdef __cplusplus
833extern "C" {
834#endif /* C++ */
835v_U32_t btampUnpackTlvHCI_Disconnect_Physical_Link_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Disconnect_Physical_Link_Complete_Event*);
836
837v_U32_t btampPackTlvHCI_Disconnect_Physical_Link_Complete_Event(void *, tBtampTLVHCI_Disconnect_Physical_Link_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
838
839v_U32_t btampGetPackedTlvHCI_Disconnect_Physical_Link_Complete_Event(void *, tBtampTLVHCI_Disconnect_Physical_Link_Complete_Event*, v_U32_t*);
840
841#ifdef __cplusplus
842}; /* End extern "C". */
843#endif /* C++ */
844// ID 1084 (0x043c)
845typedef struct sBtampTLVHCI_Flow_Spec_Modify_Cmd {
846 v_U8_t present;
847 v_U16_t log_link_handle;
848 v_U8_t be_aggr_counter;
849 v_U8_t tx_flow_spec[18];
850 v_U8_t rx_flow_spec[18];
851} tBtampTLVHCI_Flow_Spec_Modify_Cmd;
852
853#define BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_CMD ( 1084 )
854
855// N.B. These #defines do *not* include the ID & length
856#define BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_CMD_MIN_LEN ( 41 )
857
858#define BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_CMD_MAX_LEN ( 41 )
859
860#ifdef __cplusplus
861extern "C" {
862#endif /* C++ */
863v_U32_t btampUnpackTlvHCI_Flow_Spec_Modify_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Flow_Spec_Modify_Cmd*);
864
865v_U32_t btampPackTlvHCI_Flow_Spec_Modify_Cmd(void *, tBtampTLVHCI_Flow_Spec_Modify_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
866
867v_U32_t btampGetPackedTlvHCI_Flow_Spec_Modify_Cmd(void *, tBtampTLVHCI_Flow_Spec_Modify_Cmd*, v_U32_t*);
868
869#ifdef __cplusplus
870}; /* End extern "C". */
871#endif /* C++ */
872// ID 71 (0x0047)
873typedef struct sBtampTLVHCI_Flow_Spec_Modify_Complete_Event {
874 v_U8_t present;
875 v_U8_t status;
876 v_U16_t log_link_handle;
877} tBtampTLVHCI_Flow_Spec_Modify_Complete_Event;
878
879#define BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_COMPLETE_EVENT ( 71 )
880
881// N.B. These #defines do *not* include the ID & length
882#define BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_COMPLETE_EVENT_MIN_LEN ( 5 )
883
884#define BTAMP_TLV_HCI_FLOW_SPEC_MODIFY_COMPLETE_EVENT_MAX_LEN ( 5 )
885
886#ifdef __cplusplus
887extern "C" {
888#endif /* C++ */
889v_U32_t btampUnpackTlvHCI_Flow_Spec_Modify_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Flow_Spec_Modify_Complete_Event*);
890
891v_U32_t btampPackTlvHCI_Flow_Spec_Modify_Complete_Event(void *, tBtampTLVHCI_Flow_Spec_Modify_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
892
893v_U32_t btampGetPackedTlvHCI_Flow_Spec_Modify_Complete_Event(void *, tBtampTLVHCI_Flow_Spec_Modify_Complete_Event*, v_U32_t*);
894
895#ifdef __cplusplus
896}; /* End extern "C". */
897#endif /* C++ */
898// ID 3080 (0x0c08)
899typedef struct sBtampTLVHCI_Flush_Cmd {
900 v_U8_t present;
901 v_U16_t log_link_handle;
902} tBtampTLVHCI_Flush_Cmd;
903
904#define BTAMP_TLV_HCI_FLUSH_CMD ( 3080 )
905
906// N.B. These #defines do *not* include the ID & length
907#define BTAMP_TLV_HCI_FLUSH_CMD_MIN_LEN ( 4 )
908
909#define BTAMP_TLV_HCI_FLUSH_CMD_MAX_LEN ( 4 )
910
911#ifdef __cplusplus
912extern "C" {
913#endif /* C++ */
914v_U32_t btampUnpackTlvHCI_Flush_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Flush_Cmd*);
915
916v_U32_t btampPackTlvHCI_Flush_Cmd(void *, tBtampTLVHCI_Flush_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
917
918v_U32_t btampGetPackedTlvHCI_Flush_Cmd(void *, tBtampTLVHCI_Flush_Cmd*, v_U32_t*);
919
920#ifdef __cplusplus
921}; /* End extern "C". */
922#endif /* C++ */
923// ID 17 (0x0011)
924typedef struct sBtampTLVHCI_Flush_Occurred_Event {
925 v_U8_t present;
926 v_U16_t log_link_handle;
927} tBtampTLVHCI_Flush_Occurred_Event;
928
929#define BTAMP_TLV_HCI_FLUSH_OCCURRED_EVENT ( 17 )
930
931// N.B. These #defines do *not* include the ID & length
932#define BTAMP_TLV_HCI_FLUSH_OCCURRED_EVENT_MIN_LEN ( 4 )
933
934#define BTAMP_TLV_HCI_FLUSH_OCCURRED_EVENT_MAX_LEN ( 4 )
935
936#ifdef __cplusplus
937extern "C" {
938#endif /* C++ */
939v_U32_t btampUnpackTlvHCI_Flush_Occurred_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Flush_Occurred_Event*);
940
941v_U32_t btampPackTlvHCI_Flush_Occurred_Event(void *, tBtampTLVHCI_Flush_Occurred_Event*, v_U8_t*, v_U32_t, v_U32_t*);
942
943v_U32_t btampGetPackedTlvHCI_Flush_Occurred_Event(void *, tBtampTLVHCI_Flush_Occurred_Event*, v_U32_t*);
944
945#ifdef __cplusplus
946}; /* End extern "C". */
947#endif /* C++ */
948// ID 3167 (0x0C5F)
949typedef struct sBtampTLVHCI_Enhanced_Flush_Cmd {
950 v_U8_t present;
951 v_U16_t log_link_handle;
952 v_U8_t packet_type;
953} tBtampTLVHCI_Enhanced_Flush_Cmd;
954
955#define BTAMP_TLV_HCI_ENHANCED_FLUSH_CMD ( 3167 )
956
957// N.B. These #defines do *not* include the ID & length
958#define BTAMP_TLV_HCI_ENHANCED_FLUSH_CMD_MIN_LEN ( 5 )
959
960#define BTAMP_TLV_HCI_ENHANCED_FLUSH_CMD_MAX_LEN ( 5 )
961
962#ifdef __cplusplus
963extern "C" {
964#endif /* C++ */
965v_U32_t btampUnpackTlvHCI_Enhanced_Flush_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Enhanced_Flush_Cmd*);
966
967v_U32_t btampPackTlvHCI_Enhanced_Flush_Cmd(void *, tBtampTLVHCI_Enhanced_Flush_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
968
969v_U32_t btampGetPackedTlvHCI_Enhanced_Flush_Cmd(void *, tBtampTLVHCI_Enhanced_Flush_Cmd*, v_U32_t*);
970
971#ifdef __cplusplus
972}; /* End extern "C". */
973#endif /* C++ */
974// ID 57 (0x0039)
975typedef struct sBtampTLVHCI_Enhanced_Flush_Complete_Event {
976 v_U8_t present;
977 v_U16_t log_link_handle;
978} tBtampTLVHCI_Enhanced_Flush_Complete_Event;
979
980#define BTAMP_TLV_HCI_ENHANCED_FLUSH_COMPLETE_EVENT ( 57 )
981
982// N.B. These #defines do *not* include the ID & length
983#define BTAMP_TLV_HCI_ENHANCED_FLUSH_COMPLETE_EVENT_MIN_LEN ( 4 )
984
985#define BTAMP_TLV_HCI_ENHANCED_FLUSH_COMPLETE_EVENT_MAX_LEN ( 4 )
986
987#ifdef __cplusplus
988extern "C" {
989#endif /* C++ */
990v_U32_t btampUnpackTlvHCI_Enhanced_Flush_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Enhanced_Flush_Complete_Event*);
991
992v_U32_t btampPackTlvHCI_Enhanced_Flush_Complete_Event(void *, tBtampTLVHCI_Enhanced_Flush_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
993
994v_U32_t btampGetPackedTlvHCI_Enhanced_Flush_Complete_Event(void *, tBtampTLVHCI_Enhanced_Flush_Complete_Event*, v_U32_t*);
995
996#ifdef __cplusplus
997}; /* End extern "C". */
998#endif /* C++ */
999
1000// ID 62 (0x003e)
1001typedef struct sBtampTLVHCI_Generic_AMP_Link_Key_Notification_Event {
1002 v_U8_t present;
1003 v_U8_t bd_addr[6];
1004 v_U8_t generic_amp_link_key[32];
1005 v_U8_t key_type;
1006} tBtampTLVHCI_Generic_AMP_Link_Key_Notification_Event;
1007
1008#define BTAMP_TLV_HCI_GENERIC_AMP_LINK_KEY_NOTIFICATION_EVENT ( 62 )
1009
1010// N.B. These #defines do *not* include the ID & length
1011#define BTAMP_TLV_HCI_GENERIC_AMP_LINK_KEY_NOTIFICATION_EVENT_MIN_LEN ( 41 )
1012
1013#define BTAMP_TLV_HCI_GENERIC_AMP_LINK_KEY_NOTIFICATION_EVENT_MAX_LEN ( 41 )
1014
1015#ifdef __cplusplus
1016extern "C" {
1017#endif /* C++ */
1018v_U32_t btampUnpackTlvHCI_Generic_AMP_Link_Key_Notification_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Generic_AMP_Link_Key_Notification_Event*);
1019
1020v_U32_t btampPackTlvHCI_Generic_AMP_Link_Key_Notification_Event(void *, tBtampTLVHCI_Generic_AMP_Link_Key_Notification_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1021
1022v_U32_t btampGetPackedTlvHCI_Generic_AMP_Link_Key_Notification_Event(void *, tBtampTLVHCI_Generic_AMP_Link_Key_Notification_Event*, v_U32_t*);
1023
1024#ifdef __cplusplus
1025}; /* End extern "C". */
1026#endif /* C++ */
1027// ID 16 (0x0010)
1028typedef struct sBtampTLVHCI_Hardware_Error_Event {
1029 v_U8_t present;
1030 v_U8_t hardware_code;
1031} tBtampTLVHCI_Hardware_Error_Event;
1032
1033#define BTAMP_TLV_HCI_HARDWARE_ERROR_EVENT ( 16 )
1034
1035// N.B. These #defines do *not* include the ID & length
1036#define BTAMP_TLV_HCI_HARDWARE_ERROR_EVENT_MIN_LEN ( 3 )
1037
1038#define BTAMP_TLV_HCI_HARDWARE_ERROR_EVENT_MAX_LEN ( 3 )
1039
1040#ifdef __cplusplus
1041extern "C" {
1042#endif /* C++ */
1043v_U32_t btampUnpackTlvHCI_Hardware_Error_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Hardware_Error_Event*);
1044
1045v_U32_t btampPackTlvHCI_Hardware_Error_Event(void *, tBtampTLVHCI_Hardware_Error_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1046
1047v_U32_t btampGetPackedTlvHCI_Hardware_Error_Event(void *, tBtampTLVHCI_Hardware_Error_Event*, v_U32_t*);
1048
1049#ifdef __cplusplus
1050}; /* End extern "C". */
1051#endif /* C++ */
1052// ID 1083 (0x043b)
1053typedef struct sBtampTLVHCI_Logical_Link_Cancel_Cmd {
1054 v_U8_t present;
1055 v_U8_t phy_link_handle;
1056 v_U8_t tx_flow_spec_id;
1057} tBtampTLVHCI_Logical_Link_Cancel_Cmd;
1058
1059#define BTAMP_TLV_HCI_LOGICAL_LINK_CANCEL_CMD ( 1083 )
1060
1061// N.B. These #defines do *not* include the ID & length
1062#define BTAMP_TLV_HCI_LOGICAL_LINK_CANCEL_CMD_MIN_LEN ( 4 )
1063
1064#define BTAMP_TLV_HCI_LOGICAL_LINK_CANCEL_CMD_MAX_LEN ( 4 )
1065
1066#ifdef __cplusplus
1067extern "C" {
1068#endif /* C++ */
1069v_U32_t btampUnpackTlvHCI_Logical_Link_Cancel_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Logical_Link_Cancel_Cmd*);
1070
1071v_U32_t btampPackTlvHCI_Logical_Link_Cancel_Cmd(void *, tBtampTLVHCI_Logical_Link_Cancel_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1072
1073v_U32_t btampGetPackedTlvHCI_Logical_Link_Cancel_Cmd(void *, tBtampTLVHCI_Logical_Link_Cancel_Cmd*, v_U32_t*);
1074
1075#ifdef __cplusplus
1076}; /* End extern "C". */
1077#endif /* C++ */
1078// ID 69 (0x0045)
1079typedef struct sBtampTLVHCI_Logical_Link_Complete_Event {
1080 v_U8_t present;
1081 v_U8_t status;
1082 v_U16_t log_link_handle;
1083 v_U8_t phy_link_handle;
1084 v_U8_t flow_spec_id;
1085} tBtampTLVHCI_Logical_Link_Complete_Event;
1086
1087#define BTAMP_TLV_HCI_LOGICAL_LINK_COMPLETE_EVENT ( 69 )
1088
1089// N.B. These #defines do *not* include the ID & length
1090#define BTAMP_TLV_HCI_LOGICAL_LINK_COMPLETE_EVENT_MIN_LEN ( 7 )
1091
1092#define BTAMP_TLV_HCI_LOGICAL_LINK_COMPLETE_EVENT_MAX_LEN ( 7 )
1093
1094#ifdef __cplusplus
1095extern "C" {
1096#endif /* C++ */
1097v_U32_t btampUnpackTlvHCI_Logical_Link_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Logical_Link_Complete_Event*);
1098
1099v_U32_t btampPackTlvHCI_Logical_Link_Complete_Event(void *, tBtampTLVHCI_Logical_Link_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1100
1101v_U32_t btampGetPackedTlvHCI_Logical_Link_Complete_Event(void *, tBtampTLVHCI_Logical_Link_Complete_Event*, v_U32_t*);
1102
1103#ifdef __cplusplus
1104}; /* End extern "C". */
1105#endif /* C++ */
1106// ID 25 (0x0019)
1107typedef struct sBtampTLVHCI_Loopback_Command_Event {
1108 v_U8_t present;
1109 v_U8_t hci_command_packet[64];
1110} tBtampTLVHCI_Loopback_Command_Event;
1111
1112#define BTAMP_TLV_HCI_LOOPBACK_COMMAND_EVENT ( 25 )
1113
1114// N.B. These #defines do *not* include the ID & length
1115#define BTAMP_TLV_HCI_LOOPBACK_COMMAND_EVENT_MIN_LEN ( 66 )
1116
1117#define BTAMP_TLV_HCI_LOOPBACK_COMMAND_EVENT_MAX_LEN ( 66 )
1118
1119#ifdef __cplusplus
1120extern "C" {
1121#endif /* C++ */
1122v_U32_t btampUnpackTlvHCI_Loopback_Command_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Loopback_Command_Event*);
1123
1124v_U32_t btampPackTlvHCI_Loopback_Command_Event(void *, tBtampTLVHCI_Loopback_Command_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1125
1126v_U32_t btampGetPackedTlvHCI_Loopback_Command_Event(void *, tBtampTLVHCI_Loopback_Command_Event*, v_U32_t*);
1127
1128#ifdef __cplusplus
1129}; /* End extern "C". */
1130#endif /* C++ */
1131// ID 64 (0x0040)
1132typedef struct sBtampTLVHCI_Physical_Link_Complete_Event {
1133 v_U8_t present;
1134 v_U8_t status;
1135 v_U8_t phy_link_handle;
1136 v_U8_t ch_number;
1137} tBtampTLVHCI_Physical_Link_Complete_Event;
1138
1139#define BTAMP_TLV_HCI_PHYSICAL_LINK_COMPLETE_EVENT ( 64 )
1140
1141// N.B. These #defines do *not* include the ID & length
1142#define BTAMP_TLV_HCI_PHYSICAL_LINK_COMPLETE_EVENT_MIN_LEN ( 4 )
1143
1144#define BTAMP_TLV_HCI_PHYSICAL_LINK_COMPLETE_EVENT_MAX_LEN ( 4 )
1145
1146#ifdef __cplusplus
1147extern "C" {
1148#endif /* C++ */
1149v_U32_t btampUnpackTlvHCI_Physical_Link_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Physical_Link_Complete_Event*);
1150
1151v_U32_t btampPackTlvHCI_Physical_Link_Complete_Event(void *, tBtampTLVHCI_Physical_Link_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1152
1153v_U32_t btampGetPackedTlvHCI_Physical_Link_Complete_Event(void *, tBtampTLVHCI_Physical_Link_Complete_Event*, v_U32_t*);
1154
1155#ifdef __cplusplus
1156}; /* End extern "C". */
1157#endif /* C++ */
1158// ID 67 (0x0043)
1159typedef struct sBtampTLVHCI_Physical_Link_Loss_Warning_Event {
1160 v_U8_t present;
1161 v_U8_t phy_link_handle;
1162 v_U8_t reason;
1163} tBtampTLVHCI_Physical_Link_Loss_Warning_Event;
1164
1165#define BTAMP_TLV_HCI_PHYSICAL_LINK_LOSS_WARNING_EVENT ( 67 )
1166
1167// N.B. These #defines do *not* include the ID & length
1168#define BTAMP_TLV_HCI_PHYSICAL_LINK_LOSS_WARNING_EVENT_MIN_LEN ( 4 )
1169
1170#define BTAMP_TLV_HCI_PHYSICAL_LINK_LOSS_WARNING_EVENT_MAX_LEN ( 4 )
1171
1172#ifdef __cplusplus
1173extern "C" {
1174#endif /* C++ */
1175v_U32_t btampUnpackTlvHCI_Physical_Link_Loss_Warning_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Physical_Link_Loss_Warning_Event*);
1176
1177v_U32_t btampPackTlvHCI_Physical_Link_Loss_Warning_Event(void *, tBtampTLVHCI_Physical_Link_Loss_Warning_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1178
1179v_U32_t btampGetPackedTlvHCI_Physical_Link_Loss_Warning_Event(void *, tBtampTLVHCI_Physical_Link_Loss_Warning_Event*, v_U32_t*);
1180
1181#ifdef __cplusplus
1182}; /* End extern "C". */
1183#endif /* C++ */
1184// ID 68 (0x0044)
1185typedef struct sBtampTLVHCI_Physical_Link_Recovery_Event {
1186 v_U8_t present;
1187 v_U8_t phy_link_handle;
1188} tBtampTLVHCI_Physical_Link_Recovery_Event;
1189
1190#define BTAMP_TLV_HCI_PHYSICAL_LINK_RECOVERY_EVENT ( 68 )
1191
1192// N.B. These #defines do *not* include the ID & length
1193#define BTAMP_TLV_HCI_PHYSICAL_LINK_RECOVERY_EVENT_MIN_LEN ( 3 )
1194
1195#define BTAMP_TLV_HCI_PHYSICAL_LINK_RECOVERY_EVENT_MAX_LEN ( 3 )
1196
1197#ifdef __cplusplus
1198extern "C" {
1199#endif /* C++ */
1200v_U32_t btampUnpackTlvHCI_Physical_Link_Recovery_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Physical_Link_Recovery_Event*);
1201
1202v_U32_t btampPackTlvHCI_Physical_Link_Recovery_Event(void *, tBtampTLVHCI_Physical_Link_Recovery_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1203
1204v_U32_t btampGetPackedTlvHCI_Physical_Link_Recovery_Event(void *, tBtampTLVHCI_Physical_Link_Recovery_Event*, v_U32_t*);
1205
1206#ifdef __cplusplus
1207}; /* End extern "C". */
1208#endif /* C++ */
1209// ID 30 (0x001e)
1210typedef struct sBtampTLVHCI_Qos_Violation_Event {
1211 v_U8_t present;
1212 v_U16_t log_link_handle;
1213} tBtampTLVHCI_Qos_Violation_Event;
1214
1215#define BTAMP_TLV_HCI_QOS_VIOLATION_EVENT ( 30 )
1216
1217// N.B. These #defines do *not* include the ID & length
1218#define BTAMP_TLV_HCI_QOS_VIOLATION_EVENT_MIN_LEN ( 4 )
1219
1220#define BTAMP_TLV_HCI_QOS_VIOLATION_EVENT_MAX_LEN ( 4 )
1221
1222#ifdef __cplusplus
1223extern "C" {
1224#endif /* C++ */
1225v_U32_t btampUnpackTlvHCI_Qos_Violation_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Qos_Violation_Event*);
1226
1227v_U32_t btampPackTlvHCI_Qos_Violation_Event(void *, tBtampTLVHCI_Qos_Violation_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1228
1229v_U32_t btampGetPackedTlvHCI_Qos_Violation_Event(void *, tBtampTLVHCI_Qos_Violation_Event*, v_U32_t*);
1230
1231#ifdef __cplusplus
1232}; /* End extern "C". */
1233#endif /* C++ */
1234// ID 3177 (0x0c69)
1235typedef struct sBtampTLVHCI_Read_Best_Effort_Flush_Timeout_Cmd {
1236 v_U8_t present;
1237 v_U16_t log_link_handle;
1238} tBtampTLVHCI_Read_Best_Effort_Flush_Timeout_Cmd;
1239
1240#define BTAMP_TLV_HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT_CMD ( 3177 )
1241
1242// N.B. These #defines do *not* include the ID & length
1243#define BTAMP_TLV_HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT_CMD_MIN_LEN ( 4 )
1244
1245#define BTAMP_TLV_HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT_CMD_MAX_LEN ( 4 )
1246
1247#ifdef __cplusplus
1248extern "C" {
1249#endif /* C++ */
1250v_U32_t btampUnpackTlvHCI_Read_Best_Effort_Flush_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Best_Effort_Flush_Timeout_Cmd*);
1251
1252v_U32_t btampPackTlvHCI_Read_Best_Effort_Flush_Timeout_Cmd(void *, tBtampTLVHCI_Read_Best_Effort_Flush_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1253
1254v_U32_t btampGetPackedTlvHCI_Read_Best_Effort_Flush_Timeout_Cmd(void *, tBtampTLVHCI_Read_Best_Effort_Flush_Timeout_Cmd*, v_U32_t*);
1255
1256#ifdef __cplusplus
1257}; /* End extern "C". */
1258#endif /* C++ */
1259// ID 4101 (0x1005)
1260typedef struct sBtampTLVHCI_Read_Buffer_Size_Cmd {
1261 v_U8_t present;
1262} tBtampTLVHCI_Read_Buffer_Size_Cmd;
1263
1264#define BTAMP_TLV_HCI_READ_BUFFER_SIZE_CMD ( 4101 )
1265
1266// N.B. These #defines do *not* include the ID & length
1267#define BTAMP_TLV_HCI_READ_BUFFER_SIZE_CMD_MIN_LEN ( 2 )
1268
1269#define BTAMP_TLV_HCI_READ_BUFFER_SIZE_CMD_MAX_LEN ( 2 )
1270
1271#ifdef __cplusplus
1272extern "C" {
1273#endif /* C++ */
1274v_U32_t btampUnpackTlvHCI_Read_Buffer_Size_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Buffer_Size_Cmd*);
1275
1276v_U32_t btampPackTlvHCI_Read_Buffer_Size_Cmd(void *, tBtampTLVHCI_Read_Buffer_Size_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1277
1278v_U32_t btampGetPackedTlvHCI_Read_Buffer_Size_Cmd(void *, tBtampTLVHCI_Read_Buffer_Size_Cmd*, v_U32_t*);
1279
1280#ifdef __cplusplus
1281}; /* End extern "C". */
1282#endif /* C++ */
1283// ID 3093 (0x0c15)
1284typedef struct sBtampTLVHCI_Read_Connection_Accept_Timeout_Cmd {
1285 v_U8_t present;
1286} tBtampTLVHCI_Read_Connection_Accept_Timeout_Cmd;
1287
1288#define BTAMP_TLV_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_CMD ( 3093 )
1289
1290// N.B. These #defines do *not* include the ID & length
1291#define BTAMP_TLV_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_CMD_MIN_LEN ( 2 )
1292
1293#define BTAMP_TLV_HCI_READ_CONNECTION_ACCEPT_TIMEOUT_CMD_MAX_LEN ( 2 )
1294
1295#ifdef __cplusplus
1296extern "C" {
1297#endif /* C++ */
1298v_U32_t btampUnpackTlvHCI_Read_Connection_Accept_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Connection_Accept_Timeout_Cmd*);
1299
1300v_U32_t btampPackTlvHCI_Read_Connection_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Read_Connection_Accept_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1301
1302v_U32_t btampGetPackedTlvHCI_Read_Connection_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Read_Connection_Accept_Timeout_Cmd*, v_U32_t*);
1303
1304#ifdef __cplusplus
1305}; /* End extern "C". */
1306#endif /* C++ */
1307// ID 4106 (0x100a)
1308typedef struct sBtampTLVHCI_Read_Data_Block_Size_Cmd {
1309 v_U8_t present;
1310} tBtampTLVHCI_Read_Data_Block_Size_Cmd;
1311
1312#define BTAMP_TLV_HCI_READ_DATA_BLOCK_SIZE_CMD ( 4106 )
1313
1314// N.B. These #defines do *not* include the ID & length
1315#define BTAMP_TLV_HCI_READ_DATA_BLOCK_SIZE_CMD_MIN_LEN ( 2 )
1316
1317#define BTAMP_TLV_HCI_READ_DATA_BLOCK_SIZE_CMD_MAX_LEN ( 2 )
1318
1319#ifdef __cplusplus
1320extern "C" {
1321#endif /* C++ */
1322v_U32_t btampUnpackTlvHCI_Read_Data_Block_Size_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Data_Block_Size_Cmd*);
1323
1324v_U32_t btampPackTlvHCI_Read_Data_Block_Size_Cmd(void *, tBtampTLVHCI_Read_Data_Block_Size_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1325
1326v_U32_t btampGetPackedTlvHCI_Read_Data_Block_Size_Cmd(void *, tBtampTLVHCI_Read_Data_Block_Size_Cmd*, v_U32_t*);
1327
1328#ifdef __cplusplus
1329}; /* End extern "C". */
1330#endif /* C++ */
1331// ID 5121 (0x1401)
1332typedef struct sBtampTLVHCI_Read_Failed_Contact_Counter_Cmd {
1333 v_U8_t present;
1334 v_U16_t log_link_handle;
1335} tBtampTLVHCI_Read_Failed_Contact_Counter_Cmd;
1336
1337#define BTAMP_TLV_HCI_READ_FAILED_CONTACT_COUNTER_CMD ( 5121 )
1338
1339// N.B. These #defines do *not* include the ID & length
1340#define BTAMP_TLV_HCI_READ_FAILED_CONTACT_COUNTER_CMD_MIN_LEN ( 4 )
1341
1342#define BTAMP_TLV_HCI_READ_FAILED_CONTACT_COUNTER_CMD_MAX_LEN ( 4 )
1343
1344#ifdef __cplusplus
1345extern "C" {
1346#endif /* C++ */
1347v_U32_t btampUnpackTlvHCI_Read_Failed_Contact_Counter_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Failed_Contact_Counter_Cmd*);
1348
1349v_U32_t btampPackTlvHCI_Read_Failed_Contact_Counter_Cmd(void *, tBtampTLVHCI_Read_Failed_Contact_Counter_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1350
1351v_U32_t btampGetPackedTlvHCI_Read_Failed_Contact_Counter_Cmd(void *, tBtampTLVHCI_Read_Failed_Contact_Counter_Cmd*, v_U32_t*);
1352
1353#ifdef __cplusplus
1354}; /* End extern "C". */
1355#endif /* C++ */
1356// ID 3174 (0x0c66)
1357typedef struct sBtampTLVHCI_Read_Flow_Control_Mode_Cmd {
1358 v_U8_t present;
1359} tBtampTLVHCI_Read_Flow_Control_Mode_Cmd;
1360
1361#define BTAMP_TLV_HCI_READ_FLOW_CONTROL_MODE_CMD ( 3174 )
1362
1363// N.B. These #defines do *not* include the ID & length
1364#define BTAMP_TLV_HCI_READ_FLOW_CONTROL_MODE_CMD_MIN_LEN ( 2 )
1365
1366#define BTAMP_TLV_HCI_READ_FLOW_CONTROL_MODE_CMD_MAX_LEN ( 2 )
1367
1368#ifdef __cplusplus
1369extern "C" {
1370#endif /* C++ */
1371v_U32_t btampUnpackTlvHCI_Read_Flow_Control_Mode_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Flow_Control_Mode_Cmd*);
1372
1373v_U32_t btampPackTlvHCI_Read_Flow_Control_Mode_Cmd(void *, tBtampTLVHCI_Read_Flow_Control_Mode_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1374
1375v_U32_t btampGetPackedTlvHCI_Read_Flow_Control_Mode_Cmd(void *, tBtampTLVHCI_Read_Flow_Control_Mode_Cmd*, v_U32_t*);
1376
1377#ifdef __cplusplus
1378}; /* End extern "C". */
1379#endif /* C++ */
1380// ID 5123 (0x1403)
1381typedef struct sBtampTLVHCI_Read_Link_Quality_Cmd {
1382 v_U8_t present;
1383 v_U16_t log_link_handle;
1384} tBtampTLVHCI_Read_Link_Quality_Cmd;
1385
1386#define BTAMP_TLV_HCI_READ_LINK_QUALITY_CMD ( 5123 )
1387
1388// N.B. These #defines do *not* include the ID & length
1389#define BTAMP_TLV_HCI_READ_LINK_QUALITY_CMD_MIN_LEN ( 4 )
1390
1391#define BTAMP_TLV_HCI_READ_LINK_QUALITY_CMD_MAX_LEN ( 4 )
1392
1393#ifdef __cplusplus
1394extern "C" {
1395#endif /* C++ */
1396v_U32_t btampUnpackTlvHCI_Read_Link_Quality_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Link_Quality_Cmd*);
1397
1398v_U32_t btampPackTlvHCI_Read_Link_Quality_Cmd(void *, tBtampTLVHCI_Read_Link_Quality_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1399
1400v_U32_t btampGetPackedTlvHCI_Read_Link_Quality_Cmd(void *, tBtampTLVHCI_Read_Link_Quality_Cmd*, v_U32_t*);
1401
1402#ifdef __cplusplus
1403}; /* End extern "C". */
1404#endif /* C++ */
1405// ID 3126 (0x0c36)
1406typedef struct sBtampTLVHCI_Read_Link_Supervision_Timeout_Cmd {
1407 v_U8_t present;
1408 v_U16_t log_link_handle;
1409} tBtampTLVHCI_Read_Link_Supervision_Timeout_Cmd;
1410
1411#define BTAMP_TLV_HCI_READ_LINK_SUPERVISION_TIMEOUT_CMD ( 3126 )
1412
1413// N.B. These #defines do *not* include the ID & length
1414#define BTAMP_TLV_HCI_READ_LINK_SUPERVISION_TIMEOUT_CMD_MIN_LEN ( 4 )
1415
1416#define BTAMP_TLV_HCI_READ_LINK_SUPERVISION_TIMEOUT_CMD_MAX_LEN ( 4 )
1417
1418#ifdef __cplusplus
1419extern "C" {
1420#endif /* C++ */
1421v_U32_t btampUnpackTlvHCI_Read_Link_Supervision_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Link_Supervision_Timeout_Cmd*);
1422
1423v_U32_t btampPackTlvHCI_Read_Link_Supervision_Timeout_Cmd(void *, tBtampTLVHCI_Read_Link_Supervision_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1424
1425v_U32_t btampGetPackedTlvHCI_Read_Link_Supervision_Timeout_Cmd(void *, tBtampTLVHCI_Read_Link_Supervision_Timeout_Cmd*, v_U32_t*);
1426
1427#ifdef __cplusplus
1428}; /* End extern "C". */
1429#endif /* C++ */
1430// ID 5130 (0x140a)
1431typedef struct sBtampTLVHCI_Read_Local_AMP_Assoc_Cmd {
1432 v_U8_t present;
1433 v_U8_t phy_link_handle;
1434 v_U16_t length_so_far;
1435 v_U16_t max_remote_amp_assoc_length;
1436} tBtampTLVHCI_Read_Local_AMP_Assoc_Cmd;
1437
1438#define BTAMP_TLV_HCI_READ_LOCAL_AMP_ASSOC_CMD ( 5130 )
1439
1440// N.B. These #defines do *not* include the ID & length
1441#define BTAMP_TLV_HCI_READ_LOCAL_AMP_ASSOC_CMD_MIN_LEN ( 7 )
1442
1443#define BTAMP_TLV_HCI_READ_LOCAL_AMP_ASSOC_CMD_MAX_LEN ( 7 )
1444
1445#ifdef __cplusplus
1446extern "C" {
1447#endif /* C++ */
1448v_U32_t btampUnpackTlvHCI_Read_Local_AMP_Assoc_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Local_AMP_Assoc_Cmd*);
1449
1450v_U32_t btampPackTlvHCI_Read_Local_AMP_Assoc_Cmd(void *, tBtampTLVHCI_Read_Local_AMP_Assoc_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1451
1452v_U32_t btampGetPackedTlvHCI_Read_Local_AMP_Assoc_Cmd(void *, tBtampTLVHCI_Read_Local_AMP_Assoc_Cmd*, v_U32_t*);
1453
1454#ifdef __cplusplus
1455}; /* End extern "C". */
1456#endif /* C++ */
1457// ID 5129 (0x1409)
1458typedef struct sBtampTLVHCI_Read_Local_AMP_Information_Cmd {
1459 v_U8_t present;
1460} tBtampTLVHCI_Read_Local_AMP_Information_Cmd;
1461
1462#define BTAMP_TLV_HCI_READ_LOCAL_AMP_INFORMATION_CMD ( 5129 )
1463
1464// N.B. These #defines do *not* include the ID & length
1465#define BTAMP_TLV_HCI_READ_LOCAL_AMP_INFORMATION_CMD_MIN_LEN ( 2 )
1466
1467#define BTAMP_TLV_HCI_READ_LOCAL_AMP_INFORMATION_CMD_MAX_LEN ( 2 )
1468
1469#ifdef __cplusplus
1470extern "C" {
1471#endif /* C++ */
1472v_U32_t btampUnpackTlvHCI_Read_Local_AMP_Information_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Local_AMP_Information_Cmd*);
1473
1474v_U32_t btampPackTlvHCI_Read_Local_AMP_Information_Cmd(void *, tBtampTLVHCI_Read_Local_AMP_Information_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1475
1476v_U32_t btampGetPackedTlvHCI_Read_Local_AMP_Information_Cmd(void *, tBtampTLVHCI_Read_Local_AMP_Information_Cmd*, v_U32_t*);
1477
1478#ifdef __cplusplus
1479}; /* End extern "C". */
1480#endif /* C++ */
1481// ID 4098 (0x1002)
1482typedef struct sBtampTLVHCI_Read_Local_Supported_Cmds_Cmd {
1483 v_U8_t present;
1484} tBtampTLVHCI_Read_Local_Supported_Cmds_Cmd;
1485
1486#define BTAMP_TLV_HCI_READ_LOCAL_SUPPORTED_CMDS_CMD ( 4098 )
1487
1488// N.B. These #defines do *not* include the ID & length
1489#define BTAMP_TLV_HCI_READ_LOCAL_SUPPORTED_CMDS_CMD_MIN_LEN ( 2 )
1490
1491#define BTAMP_TLV_HCI_READ_LOCAL_SUPPORTED_CMDS_CMD_MAX_LEN ( 2 )
1492
1493#ifdef __cplusplus
1494extern "C" {
1495#endif /* C++ */
1496v_U32_t btampUnpackTlvHCI_Read_Local_Supported_Cmds_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Local_Supported_Cmds_Cmd*);
1497
1498v_U32_t btampPackTlvHCI_Read_Local_Supported_Cmds_Cmd(void *, tBtampTLVHCI_Read_Local_Supported_Cmds_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1499
1500v_U32_t btampGetPackedTlvHCI_Read_Local_Supported_Cmds_Cmd(void *, tBtampTLVHCI_Read_Local_Supported_Cmds_Cmd*, v_U32_t*);
1501
1502#ifdef __cplusplus
1503}; /* End extern "C". */
1504#endif /* C++ */
1505// ID 4097 (0x1001)
1506typedef struct sBtampTLVHCI_Read_Local_Version_Info_Cmd {
1507 v_U8_t present;
1508} tBtampTLVHCI_Read_Local_Version_Info_Cmd;
1509
1510#define BTAMP_TLV_HCI_READ_LOCAL_VERSION_INFO_CMD ( 4097 )
1511
1512// N.B. These #defines do *not* include the ID & length
1513#define BTAMP_TLV_HCI_READ_LOCAL_VERSION_INFO_CMD_MIN_LEN ( 2 )
1514
1515#define BTAMP_TLV_HCI_READ_LOCAL_VERSION_INFO_CMD_MAX_LEN ( 2 )
1516
1517#ifdef __cplusplus
1518extern "C" {
1519#endif /* C++ */
1520v_U32_t btampUnpackTlvHCI_Read_Local_Version_Info_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Local_Version_Info_Cmd*);
1521
1522v_U32_t btampPackTlvHCI_Read_Local_Version_Info_Cmd(void *, tBtampTLVHCI_Read_Local_Version_Info_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1523
1524v_U32_t btampGetPackedTlvHCI_Read_Local_Version_Info_Cmd(void *, tBtampTLVHCI_Read_Local_Version_Info_Cmd*, v_U32_t*);
1525
1526#ifdef __cplusplus
1527}; /* End extern "C". */
1528#endif /* C++ */
1529// ID 3172 (0x0c64)
1530typedef struct sBtampTLVHCI_Read_Location_Data_Cmd {
1531 v_U8_t present;
1532} tBtampTLVHCI_Read_Location_Data_Cmd;
1533
1534#define BTAMP_TLV_HCI_READ_LOCATION_DATA_CMD ( 3172 )
1535
1536// N.B. These #defines do *not* include the ID & length
1537#define BTAMP_TLV_HCI_READ_LOCATION_DATA_CMD_MIN_LEN ( 2 )
1538
1539#define BTAMP_TLV_HCI_READ_LOCATION_DATA_CMD_MAX_LEN ( 2 )
1540
1541#ifdef __cplusplus
1542extern "C" {
1543#endif /* C++ */
1544v_U32_t btampUnpackTlvHCI_Read_Location_Data_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Location_Data_Cmd*);
1545
1546v_U32_t btampPackTlvHCI_Read_Location_Data_Cmd(void *, tBtampTLVHCI_Read_Location_Data_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1547
1548v_U32_t btampGetPackedTlvHCI_Read_Location_Data_Cmd(void *, tBtampTLVHCI_Read_Location_Data_Cmd*, v_U32_t*);
1549
1550#ifdef __cplusplus
1551}; /* End extern "C". */
1552#endif /* C++ */
1553// ID 3169 (0x0c61)
1554typedef struct sBtampTLVHCI_Read_Logical_Link_Accept_Timeout_Cmd {
1555 v_U8_t present;
1556} tBtampTLVHCI_Read_Logical_Link_Accept_Timeout_Cmd;
1557
1558#define BTAMP_TLV_HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD ( 3169 )
1559
1560// N.B. These #defines do *not* include the ID & length
1561#define BTAMP_TLV_HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD_MIN_LEN ( 2 )
1562
1563#define BTAMP_TLV_HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD_MAX_LEN ( 2 )
1564
1565#ifdef __cplusplus
1566extern "C" {
1567#endif /* C++ */
1568v_U32_t btampUnpackTlvHCI_Read_Logical_Link_Accept_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Logical_Link_Accept_Timeout_Cmd*);
1569
1570v_U32_t btampPackTlvHCI_Read_Logical_Link_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Read_Logical_Link_Accept_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1571
1572v_U32_t btampGetPackedTlvHCI_Read_Logical_Link_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Read_Logical_Link_Accept_Timeout_Cmd*, v_U32_t*);
1573
1574#ifdef __cplusplus
1575}; /* End extern "C". */
1576#endif /* C++ */
1577// ID 6145 (0x1801)
1578typedef struct sBtampTLVHCI_Read_Loopback_Mode_Cmd {
1579 v_U8_t present;
1580} tBtampTLVHCI_Read_Loopback_Mode_Cmd;
1581
1582#define BTAMP_TLV_HCI_READ_LOOPBACK_MODE_CMD ( 6145 )
1583
1584// N.B. These #defines do *not* include the ID & length
1585#define BTAMP_TLV_HCI_READ_LOOPBACK_MODE_CMD_MIN_LEN ( 2 )
1586
1587#define BTAMP_TLV_HCI_READ_LOOPBACK_MODE_CMD_MAX_LEN ( 2 )
1588
1589#ifdef __cplusplus
1590extern "C" {
1591#endif /* C++ */
1592v_U32_t btampUnpackTlvHCI_Read_Loopback_Mode_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_Loopback_Mode_Cmd*);
1593
1594v_U32_t btampPackTlvHCI_Read_Loopback_Mode_Cmd(void *, tBtampTLVHCI_Read_Loopback_Mode_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1595
1596v_U32_t btampGetPackedTlvHCI_Read_Loopback_Mode_Cmd(void *, tBtampTLVHCI_Read_Loopback_Mode_Cmd*, v_U32_t*);
1597
1598#ifdef __cplusplus
1599}; /* End extern "C". */
1600#endif /* C++ */
1601// ID 5125 (0x1405)
1602typedef struct sBtampTLVHCI_Read_RSSI_Cmd {
1603 v_U8_t present;
1604 v_U16_t log_link_handle;
1605} tBtampTLVHCI_Read_RSSI_Cmd;
1606
1607#define BTAMP_TLV_HCI_READ_RSSI_CMD ( 5125 )
1608
1609// N.B. These #defines do *not* include the ID & length
1610#define BTAMP_TLV_HCI_READ_RSSI_CMD_MIN_LEN ( 4 )
1611
1612#define BTAMP_TLV_HCI_READ_RSSI_CMD_MAX_LEN ( 4 )
1613
1614#ifdef __cplusplus
1615extern "C" {
1616#endif /* C++ */
1617v_U32_t btampUnpackTlvHCI_Read_RSSI_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Read_RSSI_Cmd*);
1618
1619v_U32_t btampPackTlvHCI_Read_RSSI_Cmd(void *, tBtampTLVHCI_Read_RSSI_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1620
1621v_U32_t btampGetPackedTlvHCI_Read_RSSI_Cmd(void *, tBtampTLVHCI_Read_RSSI_Cmd*, v_U32_t*);
1622
1623#ifdef __cplusplus
1624}; /* End extern "C". */
1625#endif /* C++ */
1626// ID 3075 (0x0c03)
1627typedef struct sBtampTLVHCI_Reset_Cmd {
1628 v_U8_t present;
1629} tBtampTLVHCI_Reset_Cmd;
1630
1631#define BTAMP_TLV_HCI_RESET_CMD ( 3075 )
1632
1633// N.B. These #defines do *not* include the ID & length
1634#define BTAMP_TLV_HCI_RESET_CMD_MIN_LEN ( 2 )
1635
1636#define BTAMP_TLV_HCI_RESET_CMD_MAX_LEN ( 2 )
1637
1638#ifdef __cplusplus
1639extern "C" {
1640#endif /* C++ */
1641v_U32_t btampUnpackTlvHCI_Reset_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Reset_Cmd*);
1642
1643v_U32_t btampPackTlvHCI_Reset_Cmd(void *, tBtampTLVHCI_Reset_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1644
1645v_U32_t btampGetPackedTlvHCI_Reset_Cmd(void *, tBtampTLVHCI_Reset_Cmd*, v_U32_t*);
1646
1647#ifdef __cplusplus
1648}; /* End extern "C". */
1649#endif /* C++ */
1650// ID 5122 (0x1402)
1651typedef struct sBtampTLVHCI_Reset_Failed_Contact_Counter_Cmd {
1652 v_U8_t present;
1653 v_U16_t log_link_handle;
1654} tBtampTLVHCI_Reset_Failed_Contact_Counter_Cmd;
1655
1656#define BTAMP_TLV_HCI_RESET_FAILED_CONTACT_COUNTER_CMD ( 5122 )
1657
1658// N.B. These #defines do *not* include the ID & length
1659#define BTAMP_TLV_HCI_RESET_FAILED_CONTACT_COUNTER_CMD_MIN_LEN ( 4 )
1660
1661#define BTAMP_TLV_HCI_RESET_FAILED_CONTACT_COUNTER_CMD_MAX_LEN ( 4 )
1662
1663#ifdef __cplusplus
1664extern "C" {
1665#endif /* C++ */
1666v_U32_t btampUnpackTlvHCI_Reset_Failed_Contact_Counter_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Reset_Failed_Contact_Counter_Cmd*);
1667
1668v_U32_t btampPackTlvHCI_Reset_Failed_Contact_Counter_Cmd(void *, tBtampTLVHCI_Reset_Failed_Contact_Counter_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1669
1670v_U32_t btampGetPackedTlvHCI_Reset_Failed_Contact_Counter_Cmd(void *, tBtampTLVHCI_Reset_Failed_Contact_Counter_Cmd*, v_U32_t*);
1671
1672#ifdef __cplusplus
1673}; /* End extern "C". */
1674#endif /* C++ */
1675// ID 3077 (0x0c05)
1676typedef struct sBtampTLVHCI_Set_Event_Mask_Cmd {
1677 v_U8_t present;
1678 v_U8_t event_mask[8];
1679} tBtampTLVHCI_Set_Event_Mask_Cmd;
1680
1681#define BTAMP_TLV_HCI_SET_EVENT_MASK_CMD ( 3077 )
1682
1683// N.B. These #defines do *not* include the ID & length
1684#define BTAMP_TLV_HCI_SET_EVENT_MASK_CMD_MIN_LEN ( 10 )
1685
1686#define BTAMP_TLV_HCI_SET_EVENT_MASK_CMD_MAX_LEN ( 10 )
1687
1688#ifdef __cplusplus
1689extern "C" {
1690#endif /* C++ */
1691v_U32_t btampUnpackTlvHCI_Set_Event_Mask_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Set_Event_Mask_Cmd*);
1692
1693v_U32_t btampPackTlvHCI_Set_Event_Mask_Cmd(void *, tBtampTLVHCI_Set_Event_Mask_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1694
1695v_U32_t btampGetPackedTlvHCI_Set_Event_Mask_Cmd(void *, tBtampTLVHCI_Set_Event_Mask_Cmd*, v_U32_t*);
1696
1697#ifdef __cplusplus
1698}; /* End extern "C". */
1699#endif /* C++ */
1700// ID 3171 (0x0c63)
1701typedef struct sBtampTLVHCI_Set_Event_Mask_Page_2_Cmd {
1702 v_U8_t present;
1703 v_U8_t event_mask_page_2[8];
1704} tBtampTLVHCI_Set_Event_Mask_Page_2_Cmd;
1705
1706#define BTAMP_TLV_HCI_SET_EVENT_MASK_PAGE_2_CMD ( 3171 )
1707
1708// N.B. These #defines do *not* include the ID & length
1709#define BTAMP_TLV_HCI_SET_EVENT_MASK_PAGE_2_CMD_MIN_LEN ( 10 )
1710
1711#define BTAMP_TLV_HCI_SET_EVENT_MASK_PAGE_2_CMD_MAX_LEN ( 10 )
1712
1713#ifdef __cplusplus
1714extern "C" {
1715#endif /* C++ */
1716v_U32_t btampUnpackTlvHCI_Set_Event_Mask_Page_2_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Set_Event_Mask_Page_2_Cmd*);
1717
1718v_U32_t btampPackTlvHCI_Set_Event_Mask_Page_2_Cmd(void *, tBtampTLVHCI_Set_Event_Mask_Page_2_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1719
1720v_U32_t btampGetPackedTlvHCI_Set_Event_Mask_Page_2_Cmd(void *, tBtampTLVHCI_Set_Event_Mask_Page_2_Cmd*, v_U32_t*);
1721
1722#ifdef __cplusplus
1723}; /* End extern "C". */
1724#endif /* C++ */
1725// ID 3179 (0x0c6b)
1726typedef struct sBtampTLVHCI_Set_Short_Range_Mode_Cmd {
1727 v_U8_t present;
1728 v_U8_t phy_link_handle;
1729 v_U8_t short_range_mode;
1730} tBtampTLVHCI_Set_Short_Range_Mode_Cmd;
1731
1732#define BTAMP_TLV_HCI_SET_SHORT_RANGE_MODE_CMD ( 3179 )
1733
1734// N.B. These #defines do *not* include the ID & length
1735#define BTAMP_TLV_HCI_SET_SHORT_RANGE_MODE_CMD_MIN_LEN ( 4 )
1736
1737#define BTAMP_TLV_HCI_SET_SHORT_RANGE_MODE_CMD_MAX_LEN ( 4 )
1738
1739#ifdef __cplusplus
1740extern "C" {
1741#endif /* C++ */
1742v_U32_t btampUnpackTlvHCI_Set_Short_Range_Mode_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Set_Short_Range_Mode_Cmd*);
1743
1744v_U32_t btampPackTlvHCI_Set_Short_Range_Mode_Cmd(void *, tBtampTLVHCI_Set_Short_Range_Mode_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1745
1746v_U32_t btampGetPackedTlvHCI_Set_Short_Range_Mode_Cmd(void *, tBtampTLVHCI_Set_Short_Range_Mode_Cmd*, v_U32_t*);
1747
1748#ifdef __cplusplus
1749}; /* End extern "C". */
1750#endif /* C++ */
1751// ID 76 (0x004c)
1752typedef struct sBtampTLVHCI_Short_Range_Mode_Change_Complete_Event {
1753 v_U8_t present;
1754 v_U8_t status;
1755 v_U8_t phy_link_handle;
1756 v_U8_t short_range_mode;
1757} tBtampTLVHCI_Short_Range_Mode_Change_Complete_Event;
1758
1759#define BTAMP_TLV_HCI_SHORT_RANGE_MODE_CHANGE_COMPLETE_EVENT ( 76 )
1760
1761// N.B. These #defines do *not* include the ID & length
1762#define BTAMP_TLV_HCI_SHORT_RANGE_MODE_CHANGE_COMPLETE_EVENT_MIN_LEN ( 5 )
1763
1764#define BTAMP_TLV_HCI_SHORT_RANGE_MODE_CHANGE_COMPLETE_EVENT_MAX_LEN ( 5 )
1765
1766#ifdef __cplusplus
1767extern "C" {
1768#endif /* C++ */
1769v_U32_t btampUnpackTlvHCI_Short_Range_Mode_Change_Complete_Event(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Short_Range_Mode_Change_Complete_Event*);
1770
1771v_U32_t btampPackTlvHCI_Short_Range_Mode_Change_Complete_Event(void *, tBtampTLVHCI_Short_Range_Mode_Change_Complete_Event*, v_U8_t*, v_U32_t, v_U32_t*);
1772
1773v_U32_t btampGetPackedTlvHCI_Short_Range_Mode_Change_Complete_Event(void *, tBtampTLVHCI_Short_Range_Mode_Change_Complete_Event*, v_U32_t*);
1774
1775#ifdef __cplusplus
1776}; /* End extern "C". */
1777#endif /* C++ */
1778// ID 3178 (0x0c6a)
1779typedef struct sBtampTLVHCI_Write_Best_Effort_Flush_Timeout_Cmd {
1780 v_U8_t present;
1781 v_U16_t log_link_handle;
1782 v_U32_t best_effort_flush_timeout;
1783} tBtampTLVHCI_Write_Best_Effort_Flush_Timeout_Cmd;
1784
1785#define BTAMP_TLV_HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT_CMD ( 3178 )
1786
1787// N.B. These #defines do *not* include the ID & length
1788#define BTAMP_TLV_HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT_CMD_MIN_LEN ( 8 )
1789
1790#define BTAMP_TLV_HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT_CMD_MAX_LEN ( 8 )
1791
1792#ifdef __cplusplus
1793extern "C" {
1794#endif /* C++ */
1795v_U32_t btampUnpackTlvHCI_Write_Best_Effort_Flush_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Best_Effort_Flush_Timeout_Cmd*);
1796
1797v_U32_t btampPackTlvHCI_Write_Best_Effort_Flush_Timeout_Cmd(void *, tBtampTLVHCI_Write_Best_Effort_Flush_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1798
1799v_U32_t btampGetPackedTlvHCI_Write_Best_Effort_Flush_Timeout_Cmd(void *, tBtampTLVHCI_Write_Best_Effort_Flush_Timeout_Cmd*, v_U32_t*);
1800
1801#ifdef __cplusplus
1802}; /* End extern "C". */
1803#endif /* C++ */
1804// ID 3094 (0x0c16)
1805typedef struct sBtampTLVHCI_Write_Connection_Accept_Timeout_Cmd {
1806 v_U8_t present;
1807 v_U16_t connection_accept_timeout;
1808} tBtampTLVHCI_Write_Connection_Accept_Timeout_Cmd;
1809
1810#define BTAMP_TLV_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_CMD ( 3094 )
1811
1812// N.B. These #defines do *not* include the ID & length
1813#define BTAMP_TLV_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_CMD_MIN_LEN ( 4 )
1814
1815#define BTAMP_TLV_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT_CMD_MAX_LEN ( 4 )
1816
1817#ifdef __cplusplus
1818extern "C" {
1819#endif /* C++ */
1820v_U32_t btampUnpackTlvHCI_Write_Connection_Accept_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Connection_Accept_Timeout_Cmd*);
1821
1822v_U32_t btampPackTlvHCI_Write_Connection_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Write_Connection_Accept_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1823
1824v_U32_t btampGetPackedTlvHCI_Write_Connection_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Write_Connection_Accept_Timeout_Cmd*, v_U32_t*);
1825
1826#ifdef __cplusplus
1827}; /* End extern "C". */
1828#endif /* C++ */
1829// ID 3175 (0x0c67)
1830typedef struct sBtampTLVHCI_Write_Flow_Control_Mode_Cmd {
1831 v_U8_t present;
1832 v_U8_t flow_control_mode;
1833} tBtampTLVHCI_Write_Flow_Control_Mode_Cmd;
1834
1835#define BTAMP_TLV_HCI_WRITE_FLOW_CONTROL_MODE_CMD ( 3175 )
1836
1837// N.B. These #defines do *not* include the ID & length
1838#define BTAMP_TLV_HCI_WRITE_FLOW_CONTROL_MODE_CMD_MIN_LEN ( 3 )
1839
1840#define BTAMP_TLV_HCI_WRITE_FLOW_CONTROL_MODE_CMD_MAX_LEN ( 3 )
1841
1842#ifdef __cplusplus
1843extern "C" {
1844#endif /* C++ */
1845v_U32_t btampUnpackTlvHCI_Write_Flow_Control_Mode_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Flow_Control_Mode_Cmd*);
1846
1847v_U32_t btampPackTlvHCI_Write_Flow_Control_Mode_Cmd(void *, tBtampTLVHCI_Write_Flow_Control_Mode_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1848
1849v_U32_t btampGetPackedTlvHCI_Write_Flow_Control_Mode_Cmd(void *, tBtampTLVHCI_Write_Flow_Control_Mode_Cmd*, v_U32_t*);
1850
1851#ifdef __cplusplus
1852}; /* End extern "C". */
1853#endif /* C++ */
1854// ID 3127 (0x0c37)
1855typedef struct sBtampTLVHCI_Write_Link_Supervision_Timeout_Cmd {
1856 v_U8_t present;
1857 v_U16_t log_link_handle;
1858 v_U16_t link_supervision_timeout;
1859} tBtampTLVHCI_Write_Link_Supervision_Timeout_Cmd;
1860
1861#define BTAMP_TLV_HCI_WRITE_LINK_SUPERVISION_TIMEOUT_CMD ( 3127 )
1862
1863// N.B. These #defines do *not* include the ID & length
1864#define BTAMP_TLV_HCI_WRITE_LINK_SUPERVISION_TIMEOUT_CMD_MIN_LEN ( 6 )
1865
1866#define BTAMP_TLV_HCI_WRITE_LINK_SUPERVISION_TIMEOUT_CMD_MAX_LEN ( 6 )
1867
1868#ifdef __cplusplus
1869extern "C" {
1870#endif /* C++ */
1871v_U32_t btampUnpackTlvHCI_Write_Link_Supervision_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Link_Supervision_Timeout_Cmd*);
1872
1873v_U32_t btampPackTlvHCI_Write_Link_Supervision_Timeout_Cmd(void *, tBtampTLVHCI_Write_Link_Supervision_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1874
1875v_U32_t btampGetPackedTlvHCI_Write_Link_Supervision_Timeout_Cmd(void *, tBtampTLVHCI_Write_Link_Supervision_Timeout_Cmd*, v_U32_t*);
1876
1877#ifdef __cplusplus
1878}; /* End extern "C". */
1879#endif /* C++ */
1880// ID 3173 (0x0c65)
1881typedef struct sBtampTLVHCI_Write_Location_Data_Cmd {
1882 v_U8_t present;
1883 v_U8_t loc_domain_aware;
1884 v_U8_t loc_domain[3];
1885 v_U8_t loc_options;
1886} tBtampTLVHCI_Write_Location_Data_Cmd;
1887
1888#define BTAMP_TLV_HCI_WRITE_LOCATION_DATA_CMD ( 3173 )
1889
1890// N.B. These #defines do *not* include the ID & length
1891#define BTAMP_TLV_HCI_WRITE_LOCATION_DATA_CMD_MIN_LEN ( 7 )
1892
1893#define BTAMP_TLV_HCI_WRITE_LOCATION_DATA_CMD_MAX_LEN ( 7 )
1894
1895#ifdef __cplusplus
1896extern "C" {
1897#endif /* C++ */
1898v_U32_t btampUnpackTlvHCI_Write_Location_Data_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Location_Data_Cmd*);
1899
1900v_U32_t btampPackTlvHCI_Write_Location_Data_Cmd(void *, tBtampTLVHCI_Write_Location_Data_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1901
1902v_U32_t btampGetPackedTlvHCI_Write_Location_Data_Cmd(void *, tBtampTLVHCI_Write_Location_Data_Cmd*, v_U32_t*);
1903
1904#ifdef __cplusplus
1905}; /* End extern "C". */
1906#endif /* C++ */
1907// ID 3170 (0x0c62)
1908typedef struct sBtampTLVHCI_Write_Logical_Link_Accept_Timeout_Cmd {
1909 v_U8_t present;
1910 v_U16_t logical_link_accept_timeout;
1911} tBtampTLVHCI_Write_Logical_Link_Accept_Timeout_Cmd;
1912
1913#define BTAMP_TLV_HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD ( 3170 )
1914
1915// N.B. These #defines do *not* include the ID & length
1916#define BTAMP_TLV_HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD_MIN_LEN ( 4 )
1917
1918#define BTAMP_TLV_HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_CMD_MAX_LEN ( 4 )
1919
1920#ifdef __cplusplus
1921extern "C" {
1922#endif /* C++ */
1923v_U32_t btampUnpackTlvHCI_Write_Logical_Link_Accept_Timeout_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Logical_Link_Accept_Timeout_Cmd*);
1924
1925v_U32_t btampPackTlvHCI_Write_Logical_Link_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Write_Logical_Link_Accept_Timeout_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1926
1927v_U32_t btampGetPackedTlvHCI_Write_Logical_Link_Accept_Timeout_Cmd(void *, tBtampTLVHCI_Write_Logical_Link_Accept_Timeout_Cmd*, v_U32_t*);
1928
1929#ifdef __cplusplus
1930}; /* End extern "C". */
1931#endif /* C++ */
1932// ID 6146 (0x1802)
1933typedef struct sBtampTLVHCI_Write_Loopback_Mode_Cmd {
1934 v_U8_t present;
1935 v_U8_t loopback_mode;
1936} tBtampTLVHCI_Write_Loopback_Mode_Cmd;
1937
1938#define BTAMP_TLV_HCI_WRITE_LOOPBACK_MODE_CMD ( 6146 )
1939
1940// N.B. These #defines do *not* include the ID & length
1941#define BTAMP_TLV_HCI_WRITE_LOOPBACK_MODE_CMD_MIN_LEN ( 3 )
1942
1943#define BTAMP_TLV_HCI_WRITE_LOOPBACK_MODE_CMD_MAX_LEN ( 3 )
1944
1945#ifdef __cplusplus
1946extern "C" {
1947#endif /* C++ */
1948v_U32_t btampUnpackTlvHCI_Write_Loopback_Mode_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Loopback_Mode_Cmd*);
1949
1950v_U32_t btampPackTlvHCI_Write_Loopback_Mode_Cmd(void *, tBtampTLVHCI_Write_Loopback_Mode_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1951
1952v_U32_t btampGetPackedTlvHCI_Write_Loopback_Mode_Cmd(void *, tBtampTLVHCI_Write_Loopback_Mode_Cmd*, v_U32_t*);
1953
1954#ifdef __cplusplus
1955}; /* End extern "C". */
1956#endif /* C++ */
1957// ID 5131 (0x140b)
1958typedef struct sBtampTLVHCI_Write_Remote_AMP_ASSOC_Cmd {
1959 v_U8_t present;
1960 v_U8_t phy_link_handle;
1961 v_U16_t length_so_far;
1962 v_U16_t amp_assoc_remaining_length;
1963 v_U8_t amp_assoc_fragment[248];
1964} tBtampTLVHCI_Write_Remote_AMP_ASSOC_Cmd;
1965
1966#define BTAMP_TLV_HCI_WRITE_REMOTE_AMP_ASSOC_CMD ( 5131 )
1967
1968// N.B. These #defines do *not* include the ID & length
1969#define BTAMP_TLV_HCI_WRITE_REMOTE_AMP_ASSOC_CMD_MIN_LEN ( 7 )
1970
1971#define BTAMP_TLV_HCI_WRITE_REMOTE_AMP_ASSOC_CMD_MAX_LEN ( 255 )
1972
1973#ifdef __cplusplus
1974extern "C" {
1975#endif /* C++ */
1976v_U32_t btampUnpackTlvHCI_Write_Remote_AMP_ASSOC_Cmd(void *, v_U8_t*,v_U16_t, tBtampTLVHCI_Write_Remote_AMP_ASSOC_Cmd*);
1977
1978v_U32_t btampPackTlvHCI_Write_Remote_AMP_ASSOC_Cmd(void *, tBtampTLVHCI_Write_Remote_AMP_ASSOC_Cmd*, v_U8_t*, v_U32_t, v_U32_t*);
1979
1980v_U32_t btampGetPackedTlvHCI_Write_Remote_AMP_ASSOC_Cmd(void *, tBtampTLVHCI_Write_Remote_AMP_ASSOC_Cmd*, v_U32_t*);
1981
1982#ifdef __cplusplus
1983}; /* End extern "C". */
1984#endif /* C++ */
1985// ID 64512 (0xfc00)
1986typedef struct sBtampTLVHCI_Vendor_Specific_Cmd_0 {
1987 v_U8_t present;
1988} tBtampTLVHCI_Vendor_Specific_0_Cmd;
1989
1990#define BTAMP_TLV_HCI_VENDOR_SPECIFIC_CMD_0 ( 64512 )
1991
1992// ID 64513 (0xfc01)
1993typedef struct sBtampTLVHCI_Vendor_Specific_Cmd_1 {
1994 v_U8_t present;
1995} tBtampTLVHCI_Vendor_Specific_1_Cmd;
1996
1997#define BTAMP_TLV_HCI_VENDOR_SPECIFIC_CMD_1 ( 64513 )
1998
1999/*********************************************************************
2000 * Information Elements *
2001 ********************************************************************/
2002
2003/************************************************************************
2004 * Frames
2005 **********************************************************************/
2006
2007typedef struct sBtampAMP_ASSOC{
2008 tBtampTLVAMP_Assoc_MAC_Addr AMP_Assoc_MAC_Addr;
2009 tBtampTLVAMP_Assoc_Preferred_Channel_List AMP_Assoc_Preferred_Channel_List;
2010 tBtampTLVAMP_Assoc_Connected_Channel AMP_Assoc_Connected_Channel;
2011 tBtampTLVAMP_Assoc_PAL_Capabilities AMP_Assoc_PAL_Capabilities;
2012 tBtampTLVAMP_Assoc_PAL_Version AMP_Assoc_PAL_Version;
2013} tBtampAMP_ASSOC;
2014
2015#define BTAMP_AMP_ASSOC ( 1 )
2016
2017#ifdef __cplusplus
2018extern "C" {
2019#endif /* C++ */
2020
2021v_U32_t btampUnpackAMP_ASSOC(void * pCtx, v_U8_t *pBuf, v_U32_t nBuf, tBtampAMP_ASSOC *pFrm);
2022v_U32_t btampPackAMP_ASSOC(void * pCtx, tBtampAMP_ASSOC *pFrm, v_U8_t *pBuf, v_U32_t nBuf, v_U32_t *pnConsumed);
2023v_U32_t btampGetPackedAMP_ASSOCSize(void * pCtx, tBtampAMP_ASSOC *pFrm, v_U32_t *pnNeeded);
2024
2025#ifdef __cplusplus
2026} /* End extern "C". */
2027#endif /* C++ */
2028
2029
2030#ifdef __cplusplus
2031extern "C" {
2032#endif /* C++ */
2033
2034/* HCI Number of Completed Packets Event*/
2035typedef struct sBtampTLVHCI_Num_Completed_Pkts_Event
2036{
2037 v_U8_t present;
2038 /*
2039 The number of Connection Handles and Num_Data_Packets
2040 parameters pairs contained in this event.Range: 0-255
2041 */
2042
2043 v_U8_t num_handles;
2044
2045 /*
2046 Size , Number of Handles * 2 Octets,Range: 0x0000-0x0EFF
2047 */
2048 v_U16_t conn_handles[WLANBAP_MAX_LOG_LINKS];
2049
2050 /*
2051 The number of HCI Data Packets that have been completed (transmitted
2052 or flushed) for the associated Connection Handle since the previous time
2053 the event was returned.Range for N: 0x0000-0xFFFF
2054 */
2055 v_U16_t num_completed_pkts[WLANBAP_MAX_LOG_LINKS];
2056} tBtampTLVHCI_Num_Completed_Pkts_Event;
2057
2058#define BTAMP_TLV_HCI_NUM_OF_COMPLETED_PKTS_EVENT ( 19 )
2059
2060v_U32_t btampPackTlvHCI_Num_Completed_Pkts_Event(void *, tBtampTLVHCI_Num_Completed_Pkts_Event*, v_U8_t*, v_U32_t, v_U32_t*);
2061
2062v_U32_t btampGetPackedTlvHCI_Num_Completed_Pkts_Event(void *, tBtampTLVHCI_Num_Completed_Pkts_Event*, v_U32_t*);
2063
2064/*Length of the value field expected in a TLV of type Flow SPec*/
2065#define WLAN_BAP_PAL_FLOW_SPEC_TLV_LEN 16
2066
2067#ifdef __cplusplus
2068} /* End extern "C". */
2069#endif /* C++ */
2070
2071#ifdef __cplusplus
2072extern "C" {
2073#endif /* C++ */
2074
2075/* HCI Number of Completed Data Blocks Event*/
2076typedef struct sBtampTLVHCI_Num_Completed_Data_Blocks_Event
2077{
2078 v_U8_t present;
2079 /*
2080 Total number of data block buffers available in the Controller for the
2081 storage of data packets scheduled for transmission. This indicates
2082 the existing value is unchanged, or increased, or reduced by up to
2083 the sum of the Num_Of_Completed_Blocks values in this command
2084 */
2085
2086 v_U16_t total_num_data_blocks;
2087
2088 /*
2089 The number of Connection Handles and Num_Data_Packets
2090 parameters pairs contained in this event.Range: 0-255
2091 */
2092
2093 v_U8_t num_handles;
2094
2095 /*
2096 Size , Number of Handles * 2 Octets,Range: 0x0000-0x0EFF
2097 */
2098 v_U16_t conn_handles[WLANBAP_MAX_LOG_LINKS];
2099
2100 /*
2101 The number of HCI Data Packets that have been completed (transmitted
2102 or flushed) for the associated Connection Handle since the previous time
2103 the event was returned.Range for N: 0x0000-0xFFFF
2104 */
2105 v_U16_t num_completed_pkts[WLANBAP_MAX_LOG_LINKS];
2106
2107 /*
2108 The number of data blocks that have been freed for the associated
2109 Handle since the previous time that a Number Of Completed Data
2110 Blocks event provided information about this Handle.
2111 Range for N: 0x0000-0xFFFF
2112 */
2113 v_U16_t num_completed_blocks[WLANBAP_MAX_LOG_LINKS];
2114
2115} tBtampTLVHCI_Num_Completed_Data_Blocks_Event;
2116
2117#define BTAMP_TLV_HCI_NUM_OF_COMPLETED_DATA_BLOCKS_EVENT ( 72 )
2118
2119v_U32_t btampPackTlvHCI_Num_Completed_Data_Blocks_Event(void *, tBtampTLVHCI_Num_Completed_Data_Blocks_Event*, v_U8_t*, v_U32_t, v_U32_t*);
2120
2121v_U32_t btampGetPackedTlvHCI_Num_Completed_Data_Blocks_Event(void *, tBtampTLVHCI_Num_Completed_Data_Blocks_Event*, v_U32_t*);
2122
2123#ifdef __cplusplus
2124} /* End extern "C". */
2125#endif /* C++ */
2126
2127#endif /* BTAMPHCI_H */
2128
2129