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