1 /*****************************************************************************
2  * @file    ble_types.h
3  * @author  MDG
4  * @brief   STM32WBA BLE command/event types
5  *          Auto-generated file: do not edit!
6  *****************************************************************************
7  * @attention
8  *
9  * Copyright (c) 2018-2023 STMicroelectronics.
10  * All rights reserved.
11  *
12  * This software is licensed under terms that can be found in the LICENSE file
13  * in the root directory of this software component.
14  * If no LICENSE file comes with this software, it is provided AS-IS.
15  *
16  *****************************************************************************
17  */
18 
19 #ifndef BLE_TYPES_H__
20 #define BLE_TYPES_H__
21 
22 
23 #include <stdint.h>
24 #include "ble_const.h"
25 
26 /* Type used for function return value */
27 typedef uint8_t tBleStatus;
28 
29 /* Definition of Host_Nb_Of_Completed_Pkt_Pair_t */
30 typedef __PACKED_STRUCT
31 {
32   /**
33    * Connection_Handle[i]
34    * Values:
35    * - 0x0000 ... 0x0EFF
36    */
37   uint16_t Connection_Handle;
38   /**
39    * The number of HCI Data Packets [i] that have been completed for the
40    * associated Connection_Handle since the previous time the event was
41    * returned.
42    * Values:
43    * - 0x0000 ... 0xFFFF
44    */
45   uint16_t Host_Num_Of_Completed_Packets;
46 } Host_Nb_Of_Completed_Pkt_Pair_t;
47 
48 /* Definition of Adv_Set_t */
49 typedef __PACKED_STRUCT
50 {
51   /**
52    * Used to identify an advertising set.
53    * Values:
54    * - 0x00 ... 0xEF
55    */
56   uint8_t Advertising_Handle;
57   /**
58    * Duration of advertising set.
59    * Time = N * 10 ms.
60    * Values:
61    * - 0x0000 (0 ms) : No advertising duration.
62    * - 0x0001 (10 ms)  ... 0xFFFF (655350 ms) : Advertising duration
63    */
64   uint16_t Duration;
65   /**
66    * Maximum number of advertising events.
67    * Values:
68    * - 0x00: No maximum number of advertising events
69    * - 0x01 ... 0xFF: Maximum number of extended advertising events the
70    *   Controller shall attempt to send prior to terminating the extended
71    *   advertising
72    */
73   uint8_t Max_Extended_Advertising_Events;
74 } Adv_Set_t;
75 
76 /* Definition of Scan_Param_Phy_t */
77 typedef __PACKED_STRUCT
78 {
79   /**
80    * Passive or active scanning. With passive scanning, no scan request PDUs
81    * are sent.
82    * Values:
83    * - 0x00: Passive scanning
84    * - 0x01: Active scanning
85    */
86   uint8_t Scan_Type;
87   /**
88    * Time interval from when the Controller started its last scan until it
89    * begins the subsequent scan on the primary advertising physical channel.
90    * Time = N * 0.625 ms.
91    * Values:
92    * - 0x0004 (2.500 ms)  ... 0x5DC0 (15000.000 ms) : STM32WB
93    * - 0x0004 (2.500 ms)  ... 0xFFFF (40959.375 ms) : STM32WBA
94    */
95   uint16_t Scan_Interval;
96   /**
97    * Duration of the scan on the primary advertising physical channel.
98    * Time = N * 0.625 ms.
99    * Values:
100    * - 0x0004 (2.500 ms)  ... 0x5DC0 (15000.000 ms) : STM32WB
101    * - 0x0004 (2.500 ms)  ... 0xFFFF (40959.375 ms) : STM32WBA
102    */
103   uint16_t Scan_Window;
104 } Scan_Param_Phy_t;
105 
106 /* Definition of Init_Param_Phy_t */
107 typedef __PACKED_STRUCT
108 {
109   /**
110    * Time interval from when the Controller started its last scan until it
111    * begins the subsequent scan on the primary advertising physical channel.
112    * Time = N * 0.625 ms.
113    * Values:
114    * - 0x0004 (2.500 ms)  ... 0x5DC0 (15000.000 ms) : STM32WB
115    * - 0x0004 (2.500 ms)  ... 0xFFFF (40959.375 ms) : STM32WBA
116    */
117   uint16_t Scan_Interval;
118   /**
119    * Duration of the scan on the primary advertising physical channel.
120    * Time = N * 0.625 ms.
121    * Values:
122    * - 0x0004 (2.500 ms)  ... 0x5DC0 (15000.000 ms) : STM32WB
123    * - 0x0004 (2.500 ms)  ... 0xFFFF (40959.375 ms) : STM32WBA
124    */
125   uint16_t Scan_Window;
126   /**
127    * Minimum value for the connection event interval.
128    * Time = N * 1.25 ms.
129    * Values:
130    * - 0x0006 (7.50 ms)  ... 0x0C80 (4000.00 ms)
131    */
132   uint16_t Conn_Interval_Min;
133   /**
134    * Maximum value for the connection event interval.
135    * Time = N * 1.25 ms.
136    * Values:
137    * - 0x0006 (7.50 ms)  ... 0x0C80 (4000.00 ms)
138    */
139   uint16_t Conn_Interval_Max;
140   /**
141    * Maximum Peripheral latency for the connection in number of connection
142    * events.
143    * Values:
144    * - 0x0000 ... 0x01F3
145    */
146   uint16_t Conn_Latency;
147   /**
148    * Supervision timeout for the LE Link.
149    * It shall be a multiple of 10 ms and larger than (1 +
150    * connPeripheralLatency) * connInterval * 2.
151    * Time = N * 10 ms.
152    * Values:
153    * - 0x000A (100 ms)  ... 0x0C80 (32000 ms)
154    */
155   uint16_t Supervision_Timeout;
156   /**
157    * Information parameter about the minimum length of connection needed for
158    * this LE connection.
159    * Time = N * 0.625 ms.
160    * Values:
161    * - 0x0000 (0.000 ms)  ... 0xFFFF (40959.375 ms)
162    */
163   uint16_t Min_CE_Length;
164   /**
165    * Information parameter about the maximum length of connection needed for
166    * this LE connection.
167    * Time = N * 0.625 ms.
168    * Values:
169    * - 0x0000 (0.000 ms)  ... 0xFFFF (40959.375 ms)
170    */
171   uint16_t Max_CE_Length;
172 } Init_Param_Phy_t;
173 
174 /* Definition of CIS_cfg_t */
175 typedef __PACKED_STRUCT
176 {
177   /**
178    * CIS identifier.
179    * Values:
180    * - 0x00 ... 0xEF
181    */
182   uint8_t CIS_ID;
183   /**
184    * Maximum size, in octets, of the payload from the Central's Host.
185    * Values:
186    * - 0x0000 ... 0x0FFF
187    */
188   uint16_t Max_SDU_C_To_P;
189   /**
190    * Maximum size, in octets, of the payload from the Peripheral's Host.
191    * Values:
192    * - 0x0000 ... 0x0FFF
193    */
194   uint16_t Max_SDU_P_To_C;
195   /**
196    * PHY used for transmission from the Central to the Peripheral.
197    * Flags:
198    * - 0x01: The transmitter PHY of packets from the Central is LE 1M
199    * - 0x02: The transmitter PHY of packets from the Central is LE 2M
200    * - 0x04: The transmitter PHY of packets from the Central is LE Coded
201    */
202   uint8_t PHY_C_To_P;
203   /**
204    * PHY used for transmission from the Peripheral to the Central.
205    * Flags:
206    * - 0x01: The transmitter PHY of packets from the Peripheral is LE 1M
207    * - 0x02: The transmitter PHY of packets from the Peripheral is LE 2M
208    * - 0x04: The transmitter PHY of packets from the Peripheral is LE Coded
209    */
210   uint8_t PHY_P_To_C;
211   /**
212    * Number of times every CIS Data PDU should be retransmitted from the
213    * Central to the Peripheral.
214    */
215   uint8_t RTN_C_To_P;
216   /**
217    * Number of times every CIS Data PDU should be retransmitted from the
218    * Peripheral to the Central.
219    */
220   uint8_t RTN_P_To_C;
221 } CIS_cfg_t;
222 
223 /* Definition of CIS_tst_cfg_t */
224 typedef __PACKED_STRUCT
225 {
226   /**
227    * CIS identifier.
228    * Values:
229    * - 0x00 ... 0xEF
230    */
231   uint8_t CIS_ID;
232   /**
233    * Number of subevents in each interval of each BIS in the BIG.
234    * Values:
235    * - 0x01 ... 0x1F
236    */
237   uint8_t NSE;
238   /**
239    * Maximum size, in octets, of the payload from the Central's Host.
240    * Values:
241    * - 0x0000 ... 0x0FFF
242    */
243   uint16_t Max_SDU_C_To_P;
244   /**
245    * Maximum size, in octets, of the payload from the Peripheral's Host.
246    * Values:
247    * - 0x0000 ... 0x0FFF
248    */
249   uint16_t Max_SDU_P_To_C;
250   /**
251    * Maximum size, in octets, of the payload from the Central to the
252    * Peripheral.
253    * Values:
254    * - 0x0000 ... 0x00FB
255    */
256   uint16_t Max_PDU_C_To_P;
257   /**
258    * Maximum size, in octets, of the payload from the Peripheral to the
259    * Central.
260    * Values:
261    * - 0x0000 ... 0x00FB
262    */
263   uint16_t Max_PDU_P_To_C;
264   /**
265    * PHY used for transmission from the Central to the Peripheral.
266    * Flags:
267    * - 0x01: The transmitter PHY of packets from the Central is LE 1M
268    * - 0x02: The transmitter PHY of packets from the Central is LE 2M
269    * - 0x04: The transmitter PHY of packets from the Central is LE Coded
270    */
271   uint8_t PHY_C_To_P;
272   /**
273    * PHY used for transmission from the Peripheral to the Central.
274    * Flags:
275    * - 0x01: The transmitter PHY of packets from the Peripheral is LE 1M
276    * - 0x02: The transmitter PHY of packets from the Peripheral is LE 2M
277    * - 0x04: The transmitter PHY of packets from the Peripheral is LE Coded
278    */
279   uint8_t PHY_P_To_C;
280   /**
281    * Burst number for Central to Peripheral.
282    * Values:
283    * - 0x00: No isochronous data from the Central to the Peripheral
284    * - 0x01 ... 0x0F
285    */
286   uint8_t BN_C_To_P;
287   /**
288    * Burst number for Peripheral to Central.
289    * Values:
290    * - 0x00: No isochronous data from the Peripheral to the Central
291    * - 0x01 ... 0x0F
292    */
293   uint8_t BN_P_To_C;
294 } CIS_tst_cfg_t;
295 
296 /* Definition of CIS_create_t */
297 typedef __PACKED_STRUCT
298 {
299   /**
300    * Connection handle of a CIS.
301    * Values:
302    * - 0x0000 ... 0x0EFF
303    */
304   uint16_t CIS_Connection_Handle;
305   /**
306    * Connection handle of an ACL connection.
307    * Values:
308    * - 0x0000 ... 0x0EFF
309    */
310   uint16_t ACL_Connection_Handle;
311 } CIS_create_t;
312 
313 /* Definition of Peer_Entry_t */
314 typedef __PACKED_STRUCT
315 {
316   /**
317    * Address type.
318    * Values:
319    * - 0x00: Public Device Address
320    * - 0x01: Random Device Address
321    */
322   uint8_t Peer_Address_Type;
323   /**
324    * Public Device Address or Random Device Address.
325    */
326   uint8_t Peer_Address[6];
327 } Peer_Entry_t;
328 
329 /* Definition of Bonded_Device_Entry_t */
330 typedef __PACKED_STRUCT
331 {
332   /**
333    * Address type.
334    * Values:
335    * - 0x00: Public Device Address
336    * - 0x01: Random Device Address
337    */
338   uint8_t Address_Type;
339   /**
340    * Public Device Address or Random Device Address.
341    */
342   uint8_t Address[6];
343 } Bonded_Device_Entry_t;
344 
345 /* Definition of Identity_Entry_t */
346 typedef __PACKED_STRUCT
347 {
348   /**
349    * Identity address type
350    * Values:
351    * - 0x00: Public Identity Address
352    * - 0x01: Random (static) Identity Address
353    */
354   uint8_t Peer_Identity_Address_Type;
355   /**
356    * Public or Random (static) Identity Address of the peer device
357    */
358   uint8_t Peer_Identity_Address[6];
359 } Identity_Entry_t;
360 
361 /* Definition of List_Entry_t */
362 typedef __PACKED_STRUCT
363 {
364   /**
365    * Address type.
366    * Values:
367    * - 0x00: Public Device Address
368    * - 0x01: Random Device Address
369    */
370   uint8_t Address_Type;
371   /**
372    * Public Device Address or Random Device Address.
373    */
374   uint8_t Address[6];
375 } List_Entry_t;
376 
377 /* Definition of Service_UUID_t */
378 typedef __PACKED_UNION
379 {
380   /**
381    * 16-bit UUID
382    */
383   uint16_t Service_UUID_16;
384   /**
385    * 128-bit UUID
386    */
387   uint8_t Service_UUID_128[16];
388 } Service_UUID_t;
389 
390 /* Definition of Include_UUID_t */
391 typedef __PACKED_UNION
392 {
393   /**
394    * 16-bit UUID
395    */
396   uint16_t Include_UUID_16;
397   /**
398    * 128-bit UUID
399    */
400   uint8_t Include_UUID_128[16];
401 } Include_UUID_t;
402 
403 /* Definition of Char_UUID_t */
404 typedef __PACKED_UNION
405 {
406   /**
407    * 16-bit UUID
408    */
409   uint16_t Char_UUID_16;
410   /**
411    * 128-bit UUID
412    */
413   uint8_t Char_UUID_128[16];
414 } Char_UUID_t;
415 
416 /* Definition of Char_Desc_Uuid_t */
417 typedef __PACKED_UNION
418 {
419   /**
420    * 16-bit UUID
421    */
422   uint16_t Char_UUID_16;
423   /**
424    * 128-bit UUID
425    */
426   uint8_t Char_UUID_128[16];
427 } Char_Desc_Uuid_t;
428 
429 /* Definition of UUID_t */
430 typedef __PACKED_UNION
431 {
432   /**
433    * 16-bit UUID
434    */
435   uint16_t UUID_16;
436   /**
437    * 128-bit UUID
438    */
439   uint8_t UUID_128[16];
440 } UUID_t;
441 
442 /* Definition of Handle_Entry_t */
443 typedef __PACKED_STRUCT
444 {
445   /**
446    * Attribute handle
447    */
448   uint16_t Handle;
449 } Handle_Entry_t;
450 
451 /* Definition of Handle_Packets_Pair_Entry_t */
452 typedef __PACKED_STRUCT
453 {
454   /**
455    * Connection handle
456    */
457   uint16_t Connection_Handle;
458   /**
459    * The number of HCI Data Packets that have been completed (transmitted or
460    * flushed) for the associated Connection_Handle since the previous time the
461    * event was returned.
462    */
463   uint16_t HC_Num_Of_Completed_Packets;
464 } Handle_Packets_Pair_Entry_t;
465 
466 /* Definition of Advertising_Report_t */
467 typedef __PACKED_STRUCT
468 {
469   /**
470    * Type of advertising report event:
471    * ADV_IND: Connectable undirected advertising',
472    * ADV_DIRECT_IND: Connectable directed advertising,
473    * ADV_SCAN_IND: Scannable undirected advertising,
474    * ADV_NONCONN_IND: Non connectable undirected advertising,
475    * SCAN_RSP: Scan response.
476    * Values:
477    * - 0x00: ADV_IND
478    * - 0x01: ADV_DIRECT_IND
479    * - 0x02: ADV_SCAN_IND
480    * - 0x03: ADV_NONCONN_IND
481    * - 0x04: SCAN_RSP
482    */
483   uint8_t Event_Type;
484   /**
485    * Address type
486    * 0x00 Public Device Address
487    * 0x01 Random Device Address
488    * 0x02 Public Identity Address (Corresponds to Resolved Private Address)
489    * 0x03 Random (Static) Identity Address (Corresponds to Resolved Private
490    * Address)
491    * Values:
492    * - 0x00: Public Device Address
493    * - 0x01: Random Device Address
494    * - 0x02: Public Identity Address
495    * - 0x03: Random (Static) Identity Address
496    */
497   uint8_t Address_Type;
498   /**
499    * Public Device Address or Random Device Address of the device to be
500    * connected.
501    */
502   uint8_t Address[6];
503   /**
504    * Length of the Data field for each device which responded.
505    * Values:
506    * - 0 ... 31
507    */
508   uint8_t Length_Data;
509   /**
510    * Octets of advertising or scan response data formatted as defined in
511    * Bluetooth spec. v.5.4 [Vol 3, Part C, 11].
512    */
513   const uint8_t* Data;
514   /**
515    * RSSI (signed integer).
516    * Units: dBm.
517    * Values:
518    * - 127: RSSI not available
519    * - -127 ... 20
520    */
521   uint8_t RSSI;
522 } Advertising_Report_t;
523 
524 /* Definition of Direct_Advertising_Report_t */
525 typedef __PACKED_STRUCT
526 {
527   /**
528    * Advertising type
529    * Values:
530    * - 0x01: Connectable directed advertising (ADV_DIRECT_IND)
531    */
532   uint8_t Event_Type;
533   /**
534    * Address type
535    * 0x00 Public Device Address
536    * 0x01 Random Device Address
537    * 0x02 Public Identity Address (Corresponds to Resolved Private Address)
538    * 0x03 Random (Static) Identity Address (Corresponds to Resolved Private
539    * Address)
540    * Values:
541    * - 0x00: Public Device Address
542    * - 0x01: Random Device Address
543    * - 0x02: Public Identity Address
544    * - 0x03: Random (Static) Identity Address
545    */
546   uint8_t Address_Type;
547   /**
548    * Public Device Address, Random Device Address, Public Identity Address or
549    * Random (static) Identity Address of the advertising device.
550    */
551   uint8_t Address[6];
552   /**
553    * 0x01 Random Device Address
554    * Values:
555    * - 0x01: Random Device Address
556    */
557   uint8_t Direct_Address_Type;
558   /**
559    * Random Device Address
560    */
561   uint8_t Direct_Address[6];
562   /**
563    * RSSI (signed integer).
564    * Units: dBm.
565    * Values:
566    * - 127: RSSI not available
567    * - -127 ... 20
568    */
569   uint8_t RSSI;
570 } Direct_Advertising_Report_t;
571 
572 /* Definition of IQ_Sample_t */
573 typedef __PACKED_STRUCT
574 {
575   uint8_t I_Sample;
576   uint8_t Q_Sample;
577 } IQ_Sample_t;
578 
579 /* Definition of Connection_Handle_t */
580 typedef __PACKED_STRUCT
581 {
582   uint16_t Connection_Handle;
583 } Connection_Handle_t;
584 
585 /* Definition of Attribute_Group_Handle_Pair_t */
586 typedef __PACKED_STRUCT
587 {
588   /**
589    * Found Attribute handle
590    */
591   uint16_t Found_Attribute_Handle;
592   /**
593    * Group End handle
594    */
595   uint16_t Group_End_Handle;
596 } Attribute_Group_Handle_Pair_t;
597 
598 /* Definition of Handle_Item_t */
599 typedef __PACKED_STRUCT
600 {
601   uint16_t Handle;
602 } Handle_Item_t;
603 
604 /* Internal types used by process functions */
605 
606 typedef __PACKED_STRUCT
607 {
608   uint16_t Connection_Handle;
609   uint8_t Reason;
610 } hci_disconnect_cp0;
611 
612 typedef __PACKED_STRUCT
613 {
614   uint8_t Status;
615 } hci_disconnect_rp0;
616 
617 typedef __PACKED_STRUCT
618 {
619   uint16_t Connection_Handle;
620 } hci_read_remote_version_information_cp0;
621 
622 typedef __PACKED_STRUCT
623 {
624   uint8_t Status;
625 } hci_read_remote_version_information_rp0;
626 
627 typedef __PACKED_STRUCT
628 {
629   uint8_t Event_Mask[8];
630 } hci_set_event_mask_cp0;
631 
632 typedef __PACKED_STRUCT
633 {
634   uint8_t Status;
635 } hci_set_event_mask_rp0;
636 
637 typedef __PACKED_STRUCT
638 {
639   uint8_t Status;
640 } hci_reset_rp0;
641 
642 typedef __PACKED_STRUCT
643 {
644   uint8_t Status;
645   uint16_t Connection_Accept_Timeout;
646 } hci_read_connection_accept_timeout_rp0;
647 
648 typedef __PACKED_STRUCT
649 {
650   uint16_t Connection_Accept_Timeout;
651 } hci_write_connection_accept_timeout_cp0;
652 
653 typedef __PACKED_STRUCT
654 {
655   uint8_t Status;
656 } hci_write_connection_accept_timeout_rp0;
657 
658 typedef __PACKED_STRUCT
659 {
660   uint16_t Connection_Handle;
661   uint8_t Type;
662 } hci_read_transmit_power_level_cp0;
663 
664 typedef __PACKED_STRUCT
665 {
666   uint8_t Status;
667   uint16_t Connection_Handle;
668   uint8_t Transmit_Power_Level;
669 } hci_read_transmit_power_level_rp0;
670 
671 typedef __PACKED_STRUCT
672 {
673   uint8_t Flow_Control_Enable;
674 } hci_set_controller_to_host_flow_control_cp0;
675 
676 typedef __PACKED_STRUCT
677 {
678   uint8_t Status;
679 } hci_set_controller_to_host_flow_control_rp0;
680 
681 typedef __PACKED_STRUCT
682 {
683   uint16_t Host_ACL_Data_Packet_Length;
684   uint8_t Host_Synchronous_Data_Packet_Length;
685   uint16_t Host_Total_Num_ACL_Data_Packets;
686   uint16_t Host_Total_Num_Synchronous_Data_Packets;
687 } hci_host_buffer_size_cp0;
688 
689 typedef __PACKED_STRUCT
690 {
691   uint8_t Status;
692 } hci_host_buffer_size_rp0;
693 
694 typedef __PACKED_STRUCT
695 {
696   uint8_t Number_Of_Handles;
697   Host_Nb_Of_Completed_Pkt_Pair_t Host_Nb_Of_Completed_Pkt_Pair[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(Host_Nb_Of_Completed_Pkt_Pair_t)];
698 } hci_host_number_of_completed_packets_cp0;
699 
700 typedef __PACKED_STRUCT
701 {
702   uint8_t Status;
703 } hci_host_number_of_completed_packets_rp0;
704 
705 typedef __PACKED_STRUCT
706 {
707   uint8_t Event_Mask_Page_2[8];
708 } hci_set_event_mask_page_2_cp0;
709 
710 typedef __PACKED_STRUCT
711 {
712   uint8_t Status;
713 } hci_set_event_mask_page_2_rp0;
714 
715 typedef __PACKED_STRUCT
716 {
717   uint16_t Connection_Handle;
718 } hci_read_authenticated_payload_timeout_cp0;
719 
720 typedef __PACKED_STRUCT
721 {
722   uint8_t Status;
723   uint16_t Connection_Handle;
724   uint16_t Authenticated_Payload_Timeout;
725 } hci_read_authenticated_payload_timeout_rp0;
726 
727 typedef __PACKED_STRUCT
728 {
729   uint16_t Connection_Handle;
730   uint16_t Authenticated_Payload_Timeout;
731 } hci_write_authenticated_payload_timeout_cp0;
732 
733 typedef __PACKED_STRUCT
734 {
735   uint8_t Status;
736   uint16_t Connection_Handle;
737 } hci_write_authenticated_payload_timeout_rp0;
738 
739 typedef __PACKED_STRUCT
740 {
741   uint16_t Interval;
742 } hci_set_ecosystem_base_interval_cp0;
743 
744 typedef __PACKED_STRUCT
745 {
746   uint8_t Status;
747 } hci_set_ecosystem_base_interval_rp0;
748 
749 typedef __PACKED_STRUCT
750 {
751   uint8_t Data_Path_Direction;
752   uint8_t Data_Path_ID;
753   uint8_t Vendor_Specific_Config_Length;
754   uint8_t Vendor_Specific_Config[BLE_CMD_MAX_PARAM_LEN - 3];
755 } hci_configure_data_path_cp0;
756 
757 typedef __PACKED_STRUCT
758 {
759   uint8_t Status;
760 } hci_configure_data_path_rp0;
761 
762 typedef __PACKED_STRUCT
763 {
764   uint8_t Status;
765   uint8_t HCI_Version;
766   uint16_t HCI_Subversion;
767   uint8_t LMP_Version;
768   uint16_t Company_Identifier;
769   uint16_t LMP_Subversion;
770 } hci_read_local_version_information_rp0;
771 
772 typedef __PACKED_STRUCT
773 {
774   uint8_t Status;
775   uint8_t Supported_Commands[64];
776 } hci_read_local_supported_commands_rp0;
777 
778 typedef __PACKED_STRUCT
779 {
780   uint8_t Status;
781   uint8_t LMP_Features[8];
782 } hci_read_local_supported_features_rp0;
783 
784 typedef __PACKED_STRUCT
785 {
786   uint8_t Status;
787   uint8_t BD_ADDR[6];
788 } hci_read_bd_addr_rp0;
789 
790 typedef __PACKED_STRUCT
791 {
792   uint8_t Status;
793   uint8_t Num_Supported_Standard_Codecs;
794   uint8_t Standard_Codec[(BLE_EVT_MAX_PARAM_LEN - 3) - 3];
795 } hci_read_local_supported_codecs_v2_rp0;
796 
797 typedef __PACKED_STRUCT
798 {
799   uint8_t Num_Supported_Vendor_Specific_Codecs;
800   uint8_t Vendor_Specific_Codec[(BLE_EVT_MAX_PARAM_LEN - 3) - 3];
801 } hci_read_local_supported_codecs_v2_rp1;
802 
803 typedef __PACKED_STRUCT
804 {
805   uint8_t Codec_ID[5];
806   uint8_t Logical_Transport_Type;
807   uint8_t Direction;
808 } hci_read_local_supported_codec_capabilities_cp0;
809 
810 typedef __PACKED_STRUCT
811 {
812   uint8_t Status;
813   uint8_t Num_Codec_Capabilities;
814   uint8_t Codec_Capabilities[250];
815 } hci_read_local_supported_codec_capabilities_rp0;
816 
817 typedef __PACKED_STRUCT
818 {
819   uint8_t Codec_ID[5];
820   uint8_t Logical_Transport_Type;
821   uint8_t Direction;
822   uint8_t Codec_Configuration_Length;
823   uint8_t Codec_Configuration[BLE_CMD_MAX_PARAM_LEN - 8];
824 } hci_read_local_supported_controller_delay_cp0;
825 
826 typedef __PACKED_STRUCT
827 {
828   uint8_t Status;
829   uint8_t Min_Controller_Delay[3];
830   uint8_t Max_Controller_Delay[3];
831 } hci_read_local_supported_controller_delay_rp0;
832 
833 typedef __PACKED_STRUCT
834 {
835   uint16_t Connection_Handle;
836 } hci_read_rssi_cp0;
837 
838 typedef __PACKED_STRUCT
839 {
840   uint8_t Status;
841   uint16_t Connection_Handle;
842   uint8_t RSSI;
843 } hci_read_rssi_rp0;
844 
845 typedef __PACKED_STRUCT
846 {
847   uint8_t LE_Event_Mask[8];
848 } hci_le_set_event_mask_cp0;
849 
850 typedef __PACKED_STRUCT
851 {
852   uint8_t Status;
853 } hci_le_set_event_mask_rp0;
854 
855 typedef __PACKED_STRUCT
856 {
857   uint8_t Status;
858   uint16_t HC_LE_ACL_Data_Packet_Length;
859   uint8_t HC_Total_Num_LE_ACL_Data_Packets;
860 } hci_le_read_buffer_size_rp0;
861 
862 typedef __PACKED_STRUCT
863 {
864   uint8_t Status;
865   uint8_t LE_Features[8];
866 } hci_le_read_local_supported_features_rp0;
867 
868 typedef __PACKED_STRUCT
869 {
870   uint8_t Random_Address[6];
871 } hci_le_set_random_address_cp0;
872 
873 typedef __PACKED_STRUCT
874 {
875   uint8_t Status;
876 } hci_le_set_random_address_rp0;
877 
878 typedef __PACKED_STRUCT
879 {
880   uint16_t Advertising_Interval_Min;
881   uint16_t Advertising_Interval_Max;
882   uint8_t Advertising_Type;
883   uint8_t Own_Address_Type;
884   uint8_t Peer_Address_Type;
885   uint8_t Peer_Address[6];
886   uint8_t Advertising_Channel_Map;
887   uint8_t Advertising_Filter_Policy;
888 } hci_le_set_advertising_parameters_cp0;
889 
890 typedef __PACKED_STRUCT
891 {
892   uint8_t Status;
893 } hci_le_set_advertising_parameters_rp0;
894 
895 typedef __PACKED_STRUCT
896 {
897   uint8_t Status;
898   uint8_t Transmit_Power_Level;
899 } hci_le_read_advertising_physical_channel_tx_power_rp0;
900 
901 typedef __PACKED_STRUCT
902 {
903   uint8_t Advertising_Data_Length;
904   uint8_t Advertising_Data[31];
905 } hci_le_set_advertising_data_cp0;
906 
907 typedef __PACKED_STRUCT
908 {
909   uint8_t Status;
910 } hci_le_set_advertising_data_rp0;
911 
912 typedef __PACKED_STRUCT
913 {
914   uint8_t Scan_Response_Data_Length;
915   uint8_t Scan_Response_Data[31];
916 } hci_le_set_scan_response_data_cp0;
917 
918 typedef __PACKED_STRUCT
919 {
920   uint8_t Status;
921 } hci_le_set_scan_response_data_rp0;
922 
923 typedef __PACKED_STRUCT
924 {
925   uint8_t Advertising_Enable;
926 } hci_le_set_advertising_enable_cp0;
927 
928 typedef __PACKED_STRUCT
929 {
930   uint8_t Status;
931 } hci_le_set_advertising_enable_rp0;
932 
933 typedef __PACKED_STRUCT
934 {
935   uint8_t LE_Scan_Type;
936   uint16_t LE_Scan_Interval;
937   uint16_t LE_Scan_Window;
938   uint8_t Own_Address_Type;
939   uint8_t Scanning_Filter_Policy;
940 } hci_le_set_scan_parameters_cp0;
941 
942 typedef __PACKED_STRUCT
943 {
944   uint8_t Status;
945 } hci_le_set_scan_parameters_rp0;
946 
947 typedef __PACKED_STRUCT
948 {
949   uint8_t LE_Scan_Enable;
950   uint8_t Filter_Duplicates;
951 } hci_le_set_scan_enable_cp0;
952 
953 typedef __PACKED_STRUCT
954 {
955   uint8_t Status;
956 } hci_le_set_scan_enable_rp0;
957 
958 typedef __PACKED_STRUCT
959 {
960   uint16_t LE_Scan_Interval;
961   uint16_t LE_Scan_Window;
962   uint8_t Initiator_Filter_Policy;
963   uint8_t Peer_Address_Type;
964   uint8_t Peer_Address[6];
965   uint8_t Own_Address_Type;
966   uint16_t Conn_Interval_Min;
967   uint16_t Conn_Interval_Max;
968   uint16_t Conn_Latency;
969   uint16_t Supervision_Timeout;
970   uint16_t Minimum_CE_Length;
971   uint16_t Maximum_CE_Length;
972 } hci_le_create_connection_cp0;
973 
974 typedef __PACKED_STRUCT
975 {
976   uint8_t Status;
977 } hci_le_create_connection_rp0;
978 
979 typedef __PACKED_STRUCT
980 {
981   uint8_t Status;
982 } hci_le_create_connection_cancel_rp0;
983 
984 typedef __PACKED_STRUCT
985 {
986   uint8_t Status;
987   uint8_t Filter_Accept_List_Size;
988 } hci_le_read_filter_accept_list_size_rp0;
989 
990 typedef __PACKED_STRUCT
991 {
992   uint8_t Status;
993 } hci_le_clear_filter_accept_list_rp0;
994 
995 typedef __PACKED_STRUCT
996 {
997   uint8_t Address_Type;
998   uint8_t Address[6];
999 } hci_le_add_device_to_filter_accept_list_cp0;
1000 
1001 typedef __PACKED_STRUCT
1002 {
1003   uint8_t Status;
1004 } hci_le_add_device_to_filter_accept_list_rp0;
1005 
1006 typedef __PACKED_STRUCT
1007 {
1008   uint8_t Address_Type;
1009   uint8_t Address[6];
1010 } hci_le_remove_device_from_filter_accept_list_cp0;
1011 
1012 typedef __PACKED_STRUCT
1013 {
1014   uint8_t Status;
1015 } hci_le_remove_device_from_filter_accept_list_rp0;
1016 
1017 typedef __PACKED_STRUCT
1018 {
1019   uint16_t Connection_Handle;
1020   uint16_t Conn_Interval_Min;
1021   uint16_t Conn_Interval_Max;
1022   uint16_t Conn_Latency;
1023   uint16_t Supervision_Timeout;
1024   uint16_t Minimum_CE_Length;
1025   uint16_t Maximum_CE_Length;
1026 } hci_le_connection_update_cp0;
1027 
1028 typedef __PACKED_STRUCT
1029 {
1030   uint8_t Status;
1031 } hci_le_connection_update_rp0;
1032 
1033 typedef __PACKED_STRUCT
1034 {
1035   uint8_t LE_Channel_Map[5];
1036 } hci_le_set_host_channel_classification_cp0;
1037 
1038 typedef __PACKED_STRUCT
1039 {
1040   uint8_t Status;
1041 } hci_le_set_host_channel_classification_rp0;
1042 
1043 typedef __PACKED_STRUCT
1044 {
1045   uint16_t Connection_Handle;
1046 } hci_le_read_channel_map_cp0;
1047 
1048 typedef __PACKED_STRUCT
1049 {
1050   uint8_t Status;
1051   uint16_t Connection_Handle;
1052   uint8_t LE_Channel_Map[5];
1053 } hci_le_read_channel_map_rp0;
1054 
1055 typedef __PACKED_STRUCT
1056 {
1057   uint16_t Connection_Handle;
1058 } hci_le_read_remote_features_cp0;
1059 
1060 typedef __PACKED_STRUCT
1061 {
1062   uint8_t Status;
1063 } hci_le_read_remote_features_rp0;
1064 
1065 typedef __PACKED_STRUCT
1066 {
1067   uint8_t Key[16];
1068   uint8_t Plaintext_Data[16];
1069 } hci_le_encrypt_cp0;
1070 
1071 typedef __PACKED_STRUCT
1072 {
1073   uint8_t Status;
1074   uint8_t Encrypted_Data[16];
1075 } hci_le_encrypt_rp0;
1076 
1077 typedef __PACKED_STRUCT
1078 {
1079   uint8_t Status;
1080   uint8_t Random_Number[8];
1081 } hci_le_rand_rp0;
1082 
1083 typedef __PACKED_STRUCT
1084 {
1085   uint16_t Connection_Handle;
1086   uint8_t Random_Number[8];
1087   uint16_t Encrypted_Diversifier;
1088   uint8_t Long_Term_Key[16];
1089 } hci_le_enable_encryption_cp0;
1090 
1091 typedef __PACKED_STRUCT
1092 {
1093   uint8_t Status;
1094 } hci_le_enable_encryption_rp0;
1095 
1096 typedef __PACKED_STRUCT
1097 {
1098   uint16_t Connection_Handle;
1099   uint8_t Long_Term_Key[16];
1100 } hci_le_long_term_key_request_reply_cp0;
1101 
1102 typedef __PACKED_STRUCT
1103 {
1104   uint8_t Status;
1105   uint16_t Connection_Handle;
1106 } hci_le_long_term_key_request_reply_rp0;
1107 
1108 typedef __PACKED_STRUCT
1109 {
1110   uint16_t Connection_Handle;
1111 } hci_le_long_term_key_request_negative_reply_cp0;
1112 
1113 typedef __PACKED_STRUCT
1114 {
1115   uint8_t Status;
1116   uint16_t Connection_Handle;
1117 } hci_le_long_term_key_request_negative_reply_rp0;
1118 
1119 typedef __PACKED_STRUCT
1120 {
1121   uint8_t Status;
1122   uint8_t LE_States[8];
1123 } hci_le_read_supported_states_rp0;
1124 
1125 typedef __PACKED_STRUCT
1126 {
1127   uint8_t RX_Frequency;
1128 } hci_le_receiver_test_cp0;
1129 
1130 typedef __PACKED_STRUCT
1131 {
1132   uint8_t Status;
1133 } hci_le_receiver_test_rp0;
1134 
1135 typedef __PACKED_STRUCT
1136 {
1137   uint8_t TX_Frequency;
1138   uint8_t Length_Of_Test_Data;
1139   uint8_t Packet_Payload;
1140 } hci_le_transmitter_test_cp0;
1141 
1142 typedef __PACKED_STRUCT
1143 {
1144   uint8_t Status;
1145 } hci_le_transmitter_test_rp0;
1146 
1147 typedef __PACKED_STRUCT
1148 {
1149   uint8_t Status;
1150   uint16_t Number_Of_Packets;
1151 } hci_le_test_end_rp0;
1152 
1153 typedef __PACKED_STRUCT
1154 {
1155   uint16_t Connection_Handle;
1156   uint16_t Interval_Min;
1157   uint16_t Interval_Max;
1158   uint16_t Max_Latency;
1159   uint16_t Timeout;
1160   uint16_t Min_CE_Length;
1161   uint16_t Max_CE_Length;
1162 } hci_le_remote_connection_parameter_request_reply_cp0;
1163 
1164 typedef __PACKED_STRUCT
1165 {
1166   uint8_t Status;
1167   uint16_t Connection_Handle;
1168 } hci_le_remote_connection_parameter_request_reply_rp0;
1169 
1170 typedef __PACKED_STRUCT
1171 {
1172   uint16_t Connection_Handle;
1173   uint8_t Reason;
1174 } hci_le_remote_connection_parameter_request_negative_reply_cp0;
1175 
1176 typedef __PACKED_STRUCT
1177 {
1178   uint8_t Status;
1179   uint16_t Connection_Handle;
1180 } hci_le_remote_connection_parameter_request_negative_reply_rp0;
1181 
1182 typedef __PACKED_STRUCT
1183 {
1184   uint16_t Connection_Handle;
1185   uint16_t TxOctets;
1186   uint16_t TxTime;
1187 } hci_le_set_data_length_cp0;
1188 
1189 typedef __PACKED_STRUCT
1190 {
1191   uint8_t Status;
1192   uint16_t Connection_Handle;
1193 } hci_le_set_data_length_rp0;
1194 
1195 typedef __PACKED_STRUCT
1196 {
1197   uint8_t Status;
1198   uint16_t SuggestedMaxTxOctets;
1199   uint16_t SuggestedMaxTxTime;
1200 } hci_le_read_suggested_default_data_length_rp0;
1201 
1202 typedef __PACKED_STRUCT
1203 {
1204   uint16_t SuggestedMaxTxOctets;
1205   uint16_t SuggestedMaxTxTime;
1206 } hci_le_write_suggested_default_data_length_cp0;
1207 
1208 typedef __PACKED_STRUCT
1209 {
1210   uint8_t Status;
1211 } hci_le_write_suggested_default_data_length_rp0;
1212 
1213 typedef __PACKED_STRUCT
1214 {
1215   uint8_t Status;
1216 } hci_le_read_local_p256_public_key_rp0;
1217 
1218 typedef __PACKED_STRUCT
1219 {
1220   uint8_t Remote_P256_Public_Key[64];
1221 } hci_le_generate_dhkey_cp0;
1222 
1223 typedef __PACKED_STRUCT
1224 {
1225   uint8_t Status;
1226 } hci_le_generate_dhkey_rp0;
1227 
1228 typedef __PACKED_STRUCT
1229 {
1230   uint8_t Peer_Identity_Address_Type;
1231   uint8_t Peer_Identity_Address[6];
1232   uint8_t Peer_IRK[16];
1233   uint8_t Local_IRK[16];
1234 } hci_le_add_device_to_resolving_list_cp0;
1235 
1236 typedef __PACKED_STRUCT
1237 {
1238   uint8_t Status;
1239 } hci_le_add_device_to_resolving_list_rp0;
1240 
1241 typedef __PACKED_STRUCT
1242 {
1243   uint8_t Peer_Identity_Address_Type;
1244   uint8_t Peer_Identity_Address[6];
1245 } hci_le_remove_device_from_resolving_list_cp0;
1246 
1247 typedef __PACKED_STRUCT
1248 {
1249   uint8_t Status;
1250 } hci_le_remove_device_from_resolving_list_rp0;
1251 
1252 typedef __PACKED_STRUCT
1253 {
1254   uint8_t Status;
1255 } hci_le_clear_resolving_list_rp0;
1256 
1257 typedef __PACKED_STRUCT
1258 {
1259   uint8_t Status;
1260   uint8_t Resolving_List_Size;
1261 } hci_le_read_resolving_list_size_rp0;
1262 
1263 typedef __PACKED_STRUCT
1264 {
1265   uint8_t Peer_Identity_Address_Type;
1266   uint8_t Peer_Identity_Address[6];
1267 } hci_le_read_peer_resolvable_address_cp0;
1268 
1269 typedef __PACKED_STRUCT
1270 {
1271   uint8_t Status;
1272   uint8_t Peer_Resolvable_Address[6];
1273 } hci_le_read_peer_resolvable_address_rp0;
1274 
1275 typedef __PACKED_STRUCT
1276 {
1277   uint8_t Peer_Identity_Address_Type;
1278   uint8_t Peer_Identity_Address[6];
1279 } hci_le_read_local_resolvable_address_cp0;
1280 
1281 typedef __PACKED_STRUCT
1282 {
1283   uint8_t Status;
1284   uint8_t Local_Resolvable_Address[6];
1285 } hci_le_read_local_resolvable_address_rp0;
1286 
1287 typedef __PACKED_STRUCT
1288 {
1289   uint8_t Address_Resolution_Enable;
1290 } hci_le_set_address_resolution_enable_cp0;
1291 
1292 typedef __PACKED_STRUCT
1293 {
1294   uint8_t Status;
1295 } hci_le_set_address_resolution_enable_rp0;
1296 
1297 typedef __PACKED_STRUCT
1298 {
1299   uint16_t RPA_Timeout;
1300 } hci_le_set_resolvable_private_address_timeout_cp0;
1301 
1302 typedef __PACKED_STRUCT
1303 {
1304   uint8_t Status;
1305 } hci_le_set_resolvable_private_address_timeout_rp0;
1306 
1307 typedef __PACKED_STRUCT
1308 {
1309   uint8_t Status;
1310   uint16_t supportedMaxTxOctets;
1311   uint16_t supportedMaxTxTime;
1312   uint16_t supportedMaxRxOctets;
1313   uint16_t supportedMaxRxTime;
1314 } hci_le_read_maximum_data_length_rp0;
1315 
1316 typedef __PACKED_STRUCT
1317 {
1318   uint16_t Connection_Handle;
1319 } hci_le_read_phy_cp0;
1320 
1321 typedef __PACKED_STRUCT
1322 {
1323   uint8_t Status;
1324   uint16_t Connection_Handle;
1325   uint8_t TX_PHY;
1326   uint8_t RX_PHY;
1327 } hci_le_read_phy_rp0;
1328 
1329 typedef __PACKED_STRUCT
1330 {
1331   uint8_t ALL_PHYS;
1332   uint8_t TX_PHYS;
1333   uint8_t RX_PHYS;
1334 } hci_le_set_default_phy_cp0;
1335 
1336 typedef __PACKED_STRUCT
1337 {
1338   uint8_t Status;
1339 } hci_le_set_default_phy_rp0;
1340 
1341 typedef __PACKED_STRUCT
1342 {
1343   uint16_t Connection_Handle;
1344   uint8_t ALL_PHYS;
1345   uint8_t TX_PHYS;
1346   uint8_t RX_PHYS;
1347   uint16_t PHY_options;
1348 } hci_le_set_phy_cp0;
1349 
1350 typedef __PACKED_STRUCT
1351 {
1352   uint8_t Status;
1353 } hci_le_set_phy_rp0;
1354 
1355 typedef __PACKED_STRUCT
1356 {
1357   uint8_t RX_Frequency;
1358   uint8_t PHY;
1359   uint8_t Modulation_Index;
1360 } hci_le_receiver_test_v2_cp0;
1361 
1362 typedef __PACKED_STRUCT
1363 {
1364   uint8_t Status;
1365 } hci_le_receiver_test_v2_rp0;
1366 
1367 typedef __PACKED_STRUCT
1368 {
1369   uint8_t TX_Frequency;
1370   uint8_t Length_Of_Test_Data;
1371   uint8_t Packet_Payload;
1372   uint8_t PHY;
1373 } hci_le_transmitter_test_v2_cp0;
1374 
1375 typedef __PACKED_STRUCT
1376 {
1377   uint8_t Status;
1378 } hci_le_transmitter_test_v2_rp0;
1379 
1380 typedef __PACKED_STRUCT
1381 {
1382   uint8_t Advertising_Handle;
1383   uint8_t Random_Address[6];
1384 } hci_le_set_advertising_set_random_address_cp0;
1385 
1386 typedef __PACKED_STRUCT
1387 {
1388   uint8_t Status;
1389 } hci_le_set_advertising_set_random_address_rp0;
1390 
1391 typedef __PACKED_STRUCT
1392 {
1393   uint8_t Advertising_Handle;
1394   uint16_t Adv_Event_Properties;
1395   uint8_t Primary_Adv_Interval_Min[3];
1396   uint8_t Primary_Adv_Interval_Max[3];
1397   uint8_t Primary_Adv_Channel_Map;
1398   uint8_t Own_Address_Type;
1399   uint8_t Peer_Address_Type;
1400   uint8_t Peer_Address[6];
1401   uint8_t Adv_Filter_Policy;
1402   uint8_t Adv_TX_Power;
1403   uint8_t Primary_Adv_PHY;
1404   uint8_t Secondary_Adv_Max_Skip;
1405   uint8_t Secondary_Adv_PHY;
1406   uint8_t Adv_SID;
1407   uint8_t Scan_Req_Notification_Enable;
1408 } hci_le_set_extended_advertising_parameters_cp0;
1409 
1410 typedef __PACKED_STRUCT
1411 {
1412   uint8_t Status;
1413   uint8_t Selected_TX_Power;
1414 } hci_le_set_extended_advertising_parameters_rp0;
1415 
1416 typedef __PACKED_STRUCT
1417 {
1418   uint8_t Advertising_Handle;
1419   uint8_t Operation;
1420   uint8_t Fragment_Preference;
1421   uint8_t Advertising_Data_Length;
1422   uint8_t Advertising_Data[BLE_CMD_MAX_PARAM_LEN - 4];
1423 } hci_le_set_extended_advertising_data_cp0;
1424 
1425 typedef __PACKED_STRUCT
1426 {
1427   uint8_t Status;
1428 } hci_le_set_extended_advertising_data_rp0;
1429 
1430 typedef __PACKED_STRUCT
1431 {
1432   uint8_t Advertising_Handle;
1433   uint8_t Operation;
1434   uint8_t Fragment_Preference;
1435   uint8_t Scan_Response_Data_Length;
1436   uint8_t Scan_Response_Data[BLE_CMD_MAX_PARAM_LEN - 4];
1437 } hci_le_set_extended_scan_response_data_cp0;
1438 
1439 typedef __PACKED_STRUCT
1440 {
1441   uint8_t Status;
1442 } hci_le_set_extended_scan_response_data_rp0;
1443 
1444 typedef __PACKED_STRUCT
1445 {
1446   uint8_t Enable;
1447   uint8_t Num_Sets;
1448   Adv_Set_t Adv_Set[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(Adv_Set_t)];
1449 } hci_le_set_extended_advertising_enable_cp0;
1450 
1451 typedef __PACKED_STRUCT
1452 {
1453   uint8_t Status;
1454 } hci_le_set_extended_advertising_enable_rp0;
1455 
1456 typedef __PACKED_STRUCT
1457 {
1458   uint8_t Status;
1459   uint16_t Max_Advertising_Data_Length;
1460 } hci_le_read_maximum_advertising_data_length_rp0;
1461 
1462 typedef __PACKED_STRUCT
1463 {
1464   uint8_t Status;
1465   uint8_t Num_Supported_Advertising_Sets;
1466 } hci_le_read_number_of_supported_advertising_sets_rp0;
1467 
1468 typedef __PACKED_STRUCT
1469 {
1470   uint8_t Advertising_Handle;
1471 } hci_le_remove_advertising_set_cp0;
1472 
1473 typedef __PACKED_STRUCT
1474 {
1475   uint8_t Status;
1476 } hci_le_remove_advertising_set_rp0;
1477 
1478 typedef __PACKED_STRUCT
1479 {
1480   uint8_t Status;
1481 } hci_le_clear_advertising_sets_rp0;
1482 
1483 typedef __PACKED_STRUCT
1484 {
1485   uint8_t Advertising_Handle;
1486   uint16_t Periodic_Adv_Interval_Min;
1487   uint16_t Periodic_Adv_Interval_Max;
1488   uint16_t Periodic_Adv_Properties;
1489 } hci_le_set_periodic_advertising_parameters_cp0;
1490 
1491 typedef __PACKED_STRUCT
1492 {
1493   uint8_t Status;
1494 } hci_le_set_periodic_advertising_parameters_rp0;
1495 
1496 typedef __PACKED_STRUCT
1497 {
1498   uint8_t Advertising_Handle;
1499   uint8_t Operation;
1500   uint8_t Advertising_Data_Length;
1501   uint8_t Advertising_Data[BLE_CMD_MAX_PARAM_LEN - 3];
1502 } hci_le_set_periodic_advertising_data_cp0;
1503 
1504 typedef __PACKED_STRUCT
1505 {
1506   uint8_t Status;
1507 } hci_le_set_periodic_advertising_data_rp0;
1508 
1509 typedef __PACKED_STRUCT
1510 {
1511   uint8_t Enable;
1512   uint8_t Advertising_Handle;
1513 } hci_le_set_periodic_advertising_enable_cp0;
1514 
1515 typedef __PACKED_STRUCT
1516 {
1517   uint8_t Status;
1518 } hci_le_set_periodic_advertising_enable_rp0;
1519 
1520 typedef __PACKED_STRUCT
1521 {
1522   uint8_t Own_Address_Type;
1523   uint8_t Scanning_Filter_Policy;
1524   uint8_t Scanning_PHYs;
1525   Scan_Param_Phy_t Scan_Param_Phy[2];
1526 } hci_le_set_extended_scan_parameters_cp0;
1527 
1528 typedef __PACKED_STRUCT
1529 {
1530   uint8_t Status;
1531 } hci_le_set_extended_scan_parameters_rp0;
1532 
1533 typedef __PACKED_STRUCT
1534 {
1535   uint8_t Enable;
1536   uint8_t Filter_Duplicates;
1537   uint16_t Duration;
1538   uint16_t Period;
1539 } hci_le_set_extended_scan_enable_cp0;
1540 
1541 typedef __PACKED_STRUCT
1542 {
1543   uint8_t Status;
1544 } hci_le_set_extended_scan_enable_rp0;
1545 
1546 typedef __PACKED_STRUCT
1547 {
1548   uint8_t Initiator_Filter_Policy;
1549   uint8_t Own_Address_Type;
1550   uint8_t Peer_Address_Type;
1551   uint8_t Peer_Address[6];
1552   uint8_t Initiating_PHYs;
1553   Init_Param_Phy_t Init_Param_Phy[3];
1554 } hci_le_extended_create_connection_cp0;
1555 
1556 typedef __PACKED_STRUCT
1557 {
1558   uint8_t Status;
1559 } hci_le_extended_create_connection_rp0;
1560 
1561 typedef __PACKED_STRUCT
1562 {
1563   uint8_t Options;
1564   uint8_t Advertising_SID;
1565   uint8_t Advertiser_Address_Type;
1566   uint8_t Advertiser_Address[6];
1567   uint16_t Skip;
1568   uint16_t Sync_Timeout;
1569   uint8_t Sync_CTE_Type;
1570 } hci_le_periodic_advertising_create_sync_cp0;
1571 
1572 typedef __PACKED_STRUCT
1573 {
1574   uint8_t Status;
1575 } hci_le_periodic_advertising_create_sync_rp0;
1576 
1577 typedef __PACKED_STRUCT
1578 {
1579   uint8_t Status;
1580 } hci_le_periodic_advertising_create_sync_cancel_rp0;
1581 
1582 typedef __PACKED_STRUCT
1583 {
1584   uint16_t Sync_Handle;
1585 } hci_le_periodic_advertising_terminate_sync_cp0;
1586 
1587 typedef __PACKED_STRUCT
1588 {
1589   uint8_t Status;
1590 } hci_le_periodic_advertising_terminate_sync_rp0;
1591 
1592 typedef __PACKED_STRUCT
1593 {
1594   uint8_t Advertiser_Address_Type;
1595   uint8_t Advertiser_Address[6];
1596   uint8_t Advertising_SID;
1597 } hci_le_add_device_to_periodic_advertiser_list_cp0;
1598 
1599 typedef __PACKED_STRUCT
1600 {
1601   uint8_t Status;
1602 } hci_le_add_device_to_periodic_advertiser_list_rp0;
1603 
1604 typedef __PACKED_STRUCT
1605 {
1606   uint8_t Advertiser_Address_Type;
1607   uint8_t Advertiser_Address[6];
1608   uint8_t Advertising_SID;
1609 } hci_le_remove_device_from_periodic_advertiser_list_cp0;
1610 
1611 typedef __PACKED_STRUCT
1612 {
1613   uint8_t Status;
1614 } hci_le_remove_device_from_periodic_advertiser_list_rp0;
1615 
1616 typedef __PACKED_STRUCT
1617 {
1618   uint8_t Status;
1619 } hci_le_clear_periodic_advertiser_list_rp0;
1620 
1621 typedef __PACKED_STRUCT
1622 {
1623   uint8_t Status;
1624   uint8_t Periodic_Advertiser_List_Size;
1625 } hci_le_read_periodic_advertiser_list_size_rp0;
1626 
1627 typedef __PACKED_STRUCT
1628 {
1629   uint8_t Status;
1630   uint8_t Min_TX_Power;
1631   uint8_t Max_TX_Power;
1632 } hci_le_read_transmit_power_rp0;
1633 
1634 typedef __PACKED_STRUCT
1635 {
1636   uint8_t Status;
1637   uint16_t RF_TX_Path_Compensation;
1638   uint16_t RF_RX_Path_Compensation;
1639 } hci_le_read_rf_path_compensation_rp0;
1640 
1641 typedef __PACKED_STRUCT
1642 {
1643   uint16_t RF_TX_Path_Compensation;
1644   uint16_t RF_RX_Path_Compensation;
1645 } hci_le_write_rf_path_compensation_cp0;
1646 
1647 typedef __PACKED_STRUCT
1648 {
1649   uint8_t Status;
1650 } hci_le_write_rf_path_compensation_rp0;
1651 
1652 typedef __PACKED_STRUCT
1653 {
1654   uint8_t Peer_Identity_Address_Type;
1655   uint8_t Peer_Identity_Address[6];
1656   uint8_t Privacy_Mode;
1657 } hci_le_set_privacy_mode_cp0;
1658 
1659 typedef __PACKED_STRUCT
1660 {
1661   uint8_t Status;
1662 } hci_le_set_privacy_mode_rp0;
1663 
1664 typedef __PACKED_STRUCT
1665 {
1666   uint8_t RX_Frequency;
1667   uint8_t PHY;
1668   uint8_t Modulation_Index;
1669   uint8_t Expected_CTE_Length;
1670   uint8_t Expected_CTE_Type;
1671   uint8_t Slot_Durations;
1672   uint8_t Switching_Pattern_Length;
1673   uint8_t Antenna_IDs[BLE_CMD_MAX_PARAM_LEN - 7];
1674 } hci_le_receiver_test_v3_cp0;
1675 
1676 typedef __PACKED_STRUCT
1677 {
1678   uint8_t Status;
1679 } hci_le_receiver_test_v3_rp0;
1680 
1681 typedef __PACKED_STRUCT
1682 {
1683   uint8_t TX_Frequency;
1684   uint8_t Length_Of_Test_Data;
1685   uint8_t Packet_Payload;
1686   uint8_t PHY;
1687   uint8_t CTE_Length;
1688   uint8_t CTE_Type;
1689   uint8_t Switching_Pattern_Length;
1690   uint8_t Antenna_IDs[BLE_CMD_MAX_PARAM_LEN - 7];
1691 } hci_le_transmitter_test_v3_cp0;
1692 
1693 typedef __PACKED_STRUCT
1694 {
1695   uint8_t Status;
1696 } hci_le_transmitter_test_v3_rp0;
1697 
1698 typedef __PACKED_STRUCT
1699 {
1700   uint8_t Advertising_Handle;
1701   uint8_t CTE_Length;
1702   uint8_t CTE_Type;
1703   uint8_t CTE_Count;
1704   uint8_t Switching_Pattern_Length;
1705   uint8_t Antenna_IDs[BLE_CMD_MAX_PARAM_LEN - 5];
1706 } hci_le_set_connectionless_cte_transmit_parameters_cp0;
1707 
1708 typedef __PACKED_STRUCT
1709 {
1710   uint8_t Status;
1711 } hci_le_set_connectionless_cte_transmit_parameters_rp0;
1712 
1713 typedef __PACKED_STRUCT
1714 {
1715   uint8_t Advertising_Handle;
1716   uint8_t CTE_Enable;
1717 } hci_le_set_connectionless_cte_transmit_enable_cp0;
1718 
1719 typedef __PACKED_STRUCT
1720 {
1721   uint8_t Status;
1722 } hci_le_set_connectionless_cte_transmit_enable_rp0;
1723 
1724 typedef __PACKED_STRUCT
1725 {
1726   uint16_t Sync_Handle;
1727   uint8_t Sampling_Enable;
1728   uint8_t Slot_Durations;
1729   uint8_t Max_Sampled_CTEs;
1730   uint8_t Switching_Pattern_Length;
1731   uint8_t Antenna_IDs[BLE_CMD_MAX_PARAM_LEN - 6];
1732 } hci_le_set_connectionless_iq_sampling_enable_cp0;
1733 
1734 typedef __PACKED_STRUCT
1735 {
1736   uint8_t Status;
1737   uint16_t Sync_Handle;
1738 } hci_le_set_connectionless_iq_sampling_enable_rp0;
1739 
1740 typedef __PACKED_STRUCT
1741 {
1742   uint16_t Connection_Handle;
1743   uint8_t Sampling_Enable;
1744   uint8_t Slot_Durations;
1745   uint8_t Switching_Pattern_Length;
1746   uint8_t Antenna_IDs[BLE_CMD_MAX_PARAM_LEN - 5];
1747 } hci_le_set_connection_cte_receive_parameters_cp0;
1748 
1749 typedef __PACKED_STRUCT
1750 {
1751   uint8_t Status;
1752   uint16_t Connection_Handle;
1753 } hci_le_set_connection_cte_receive_parameters_rp0;
1754 
1755 typedef __PACKED_STRUCT
1756 {
1757   uint16_t Connection_Handle;
1758   uint8_t CTE_Types;
1759   uint8_t Switching_Pattern_Length;
1760   uint8_t Antenna_IDs[BLE_CMD_MAX_PARAM_LEN - 4];
1761 } hci_le_set_connection_cte_transmit_parameters_cp0;
1762 
1763 typedef __PACKED_STRUCT
1764 {
1765   uint8_t Status;
1766   uint16_t Connection_Handle;
1767 } hci_le_set_connection_cte_transmit_parameters_rp0;
1768 
1769 typedef __PACKED_STRUCT
1770 {
1771   uint16_t Connection_Handle;
1772   uint8_t Enable;
1773   uint16_t CTE_Request_Interval;
1774   uint8_t Requested_CTE_Length;
1775   uint8_t Requested_CTE_Type;
1776 } hci_le_connection_cte_request_enable_cp0;
1777 
1778 typedef __PACKED_STRUCT
1779 {
1780   uint8_t Status;
1781   uint16_t Connection_Handle;
1782 } hci_le_connection_cte_request_enable_rp0;
1783 
1784 typedef __PACKED_STRUCT
1785 {
1786   uint16_t Connection_Handle;
1787   uint8_t Enable;
1788 } hci_le_connection_cte_response_enable_cp0;
1789 
1790 typedef __PACKED_STRUCT
1791 {
1792   uint8_t Status;
1793   uint16_t Connection_Handle;
1794 } hci_le_connection_cte_response_enable_rp0;
1795 
1796 typedef __PACKED_STRUCT
1797 {
1798   uint8_t Status;
1799   uint8_t Supported_Switching_Sampling_Rates;
1800   uint8_t Num_Antennae;
1801   uint8_t Max_Switching_Pattern_Length;
1802   uint8_t Max_CTE_Length;
1803 } hci_le_read_antenna_information_rp0;
1804 
1805 typedef __PACKED_STRUCT
1806 {
1807   uint16_t Sync_Handle;
1808   uint8_t Enable;
1809 } hci_le_set_periodic_advertising_receive_enable_cp0;
1810 
1811 typedef __PACKED_STRUCT
1812 {
1813   uint8_t Status;
1814 } hci_le_set_periodic_advertising_receive_enable_rp0;
1815 
1816 typedef __PACKED_STRUCT
1817 {
1818   uint16_t Connection_Handle;
1819   uint16_t Service_Data;
1820   uint16_t Sync_Handle;
1821 } hci_le_periodic_advertising_sync_transfer_cp0;
1822 
1823 typedef __PACKED_STRUCT
1824 {
1825   uint8_t Status;
1826   uint16_t Connection_Handle;
1827 } hci_le_periodic_advertising_sync_transfer_rp0;
1828 
1829 typedef __PACKED_STRUCT
1830 {
1831   uint16_t Connection_Handle;
1832   uint16_t Service_Data;
1833   uint8_t Advertising_Handle;
1834 } hci_le_periodic_advertising_set_info_transfer_cp0;
1835 
1836 typedef __PACKED_STRUCT
1837 {
1838   uint8_t Status;
1839   uint16_t Connection_Handle;
1840 } hci_le_periodic_advertising_set_info_transfer_rp0;
1841 
1842 typedef __PACKED_STRUCT
1843 {
1844   uint16_t Connection_Handle;
1845   uint8_t Mode;
1846   uint16_t Skip;
1847   uint16_t Sync_Timeout;
1848   uint8_t CTE_Type;
1849 } hci_le_set_periodic_advertising_sync_transfer_parameters_cp0;
1850 
1851 typedef __PACKED_STRUCT
1852 {
1853   uint8_t Status;
1854   uint16_t Connection_Handle;
1855 } hci_le_set_periodic_advertising_sync_transfer_parameters_rp0;
1856 
1857 typedef __PACKED_STRUCT
1858 {
1859   uint8_t Mode;
1860   uint16_t Skip;
1861   uint16_t Sync_Timeout;
1862   uint8_t CTE_Type;
1863 } hci_le_set_default_periodic_advertising_sync_transfer_parameters_cp0;
1864 
1865 typedef __PACKED_STRUCT
1866 {
1867   uint8_t Status;
1868 } hci_le_set_default_periodic_advertising_sync_transfer_parameters_rp0;
1869 
1870 typedef __PACKED_STRUCT
1871 {
1872   uint8_t Remote_P256_Public_Key[64];
1873   uint8_t Key_Type;
1874 } hci_le_generate_dhkey_v2_cp0;
1875 
1876 typedef __PACKED_STRUCT
1877 {
1878   uint8_t Status;
1879 } hci_le_generate_dhkey_v2_rp0;
1880 
1881 typedef __PACKED_STRUCT
1882 {
1883   uint8_t Status;
1884   uint16_t LE_ACL_Data_Packet_Length;
1885   uint8_t Total_Num_LE_ACL_Data_Packets;
1886   uint16_t ISO_Data_Packet_Length;
1887   uint8_t Total_Num_ISO_Data_Packets;
1888 } hci_le_read_buffer_size_v2_rp0;
1889 
1890 typedef __PACKED_STRUCT
1891 {
1892   uint16_t Connection_Handle;
1893 } hci_le_read_iso_tx_sync_cp0;
1894 
1895 typedef __PACKED_STRUCT
1896 {
1897   uint8_t Status;
1898   uint16_t Connection_Handle;
1899   uint16_t Packet_Sequence_Number;
1900   uint32_t TX_Time_Stamp;
1901   uint8_t Time_Offset[3];
1902 } hci_le_read_iso_tx_sync_rp0;
1903 
1904 typedef __PACKED_STRUCT
1905 {
1906   uint8_t CIG_ID;
1907   uint8_t SDU_Interval_C_To_P[3];
1908   uint8_t SDU_Interval_P_To_C[3];
1909   uint8_t Worst_Case_SCA;
1910   uint8_t Packing;
1911   uint8_t Framing;
1912   uint16_t Max_Transport_Latency_C_To_P;
1913   uint16_t Max_Transport_Latency_P_To_C;
1914   uint8_t CIS_Count;
1915   CIS_cfg_t CIS_cfg[(BLE_CMD_MAX_PARAM_LEN - 15)/sizeof(CIS_cfg_t)];
1916 } hci_le_set_cig_parameters_cp0;
1917 
1918 typedef __PACKED_STRUCT
1919 {
1920   uint8_t Status;
1921   uint8_t CIG_ID;
1922   uint8_t CIS_Count_Ret;
1923   uint16_t Connection_Handle[((BLE_EVT_MAX_PARAM_LEN - 3) - 3)/sizeof(uint16_t)];
1924 } hci_le_set_cig_parameters_rp0;
1925 
1926 typedef __PACKED_STRUCT
1927 {
1928   uint8_t CIG_ID;
1929   uint8_t SDU_Interval_C_To_P[3];
1930   uint8_t SDU_Interval_P_To_C[3];
1931   uint8_t FT_C_To_P;
1932   uint8_t FT_P_To_C;
1933   uint16_t ISO_Interval;
1934   uint8_t Worst_Case_SCA;
1935   uint8_t Packing;
1936   uint8_t Framing;
1937   uint8_t CIS_Count;
1938   CIS_tst_cfg_t CIS_tst_cfg[(BLE_CMD_MAX_PARAM_LEN - 15)/sizeof(CIS_tst_cfg_t)];
1939 } hci_le_set_cig_parameters_test_cp0;
1940 
1941 typedef __PACKED_STRUCT
1942 {
1943   uint8_t Status;
1944   uint8_t CIG_ID;
1945   uint8_t CIS_Count_Ret;
1946   uint16_t Connection_Handle[((BLE_EVT_MAX_PARAM_LEN - 3) - 3)/sizeof(uint16_t)];
1947 } hci_le_set_cig_parameters_test_rp0;
1948 
1949 typedef __PACKED_STRUCT
1950 {
1951   uint8_t CIS_Count;
1952   CIS_create_t CIS_create[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(CIS_create_t)];
1953 } hci_le_create_cis_cp0;
1954 
1955 typedef __PACKED_STRUCT
1956 {
1957   uint8_t Status;
1958 } hci_le_create_cis_rp0;
1959 
1960 typedef __PACKED_STRUCT
1961 {
1962   uint8_t CIG_ID;
1963 } hci_le_remove_cig_cp0;
1964 
1965 typedef __PACKED_STRUCT
1966 {
1967   uint8_t Status;
1968   uint8_t CIG_ID;
1969 } hci_le_remove_cig_rp0;
1970 
1971 typedef __PACKED_STRUCT
1972 {
1973   uint16_t Connection_Handle;
1974 } hci_le_accept_cis_request_cp0;
1975 
1976 typedef __PACKED_STRUCT
1977 {
1978   uint8_t Status;
1979 } hci_le_accept_cis_request_rp0;
1980 
1981 typedef __PACKED_STRUCT
1982 {
1983   uint16_t Connection_Handle;
1984   uint8_t Reason;
1985 } hci_le_reject_cis_request_cp0;
1986 
1987 typedef __PACKED_STRUCT
1988 {
1989   uint8_t Status;
1990   uint16_t Connection_Handle;
1991 } hci_le_reject_cis_request_rp0;
1992 
1993 typedef __PACKED_STRUCT
1994 {
1995   uint8_t BIG_Handle;
1996   uint8_t Advertising_Handle;
1997   uint8_t Num_BIS;
1998   uint8_t SDU_Interval[3];
1999   uint16_t Max_SDU;
2000   uint16_t Max_Transport_Latency;
2001   uint8_t RTN;
2002   uint8_t PHY;
2003   uint8_t Packing;
2004   uint8_t Framing;
2005   uint8_t Encryption;
2006   uint8_t Broadcast_Code[16];
2007 } hci_le_create_big_cp0;
2008 
2009 typedef __PACKED_STRUCT
2010 {
2011   uint8_t Status;
2012 } hci_le_create_big_rp0;
2013 
2014 typedef __PACKED_STRUCT
2015 {
2016   uint8_t BIG_Handle;
2017   uint8_t Advertising_Handle;
2018   uint8_t Num_BIS;
2019   uint8_t SDU_Interval[3];
2020   uint16_t ISO_Interval;
2021   uint8_t NSE;
2022   uint16_t Max_SDU;
2023   uint16_t Max_PDU;
2024   uint8_t PHY;
2025   uint8_t Packing;
2026   uint8_t Framing;
2027   uint8_t BN;
2028   uint8_t IRC;
2029   uint8_t PTO;
2030   uint8_t Encryption;
2031   uint8_t Broadcast_Code[16];
2032 } hci_le_create_big_test_cp0;
2033 
2034 typedef __PACKED_STRUCT
2035 {
2036   uint8_t Status;
2037 } hci_le_create_big_test_rp0;
2038 
2039 typedef __PACKED_STRUCT
2040 {
2041   uint8_t BIG_Handle;
2042   uint8_t Reason;
2043 } hci_le_terminate_big_cp0;
2044 
2045 typedef __PACKED_STRUCT
2046 {
2047   uint8_t Status;
2048 } hci_le_terminate_big_rp0;
2049 
2050 typedef __PACKED_STRUCT
2051 {
2052   uint8_t BIG_Handle;
2053   uint16_t Sync_Handle;
2054   uint8_t Encryption;
2055   uint8_t Broadcast_Code[16];
2056   uint8_t MSE;
2057   uint16_t BIG_Sync_Timeout;
2058   uint8_t Num_BIS;
2059   uint8_t BIS[BLE_CMD_MAX_PARAM_LEN - 24];
2060 } hci_le_big_create_sync_cp0;
2061 
2062 typedef __PACKED_STRUCT
2063 {
2064   uint8_t Status;
2065 } hci_le_big_create_sync_rp0;
2066 
2067 typedef __PACKED_STRUCT
2068 {
2069   uint8_t BIG_Handle;
2070 } hci_le_big_terminate_sync_cp0;
2071 
2072 typedef __PACKED_STRUCT
2073 {
2074   uint8_t Status;
2075   uint8_t BIG_Handle;
2076 } hci_le_big_terminate_sync_rp0;
2077 
2078 typedef __PACKED_STRUCT
2079 {
2080   uint16_t Connection_Handle;
2081 } hci_le_request_peer_sca_cp0;
2082 
2083 typedef __PACKED_STRUCT
2084 {
2085   uint8_t Status;
2086 } hci_le_request_peer_sca_rp0;
2087 
2088 typedef __PACKED_STRUCT
2089 {
2090   uint16_t Connection_Handle;
2091   uint8_t Data_Path_Direction;
2092   uint8_t Data_Path_ID;
2093   uint8_t Codec_ID[5];
2094   uint8_t Controller_Delay[3];
2095   uint8_t Codec_Configuration_Length;
2096   uint8_t Codec_Configuration[BLE_CMD_MAX_PARAM_LEN - 13];
2097 } hci_le_setup_iso_data_path_cp0;
2098 
2099 typedef __PACKED_STRUCT
2100 {
2101   uint8_t Status;
2102   uint16_t Connection_Handle;
2103 } hci_le_setup_iso_data_path_rp0;
2104 
2105 typedef __PACKED_STRUCT
2106 {
2107   uint16_t Connection_Handle;
2108   uint8_t Data_Path_Direction;
2109 } hci_le_remove_iso_data_path_cp0;
2110 
2111 typedef __PACKED_STRUCT
2112 {
2113   uint8_t Status;
2114   uint16_t Connection_Handle;
2115 } hci_le_remove_iso_data_path_rp0;
2116 
2117 typedef __PACKED_STRUCT
2118 {
2119   uint16_t Connection_Handle;
2120   uint8_t Payload_Type;
2121 } hci_le_iso_transmit_test_cp0;
2122 
2123 typedef __PACKED_STRUCT
2124 {
2125   uint8_t Status;
2126   uint16_t Connection_Handle;
2127 } hci_le_iso_transmit_test_rp0;
2128 
2129 typedef __PACKED_STRUCT
2130 {
2131   uint16_t Connection_Handle;
2132   uint8_t Payload_Type;
2133 } hci_le_iso_receive_test_cp0;
2134 
2135 typedef __PACKED_STRUCT
2136 {
2137   uint8_t Status;
2138   uint16_t Connection_Handle;
2139 } hci_le_iso_receive_test_rp0;
2140 
2141 typedef __PACKED_STRUCT
2142 {
2143   uint16_t Connection_Handle;
2144 } hci_le_iso_read_test_counters_cp0;
2145 
2146 typedef __PACKED_STRUCT
2147 {
2148   uint8_t Status;
2149   uint16_t Connection_Handle;
2150   uint32_t Received_SDU_Count;
2151   uint32_t Missed_SDU_Count;
2152   uint32_t Failed_SDU_Count;
2153 } hci_le_iso_read_test_counters_rp0;
2154 
2155 typedef __PACKED_STRUCT
2156 {
2157   uint16_t Connection_Handle;
2158 } hci_le_iso_test_end_cp0;
2159 
2160 typedef __PACKED_STRUCT
2161 {
2162   uint8_t Status;
2163   uint16_t Connection_Handle;
2164   uint32_t Received_SDU_Count;
2165   uint32_t Missed_SDU_Count;
2166   uint32_t Failed_SDU_Count;
2167 } hci_le_iso_test_end_rp0;
2168 
2169 typedef __PACKED_STRUCT
2170 {
2171   uint8_t Bit_Number;
2172   uint8_t Bit_Value;
2173 } hci_le_set_host_feature_cp0;
2174 
2175 typedef __PACKED_STRUCT
2176 {
2177   uint8_t Status;
2178 } hci_le_set_host_feature_rp0;
2179 
2180 typedef __PACKED_STRUCT
2181 {
2182   uint16_t Connection_Handle;
2183 } hci_le_read_iso_link_quality_cp0;
2184 
2185 typedef __PACKED_STRUCT
2186 {
2187   uint8_t Status;
2188   uint16_t Connection_Handle;
2189   uint32_t TX_UnACKed_Packets;
2190   uint32_t TX_Flushed_Packets;
2191   uint32_t TX_Last_Subevent_Packets;
2192   uint32_t Retransmitted_Packets;
2193   uint32_t CRC_Error_Packets;
2194   uint32_t RX_Unreceived_Packets;
2195   uint32_t Duplicate_Packets;
2196 } hci_le_read_iso_link_quality_rp0;
2197 
2198 typedef __PACKED_STRUCT
2199 {
2200   uint16_t Connection_Handle;
2201   uint8_t PHY;
2202 } hci_le_enhanced_read_transmit_power_level_cp0;
2203 
2204 typedef __PACKED_STRUCT
2205 {
2206   uint8_t Status;
2207   uint16_t Connection_Handle;
2208   uint8_t PHY;
2209   uint8_t Current_TX_Power_Level;
2210   uint8_t Max_TX_Power_Level;
2211 } hci_le_enhanced_read_transmit_power_level_rp0;
2212 
2213 typedef __PACKED_STRUCT
2214 {
2215   uint16_t Connection_Handle;
2216   uint8_t PHY;
2217 } hci_le_read_remote_transmit_power_level_cp0;
2218 
2219 typedef __PACKED_STRUCT
2220 {
2221   uint8_t Status;
2222 } hci_le_read_remote_transmit_power_level_rp0;
2223 
2224 typedef __PACKED_STRUCT
2225 {
2226   uint16_t Connection_Handle;
2227   uint8_t High_Threshold;
2228   uint8_t High_Hysteresis;
2229   uint8_t Low_Threshold;
2230   uint8_t Low_Hysteresis;
2231   uint16_t Min_Time_Spent;
2232 } hci_le_set_path_loss_reporting_parameters_cp0;
2233 
2234 typedef __PACKED_STRUCT
2235 {
2236   uint8_t Status;
2237   uint16_t Connection_Handle;
2238 } hci_le_set_path_loss_reporting_parameters_rp0;
2239 
2240 typedef __PACKED_STRUCT
2241 {
2242   uint16_t Connection_Handle;
2243   uint8_t Enable;
2244 } hci_le_set_path_loss_reporting_enable_cp0;
2245 
2246 typedef __PACKED_STRUCT
2247 {
2248   uint8_t Status;
2249   uint16_t Connection_Handle;
2250 } hci_le_set_path_loss_reporting_enable_rp0;
2251 
2252 typedef __PACKED_STRUCT
2253 {
2254   uint16_t Connection_Handle;
2255   uint8_t Local_Enable;
2256   uint8_t Remote_Enable;
2257 } hci_le_set_transmit_power_reporting_enable_cp0;
2258 
2259 typedef __PACKED_STRUCT
2260 {
2261   uint8_t Status;
2262   uint16_t Connection_Handle;
2263 } hci_le_set_transmit_power_reporting_enable_rp0;
2264 
2265 typedef __PACKED_STRUCT
2266 {
2267   uint8_t TX_Frequency;
2268   uint8_t Length_Of_Test_Data;
2269   uint8_t Packet_Payload;
2270   uint8_t PHY;
2271   uint8_t CTE_Length;
2272   uint8_t CTE_Type;
2273   uint8_t Switching_Pattern_Length;
2274   uint8_t Antenna_IDs[BLE_CMD_MAX_PARAM_LEN - 8];
2275 } hci_le_transmitter_test_v4_cp0;
2276 
2277 typedef __PACKED_STRUCT
2278 {
2279   uint8_t TX_Power_Level;
2280 } hci_le_transmitter_test_v4_cp1;
2281 
2282 typedef __PACKED_STRUCT
2283 {
2284   uint8_t Status;
2285 } hci_le_transmitter_test_v4_rp0;
2286 
2287 typedef __PACKED_STRUCT
2288 {
2289   uint8_t Advertising_Handle;
2290   uint16_t Periodic_Adv_Interval_Min;
2291   uint16_t Periodic_Adv_Interval_Max;
2292   uint16_t Periodic_Adv_Properties;
2293   uint8_t Num_Subevents;
2294   uint8_t Subevent_Interval;
2295   uint8_t Response_Slot_Delay;
2296   uint8_t Response_Slot_Spacing;
2297   uint8_t Num_Response_Slots;
2298 } hci_le_set_periodic_advertising_parameters_v2_cp0;
2299 
2300 typedef __PACKED_STRUCT
2301 {
2302   uint8_t Status;
2303   uint8_t Advertising_Handle;
2304 } hci_le_set_periodic_advertising_parameters_v2_rp0;
2305 
2306 typedef __PACKED_STRUCT
2307 {
2308   uint8_t Status;
2309   uint16_t Build_Number;
2310 } aci_hal_get_fw_build_number_rp0;
2311 
2312 typedef __PACKED_STRUCT
2313 {
2314   uint8_t Offset;
2315   uint8_t Length;
2316   uint8_t Value[BLE_CMD_MAX_PARAM_LEN - 2];
2317 } aci_hal_write_config_data_cp0;
2318 
2319 typedef __PACKED_STRUCT
2320 {
2321   uint8_t Status;
2322 } aci_hal_write_config_data_rp0;
2323 
2324 typedef __PACKED_STRUCT
2325 {
2326   uint8_t Offset;
2327 } aci_hal_read_config_data_cp0;
2328 
2329 typedef __PACKED_STRUCT
2330 {
2331   uint8_t Status;
2332   uint8_t Data_Length;
2333   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 3) - 2];
2334 } aci_hal_read_config_data_rp0;
2335 
2336 typedef __PACKED_STRUCT
2337 {
2338   uint8_t En_High_Power;
2339   uint8_t PA_Level;
2340 } aci_hal_set_tx_power_level_cp0;
2341 
2342 typedef __PACKED_STRUCT
2343 {
2344   uint8_t Status;
2345 } aci_hal_set_tx_power_level_rp0;
2346 
2347 typedef __PACKED_STRUCT
2348 {
2349   uint8_t Status;
2350   uint32_t Number_Of_Packets;
2351 } aci_hal_le_tx_test_packet_number_rp0;
2352 
2353 typedef __PACKED_STRUCT
2354 {
2355   uint8_t RF_Channel;
2356   uint8_t Freq_offset;
2357 } aci_hal_tone_start_cp0;
2358 
2359 typedef __PACKED_STRUCT
2360 {
2361   uint8_t Status;
2362 } aci_hal_tone_start_rp0;
2363 
2364 typedef __PACKED_STRUCT
2365 {
2366   uint8_t Status;
2367 } aci_hal_tone_stop_rp0;
2368 
2369 typedef __PACKED_STRUCT
2370 {
2371   uint16_t Radio_Activity_Mask;
2372 } aci_hal_set_radio_activity_mask_cp0;
2373 
2374 typedef __PACKED_STRUCT
2375 {
2376   uint8_t Status;
2377 } aci_hal_set_radio_activity_mask_rp0;
2378 
2379 typedef __PACKED_STRUCT
2380 {
2381   uint32_t Event_Mask;
2382 } aci_hal_set_event_mask_cp0;
2383 
2384 typedef __PACKED_STRUCT
2385 {
2386   uint8_t Status;
2387 } aci_hal_set_event_mask_rp0;
2388 
2389 typedef __PACKED_STRUCT
2390 {
2391   uint8_t Status;
2392   uint8_t Link_Status[10];
2393   uint16_t Link_Connection_Handle[10];
2394 } aci_hal_get_link_status_v2_rp0;
2395 
2396 typedef __PACKED_STRUCT
2397 {
2398   uint8_t Status;
2399   uint16_t Allocated_For_TX;
2400   uint16_t Allocated_For_RX;
2401   uint16_t Allocated_MBlocks;
2402 } aci_hal_get_pm_debug_info_v2_rp0;
2403 
2404 typedef __PACKED_STRUCT
2405 {
2406   uint8_t Enable;
2407 } aci_hal_set_peripheral_latency_cp0;
2408 
2409 typedef __PACKED_STRUCT
2410 {
2411   uint8_t Status;
2412 } aci_hal_set_peripheral_latency_rp0;
2413 
2414 typedef __PACKED_STRUCT
2415 {
2416   uint8_t Group_Id;
2417   uint8_t Enable_Sync;
2418   uint8_t Enable_Cb_Trigger;
2419   uint8_t Trigger_Source;
2420 } aci_hal_set_sync_event_config_cp0;
2421 
2422 typedef __PACKED_STRUCT
2423 {
2424   uint8_t Status;
2425 } aci_hal_set_sync_event_config_rp0;
2426 
2427 typedef __PACKED_STRUCT
2428 {
2429   uint8_t Status;
2430   uint8_t RSSI;
2431 } aci_hal_read_rssi_rp0;
2432 
2433 typedef __PACKED_STRUCT
2434 {
2435   uint8_t RF_Channel;
2436   uint8_t PHY;
2437   uint8_t Pattern;
2438 } aci_hal_continuous_tx_start_cp0;
2439 
2440 typedef __PACKED_STRUCT
2441 {
2442   uint8_t Status;
2443 } aci_hal_continuous_tx_start_rp0;
2444 
2445 typedef __PACKED_STRUCT
2446 {
2447   uint8_t Status;
2448 } aci_gap_set_non_discoverable_rp0;
2449 
2450 typedef __PACKED_STRUCT
2451 {
2452   uint8_t Advertising_Type;
2453   uint16_t Advertising_Interval_Min;
2454   uint16_t Advertising_Interval_Max;
2455   uint8_t Own_Address_Type;
2456   uint8_t Advertising_Filter_Policy;
2457   uint8_t Local_Name_Length;
2458   uint8_t Local_Name[BLE_CMD_MAX_PARAM_LEN - 13];
2459 } aci_gap_set_limited_discoverable_cp0;
2460 
2461 typedef __PACKED_STRUCT
2462 {
2463   uint8_t Service_Uuid_length;
2464   uint8_t Service_Uuid_List[BLE_CMD_MAX_PARAM_LEN - 13];
2465 } aci_gap_set_limited_discoverable_cp1;
2466 
2467 typedef __PACKED_STRUCT
2468 {
2469   uint16_t Conn_Interval_Min;
2470   uint16_t Conn_Interval_Max;
2471 } aci_gap_set_limited_discoverable_cp2;
2472 
2473 typedef __PACKED_STRUCT
2474 {
2475   uint8_t Status;
2476 } aci_gap_set_limited_discoverable_rp0;
2477 
2478 typedef __PACKED_STRUCT
2479 {
2480   uint8_t Advertising_Type;
2481   uint16_t Advertising_Interval_Min;
2482   uint16_t Advertising_Interval_Max;
2483   uint8_t Own_Address_Type;
2484   uint8_t Advertising_Filter_Policy;
2485   uint8_t Local_Name_Length;
2486   uint8_t Local_Name[BLE_CMD_MAX_PARAM_LEN - 13];
2487 } aci_gap_set_discoverable_cp0;
2488 
2489 typedef __PACKED_STRUCT
2490 {
2491   uint8_t Service_Uuid_length;
2492   uint8_t Service_Uuid_List[BLE_CMD_MAX_PARAM_LEN - 13];
2493 } aci_gap_set_discoverable_cp1;
2494 
2495 typedef __PACKED_STRUCT
2496 {
2497   uint16_t Conn_Interval_Min;
2498   uint16_t Conn_Interval_Max;
2499 } aci_gap_set_discoverable_cp2;
2500 
2501 typedef __PACKED_STRUCT
2502 {
2503   uint8_t Status;
2504 } aci_gap_set_discoverable_rp0;
2505 
2506 typedef __PACKED_STRUCT
2507 {
2508   uint8_t Own_Address_Type;
2509   uint8_t Directed_Advertising_Type;
2510   uint8_t Direct_Address_Type;
2511   uint8_t Direct_Address[6];
2512   uint16_t Advertising_Interval_Min;
2513   uint16_t Advertising_Interval_Max;
2514 } aci_gap_set_direct_connectable_cp0;
2515 
2516 typedef __PACKED_STRUCT
2517 {
2518   uint8_t Status;
2519 } aci_gap_set_direct_connectable_rp0;
2520 
2521 typedef __PACKED_STRUCT
2522 {
2523   uint8_t IO_Capability;
2524 } aci_gap_set_io_capability_cp0;
2525 
2526 typedef __PACKED_STRUCT
2527 {
2528   uint8_t Status;
2529 } aci_gap_set_io_capability_rp0;
2530 
2531 typedef __PACKED_STRUCT
2532 {
2533   uint8_t Bonding_Mode;
2534   uint8_t MITM_Mode;
2535   uint8_t SC_Support;
2536   uint8_t KeyPress_Notification_Support;
2537   uint8_t Min_Encryption_Key_Size;
2538   uint8_t Max_Encryption_Key_Size;
2539   uint8_t Use_Fixed_Pin;
2540   uint32_t Fixed_Pin;
2541   uint8_t Identity_Address_Type;
2542 } aci_gap_set_authentication_requirement_cp0;
2543 
2544 typedef __PACKED_STRUCT
2545 {
2546   uint8_t Status;
2547 } aci_gap_set_authentication_requirement_rp0;
2548 
2549 typedef __PACKED_STRUCT
2550 {
2551   uint16_t Connection_Handle;
2552   uint8_t Authorization_Enable;
2553 } aci_gap_set_authorization_requirement_cp0;
2554 
2555 typedef __PACKED_STRUCT
2556 {
2557   uint8_t Status;
2558 } aci_gap_set_authorization_requirement_rp0;
2559 
2560 typedef __PACKED_STRUCT
2561 {
2562   uint16_t Connection_Handle;
2563   uint32_t Pass_Key;
2564 } aci_gap_pass_key_resp_cp0;
2565 
2566 typedef __PACKED_STRUCT
2567 {
2568   uint8_t Status;
2569 } aci_gap_pass_key_resp_rp0;
2570 
2571 typedef __PACKED_STRUCT
2572 {
2573   uint16_t Connection_Handle;
2574   uint8_t Authorize;
2575 } aci_gap_authorization_resp_cp0;
2576 
2577 typedef __PACKED_STRUCT
2578 {
2579   uint8_t Status;
2580 } aci_gap_authorization_resp_rp0;
2581 
2582 typedef __PACKED_STRUCT
2583 {
2584   uint8_t Role;
2585   uint8_t privacy_enabled;
2586   uint8_t device_name_char_len;
2587 } aci_gap_init_cp0;
2588 
2589 typedef __PACKED_STRUCT
2590 {
2591   uint8_t Status;
2592   uint16_t Service_Handle;
2593   uint16_t Dev_Name_Char_Handle;
2594   uint16_t Appearance_Char_Handle;
2595 } aci_gap_init_rp0;
2596 
2597 typedef __PACKED_STRUCT
2598 {
2599   uint8_t Advertising_Event_Type;
2600   uint8_t Own_Address_Type;
2601 } aci_gap_set_non_connectable_cp0;
2602 
2603 typedef __PACKED_STRUCT
2604 {
2605   uint8_t Status;
2606 } aci_gap_set_non_connectable_rp0;
2607 
2608 typedef __PACKED_STRUCT
2609 {
2610   uint16_t Advertising_Interval_Min;
2611   uint16_t Advertising_Interval_Max;
2612   uint8_t Own_Address_Type;
2613   uint8_t Adv_Filter_Policy;
2614 } aci_gap_set_undirected_connectable_cp0;
2615 
2616 typedef __PACKED_STRUCT
2617 {
2618   uint8_t Status;
2619 } aci_gap_set_undirected_connectable_rp0;
2620 
2621 typedef __PACKED_STRUCT
2622 {
2623   uint16_t Connection_Handle;
2624 } aci_gap_peripheral_security_req_cp0;
2625 
2626 typedef __PACKED_STRUCT
2627 {
2628   uint8_t Status;
2629 } aci_gap_peripheral_security_req_rp0;
2630 
2631 typedef __PACKED_STRUCT
2632 {
2633   uint8_t AdvDataLen;
2634   uint8_t AdvData[BLE_CMD_MAX_PARAM_LEN - 1];
2635 } aci_gap_update_adv_data_cp0;
2636 
2637 typedef __PACKED_STRUCT
2638 {
2639   uint8_t Status;
2640 } aci_gap_update_adv_data_rp0;
2641 
2642 typedef __PACKED_STRUCT
2643 {
2644   uint8_t ADType;
2645 } aci_gap_delete_ad_type_cp0;
2646 
2647 typedef __PACKED_STRUCT
2648 {
2649   uint8_t Status;
2650 } aci_gap_delete_ad_type_rp0;
2651 
2652 typedef __PACKED_STRUCT
2653 {
2654   uint16_t Connection_Handle;
2655 } aci_gap_get_security_level_cp0;
2656 
2657 typedef __PACKED_STRUCT
2658 {
2659   uint8_t Status;
2660   uint8_t Security_Mode;
2661   uint8_t Security_Level;
2662 } aci_gap_get_security_level_rp0;
2663 
2664 typedef __PACKED_STRUCT
2665 {
2666   uint16_t GAP_Evt_Mask;
2667 } aci_gap_set_event_mask_cp0;
2668 
2669 typedef __PACKED_STRUCT
2670 {
2671   uint8_t Status;
2672 } aci_gap_set_event_mask_rp0;
2673 
2674 typedef __PACKED_STRUCT
2675 {
2676   uint8_t Status;
2677 } aci_gap_configure_filter_accept_list_rp0;
2678 
2679 typedef __PACKED_STRUCT
2680 {
2681   uint16_t Connection_Handle;
2682   uint8_t Reason;
2683 } aci_gap_terminate_cp0;
2684 
2685 typedef __PACKED_STRUCT
2686 {
2687   uint8_t Status;
2688 } aci_gap_terminate_rp0;
2689 
2690 typedef __PACKED_STRUCT
2691 {
2692   uint8_t Status;
2693 } aci_gap_clear_security_db_rp0;
2694 
2695 typedef __PACKED_STRUCT
2696 {
2697   uint16_t Connection_Handle;
2698 } aci_gap_allow_rebond_cp0;
2699 
2700 typedef __PACKED_STRUCT
2701 {
2702   uint8_t Status;
2703 } aci_gap_allow_rebond_rp0;
2704 
2705 typedef __PACKED_STRUCT
2706 {
2707   uint16_t LE_Scan_Interval;
2708   uint16_t LE_Scan_Window;
2709   uint8_t Own_Address_Type;
2710   uint8_t Filter_Duplicates;
2711 } aci_gap_start_limited_discovery_proc_cp0;
2712 
2713 typedef __PACKED_STRUCT
2714 {
2715   uint8_t Status;
2716 } aci_gap_start_limited_discovery_proc_rp0;
2717 
2718 typedef __PACKED_STRUCT
2719 {
2720   uint16_t LE_Scan_Interval;
2721   uint16_t LE_Scan_Window;
2722   uint8_t Own_Address_Type;
2723   uint8_t Filter_Duplicates;
2724 } aci_gap_start_general_discovery_proc_cp0;
2725 
2726 typedef __PACKED_STRUCT
2727 {
2728   uint8_t Status;
2729 } aci_gap_start_general_discovery_proc_rp0;
2730 
2731 typedef __PACKED_STRUCT
2732 {
2733   uint16_t LE_Scan_Interval;
2734   uint16_t LE_Scan_Window;
2735   uint8_t Own_Address_Type;
2736   uint16_t Conn_Interval_Min;
2737   uint16_t Conn_Interval_Max;
2738   uint16_t Conn_Latency;
2739   uint16_t Supervision_Timeout;
2740   uint16_t Minimum_CE_Length;
2741   uint16_t Maximum_CE_Length;
2742   uint8_t Num_of_Peer_Entries;
2743   Peer_Entry_t Peer_Entry[(BLE_CMD_MAX_PARAM_LEN - 18)/sizeof(Peer_Entry_t)];
2744 } aci_gap_start_auto_connection_establish_proc_cp0;
2745 
2746 typedef __PACKED_STRUCT
2747 {
2748   uint8_t Status;
2749 } aci_gap_start_auto_connection_establish_proc_rp0;
2750 
2751 typedef __PACKED_STRUCT
2752 {
2753   uint8_t LE_Scan_Type;
2754   uint16_t LE_Scan_Interval;
2755   uint16_t LE_Scan_Window;
2756   uint8_t Own_Address_Type;
2757   uint8_t Scanning_Filter_Policy;
2758   uint8_t Filter_Duplicates;
2759 } aci_gap_start_general_connection_establish_proc_cp0;
2760 
2761 typedef __PACKED_STRUCT
2762 {
2763   uint8_t Status;
2764 } aci_gap_start_general_connection_establish_proc_rp0;
2765 
2766 typedef __PACKED_STRUCT
2767 {
2768   uint8_t LE_Scan_Type;
2769   uint16_t LE_Scan_Interval;
2770   uint16_t LE_Scan_Window;
2771   uint8_t Own_Address_Type;
2772   uint8_t Scanning_Filter_Policy;
2773   uint8_t Filter_Duplicates;
2774   uint8_t Num_of_Peer_Entries;
2775   Peer_Entry_t Peer_Entry[(BLE_CMD_MAX_PARAM_LEN - 9)/sizeof(Peer_Entry_t)];
2776 } aci_gap_start_selective_connection_establish_proc_cp0;
2777 
2778 typedef __PACKED_STRUCT
2779 {
2780   uint8_t Status;
2781 } aci_gap_start_selective_connection_establish_proc_rp0;
2782 
2783 typedef __PACKED_STRUCT
2784 {
2785   uint16_t LE_Scan_Interval;
2786   uint16_t LE_Scan_Window;
2787   uint8_t Peer_Address_Type;
2788   uint8_t Peer_Address[6];
2789   uint8_t Own_Address_Type;
2790   uint16_t Conn_Interval_Min;
2791   uint16_t Conn_Interval_Max;
2792   uint16_t Conn_Latency;
2793   uint16_t Supervision_Timeout;
2794   uint16_t Minimum_CE_Length;
2795   uint16_t Maximum_CE_Length;
2796 } aci_gap_create_connection_cp0;
2797 
2798 typedef __PACKED_STRUCT
2799 {
2800   uint8_t Status;
2801 } aci_gap_create_connection_rp0;
2802 
2803 typedef __PACKED_STRUCT
2804 {
2805   uint8_t Procedure_Code;
2806 } aci_gap_terminate_gap_proc_cp0;
2807 
2808 typedef __PACKED_STRUCT
2809 {
2810   uint8_t Status;
2811 } aci_gap_terminate_gap_proc_rp0;
2812 
2813 typedef __PACKED_STRUCT
2814 {
2815   uint16_t Connection_Handle;
2816   uint16_t Conn_Interval_Min;
2817   uint16_t Conn_Interval_Max;
2818   uint16_t Conn_Latency;
2819   uint16_t Supervision_Timeout;
2820   uint16_t Minimum_CE_Length;
2821   uint16_t Maximum_CE_Length;
2822 } aci_gap_start_connection_update_cp0;
2823 
2824 typedef __PACKED_STRUCT
2825 {
2826   uint8_t Status;
2827 } aci_gap_start_connection_update_rp0;
2828 
2829 typedef __PACKED_STRUCT
2830 {
2831   uint16_t Connection_Handle;
2832   uint8_t Force_Rebond;
2833 } aci_gap_send_pairing_req_cp0;
2834 
2835 typedef __PACKED_STRUCT
2836 {
2837   uint8_t Status;
2838 } aci_gap_send_pairing_req_rp0;
2839 
2840 typedef __PACKED_STRUCT
2841 {
2842   uint8_t Address[6];
2843 } aci_gap_resolve_private_addr_cp0;
2844 
2845 typedef __PACKED_STRUCT
2846 {
2847   uint8_t Status;
2848   uint8_t Actual_Address[6];
2849 } aci_gap_resolve_private_addr_rp0;
2850 
2851 typedef __PACKED_STRUCT
2852 {
2853   uint16_t Advertising_Interval_Min;
2854   uint16_t Advertising_Interval_Max;
2855   uint8_t Advertising_Type;
2856   uint8_t Own_Address_Type;
2857   uint8_t Adv_Data_Length;
2858   uint8_t Adv_Data[BLE_CMD_MAX_PARAM_LEN - 8];
2859 } aci_gap_set_broadcast_mode_cp0;
2860 
2861 typedef __PACKED_STRUCT
2862 {
2863   uint8_t Num_of_Peer_Entries;
2864   Peer_Entry_t Peer_Entry[(BLE_CMD_MAX_PARAM_LEN - 8)/sizeof(Peer_Entry_t)];
2865 } aci_gap_set_broadcast_mode_cp1;
2866 
2867 typedef __PACKED_STRUCT
2868 {
2869   uint8_t Status;
2870 } aci_gap_set_broadcast_mode_rp0;
2871 
2872 typedef __PACKED_STRUCT
2873 {
2874   uint16_t LE_Scan_Interval;
2875   uint16_t LE_Scan_Window;
2876   uint8_t LE_Scan_Type;
2877   uint8_t Own_Address_Type;
2878   uint8_t Filter_Duplicates;
2879   uint8_t Scanning_Filter_Policy;
2880 } aci_gap_start_observation_proc_cp0;
2881 
2882 typedef __PACKED_STRUCT
2883 {
2884   uint8_t Status;
2885 } aci_gap_start_observation_proc_rp0;
2886 
2887 typedef __PACKED_STRUCT
2888 {
2889   uint8_t Status;
2890   uint8_t Num_of_Addresses;
2891   Bonded_Device_Entry_t Bonded_Device_Entry[((BLE_EVT_MAX_PARAM_LEN - 3) - 2)/sizeof(Bonded_Device_Entry_t)];
2892 } aci_gap_get_bonded_devices_rp0;
2893 
2894 typedef __PACKED_STRUCT
2895 {
2896   uint8_t Peer_Address_Type;
2897   uint8_t Peer_Address[6];
2898 } aci_gap_is_device_bonded_cp0;
2899 
2900 typedef __PACKED_STRUCT
2901 {
2902   uint8_t Status;
2903 } aci_gap_is_device_bonded_rp0;
2904 
2905 typedef __PACKED_STRUCT
2906 {
2907   uint16_t Connection_Handle;
2908   uint8_t Confirm_Yes_No;
2909 } aci_gap_numeric_comparison_value_confirm_yesno_cp0;
2910 
2911 typedef __PACKED_STRUCT
2912 {
2913   uint8_t Status;
2914 } aci_gap_numeric_comparison_value_confirm_yesno_rp0;
2915 
2916 typedef __PACKED_STRUCT
2917 {
2918   uint16_t Connection_Handle;
2919   uint8_t Input_Type;
2920 } aci_gap_passkey_input_cp0;
2921 
2922 typedef __PACKED_STRUCT
2923 {
2924   uint8_t Status;
2925 } aci_gap_passkey_input_rp0;
2926 
2927 typedef __PACKED_STRUCT
2928 {
2929   uint8_t OOB_Data_Type;
2930 } aci_gap_get_oob_data_cp0;
2931 
2932 typedef __PACKED_STRUCT
2933 {
2934   uint8_t Status;
2935   uint8_t Address_Type;
2936   uint8_t Address[6];
2937   uint8_t OOB_Data_Type;
2938   uint8_t OOB_Data_Len;
2939   uint8_t OOB_Data[16];
2940 } aci_gap_get_oob_data_rp0;
2941 
2942 typedef __PACKED_STRUCT
2943 {
2944   uint8_t Device_Type;
2945   uint8_t Address_Type;
2946   uint8_t Address[6];
2947   uint8_t OOB_Data_Type;
2948   uint8_t OOB_Data_Len;
2949   uint8_t OOB_Data[16];
2950 } aci_gap_set_oob_data_cp0;
2951 
2952 typedef __PACKED_STRUCT
2953 {
2954   uint8_t Status;
2955 } aci_gap_set_oob_data_rp0;
2956 
2957 typedef __PACKED_STRUCT
2958 {
2959   uint8_t Num_of_Resolving_list_Entries;
2960   Identity_Entry_t Identity_Entry[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(Identity_Entry_t)];
2961 } aci_gap_add_devices_to_resolving_list_cp0;
2962 
2963 typedef __PACKED_STRUCT
2964 {
2965   uint8_t Clear_Resolving_List;
2966 } aci_gap_add_devices_to_resolving_list_cp1;
2967 
2968 typedef __PACKED_STRUCT
2969 {
2970   uint8_t Status;
2971 } aci_gap_add_devices_to_resolving_list_rp0;
2972 
2973 typedef __PACKED_STRUCT
2974 {
2975   uint8_t Peer_Identity_Address_Type;
2976   uint8_t Peer_Identity_Address[6];
2977 } aci_gap_remove_bonded_device_cp0;
2978 
2979 typedef __PACKED_STRUCT
2980 {
2981   uint8_t Status;
2982 } aci_gap_remove_bonded_device_rp0;
2983 
2984 typedef __PACKED_STRUCT
2985 {
2986   uint8_t Num_of_List_Entries;
2987   List_Entry_t List_Entry[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(List_Entry_t)];
2988 } aci_gap_add_devices_to_list_cp0;
2989 
2990 typedef __PACKED_STRUCT
2991 {
2992   uint8_t Mode;
2993 } aci_gap_add_devices_to_list_cp1;
2994 
2995 typedef __PACKED_STRUCT
2996 {
2997   uint8_t Status;
2998 } aci_gap_add_devices_to_list_rp0;
2999 
3000 typedef __PACKED_STRUCT
3001 {
3002   uint8_t Adv_Mode;
3003   uint8_t Advertising_Handle;
3004   uint16_t Adv_Event_Properties;
3005   uint32_t Primary_Adv_Interval_Min;
3006   uint32_t Primary_Adv_Interval_Max;
3007   uint8_t Primary_Adv_Channel_Map;
3008   uint8_t Own_Address_Type;
3009   uint8_t Peer_Address_Type;
3010   uint8_t Peer_Address[6];
3011   uint8_t Adv_Filter_Policy;
3012   uint8_t Adv_TX_Power;
3013   uint8_t Secondary_Adv_Max_Skip;
3014   uint8_t Secondary_Adv_PHY;
3015   uint8_t Adv_SID;
3016   uint8_t Scan_Req_Notification_Enable;
3017 } aci_gap_adv_set_configuration_cp0;
3018 
3019 typedef __PACKED_STRUCT
3020 {
3021   uint8_t Status;
3022 } aci_gap_adv_set_configuration_rp0;
3023 
3024 typedef __PACKED_STRUCT
3025 {
3026   uint8_t Enable;
3027   uint8_t Num_Sets;
3028   Adv_Set_t Adv_Set[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(Adv_Set_t)];
3029 } aci_gap_adv_set_enable_cp0;
3030 
3031 typedef __PACKED_STRUCT
3032 {
3033   uint8_t Status;
3034 } aci_gap_adv_set_enable_rp0;
3035 
3036 typedef __PACKED_STRUCT
3037 {
3038   uint8_t Advertising_Handle;
3039   uint8_t Operation;
3040   uint8_t Fragment_Preference;
3041   uint8_t Advertising_Data_Length;
3042   uint8_t Advertising_Data[BLE_CMD_MAX_PARAM_LEN - 4];
3043 } aci_gap_adv_set_adv_data_cp0;
3044 
3045 typedef __PACKED_STRUCT
3046 {
3047   uint8_t Status;
3048 } aci_gap_adv_set_adv_data_rp0;
3049 
3050 typedef __PACKED_STRUCT
3051 {
3052   uint8_t Advertising_Handle;
3053   uint8_t Operation;
3054   uint8_t Fragment_Preference;
3055   uint8_t Scan_Response_Data_Length;
3056   uint8_t Scan_Response_Data[BLE_CMD_MAX_PARAM_LEN - 4];
3057 } aci_gap_adv_set_scan_resp_data_cp0;
3058 
3059 typedef __PACKED_STRUCT
3060 {
3061   uint8_t Status;
3062 } aci_gap_adv_set_scan_resp_data_rp0;
3063 
3064 typedef __PACKED_STRUCT
3065 {
3066   uint8_t Advertising_Handle;
3067 } aci_gap_adv_remove_set_cp0;
3068 
3069 typedef __PACKED_STRUCT
3070 {
3071   uint8_t Status;
3072 } aci_gap_adv_remove_set_rp0;
3073 
3074 typedef __PACKED_STRUCT
3075 {
3076   uint8_t Status;
3077 } aci_gap_adv_clear_sets_rp0;
3078 
3079 typedef __PACKED_STRUCT
3080 {
3081   uint8_t Advertising_Handle;
3082   uint8_t Random_Address[6];
3083 } aci_gap_adv_set_random_address_cp0;
3084 
3085 typedef __PACKED_STRUCT
3086 {
3087   uint8_t Status;
3088 } aci_gap_adv_set_random_address_rp0;
3089 
3090 typedef __PACKED_STRUCT
3091 {
3092   uint8_t Advertising_Handle;
3093   uint16_t Periodic_Adv_Interval_Min;
3094   uint16_t Periodic_Adv_Interval_Max;
3095   uint16_t Periodic_Adv_Properties;
3096   uint8_t Num_Subevents;
3097   uint8_t Subevent_Interval;
3098   uint8_t Response_Slot_Delay;
3099   uint8_t Response_Slot_Spacing;
3100   uint8_t Num_Response_Slots;
3101 } aci_gap_adv_set_periodic_parameters_cp0;
3102 
3103 typedef __PACKED_STRUCT
3104 {
3105   uint8_t Status;
3106 } aci_gap_adv_set_periodic_parameters_rp0;
3107 
3108 typedef __PACKED_STRUCT
3109 {
3110   uint8_t Advertising_Handle;
3111   uint8_t Operation;
3112   uint8_t Advertising_Data_Length;
3113   uint8_t Advertising_Data[BLE_CMD_MAX_PARAM_LEN - 3];
3114 } aci_gap_adv_set_periodic_data_cp0;
3115 
3116 typedef __PACKED_STRUCT
3117 {
3118   uint8_t Status;
3119 } aci_gap_adv_set_periodic_data_rp0;
3120 
3121 typedef __PACKED_STRUCT
3122 {
3123   uint8_t Enable;
3124   uint8_t Advertising_Handle;
3125 } aci_gap_adv_set_periodic_enable_cp0;
3126 
3127 typedef __PACKED_STRUCT
3128 {
3129   uint8_t Status;
3130 } aci_gap_adv_set_periodic_enable_rp0;
3131 
3132 typedef __PACKED_STRUCT
3133 {
3134   uint8_t Scan_Mode;
3135   uint8_t Procedure;
3136   uint8_t Own_Address_Type;
3137   uint8_t Filter_Duplicates;
3138   uint16_t Duration;
3139   uint16_t Period;
3140   uint8_t Scanning_Filter_Policy;
3141   uint8_t Scanning_PHYs;
3142   Scan_Param_Phy_t Scan_Param_Phy[2];
3143 } aci_gap_ext_start_scan_cp0;
3144 
3145 typedef __PACKED_STRUCT
3146 {
3147   uint8_t Status;
3148 } aci_gap_ext_start_scan_rp0;
3149 
3150 typedef __PACKED_STRUCT
3151 {
3152   uint8_t Initiating_Mode;
3153   uint8_t Procedure;
3154   uint8_t Own_Address_Type;
3155   uint8_t Peer_Address_Type;
3156   uint8_t Peer_Address[6];
3157   uint8_t Advertising_Handle;
3158   uint8_t Subevent;
3159   uint8_t Initiator_Filter_Policy;
3160   uint8_t Initiating_PHYs;
3161   Init_Param_Phy_t Init_Param_Phy[3];
3162 } aci_gap_ext_create_connection_cp0;
3163 
3164 typedef __PACKED_STRUCT
3165 {
3166   uint8_t Status;
3167 } aci_gap_ext_create_connection_rp0;
3168 
3169 typedef __PACKED_STRUCT
3170 {
3171   uint8_t Status;
3172 } aci_gatt_init_rp0;
3173 
3174 typedef __PACKED_STRUCT
3175 {
3176   uint8_t Service_UUID_Type;
3177   Service_UUID_t Service_UUID;
3178 } aci_gatt_add_service_cp0;
3179 
3180 typedef __PACKED_STRUCT
3181 {
3182   uint8_t Service_Type;
3183   uint8_t Max_Attribute_Records;
3184 } aci_gatt_add_service_cp1;
3185 
3186 typedef __PACKED_STRUCT
3187 {
3188   uint8_t Status;
3189   uint16_t Service_Handle;
3190 } aci_gatt_add_service_rp0;
3191 
3192 typedef __PACKED_STRUCT
3193 {
3194   uint16_t Service_Handle;
3195   uint16_t Include_Start_Handle;
3196   uint16_t Include_End_Handle;
3197   uint8_t Include_UUID_Type;
3198   Include_UUID_t Include_UUID;
3199 } aci_gatt_include_service_cp0;
3200 
3201 typedef __PACKED_STRUCT
3202 {
3203   uint8_t Status;
3204   uint16_t Include_Handle;
3205 } aci_gatt_include_service_rp0;
3206 
3207 typedef __PACKED_STRUCT
3208 {
3209   uint16_t Service_Handle;
3210   uint8_t Char_UUID_Type;
3211   Char_UUID_t Char_UUID;
3212 } aci_gatt_add_char_cp0;
3213 
3214 typedef __PACKED_STRUCT
3215 {
3216   uint16_t Char_Value_Length;
3217   uint8_t Char_Properties;
3218   uint8_t Security_Permissions;
3219   uint8_t GATT_Evt_Mask;
3220   uint8_t Enc_Key_Size;
3221   uint8_t Is_Variable;
3222 } aci_gatt_add_char_cp1;
3223 
3224 typedef __PACKED_STRUCT
3225 {
3226   uint8_t Status;
3227   uint16_t Char_Handle;
3228 } aci_gatt_add_char_rp0;
3229 
3230 typedef __PACKED_STRUCT
3231 {
3232   uint16_t Service_Handle;
3233   uint16_t Char_Handle;
3234   uint8_t Char_Desc_Uuid_Type;
3235   Char_Desc_Uuid_t Char_Desc_Uuid;
3236 } aci_gatt_add_char_desc_cp0;
3237 
3238 typedef __PACKED_STRUCT
3239 {
3240   uint8_t Char_Desc_Value_Max_Len;
3241   uint8_t Char_Desc_Value_Length;
3242   uint8_t Char_Desc_Value[BLE_CMD_MAX_PARAM_LEN - 12];
3243 } aci_gatt_add_char_desc_cp1;
3244 
3245 typedef __PACKED_STRUCT
3246 {
3247   uint8_t Security_Permissions;
3248   uint8_t Access_Permissions;
3249   uint8_t GATT_Evt_Mask;
3250   uint8_t Enc_Key_Size;
3251   uint8_t Is_Variable;
3252 } aci_gatt_add_char_desc_cp2;
3253 
3254 typedef __PACKED_STRUCT
3255 {
3256   uint8_t Status;
3257   uint16_t Char_Desc_Handle;
3258 } aci_gatt_add_char_desc_rp0;
3259 
3260 typedef __PACKED_STRUCT
3261 {
3262   uint16_t Service_Handle;
3263   uint16_t Char_Handle;
3264   uint8_t Val_Offset;
3265   uint8_t Char_Value_Length;
3266   uint8_t Char_Value[BLE_CMD_MAX_PARAM_LEN - 6];
3267 } aci_gatt_update_char_value_cp0;
3268 
3269 typedef __PACKED_STRUCT
3270 {
3271   uint8_t Status;
3272 } aci_gatt_update_char_value_rp0;
3273 
3274 typedef __PACKED_STRUCT
3275 {
3276   uint16_t Serv_Handle;
3277   uint16_t Char_Handle;
3278 } aci_gatt_del_char_cp0;
3279 
3280 typedef __PACKED_STRUCT
3281 {
3282   uint8_t Status;
3283 } aci_gatt_del_char_rp0;
3284 
3285 typedef __PACKED_STRUCT
3286 {
3287   uint16_t Serv_Handle;
3288 } aci_gatt_del_service_cp0;
3289 
3290 typedef __PACKED_STRUCT
3291 {
3292   uint8_t Status;
3293 } aci_gatt_del_service_rp0;
3294 
3295 typedef __PACKED_STRUCT
3296 {
3297   uint16_t Serv_Handle;
3298   uint16_t Include_Handle;
3299 } aci_gatt_del_include_service_cp0;
3300 
3301 typedef __PACKED_STRUCT
3302 {
3303   uint8_t Status;
3304 } aci_gatt_del_include_service_rp0;
3305 
3306 typedef __PACKED_STRUCT
3307 {
3308   uint32_t GATT_Evt_Mask;
3309 } aci_gatt_set_event_mask_cp0;
3310 
3311 typedef __PACKED_STRUCT
3312 {
3313   uint8_t Status;
3314 } aci_gatt_set_event_mask_rp0;
3315 
3316 typedef __PACKED_STRUCT
3317 {
3318   uint16_t Connection_Handle;
3319 } aci_gatt_exchange_config_cp0;
3320 
3321 typedef __PACKED_STRUCT
3322 {
3323   uint8_t Status;
3324 } aci_gatt_exchange_config_rp0;
3325 
3326 typedef __PACKED_STRUCT
3327 {
3328   uint16_t Connection_Handle;
3329   uint16_t Start_Handle;
3330   uint16_t End_Handle;
3331 } aci_att_find_info_req_cp0;
3332 
3333 typedef __PACKED_STRUCT
3334 {
3335   uint8_t Status;
3336 } aci_att_find_info_req_rp0;
3337 
3338 typedef __PACKED_STRUCT
3339 {
3340   uint16_t Connection_Handle;
3341   uint16_t Start_Handle;
3342   uint16_t End_Handle;
3343   uint16_t UUID;
3344   uint8_t Attribute_Val_Length;
3345   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 9];
3346 } aci_att_find_by_type_value_req_cp0;
3347 
3348 typedef __PACKED_STRUCT
3349 {
3350   uint8_t Status;
3351 } aci_att_find_by_type_value_req_rp0;
3352 
3353 typedef __PACKED_STRUCT
3354 {
3355   uint16_t Connection_Handle;
3356   uint16_t Start_Handle;
3357   uint16_t End_Handle;
3358   uint8_t UUID_Type;
3359   UUID_t UUID;
3360 } aci_att_read_by_type_req_cp0;
3361 
3362 typedef __PACKED_STRUCT
3363 {
3364   uint8_t Status;
3365 } aci_att_read_by_type_req_rp0;
3366 
3367 typedef __PACKED_STRUCT
3368 {
3369   uint16_t Connection_Handle;
3370   uint16_t Start_Handle;
3371   uint16_t End_Handle;
3372   uint8_t UUID_Type;
3373   UUID_t UUID;
3374 } aci_att_read_by_group_type_req_cp0;
3375 
3376 typedef __PACKED_STRUCT
3377 {
3378   uint8_t Status;
3379 } aci_att_read_by_group_type_req_rp0;
3380 
3381 typedef __PACKED_STRUCT
3382 {
3383   uint16_t Connection_Handle;
3384   uint16_t Attr_Handle;
3385   uint16_t Val_Offset;
3386   uint8_t Attribute_Val_Length;
3387   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7];
3388 } aci_att_prepare_write_req_cp0;
3389 
3390 typedef __PACKED_STRUCT
3391 {
3392   uint8_t Status;
3393 } aci_att_prepare_write_req_rp0;
3394 
3395 typedef __PACKED_STRUCT
3396 {
3397   uint16_t Connection_Handle;
3398   uint8_t Execute;
3399 } aci_att_execute_write_req_cp0;
3400 
3401 typedef __PACKED_STRUCT
3402 {
3403   uint8_t Status;
3404 } aci_att_execute_write_req_rp0;
3405 
3406 typedef __PACKED_STRUCT
3407 {
3408   uint16_t Connection_Handle;
3409 } aci_gatt_disc_all_primary_services_cp0;
3410 
3411 typedef __PACKED_STRUCT
3412 {
3413   uint8_t Status;
3414 } aci_gatt_disc_all_primary_services_rp0;
3415 
3416 typedef __PACKED_STRUCT
3417 {
3418   uint16_t Connection_Handle;
3419   uint8_t UUID_Type;
3420   UUID_t UUID;
3421 } aci_gatt_disc_primary_service_by_uuid_cp0;
3422 
3423 typedef __PACKED_STRUCT
3424 {
3425   uint8_t Status;
3426 } aci_gatt_disc_primary_service_by_uuid_rp0;
3427 
3428 typedef __PACKED_STRUCT
3429 {
3430   uint16_t Connection_Handle;
3431   uint16_t Start_Handle;
3432   uint16_t End_Handle;
3433 } aci_gatt_find_included_services_cp0;
3434 
3435 typedef __PACKED_STRUCT
3436 {
3437   uint8_t Status;
3438 } aci_gatt_find_included_services_rp0;
3439 
3440 typedef __PACKED_STRUCT
3441 {
3442   uint16_t Connection_Handle;
3443   uint16_t Start_Handle;
3444   uint16_t End_Handle;
3445 } aci_gatt_disc_all_char_of_service_cp0;
3446 
3447 typedef __PACKED_STRUCT
3448 {
3449   uint8_t Status;
3450 } aci_gatt_disc_all_char_of_service_rp0;
3451 
3452 typedef __PACKED_STRUCT
3453 {
3454   uint16_t Connection_Handle;
3455   uint16_t Start_Handle;
3456   uint16_t End_Handle;
3457   uint8_t UUID_Type;
3458   UUID_t UUID;
3459 } aci_gatt_disc_char_by_uuid_cp0;
3460 
3461 typedef __PACKED_STRUCT
3462 {
3463   uint8_t Status;
3464 } aci_gatt_disc_char_by_uuid_rp0;
3465 
3466 typedef __PACKED_STRUCT
3467 {
3468   uint16_t Connection_Handle;
3469   uint16_t Char_Handle;
3470   uint16_t End_Handle;
3471 } aci_gatt_disc_all_char_desc_cp0;
3472 
3473 typedef __PACKED_STRUCT
3474 {
3475   uint8_t Status;
3476 } aci_gatt_disc_all_char_desc_rp0;
3477 
3478 typedef __PACKED_STRUCT
3479 {
3480   uint16_t Connection_Handle;
3481   uint16_t Attr_Handle;
3482 } aci_gatt_read_char_value_cp0;
3483 
3484 typedef __PACKED_STRUCT
3485 {
3486   uint8_t Status;
3487 } aci_gatt_read_char_value_rp0;
3488 
3489 typedef __PACKED_STRUCT
3490 {
3491   uint16_t Connection_Handle;
3492   uint16_t Start_Handle;
3493   uint16_t End_Handle;
3494   uint8_t UUID_Type;
3495   UUID_t UUID;
3496 } aci_gatt_read_using_char_uuid_cp0;
3497 
3498 typedef __PACKED_STRUCT
3499 {
3500   uint8_t Status;
3501 } aci_gatt_read_using_char_uuid_rp0;
3502 
3503 typedef __PACKED_STRUCT
3504 {
3505   uint16_t Connection_Handle;
3506   uint16_t Attr_Handle;
3507   uint16_t Val_Offset;
3508 } aci_gatt_read_long_char_value_cp0;
3509 
3510 typedef __PACKED_STRUCT
3511 {
3512   uint8_t Status;
3513 } aci_gatt_read_long_char_value_rp0;
3514 
3515 typedef __PACKED_STRUCT
3516 {
3517   uint16_t Connection_Handle;
3518   uint8_t Number_of_Handles;
3519   Handle_Entry_t Handle_Entry[(BLE_CMD_MAX_PARAM_LEN - 3)/sizeof(Handle_Entry_t)];
3520 } aci_gatt_read_multiple_char_value_cp0;
3521 
3522 typedef __PACKED_STRUCT
3523 {
3524   uint8_t Status;
3525 } aci_gatt_read_multiple_char_value_rp0;
3526 
3527 typedef __PACKED_STRUCT
3528 {
3529   uint16_t Connection_Handle;
3530   uint16_t Attr_Handle;
3531   uint8_t Attribute_Val_Length;
3532   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5];
3533 } aci_gatt_write_char_value_cp0;
3534 
3535 typedef __PACKED_STRUCT
3536 {
3537   uint8_t Status;
3538 } aci_gatt_write_char_value_rp0;
3539 
3540 typedef __PACKED_STRUCT
3541 {
3542   uint16_t Connection_Handle;
3543   uint16_t Attr_Handle;
3544   uint16_t Val_Offset;
3545   uint8_t Attribute_Val_Length;
3546   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7];
3547 } aci_gatt_write_long_char_value_cp0;
3548 
3549 typedef __PACKED_STRUCT
3550 {
3551   uint8_t Status;
3552 } aci_gatt_write_long_char_value_rp0;
3553 
3554 typedef __PACKED_STRUCT
3555 {
3556   uint16_t Connection_Handle;
3557   uint16_t Attr_Handle;
3558   uint16_t Val_Offset;
3559   uint8_t Attribute_Val_Length;
3560   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7];
3561 } aci_gatt_write_char_reliable_cp0;
3562 
3563 typedef __PACKED_STRUCT
3564 {
3565   uint8_t Status;
3566 } aci_gatt_write_char_reliable_rp0;
3567 
3568 typedef __PACKED_STRUCT
3569 {
3570   uint16_t Connection_Handle;
3571   uint16_t Attr_Handle;
3572   uint16_t Val_Offset;
3573   uint8_t Attribute_Val_Length;
3574   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7];
3575 } aci_gatt_write_long_char_desc_cp0;
3576 
3577 typedef __PACKED_STRUCT
3578 {
3579   uint8_t Status;
3580 } aci_gatt_write_long_char_desc_rp0;
3581 
3582 typedef __PACKED_STRUCT
3583 {
3584   uint16_t Connection_Handle;
3585   uint16_t Attr_Handle;
3586   uint16_t Val_Offset;
3587 } aci_gatt_read_long_char_desc_cp0;
3588 
3589 typedef __PACKED_STRUCT
3590 {
3591   uint8_t Status;
3592 } aci_gatt_read_long_char_desc_rp0;
3593 
3594 typedef __PACKED_STRUCT
3595 {
3596   uint16_t Connection_Handle;
3597   uint16_t Attr_Handle;
3598   uint8_t Attribute_Val_Length;
3599   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5];
3600 } aci_gatt_write_char_desc_cp0;
3601 
3602 typedef __PACKED_STRUCT
3603 {
3604   uint8_t Status;
3605 } aci_gatt_write_char_desc_rp0;
3606 
3607 typedef __PACKED_STRUCT
3608 {
3609   uint16_t Connection_Handle;
3610   uint16_t Attr_Handle;
3611 } aci_gatt_read_char_desc_cp0;
3612 
3613 typedef __PACKED_STRUCT
3614 {
3615   uint8_t Status;
3616 } aci_gatt_read_char_desc_rp0;
3617 
3618 typedef __PACKED_STRUCT
3619 {
3620   uint16_t Connection_Handle;
3621   uint16_t Attr_Handle;
3622   uint8_t Attribute_Val_Length;
3623   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5];
3624 } aci_gatt_write_without_resp_cp0;
3625 
3626 typedef __PACKED_STRUCT
3627 {
3628   uint8_t Status;
3629 } aci_gatt_write_without_resp_rp0;
3630 
3631 typedef __PACKED_STRUCT
3632 {
3633   uint16_t Connection_Handle;
3634   uint16_t Attr_Handle;
3635   uint8_t Attribute_Val_Length;
3636   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 5];
3637 } aci_gatt_signed_write_without_resp_cp0;
3638 
3639 typedef __PACKED_STRUCT
3640 {
3641   uint8_t Status;
3642 } aci_gatt_signed_write_without_resp_rp0;
3643 
3644 typedef __PACKED_STRUCT
3645 {
3646   uint16_t Connection_Handle;
3647 } aci_gatt_confirm_indication_cp0;
3648 
3649 typedef __PACKED_STRUCT
3650 {
3651   uint8_t Status;
3652 } aci_gatt_confirm_indication_rp0;
3653 
3654 typedef __PACKED_STRUCT
3655 {
3656   uint16_t Connection_Handle;
3657   uint16_t Attr_Handle;
3658   uint8_t Write_status;
3659   uint8_t Error_Code;
3660   uint8_t Attribute_Val_Length;
3661   uint8_t Attribute_Val[BLE_CMD_MAX_PARAM_LEN - 7];
3662 } aci_gatt_write_resp_cp0;
3663 
3664 typedef __PACKED_STRUCT
3665 {
3666   uint8_t Status;
3667 } aci_gatt_write_resp_rp0;
3668 
3669 typedef __PACKED_STRUCT
3670 {
3671   uint16_t Connection_Handle;
3672 } aci_gatt_allow_read_cp0;
3673 
3674 typedef __PACKED_STRUCT
3675 {
3676   uint8_t Status;
3677 } aci_gatt_allow_read_rp0;
3678 
3679 typedef __PACKED_STRUCT
3680 {
3681   uint16_t Serv_Handle;
3682   uint16_t Attr_Handle;
3683   uint8_t Security_Permissions;
3684 } aci_gatt_set_security_permission_cp0;
3685 
3686 typedef __PACKED_STRUCT
3687 {
3688   uint8_t Status;
3689 } aci_gatt_set_security_permission_rp0;
3690 
3691 typedef __PACKED_STRUCT
3692 {
3693   uint16_t Serv_Handle;
3694   uint16_t Char_Handle;
3695   uint16_t Char_Desc_Handle;
3696   uint16_t Val_Offset;
3697   uint8_t Char_Desc_Value_Length;
3698   uint8_t Char_Desc_Value[BLE_CMD_MAX_PARAM_LEN - 9];
3699 } aci_gatt_set_desc_value_cp0;
3700 
3701 typedef __PACKED_STRUCT
3702 {
3703   uint8_t Status;
3704 } aci_gatt_set_desc_value_rp0;
3705 
3706 typedef __PACKED_STRUCT
3707 {
3708   uint16_t Attr_Handle;
3709   uint16_t Offset;
3710   uint16_t Value_Length_Requested;
3711 } aci_gatt_read_handle_value_cp0;
3712 
3713 typedef __PACKED_STRUCT
3714 {
3715   uint8_t Status;
3716   uint16_t Length;
3717   uint16_t Value_Length;
3718   uint8_t Value[(BLE_EVT_MAX_PARAM_LEN - 3) - 5];
3719 } aci_gatt_read_handle_value_rp0;
3720 
3721 typedef __PACKED_STRUCT
3722 {
3723   uint16_t Conn_Handle_To_Notify;
3724   uint16_t Service_Handle;
3725   uint16_t Char_Handle;
3726   uint8_t Update_Type;
3727   uint16_t Char_Length;
3728   uint16_t Value_Offset;
3729   uint8_t Value_Length;
3730   uint8_t Value[BLE_CMD_MAX_PARAM_LEN - 12];
3731 } aci_gatt_update_char_value_ext_cp0;
3732 
3733 typedef __PACKED_STRUCT
3734 {
3735   uint8_t Status;
3736 } aci_gatt_update_char_value_ext_rp0;
3737 
3738 typedef __PACKED_STRUCT
3739 {
3740   uint16_t Connection_Handle;
3741   uint8_t Error_Code;
3742 } aci_gatt_deny_read_cp0;
3743 
3744 typedef __PACKED_STRUCT
3745 {
3746   uint8_t Status;
3747 } aci_gatt_deny_read_rp0;
3748 
3749 typedef __PACKED_STRUCT
3750 {
3751   uint16_t Serv_Handle;
3752   uint16_t Attr_Handle;
3753   uint8_t Access_Permissions;
3754 } aci_gatt_set_access_permission_cp0;
3755 
3756 typedef __PACKED_STRUCT
3757 {
3758   uint8_t Status;
3759 } aci_gatt_set_access_permission_rp0;
3760 
3761 typedef __PACKED_STRUCT
3762 {
3763   uint8_t Status;
3764 } aci_gatt_store_db_rp0;
3765 
3766 typedef __PACKED_STRUCT
3767 {
3768   uint16_t Connection_Handle;
3769   uint8_t Number_of_Handles;
3770   Handle_Entry_t Handle_Entry[(BLE_CMD_MAX_PARAM_LEN - 3)/sizeof(Handle_Entry_t)];
3771 } aci_gatt_send_mult_notification_cp0;
3772 
3773 typedef __PACKED_STRUCT
3774 {
3775   uint8_t Status;
3776 } aci_gatt_send_mult_notification_rp0;
3777 
3778 typedef __PACKED_STRUCT
3779 {
3780   uint16_t Connection_Handle;
3781   uint8_t Number_of_Handles;
3782   Handle_Entry_t Handle_Entry[(BLE_CMD_MAX_PARAM_LEN - 3)/sizeof(Handle_Entry_t)];
3783 } aci_gatt_read_multiple_var_char_value_cp0;
3784 
3785 typedef __PACKED_STRUCT
3786 {
3787   uint8_t Status;
3788 } aci_gatt_read_multiple_var_char_value_rp0;
3789 
3790 typedef __PACKED_STRUCT
3791 {
3792   uint16_t Connection_Handle;
3793   uint16_t Conn_Interval_Min;
3794   uint16_t Conn_Interval_Max;
3795   uint16_t Latency;
3796   uint16_t Timeout_Multiplier;
3797 } aci_l2cap_connection_parameter_update_req_cp0;
3798 
3799 typedef __PACKED_STRUCT
3800 {
3801   uint8_t Status;
3802 } aci_l2cap_connection_parameter_update_req_rp0;
3803 
3804 typedef __PACKED_STRUCT
3805 {
3806   uint16_t Connection_Handle;
3807   uint16_t Conn_Interval_Min;
3808   uint16_t Conn_Interval_Max;
3809   uint16_t Latency;
3810   uint16_t Timeout_Multiplier;
3811   uint16_t Minimum_CE_Length;
3812   uint16_t Maximum_CE_Length;
3813   uint8_t Identifier;
3814   uint8_t Accept;
3815 } aci_l2cap_connection_parameter_update_resp_cp0;
3816 
3817 typedef __PACKED_STRUCT
3818 {
3819   uint8_t Status;
3820 } aci_l2cap_connection_parameter_update_resp_rp0;
3821 
3822 typedef __PACKED_STRUCT
3823 {
3824   uint16_t Connection_Handle;
3825   uint16_t SPSM;
3826   uint16_t MTU;
3827   uint16_t MPS;
3828   uint16_t Initial_Credits;
3829   uint8_t Channel_Number;
3830 } aci_l2cap_coc_connect_cp0;
3831 
3832 typedef __PACKED_STRUCT
3833 {
3834   uint8_t Status;
3835 } aci_l2cap_coc_connect_rp0;
3836 
3837 typedef __PACKED_STRUCT
3838 {
3839   uint16_t Connection_Handle;
3840   uint16_t MTU;
3841   uint16_t MPS;
3842   uint16_t Initial_Credits;
3843   uint16_t Result;
3844 } aci_l2cap_coc_connect_confirm_cp0;
3845 
3846 typedef __PACKED_STRUCT
3847 {
3848   uint8_t Status;
3849   uint8_t Channel_Number;
3850   uint8_t Channel_Index_List[(BLE_EVT_MAX_PARAM_LEN - 3) - 2];
3851 } aci_l2cap_coc_connect_confirm_rp0;
3852 
3853 typedef __PACKED_STRUCT
3854 {
3855   uint16_t Connection_Handle;
3856   uint16_t MTU;
3857   uint16_t MPS;
3858   uint8_t Channel_Number;
3859   uint8_t Channel_Index_List[BLE_CMD_MAX_PARAM_LEN - 7];
3860 } aci_l2cap_coc_reconf_cp0;
3861 
3862 typedef __PACKED_STRUCT
3863 {
3864   uint8_t Status;
3865 } aci_l2cap_coc_reconf_rp0;
3866 
3867 typedef __PACKED_STRUCT
3868 {
3869   uint16_t Connection_Handle;
3870   uint16_t Result;
3871 } aci_l2cap_coc_reconf_confirm_cp0;
3872 
3873 typedef __PACKED_STRUCT
3874 {
3875   uint8_t Status;
3876 } aci_l2cap_coc_reconf_confirm_rp0;
3877 
3878 typedef __PACKED_STRUCT
3879 {
3880   uint8_t Channel_Index;
3881 } aci_l2cap_coc_disconnect_cp0;
3882 
3883 typedef __PACKED_STRUCT
3884 {
3885   uint8_t Status;
3886 } aci_l2cap_coc_disconnect_rp0;
3887 
3888 typedef __PACKED_STRUCT
3889 {
3890   uint8_t Channel_Index;
3891   uint16_t Credits;
3892 } aci_l2cap_coc_flow_control_cp0;
3893 
3894 typedef __PACKED_STRUCT
3895 {
3896   uint8_t Status;
3897 } aci_l2cap_coc_flow_control_rp0;
3898 
3899 typedef __PACKED_STRUCT
3900 {
3901   uint8_t Channel_Index;
3902   uint16_t Length;
3903   uint8_t Data[BLE_CMD_MAX_PARAM_LEN - 3];
3904 } aci_l2cap_coc_tx_data_cp0;
3905 
3906 typedef __PACKED_STRUCT
3907 {
3908   uint8_t Status;
3909 } aci_l2cap_coc_tx_data_rp0;
3910 
3911 typedef __PACKED_STRUCT
3912 {
3913   uint8_t Status;
3914   uint16_t Connection_Handle;
3915   uint8_t Reason;
3916 } hci_disconnection_complete_event_rp0;
3917 
3918 typedef __PACKED_STRUCT
3919 {
3920   uint8_t Status;
3921   uint16_t Connection_Handle;
3922   uint8_t Encryption_Enabled;
3923 } hci_encryption_change_event_rp0;
3924 
3925 typedef __PACKED_STRUCT
3926 {
3927   uint8_t Status;
3928   uint16_t Connection_Handle;
3929   uint8_t Version;
3930   uint16_t Manufacturer_Name;
3931   uint16_t Subversion;
3932 } hci_read_remote_version_information_complete_event_rp0;
3933 
3934 typedef __PACKED_STRUCT
3935 {
3936   uint8_t Hardware_Code;
3937 } hci_hardware_error_event_rp0;
3938 
3939 typedef __PACKED_STRUCT
3940 {
3941   uint8_t Number_of_Handles;
3942   Handle_Packets_Pair_Entry_t Handle_Packets_Pair_Entry[(BLE_EVT_MAX_PARAM_LEN - 1)/sizeof(Handle_Packets_Pair_Entry_t)];
3943 } hci_number_of_completed_packets_event_rp0;
3944 
3945 typedef __PACKED_STRUCT
3946 {
3947   uint8_t Link_Type;
3948 } hci_data_buffer_overflow_event_rp0;
3949 
3950 typedef __PACKED_STRUCT
3951 {
3952   uint8_t Status;
3953   uint16_t Connection_Handle;
3954 } hci_encryption_key_refresh_complete_event_rp0;
3955 
3956 typedef __PACKED_STRUCT
3957 {
3958   uint16_t Connection_Handle;
3959 } hci_authenticated_payload_timeout_expired_event_rp0;
3960 
3961 typedef __PACKED_STRUCT
3962 {
3963   uint8_t Status;
3964   uint16_t Connection_Handle;
3965   uint8_t Role;
3966   uint8_t Peer_Address_Type;
3967   uint8_t Peer_Address[6];
3968   uint16_t Conn_Interval;
3969   uint16_t Conn_Latency;
3970   uint16_t Supervision_Timeout;
3971   uint8_t Central_Clock_Accuracy;
3972 } hci_le_connection_complete_event_rp0;
3973 
3974 typedef __PACKED_STRUCT
3975 {
3976   uint8_t Num_Reports;
3977   Advertising_Report_t Advertising_Report[((BLE_EVT_MAX_PARAM_LEN - 1) - 1)/sizeof(Advertising_Report_t)];
3978 } hci_le_advertising_report_event_rp0;
3979 
3980 typedef __PACKED_STRUCT
3981 {
3982   uint8_t Status;
3983   uint16_t Connection_Handle;
3984   uint16_t Conn_Interval;
3985   uint16_t Conn_Latency;
3986   uint16_t Supervision_Timeout;
3987 } hci_le_connection_update_complete_event_rp0;
3988 
3989 typedef __PACKED_STRUCT
3990 {
3991   uint8_t Status;
3992   uint16_t Connection_Handle;
3993   uint8_t LE_Features[8];
3994 } hci_le_read_remote_features_complete_event_rp0;
3995 
3996 typedef __PACKED_STRUCT
3997 {
3998   uint16_t Connection_Handle;
3999   uint8_t Random_Number[8];
4000   uint16_t Encrypted_Diversifier;
4001 } hci_le_long_term_key_request_event_rp0;
4002 
4003 typedef __PACKED_STRUCT
4004 {
4005   uint16_t Connection_Handle;
4006   uint16_t Interval_Min;
4007   uint16_t Interval_Max;
4008   uint16_t Max_Latency;
4009   uint16_t Timeout;
4010 } hci_le_remote_connection_parameter_request_event_rp0;
4011 
4012 typedef __PACKED_STRUCT
4013 {
4014   uint16_t Connection_Handle;
4015   uint16_t MaxTxOctets;
4016   uint16_t MaxTxTime;
4017   uint16_t MaxRxOctets;
4018   uint16_t MaxRxTime;
4019 } hci_le_data_length_change_event_rp0;
4020 
4021 typedef __PACKED_STRUCT
4022 {
4023   uint8_t Status;
4024   uint8_t Local_P256_Public_Key[64];
4025 } hci_le_read_local_p256_public_key_complete_event_rp0;
4026 
4027 typedef __PACKED_STRUCT
4028 {
4029   uint8_t Status;
4030   uint8_t DHKey[32];
4031 } hci_le_generate_dhkey_complete_event_rp0;
4032 
4033 typedef __PACKED_STRUCT
4034 {
4035   uint8_t Status;
4036   uint16_t Connection_Handle;
4037   uint8_t Role;
4038   uint8_t Peer_Address_Type;
4039   uint8_t Peer_Address[6];
4040   uint8_t Local_Resolvable_Private_Address[6];
4041   uint8_t Peer_Resolvable_Private_Address[6];
4042   uint16_t Conn_Interval;
4043   uint16_t Conn_Latency;
4044   uint16_t Supervision_Timeout;
4045   uint8_t Central_Clock_Accuracy;
4046 } hci_le_enhanced_connection_complete_event_rp0;
4047 
4048 typedef __PACKED_STRUCT
4049 {
4050   uint8_t Num_Reports;
4051   Direct_Advertising_Report_t Direct_Advertising_Report[((BLE_EVT_MAX_PARAM_LEN - 1) - 1)/sizeof(Direct_Advertising_Report_t)];
4052 } hci_le_directed_advertising_report_event_rp0;
4053 
4054 typedef __PACKED_STRUCT
4055 {
4056   uint8_t Status;
4057   uint16_t Connection_Handle;
4058   uint8_t TX_PHY;
4059   uint8_t RX_PHY;
4060 } hci_le_phy_update_complete_event_rp0;
4061 
4062 typedef __PACKED_STRUCT
4063 {
4064   uint8_t Num_Reports;
4065   uint16_t Event_Type;
4066   uint8_t Address_Type;
4067   uint8_t Address[6];
4068   uint8_t Primary_PHY;
4069   uint8_t Secondary_PHY;
4070   uint8_t Advertising_SID;
4071   uint8_t TX_Power;
4072   uint8_t RSSI;
4073   uint16_t Periodic_Adv_Interval;
4074   uint8_t Direct_Address_Type;
4075   uint8_t Direct_Address[6];
4076   uint8_t Data_Length;
4077   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 1) - 25];
4078 } hci_le_extended_advertising_report_event_rp0;
4079 
4080 typedef __PACKED_STRUCT
4081 {
4082   uint8_t Status;
4083   uint16_t Sync_Handle;
4084   uint8_t Advertising_SID;
4085   uint8_t Advertiser_Address_Type;
4086   uint8_t Advertiser_Address[6];
4087   uint8_t Advertiser_PHY;
4088   uint16_t Periodic_Advertising_Interval;
4089   uint8_t Advertiser_Clock_Accuracy;
4090 } hci_le_periodic_advertising_sync_established_event_rp0;
4091 
4092 typedef __PACKED_STRUCT
4093 {
4094   uint16_t Sync_Handle;
4095   uint8_t TX_Power;
4096   uint8_t RSSI;
4097   uint8_t CTE_Type;
4098   uint8_t Data_Status;
4099   uint8_t Data_Length;
4100   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 1) - 7];
4101 } hci_le_periodic_advertising_report_event_rp0;
4102 
4103 typedef __PACKED_STRUCT
4104 {
4105   uint16_t Sync_Handle;
4106 } hci_le_periodic_advertising_sync_lost_event_rp0;
4107 
4108 typedef __PACKED_STRUCT
4109 {
4110   uint8_t Status;
4111   uint8_t Advertising_Handle;
4112   uint16_t Connection_Handle;
4113   uint8_t Num_Completed_Ext_Adv_Events;
4114 } hci_le_advertising_set_terminated_event_rp0;
4115 
4116 typedef __PACKED_STRUCT
4117 {
4118   uint8_t Advertising_Handle;
4119   uint8_t Scanner_Address_Type;
4120   uint8_t Scanner_Address[6];
4121 } hci_le_scan_request_received_event_rp0;
4122 
4123 typedef __PACKED_STRUCT
4124 {
4125   uint16_t Connection_Handle;
4126   uint8_t Channel_Selection_Algorithm;
4127 } hci_le_channel_selection_algorithm_event_rp0;
4128 
4129 typedef __PACKED_STRUCT
4130 {
4131   uint16_t Sync_Handle;
4132   uint8_t Channel_Index;
4133   uint16_t RSSI;
4134   uint8_t RSSI_Antenna_ID;
4135   uint8_t CTE_Type;
4136   uint8_t Slot_Durations;
4137   uint8_t Packet_Status;
4138   uint16_t Periodic_Event_Counter;
4139   uint8_t Sample_Count;
4140   IQ_Sample_t IQ_Sample[((BLE_EVT_MAX_PARAM_LEN - 1) - 12)/sizeof(IQ_Sample_t)];
4141 } hci_le_connectionless_iq_report_event_rp0;
4142 
4143 typedef __PACKED_STRUCT
4144 {
4145   uint16_t Connection_Handle;
4146   uint8_t RX_PHY;
4147   uint8_t Data_Channel_Index;
4148   uint16_t RSSI;
4149   uint8_t RSSI_Antenna_ID;
4150   uint8_t CTE_Type;
4151   uint8_t Slot_Durations;
4152   uint8_t Packet_Status;
4153   uint16_t Connection_Event_Counter;
4154   uint8_t Sample_Count;
4155   IQ_Sample_t IQ_Sample[((BLE_EVT_MAX_PARAM_LEN - 1) - 13)/sizeof(IQ_Sample_t)];
4156 } hci_le_connection_iq_report_event_rp0;
4157 
4158 typedef __PACKED_STRUCT
4159 {
4160   uint8_t Status;
4161   uint16_t Connection_Handle;
4162 } hci_le_cte_request_failed_event_rp0;
4163 
4164 typedef __PACKED_STRUCT
4165 {
4166   uint8_t Status;
4167   uint16_t Connection_Handle;
4168   uint16_t Service_Data;
4169   uint16_t Sync_Handle;
4170   uint8_t Advertising_SID;
4171   uint8_t Advertiser_Address_Type;
4172   uint8_t Advertiser_Address[6];
4173   uint8_t Advertiser_PHY;
4174   uint16_t Periodic_Advertising_Interval;
4175   uint8_t Advertiser_Clock_Accuracy;
4176 } hci_le_periodic_advertising_sync_transfer_received_event_rp0;
4177 
4178 typedef __PACKED_STRUCT
4179 {
4180   uint8_t Status;
4181   uint16_t Connection_Handle;
4182   uint8_t CIG_Sync_Delay[3];
4183   uint8_t CIS_Sync_Delay[3];
4184   uint8_t Transport_Latency_C_To_P[3];
4185   uint8_t Transport_Latency_P_To_C[3];
4186   uint8_t PHY_C_To_P;
4187   uint8_t PHY_P_To_C;
4188   uint8_t NSE;
4189   uint8_t BN_C_To_P;
4190   uint8_t BN_P_To_C;
4191   uint8_t FT_C_To_P;
4192   uint8_t FT_P_To_C;
4193   uint16_t Max_PDU_C_To_P;
4194   uint16_t Max_PDU_P_To_C;
4195   uint16_t ISO_Interval;
4196 } hci_le_cis_established_event_rp0;
4197 
4198 typedef __PACKED_STRUCT
4199 {
4200   uint16_t ACL_Connection_Handle;
4201   uint16_t CIS_Connection_Handle;
4202   uint8_t CIG_ID;
4203   uint8_t CIS_ID;
4204 } hci_le_cis_request_event_rp0;
4205 
4206 typedef __PACKED_STRUCT
4207 {
4208   uint8_t Status;
4209   uint8_t BIG_Handle;
4210   uint8_t BIG_Sync_Delay[3];
4211   uint8_t Transport_Latency_BIG[3];
4212   uint8_t PHY;
4213   uint8_t NSE;
4214   uint8_t BN;
4215   uint8_t PTO;
4216   uint8_t IRC;
4217   uint16_t Max_PDU;
4218   uint16_t ISO_Interval;
4219   uint8_t Num_BIS;
4220   Connection_Handle_t Connection_Handle[((BLE_EVT_MAX_PARAM_LEN - 1) - 18)/sizeof(Connection_Handle_t)];
4221 } hci_le_create_big_complete_event_rp0;
4222 
4223 typedef __PACKED_STRUCT
4224 {
4225   uint8_t BIG_Handle;
4226   uint8_t Reason;
4227 } hci_le_terminate_big_complete_event_rp0;
4228 
4229 typedef __PACKED_STRUCT
4230 {
4231   uint8_t Status;
4232   uint8_t BIG_Handle;
4233   uint8_t Transport_Latency_BIG[3];
4234   uint8_t NSE;
4235   uint8_t BN;
4236   uint8_t PTO;
4237   uint8_t IRC;
4238   uint16_t Max_PDU;
4239   uint16_t ISO_Interval;
4240   uint8_t Num_BIS;
4241   Connection_Handle_t Connection_Handle[((BLE_EVT_MAX_PARAM_LEN - 1) - 14)/sizeof(Connection_Handle_t)];
4242 } hci_le_big_sync_established_event_rp0;
4243 
4244 typedef __PACKED_STRUCT
4245 {
4246   uint8_t BIG_Handle;
4247   uint8_t Reason;
4248 } hci_le_big_sync_lost_event_rp0;
4249 
4250 typedef __PACKED_STRUCT
4251 {
4252   uint8_t Status;
4253   uint16_t Connection_Handle;
4254   uint8_t Peer_Clock_Accuracy;
4255 } hci_le_request_peer_sca_complete_event_rp0;
4256 
4257 typedef __PACKED_STRUCT
4258 {
4259   uint16_t Connection_Handle;
4260   uint8_t Current_Path_Loss;
4261   uint8_t Zone_Entered;
4262 } hci_le_path_loss_threshold_event_rp0;
4263 
4264 typedef __PACKED_STRUCT
4265 {
4266   uint8_t Status;
4267   uint16_t Connection_Handle;
4268   uint8_t Reason;
4269   uint8_t PHY;
4270   uint8_t TX_Power_Level;
4271   uint8_t TX_Power_Level_Flag;
4272   uint8_t Delta;
4273 } hci_le_transmit_power_reporting_event_rp0;
4274 
4275 typedef __PACKED_STRUCT
4276 {
4277   uint16_t Sync_Handle;
4278   uint8_t Num_BIS;
4279   uint8_t NSE;
4280   uint16_t ISO_Interval;
4281   uint8_t BN;
4282   uint8_t PTO;
4283   uint8_t IRC;
4284   uint16_t Max_PDU;
4285   uint8_t SDU_Interval[3];
4286   uint16_t Max_SDU;
4287   uint8_t PHY;
4288   uint8_t Framing;
4289   uint8_t Encryption;
4290 } hci_le_biginfo_advertising_report_event_rp0;
4291 
4292 typedef __PACKED_STRUCT
4293 {
4294   uint8_t Last_State;
4295   uint8_t Next_State;
4296   uint32_t Next_State_SysTime;
4297   uint8_t Last_State_Slot;
4298   uint8_t Next_State_Slot;
4299 } aci_hal_end_of_radio_activity_event_rp0;
4300 
4301 typedef __PACKED_STRUCT
4302 {
4303   uint8_t RSSI;
4304   uint8_t Peer_Address_Type;
4305   uint8_t Peer_Address[6];
4306 } aci_hal_scan_req_report_event_rp0;
4307 
4308 typedef __PACKED_STRUCT
4309 {
4310   uint8_t FW_Error_Type;
4311   uint8_t Data_Length;
4312   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 2];
4313 } aci_hal_fw_error_event_rp0;
4314 
4315 typedef __PACKED_STRUCT
4316 {
4317   uint8_t Group_Id;
4318   uint32_t Next_Anchor_Point;
4319   uint32_t Time_Stamp;
4320   uint32_t Next_Sdu_Delivery_Timeout;
4321 } aci_hal_sync_event_rp0;
4322 
4323 typedef __PACKED_STRUCT
4324 {
4325   uint16_t Connection_Handle;
4326   uint8_t Status;
4327   uint8_t Reason;
4328 } aci_gap_pairing_complete_event_rp0;
4329 
4330 typedef __PACKED_STRUCT
4331 {
4332   uint16_t Connection_Handle;
4333 } aci_gap_pass_key_req_event_rp0;
4334 
4335 typedef __PACKED_STRUCT
4336 {
4337   uint16_t Connection_Handle;
4338 } aci_gap_authorization_req_event_rp0;
4339 
4340 typedef __PACKED_STRUCT
4341 {
4342   uint8_t Procedure_Code;
4343   uint8_t Status;
4344   uint8_t Data_Length;
4345   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 3];
4346 } aci_gap_proc_complete_event_rp0;
4347 
4348 typedef __PACKED_STRUCT
4349 {
4350   uint16_t Connection_Handle;
4351 } aci_gap_addr_not_resolved_event_rp0;
4352 
4353 typedef __PACKED_STRUCT
4354 {
4355   uint16_t Connection_Handle;
4356   uint32_t Numeric_Value;
4357 } aci_gap_numeric_comparison_value_event_rp0;
4358 
4359 typedef __PACKED_STRUCT
4360 {
4361   uint16_t Connection_Handle;
4362   uint8_t Notification_Type;
4363 } aci_gap_keypress_notification_event_rp0;
4364 
4365 typedef __PACKED_STRUCT
4366 {
4367   uint16_t Connection_Handle;
4368   uint16_t Result;
4369 } aci_l2cap_connection_update_resp_event_rp0;
4370 
4371 typedef __PACKED_STRUCT
4372 {
4373   uint16_t Connection_Handle;
4374   uint8_t Data_Length;
4375   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 3];
4376 } aci_l2cap_proc_timeout_event_rp0;
4377 
4378 typedef __PACKED_STRUCT
4379 {
4380   uint16_t Connection_Handle;
4381   uint8_t Identifier;
4382   uint16_t L2CAP_Length;
4383   uint16_t Interval_Min;
4384   uint16_t Interval_Max;
4385   uint16_t Latency;
4386   uint16_t Timeout_Multiplier;
4387 } aci_l2cap_connection_update_req_event_rp0;
4388 
4389 typedef __PACKED_STRUCT
4390 {
4391   uint16_t Connection_Handle;
4392   uint8_t Identifier;
4393   uint16_t Reason;
4394   uint8_t Data_Length;
4395   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 6];
4396 } aci_l2cap_command_reject_event_rp0;
4397 
4398 typedef __PACKED_STRUCT
4399 {
4400   uint16_t Connection_Handle;
4401   uint16_t SPSM;
4402   uint16_t MTU;
4403   uint16_t MPS;
4404   uint16_t Initial_Credits;
4405   uint8_t Channel_Number;
4406 } aci_l2cap_coc_connect_event_rp0;
4407 
4408 typedef __PACKED_STRUCT
4409 {
4410   uint16_t Connection_Handle;
4411   uint16_t MTU;
4412   uint16_t MPS;
4413   uint16_t Initial_Credits;
4414   uint16_t Result;
4415   uint8_t Channel_Number;
4416   uint8_t Channel_Index_List[(BLE_EVT_MAX_PARAM_LEN - 2) - 11];
4417 } aci_l2cap_coc_connect_confirm_event_rp0;
4418 
4419 typedef __PACKED_STRUCT
4420 {
4421   uint16_t Connection_Handle;
4422   uint16_t MTU;
4423   uint16_t MPS;
4424   uint8_t Channel_Number;
4425   uint8_t Channel_Index_List[(BLE_EVT_MAX_PARAM_LEN - 2) - 7];
4426 } aci_l2cap_coc_reconf_event_rp0;
4427 
4428 typedef __PACKED_STRUCT
4429 {
4430   uint16_t Connection_Handle;
4431   uint16_t Result;
4432 } aci_l2cap_coc_reconf_confirm_event_rp0;
4433 
4434 typedef __PACKED_STRUCT
4435 {
4436   uint8_t Channel_Index;
4437 } aci_l2cap_coc_disconnect_event_rp0;
4438 
4439 typedef __PACKED_STRUCT
4440 {
4441   uint8_t Channel_Index;
4442   uint16_t Credits;
4443 } aci_l2cap_coc_flow_control_event_rp0;
4444 
4445 typedef __PACKED_STRUCT
4446 {
4447   uint8_t Channel_Index;
4448   uint16_t Length;
4449   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 3];
4450 } aci_l2cap_coc_rx_data_event_rp0;
4451 
4452 typedef __PACKED_STRUCT
4453 {
4454   uint16_t Connection_Handle;
4455   uint16_t Attr_Handle;
4456   uint16_t Offset;
4457   uint16_t Attr_Data_Length;
4458   uint8_t Attr_Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 8];
4459 } aci_gatt_attribute_modified_event_rp0;
4460 
4461 typedef __PACKED_STRUCT
4462 {
4463   uint16_t Connection_Handle;
4464 } aci_gatt_proc_timeout_event_rp0;
4465 
4466 typedef __PACKED_STRUCT
4467 {
4468   uint16_t Connection_Handle;
4469   uint16_t Server_RX_MTU;
4470 } aci_att_exchange_mtu_resp_event_rp0;
4471 
4472 typedef __PACKED_STRUCT
4473 {
4474   uint16_t Connection_Handle;
4475   uint8_t Format;
4476   uint8_t Event_Data_Length;
4477   uint8_t Handle_UUID_Pair[(BLE_EVT_MAX_PARAM_LEN - 2) - 4];
4478 } aci_att_find_info_resp_event_rp0;
4479 
4480 typedef __PACKED_STRUCT
4481 {
4482   uint16_t Connection_Handle;
4483   uint8_t Num_of_Handle_Pair;
4484   Attribute_Group_Handle_Pair_t Attribute_Group_Handle_Pair[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(Attribute_Group_Handle_Pair_t)];
4485 } aci_att_find_by_type_value_resp_event_rp0;
4486 
4487 typedef __PACKED_STRUCT
4488 {
4489   uint16_t Connection_Handle;
4490   uint8_t Handle_Value_Pair_Length;
4491   uint8_t Data_Length;
4492   uint8_t Handle_Value_Pair_Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 4];
4493 } aci_att_read_by_type_resp_event_rp0;
4494 
4495 typedef __PACKED_STRUCT
4496 {
4497   uint16_t Connection_Handle;
4498   uint8_t Event_Data_Length;
4499   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 3];
4500 } aci_att_read_resp_event_rp0;
4501 
4502 typedef __PACKED_STRUCT
4503 {
4504   uint16_t Connection_Handle;
4505   uint8_t Event_Data_Length;
4506   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 3];
4507 } aci_att_read_blob_resp_event_rp0;
4508 
4509 typedef __PACKED_STRUCT
4510 {
4511   uint16_t Connection_Handle;
4512   uint8_t Event_Data_Length;
4513   uint8_t Set_Of_Values[(BLE_EVT_MAX_PARAM_LEN - 2) - 3];
4514 } aci_att_read_multiple_resp_event_rp0;
4515 
4516 typedef __PACKED_STRUCT
4517 {
4518   uint16_t Connection_Handle;
4519   uint8_t Attribute_Data_Length;
4520   uint8_t Data_Length;
4521   uint8_t Attribute_Data_List[(BLE_EVT_MAX_PARAM_LEN - 2) - 4];
4522 } aci_att_read_by_group_type_resp_event_rp0;
4523 
4524 typedef __PACKED_STRUCT
4525 {
4526   uint16_t Connection_Handle;
4527   uint16_t Attribute_Handle;
4528   uint16_t Offset;
4529   uint8_t Part_Attribute_Value_Length;
4530   uint8_t Part_Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 7];
4531 } aci_att_prepare_write_resp_event_rp0;
4532 
4533 typedef __PACKED_STRUCT
4534 {
4535   uint16_t Connection_Handle;
4536 } aci_att_exec_write_resp_event_rp0;
4537 
4538 typedef __PACKED_STRUCT
4539 {
4540   uint16_t Connection_Handle;
4541   uint16_t Attribute_Handle;
4542   uint8_t Attribute_Value_Length;
4543   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 5];
4544 } aci_gatt_indication_event_rp0;
4545 
4546 typedef __PACKED_STRUCT
4547 {
4548   uint16_t Connection_Handle;
4549   uint16_t Attribute_Handle;
4550   uint8_t Attribute_Value_Length;
4551   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 5];
4552 } aci_gatt_notification_event_rp0;
4553 
4554 typedef __PACKED_STRUCT
4555 {
4556   uint16_t Connection_Handle;
4557   uint8_t Error_Code;
4558 } aci_gatt_proc_complete_event_rp0;
4559 
4560 typedef __PACKED_STRUCT
4561 {
4562   uint16_t Connection_Handle;
4563   uint8_t Req_Opcode;
4564   uint16_t Attribute_Handle;
4565   uint8_t Error_Code;
4566 } aci_gatt_error_resp_event_rp0;
4567 
4568 typedef __PACKED_STRUCT
4569 {
4570   uint16_t Connection_Handle;
4571   uint16_t Attribute_Handle;
4572   uint8_t Attribute_Value_Length;
4573   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 5];
4574 } aci_gatt_disc_read_char_by_uuid_resp_event_rp0;
4575 
4576 typedef __PACKED_STRUCT
4577 {
4578   uint16_t Connection_Handle;
4579   uint16_t Attribute_Handle;
4580   uint8_t Data_Length;
4581   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 5];
4582 } aci_gatt_write_permit_req_event_rp0;
4583 
4584 typedef __PACKED_STRUCT
4585 {
4586   uint16_t Connection_Handle;
4587   uint16_t Attribute_Handle;
4588   uint16_t Offset;
4589 } aci_gatt_read_permit_req_event_rp0;
4590 
4591 typedef __PACKED_STRUCT
4592 {
4593   uint16_t Connection_Handle;
4594   uint8_t Number_of_Handles;
4595   Handle_Item_t Handle_Item[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(Handle_Item_t)];
4596 } aci_gatt_read_multi_permit_req_event_rp0;
4597 
4598 typedef __PACKED_STRUCT
4599 {
4600   uint16_t Connection_Handle;
4601   uint16_t Available_Buffers;
4602 } aci_gatt_tx_pool_available_event_rp0;
4603 
4604 typedef __PACKED_STRUCT
4605 {
4606   uint16_t Connection_Handle;
4607 } aci_gatt_server_confirmation_event_rp0;
4608 
4609 typedef __PACKED_STRUCT
4610 {
4611   uint16_t Connection_Handle;
4612   uint16_t Attribute_Handle;
4613   uint16_t Offset;
4614   uint8_t Data_Length;
4615   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 7];
4616 } aci_gatt_prepare_write_permit_req_event_rp0;
4617 
4618 typedef __PACKED_STRUCT
4619 {
4620   uint8_t Channel_Index;
4621   uint8_t EAB_State;
4622   uint8_t Status;
4623 } aci_gatt_eatt_bearer_event_rp0;
4624 
4625 typedef __PACKED_STRUCT
4626 {
4627   uint16_t Connection_Handle;
4628   uint16_t Offset;
4629   uint16_t Data_Length;
4630   uint8_t Data[(BLE_EVT_MAX_PARAM_LEN - 2) - 6];
4631 } aci_gatt_mult_notification_event_rp0;
4632 
4633 typedef __PACKED_STRUCT
4634 {
4635   uint16_t Attr_Handle;
4636 } aci_gatt_notification_complete_event_rp0;
4637 
4638 typedef __PACKED_STRUCT
4639 {
4640   uint16_t Connection_Handle;
4641   uint16_t Offset;
4642   uint16_t Event_Data_Length;
4643   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 6];
4644 } aci_gatt_read_ext_event_rp0;
4645 
4646 typedef __PACKED_STRUCT
4647 {
4648   uint16_t Connection_Handle;
4649   uint16_t Attribute_Handle;
4650   uint16_t Offset;
4651   uint16_t Attribute_Value_Length;
4652   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 8];
4653 } aci_gatt_indication_ext_event_rp0;
4654 
4655 typedef __PACKED_STRUCT
4656 {
4657   uint16_t Connection_Handle;
4658   uint16_t Attribute_Handle;
4659   uint16_t Offset;
4660   uint16_t Attribute_Value_Length;
4661   uint8_t Attribute_Value[(BLE_EVT_MAX_PARAM_LEN - 2) - 8];
4662 } aci_gatt_notification_ext_event_rp0;
4663 
4664 
4665 #endif /* BLE_TYPES_H__ */
4666