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