xref: /btstack/port/stm32-wb55xx-nucleo-freertos/Middlewares/STM32_WPAN/ble/core/auto/ble_types.h (revision 0561b2d8d5dba972c7daa57d5e677f7a1327edfd)
1 /******************************************************************************
2  * @file    ble_types.h
3  * @author  MCD Application Team
4  * @date    27 May 2019
5  * @brief   Auto-generated file: do not edit!
6  ******************************************************************************
7  * @attention
8  *
9  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10  * All rights reserved.</center></h2>
11  *
12  * This software component is licensed by ST under Ultimate Liberty license
13  * SLA0044, the "License"; You may not use this file except in compliance with
14  * the License. You may obtain a copy of the License at:
15  *                             www.st.com/SLA0044
16  *
17  ******************************************************************************
18  */
19 
20 #ifndef BLE_TYPES_H__
21 #define BLE_TYPES_H__
22 
23 #include <stdint.h>
24 #include "compiler.h"
25 #include "ble_const.h"
26 
27 typedef uint8_t tBleStatus;
28 
29 /** Documentation for C struct Host_Nb_Of_Completed_Pkt_Pair_t */
30 typedef PACKED(struct)
31 {
32   /** Connection_Handle[i]
33   * Values:
34   - 0x0000 ... 0x0EFF
35   */
36   uint16_t Connection_Handle;
37   /** The number of HCI Data Packets [i] that have been completed for the associated
38 Connection_Handle since the previous time the event was
39 returned.
40   * Values:
41   - 0x0000 ... 0xFFFF
42   */
43   uint16_t Host_Num_Of_Completed_Packets;
44 } Host_Nb_Of_Completed_Pkt_Pair_t;
45 
46 
47 /** Documentation for C struct Whitelist_Entry_t */
48 typedef PACKED(struct)
49 {
50   /** Address type.
51   * Values:
52   - 0x00: Public Device Address
53   - 0x01: Random Device Address
54   */
55   uint8_t Peer_Address_Type;
56   /** Public Device Address or Random Device Address of the device
57 to be added to the white list.
58   */
59   uint8_t Peer_Address[6];
60 } Whitelist_Entry_t;
61 
62 
63 /** Documentation for C struct Bonded_Device_Entry_t */
64 typedef PACKED(struct)
65 {
66   /** Address type.
67   * Values:
68   - 0x00: Public Device Address
69   - 0x01: Random Device Address
70   */
71   uint8_t Address_Type;
72   /** Public Device Address or Random Device Address of the device
73 to be added to the white list.
74   */
75   uint8_t Address[6];
76 } Bonded_Device_Entry_t;
77 
78 
79 /** Documentation for C struct Whitelist_Identity_Entry_t */
80 typedef PACKED(struct)
81 {
82   /** Identity address type.
83   * Values:
84   - 0x00: Public Identity Address
85   - 0x01: Random (static) Identity Address
86   */
87   uint8_t Peer_Identity_Address_Type;
88   /** Public or Random (static) Identity address of the peer device
89   */
90   uint8_t Peer_Identity_Address[6];
91 } Whitelist_Identity_Entry_t;
92 
93 
94 /** Documentation for C union Service_UUID_t */
95 typedef PACKED(union)
96 {
97   /** 16-bit UUID
98   */
99   uint16_t Service_UUID_16;
100   /** 128-bit UUID
101   */
102   uint8_t Service_UUID_128[16];
103 } Service_UUID_t;
104 
105 
106 /** Documentation for C union Include_UUID_t */
107 typedef PACKED(union)
108 {
109   /** 16-bit UUID
110   */
111   uint16_t Include_UUID_16;
112   /** 128-bit UUID
113   */
114   uint8_t Include_UUID_128[16];
115 } Include_UUID_t;
116 
117 
118 /** Documentation for C union Char_UUID_t */
119 typedef PACKED(union)
120 {
121   /** 16-bit UUID
122   */
123   uint16_t Char_UUID_16;
124   /** 128-bit UUID
125   */
126   uint8_t Char_UUID_128[16];
127 } Char_UUID_t;
128 
129 
130 /** Documentation for C union Char_Desc_Uuid_t */
131 typedef PACKED(union)
132 {
133   /** 16-bit UUID
134   */
135   uint16_t Char_UUID_16;
136   /** 128-bit UUID
137   */
138   uint8_t Char_UUID_128[16];
139 } Char_Desc_Uuid_t;
140 
141 
142 /** Documentation for C union UUID_t */
143 typedef PACKED(union)
144 {
145   /** 16-bit UUID
146   */
147   uint16_t UUID_16;
148   /** 128-bit UUID
149   */
150   uint8_t UUID_128[16];
151 } UUID_t;
152 
153 
154 /** Documentation for C struct Handle_Entry_t */
155 typedef PACKED(struct)
156 {
157   /** The handles for which the attribute value has to be read
158   */
159   uint16_t Handle;
160 } Handle_Entry_t;
161 
162 
163 /** Documentation for C struct Handle_Packets_Pair_Entry_t */
164 typedef PACKED(struct)
165 {
166   /** Connection handle
167   */
168   uint16_t Connection_Handle;
169   /** The number of HCI Data Packets that have been completed (transmitted
170 or flushed) for the associated Connection_Handle since the previous time
171 the event was returned.
172   */
173   uint16_t HC_Num_Of_Completed_Packets;
174 } Handle_Packets_Pair_Entry_t;
175 
176 
177 /** Documentation for C struct Attribute_Group_Handle_Pair_t */
178 typedef PACKED(struct)
179 {
180   /** Found Attribute handle
181   */
182   uint16_t Found_Attribute_Handle;
183   /** Group End handle
184   */
185   uint16_t Group_End_Handle;
186 } Attribute_Group_Handle_Pair_t;
187 
188 
189 /** Documentation for C struct Handle_Item_t */
190 typedef PACKED(struct)
191 {
192   /**
193   */
194   uint16_t Handle;
195 } Handle_Item_t;
196 
197 
198 
199 /** Documentation for C struct Advertising_Report_t */
200 typedef PACKED(struct)
201 {
202   /** Type of advertising report event:
203 ADV_IND: Connectable undirected advertising',
204 ADV_DIRECT_IND: Connectable directed advertising,
205 ADV_SCAN_IND: Scannable undirected advertising,
206 ADV_NONCONN_IND: Non connectable undirected advertising,
207 SCAN_RSP: Scan response.
208   * Values:
209   - 0x00: ADV_IND
210   - 0x01: ADV_DIRECT_IND
211   - 0x02: ADV_SCAN_IND
212   - 0x03: ADV_NONCONN_IND
213   - 0x04: SCAN_RSP
214   */
215   uint8_t Event_Type;
216   /** 0x00 Public Device Address
217 0x01 Random Device Address
218 0x02 Public Identity Address (Corresponds to Resolved Private Address)
219 0x03 Random (Static) Identity Address (Corresponds to Resolved Private Address)
220   * Values:
221   - 0x00: Public Device Address
222   - 0x01: Random Device Address
223   - 0x02: Public Identity Address
224   - 0x03: Random (Static) Identity Address
225   */
226   uint8_t Address_Type;
227   /** Public Device Address or Random Device Address of the device
228 to be connected.
229   */
230   uint8_t Address[6];
231   /** Length of the Data[i] field for each device which responded.
232   * Values:
233   - 0 ... 31
234   */
235   uint8_t Length_Data;
236   /** Length_Data[i] octets of advertising or scan response data formatted
237 as defined in [Vol 3] Part C, Section 8.
238   */
239   uint8_t *Data;
240   /** N Size: 1 Octet (signed integer)
241 Units: dBm
242   * Values:
243   - 127: RSSI not available
244   - -127 ... 20
245   */
246   uint8_t RSSI;
247 } Advertising_Report_t;
248 
249 
250 /** Documentation for C struct Direct_Advertising_Report_t */
251 typedef PACKED(struct)
252 {
253   /** Advertising type
254   * Values:
255   - 0x01: Connectable directed advertising (ADV_DIRECT_IND)
256   */
257   uint8_t Event_Type;
258   /** 0x00 Public Device Address
259 0x01 Random Device Address
260 0x02 Public Identity Address (Corresponds to Resolved Private Address)
261 0x03 Random (Static) Identity Address (Corresponds to Resolved Private Address)
262   * Values:
263   - 0x00: Public Device Address
264   - 0x01: Random Device Address
265   - 0x02: Public Identity Address
266   - 0x03: Random (Static) Identity Address
267   */
268   uint8_t Address_Type;
269   /** Public Device Address, Random Device Address, Public Identity
270 Address or Random (static) Identity Address of the advertising device.
271   */
272   uint8_t Address[6];
273   /** 0x01 Random Device Address
274   * Values:
275   - 0x01: Random Device Address
276   */
277   uint8_t Direct_Address_Type;
278   /** Random Device Address
279   */
280   uint8_t Direct_Address[6];
281   /** N Size: 1 Octet (signed integer)
282 Units: dBm
283   * Values:
284   - 127: RSSI not available
285   - -127 ... 20
286   */
287   uint8_t RSSI;
288 } Direct_Advertising_Report_t;
289 
290 typedef PACKED(struct)
291 {
292   uint16_t Connection_Handle;
293   uint8_t Reason;
294 } hci_disconnect_cp0;
295 
296 typedef PACKED(struct)
297 {
298   uint8_t Status;
299 } hci_disconnect_rp0;
300 
301 typedef PACKED(struct)
302 {
303   uint16_t Connection_Handle;
304 } hci_read_remote_version_information_cp0;
305 
306 typedef PACKED(struct)
307 {
308   uint8_t Status;
309 } hci_read_remote_version_information_rp0;
310 
311 typedef PACKED(struct)
312 {
313   uint8_t Event_Mask[8];
314 } hci_set_event_mask_cp0;
315 
316 typedef PACKED(struct)
317 {
318   uint8_t Status;
319 } hci_set_event_mask_rp0;
320 
321 typedef PACKED(struct)
322 {
323   uint8_t Status;
324 } hci_reset_rp0;
325 
326 typedef PACKED(struct)
327 {
328   uint16_t Connection_Handle;
329   uint8_t Type;
330 } hci_read_transmit_power_level_cp0;
331 
332 typedef PACKED(struct)
333 {
334   uint8_t Status;
335   uint16_t Connection_Handle;
336   uint8_t Transmit_Power_Level;
337 } hci_read_transmit_power_level_rp0;
338 
339 typedef PACKED(struct)
340 {
341   uint8_t Flow_Control_Enable;
342 } hci_set_controller_to_host_flow_control_cp0;
343 
344 typedef PACKED(struct)
345 {
346   uint8_t Status;
347 } hci_set_controller_to_host_flow_control_rp0;
348 
349 typedef PACKED(struct)
350 {
351   uint16_t Host_ACL_Data_Packet_Length;
352   uint8_t Host_Synchronous_Data_Packet_Length;
353   uint16_t Host_Total_Num_ACL_Data_Packets;
354   uint16_t Host_Total_Num_Synchronous_Data_Packets;
355 } hci_host_buffer_size_cp0;
356 
357 typedef PACKED(struct)
358 {
359   uint8_t Status;
360 } hci_host_buffer_size_rp0;
361 
362 typedef PACKED(struct)
363 {
364   uint8_t Number_Of_Handles;
365   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)];
366 } hci_host_number_of_completed_packets_cp0;
367 
368 typedef PACKED(struct)
369 {
370   uint8_t Status;
371 } hci_host_number_of_completed_packets_rp0;
372 
373 typedef PACKED(struct)
374 {
375   uint8_t Status;
376   uint8_t HCI_Version;
377   uint16_t HCI_Revision;
378   uint8_t LMP_PAL_Version;
379   uint16_t Manufacturer_Name;
380   uint16_t LMP_PAL_Subversion;
381 } hci_read_local_version_information_rp0;
382 
383 typedef PACKED(struct)
384 {
385   uint8_t Status;
386   uint8_t Supported_Commands[64];
387 } hci_read_local_supported_commands_rp0;
388 
389 typedef PACKED(struct)
390 {
391   uint8_t Status;
392   uint8_t LMP_Features[8];
393 } hci_read_local_supported_features_rp0;
394 
395 typedef PACKED(struct)
396 {
397   uint8_t Status;
398   uint8_t BD_ADDR[6];
399 } hci_read_bd_addr_rp0;
400 
401 typedef PACKED(struct)
402 {
403   uint16_t Connection_Handle;
404 } hci_read_rssi_cp0;
405 
406 typedef PACKED(struct)
407 {
408   uint8_t Status;
409   uint16_t Connection_Handle;
410   uint8_t RSSI;
411 } hci_read_rssi_rp0;
412 
413 typedef PACKED(struct)
414 {
415   uint8_t LE_Event_Mask[8];
416 } hci_le_set_event_mask_cp0;
417 
418 typedef PACKED(struct)
419 {
420   uint8_t Status;
421 } hci_le_set_event_mask_rp0;
422 
423 typedef PACKED(struct)
424 {
425   uint8_t Status;
426   uint16_t HC_LE_ACL_Data_Packet_Length;
427   uint8_t HC_Total_Num_LE_ACL_Data_Packets;
428 } hci_le_read_buffer_size_rp0;
429 
430 typedef PACKED(struct)
431 {
432   uint8_t Status;
433   uint8_t LE_Features[8];
434 } hci_le_read_local_supported_features_rp0;
435 
436 typedef PACKED(struct)
437 {
438   uint8_t Random_Address[6];
439 } hci_le_set_random_address_cp0;
440 
441 typedef PACKED(struct)
442 {
443   uint8_t Status;
444 } hci_le_set_random_address_rp0;
445 
446 typedef PACKED(struct)
447 {
448   uint16_t Advertising_Interval_Min;
449   uint16_t Advertising_Interval_Max;
450   uint8_t Advertising_Type;
451   uint8_t Own_Address_Type;
452   uint8_t Peer_Address_Type;
453   uint8_t Peer_Address[6];
454   uint8_t Advertising_Channel_Map;
455   uint8_t Advertising_Filter_Policy;
456 } hci_le_set_advertising_parameters_cp0;
457 
458 typedef PACKED(struct)
459 {
460   uint8_t Status;
461 } hci_le_set_advertising_parameters_rp0;
462 
463 typedef PACKED(struct)
464 {
465   uint8_t Status;
466   uint8_t Transmit_Power_Level;
467 } hci_le_read_advertising_channel_tx_power_rp0;
468 
469 typedef PACKED(struct)
470 {
471   uint8_t Advertising_Data_Length;
472   uint8_t Advertising_Data[31];
473 } hci_le_set_advertising_data_cp0;
474 
475 typedef PACKED(struct)
476 {
477   uint8_t Status;
478 } hci_le_set_advertising_data_rp0;
479 
480 typedef PACKED(struct)
481 {
482   uint8_t Scan_Response_Data_Length;
483   uint8_t Scan_Response_Data[31];
484 } hci_le_set_scan_response_data_cp0;
485 
486 typedef PACKED(struct)
487 {
488   uint8_t Status;
489 } hci_le_set_scan_response_data_rp0;
490 
491 typedef PACKED(struct)
492 {
493   uint8_t Advertising_Enable;
494 } hci_le_set_advertise_enable_cp0;
495 
496 typedef PACKED(struct)
497 {
498   uint8_t Status;
499 } hci_le_set_advertise_enable_rp0;
500 
501 typedef PACKED(struct)
502 {
503   uint8_t LE_Scan_Type;
504   uint16_t LE_Scan_Interval;
505   uint16_t LE_Scan_Window;
506   uint8_t Own_Address_Type;
507   uint8_t Scanning_Filter_Policy;
508 } hci_le_set_scan_parameters_cp0;
509 
510 typedef PACKED(struct)
511 {
512   uint8_t Status;
513 } hci_le_set_scan_parameters_rp0;
514 
515 typedef PACKED(struct)
516 {
517   uint8_t LE_Scan_Enable;
518   uint8_t Filter_Duplicates;
519 } hci_le_set_scan_enable_cp0;
520 
521 typedef PACKED(struct)
522 {
523   uint8_t Status;
524 } hci_le_set_scan_enable_rp0;
525 
526 typedef PACKED(struct)
527 {
528   uint16_t LE_Scan_Interval;
529   uint16_t LE_Scan_Window;
530   uint8_t Initiator_Filter_Policy;
531   uint8_t Peer_Address_Type;
532   uint8_t Peer_Address[6];
533   uint8_t Own_Address_Type;
534   uint16_t Conn_Interval_Min;
535   uint16_t Conn_Interval_Max;
536   uint16_t Conn_Latency;
537   uint16_t Supervision_Timeout;
538   uint16_t Minimum_CE_Length;
539   uint16_t Maximum_CE_Length;
540 } hci_le_create_connection_cp0;
541 
542 typedef PACKED(struct)
543 {
544   uint8_t Status;
545 } hci_le_create_connection_rp0;
546 
547 typedef PACKED(struct)
548 {
549   uint8_t Status;
550 } hci_le_create_connection_cancel_rp0;
551 
552 typedef PACKED(struct)
553 {
554   uint8_t Status;
555   uint8_t White_List_Size;
556 } hci_le_read_white_list_size_rp0;
557 
558 typedef PACKED(struct)
559 {
560   uint8_t Status;
561 } hci_le_clear_white_list_rp0;
562 
563 typedef PACKED(struct)
564 {
565   uint8_t Address_Type;
566   uint8_t Address[6];
567 } hci_le_add_device_to_white_list_cp0;
568 
569 typedef PACKED(struct)
570 {
571   uint8_t Status;
572 } hci_le_add_device_to_white_list_rp0;
573 
574 typedef PACKED(struct)
575 {
576   uint8_t Address_Type;
577   uint8_t Address[6];
578 } hci_le_remove_device_from_white_list_cp0;
579 
580 typedef PACKED(struct)
581 {
582   uint8_t Status;
583 } hci_le_remove_device_from_white_list_rp0;
584 
585 typedef PACKED(struct)
586 {
587   uint16_t Connection_Handle;
588   uint16_t Conn_Interval_Min;
589   uint16_t Conn_Interval_Max;
590   uint16_t Conn_Latency;
591   uint16_t Supervision_Timeout;
592   uint16_t Minimum_CE_Length;
593   uint16_t Maximum_CE_Length;
594 } hci_le_connection_update_cp0;
595 
596 typedef PACKED(struct)
597 {
598   uint8_t Status;
599 } hci_le_connection_update_rp0;
600 
601 typedef PACKED(struct)
602 {
603   uint8_t LE_Channel_Map[5];
604 } hci_le_set_host_channel_classification_cp0;
605 
606 typedef PACKED(struct)
607 {
608   uint8_t Status;
609 } hci_le_set_host_channel_classification_rp0;
610 
611 typedef PACKED(struct)
612 {
613   uint16_t Connection_Handle;
614 } hci_le_read_channel_map_cp0;
615 
616 typedef PACKED(struct)
617 {
618   uint8_t Status;
619   uint16_t Connection_Handle;
620   uint8_t LE_Channel_Map[5];
621 } hci_le_read_channel_map_rp0;
622 
623 typedef PACKED(struct)
624 {
625   uint16_t Connection_Handle;
626 } hci_le_read_remote_used_features_cp0;
627 
628 typedef PACKED(struct)
629 {
630   uint8_t Status;
631 } hci_le_read_remote_used_features_rp0;
632 
633 typedef PACKED(struct)
634 {
635   uint8_t Key[16];
636   uint8_t Plaintext_Data[16];
637 } hci_le_encrypt_cp0;
638 
639 typedef PACKED(struct)
640 {
641   uint8_t Status;
642   uint8_t Encrypted_Data[16];
643 } hci_le_encrypt_rp0;
644 
645 typedef PACKED(struct)
646 {
647   uint8_t Status;
648   uint8_t Random_Number[8];
649 } hci_le_rand_rp0;
650 
651 typedef PACKED(struct)
652 {
653   uint16_t Connection_Handle;
654   uint8_t Random_Number[8];
655   uint16_t Encrypted_Diversifier;
656   uint8_t Long_Term_Key[16];
657 } hci_le_start_encryption_cp0;
658 
659 typedef PACKED(struct)
660 {
661   uint8_t Status;
662 } hci_le_start_encryption_rp0;
663 
664 typedef PACKED(struct)
665 {
666   uint16_t Connection_Handle;
667   uint8_t Long_Term_Key[16];
668 } hci_le_long_term_key_request_reply_cp0;
669 
670 typedef PACKED(struct)
671 {
672   uint8_t Status;
673   uint16_t Connection_Handle;
674 } hci_le_long_term_key_request_reply_rp0;
675 
676 typedef PACKED(struct)
677 {
678   uint16_t Connection_Handle;
679 } hci_le_long_term_key_requested_negative_reply_cp0;
680 
681 typedef PACKED(struct)
682 {
683   uint8_t Status;
684   uint16_t Connection_Handle;
685 } hci_le_long_term_key_requested_negative_reply_rp0;
686 
687 typedef PACKED(struct)
688 {
689   uint8_t Status;
690   uint8_t LE_States[8];
691 } hci_le_read_supported_states_rp0;
692 
693 typedef PACKED(struct)
694 {
695   uint8_t RX_Frequency;
696 } hci_le_receiver_test_cp0;
697 
698 typedef PACKED(struct)
699 {
700   uint8_t Status;
701 } hci_le_receiver_test_rp0;
702 
703 typedef PACKED(struct)
704 {
705   uint8_t TX_Frequency;
706   uint8_t Length_Of_Test_Data;
707   uint8_t Packet_Payload;
708 } hci_le_transmitter_test_cp0;
709 
710 typedef PACKED(struct)
711 {
712   uint8_t Status;
713 } hci_le_transmitter_test_rp0;
714 
715 typedef PACKED(struct)
716 {
717   uint8_t Status;
718   uint16_t Number_Of_Packets;
719 } hci_le_test_end_rp0;
720 
721 typedef PACKED(struct)
722 {
723   uint16_t Connection_Handle;
724   uint16_t TxOctets;
725   uint16_t TxTime;
726 } hci_le_set_data_length_cp0;
727 
728 typedef PACKED(struct)
729 {
730   uint8_t Status;
731   uint16_t Connection_Handle;
732 } hci_le_set_data_length_rp0;
733 
734 typedef PACKED(struct)
735 {
736   uint8_t Status;
737   uint16_t SuggestedMaxTxOctets;
738   uint16_t SuggestedMaxTxTime;
739 } hci_le_read_suggested_default_data_length_rp0;
740 
741 typedef PACKED(struct)
742 {
743   uint16_t SuggestedMaxTxOctets;
744   uint16_t SuggestedMaxTxTime;
745 } hci_le_write_suggested_default_data_length_cp0;
746 
747 typedef PACKED(struct)
748 {
749   uint8_t Status;
750 } hci_le_write_suggested_default_data_length_rp0;
751 
752 typedef PACKED(struct)
753 {
754   uint8_t Status;
755 } hci_le_read_local_p256_public_key_rp0;
756 
757 typedef PACKED(struct)
758 {
759   uint8_t Remote_P256_Public_Key[64];
760 } hci_le_generate_dhkey_cp0;
761 
762 typedef PACKED(struct)
763 {
764   uint8_t Status;
765 } hci_le_generate_dhkey_rp0;
766 
767 typedef PACKED(struct)
768 {
769   uint8_t Peer_Identity_Address_Type;
770   uint8_t Peer_Identity_Address[6];
771   uint8_t Peer_IRK[16];
772   uint8_t Local_IRK[16];
773 } hci_le_add_device_to_resolving_list_cp0;
774 
775 typedef PACKED(struct)
776 {
777   uint8_t Status;
778 } hci_le_add_device_to_resolving_list_rp0;
779 
780 typedef PACKED(struct)
781 {
782   uint8_t Peer_Identity_Address_Type;
783   uint8_t Peer_Identity_Address[6];
784 } hci_le_remove_device_from_resolving_list_cp0;
785 
786 typedef PACKED(struct)
787 {
788   uint8_t Status;
789 } hci_le_remove_device_from_resolving_list_rp0;
790 
791 typedef PACKED(struct)
792 {
793   uint8_t Status;
794 } hci_le_clear_resolving_list_rp0;
795 
796 typedef PACKED(struct)
797 {
798   uint8_t Status;
799   uint8_t Resolving_List_Size;
800 } hci_le_read_resolving_list_size_rp0;
801 
802 typedef PACKED(struct)
803 {
804   uint8_t Peer_Identity_Address_Type;
805   uint8_t Peer_Identity_Address[6];
806 } hci_le_read_peer_resolvable_address_cp0;
807 
808 typedef PACKED(struct)
809 {
810   uint8_t Status;
811   uint8_t Peer_Resolvable_Address[6];
812 } hci_le_read_peer_resolvable_address_rp0;
813 
814 typedef PACKED(struct)
815 {
816   uint8_t Peer_Identity_Address_Type;
817   uint8_t Peer_Identity_Address[6];
818 } hci_le_read_local_resolvable_address_cp0;
819 
820 typedef PACKED(struct)
821 {
822   uint8_t Status;
823   uint8_t Local_Resolvable_Address[6];
824 } hci_le_read_local_resolvable_address_rp0;
825 
826 typedef PACKED(struct)
827 {
828   uint8_t Address_Resolution_Enable;
829 } hci_le_set_address_resolution_enable_cp0;
830 
831 typedef PACKED(struct)
832 {
833   uint8_t Status;
834 } hci_le_set_address_resolution_enable_rp0;
835 
836 typedef PACKED(struct)
837 {
838   uint16_t RPA_Timeout;
839 } hci_le_set_resolvable_private_address_timeout_cp0;
840 
841 typedef PACKED(struct)
842 {
843   uint8_t Status;
844 } hci_le_set_resolvable_private_address_timeout_rp0;
845 
846 typedef PACKED(struct)
847 {
848   uint8_t Status;
849   uint16_t supportedMaxTxOctets;
850   uint16_t supportedMaxTxTime;
851   uint16_t supportedMaxRxOctets;
852   uint16_t supportedMaxRxTime;
853 } hci_le_read_maximum_data_length_rp0;
854 
855 typedef PACKED(struct)
856 {
857   uint16_t Connection_Handle;
858 } hci_le_read_phy_cp0;
859 
860 typedef PACKED(struct)
861 {
862   uint8_t Status;
863   uint16_t Connection_Handle;
864   uint8_t TX_PHY;
865   uint8_t RX_PHY;
866 } hci_le_read_phy_rp0;
867 
868 typedef PACKED(struct)
869 {
870   uint8_t ALL_PHYS;
871   uint8_t TX_PHYS;
872   uint8_t RX_PHYS;
873 } hci_le_set_default_phy_cp0;
874 
875 typedef PACKED(struct)
876 {
877   uint8_t Status;
878 } hci_le_set_default_phy_rp0;
879 
880 typedef PACKED(struct)
881 {
882   uint16_t Connection_Handle;
883   uint8_t ALL_PHYS;
884   uint8_t TX_PHYS;
885   uint8_t RX_PHYS;
886   uint16_t PHY_options;
887 } hci_le_set_phy_cp0;
888 
889 typedef PACKED(struct)
890 {
891   uint8_t Status;
892 } hci_le_set_phy_rp0;
893 
894 typedef PACKED(struct)
895 {
896   uint8_t RX_Frequency;
897   uint8_t PHY;
898   uint8_t Modulation_Index;
899 } hci_le_enhanced_receiver_test_cp0;
900 
901 typedef PACKED(struct)
902 {
903   uint8_t Status;
904 } hci_le_enhanced_receiver_test_rp0;
905 
906 typedef PACKED(struct)
907 {
908   uint8_t TX_Frequency;
909   uint8_t Length_Of_Test_Data;
910   uint8_t Packet_Payload;
911   uint8_t PHY;
912 } hci_le_enhanced_transmitter_test_cp0;
913 
914 typedef PACKED(struct)
915 {
916   uint8_t Status;
917 } hci_le_enhanced_transmitter_test_rp0;
918 
919 typedef PACKED(struct)
920 {
921   uint8_t Status;
922   uint16_t Build_Number;
923 } aci_hal_get_fw_build_number_rp0;
924 
925 typedef PACKED(struct)
926 {
927   uint8_t Offset;
928   uint8_t Length;
929   uint8_t Value[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(uint8_t)];
930 } aci_hal_write_config_data_cp0;
931 
932 typedef PACKED(struct)
933 {
934   uint8_t Status;
935 } aci_hal_write_config_data_rp0;
936 
937 typedef PACKED(struct)
938 {
939   uint8_t Offset;
940 } aci_hal_read_config_data_cp0;
941 
942 typedef PACKED(struct)
943 {
944   uint8_t Status;
945   uint8_t Data_Length;
946   uint8_t Data[((BLE_EVT_MAX_PARAM_LEN - 3) - 2)/sizeof(uint8_t)];
947 } aci_hal_read_config_data_rp0;
948 
949 typedef PACKED(struct)
950 {
951   uint8_t En_High_Power;
952   uint8_t PA_Level;
953 } aci_hal_set_tx_power_level_cp0;
954 
955 typedef PACKED(struct)
956 {
957   uint8_t Status;
958 } aci_hal_set_tx_power_level_rp0;
959 
960 typedef PACKED(struct)
961 {
962   uint8_t Status;
963   uint32_t Number_Of_Packets;
964 } aci_hal_le_tx_test_packet_number_rp0;
965 
966 typedef PACKED(struct)
967 {
968   uint8_t RF_Channel;
969   uint8_t Freq_offset;
970 } aci_hal_tone_start_cp0;
971 
972 typedef PACKED(struct)
973 {
974   uint8_t Status;
975 } aci_hal_tone_start_rp0;
976 
977 typedef PACKED(struct)
978 {
979   uint8_t Status;
980 } aci_hal_tone_stop_rp0;
981 
982 typedef PACKED(struct)
983 {
984   uint8_t Status;
985   uint8_t Link_Status[8];
986   uint16_t Link_Connection_Handle[16 / 2];
987 } aci_hal_get_link_status_rp0;
988 
989 typedef PACKED(struct)
990 {
991   uint16_t Radio_Activity_Mask;
992 } aci_hal_set_radio_activity_mask_cp0;
993 
994 typedef PACKED(struct)
995 {
996   uint8_t Status;
997 } aci_hal_set_radio_activity_mask_rp0;
998 
999 typedef PACKED(struct)
1000 {
1001   uint8_t Status;
1002   uint32_t Anchor_Period;
1003   uint32_t Max_Free_Slot;
1004 } aci_hal_get_anchor_period_rp0;
1005 
1006 typedef PACKED(struct)
1007 {
1008   uint32_t Event_Mask;
1009 } aci_hal_set_event_mask_cp0;
1010 
1011 typedef PACKED(struct)
1012 {
1013   uint8_t Status;
1014 } aci_hal_set_event_mask_rp0;
1015 
1016 typedef PACKED(struct)
1017 {
1018   uint32_t SMP_Config;
1019 } aci_hal_set_smp_eng_config_cp0;
1020 
1021 typedef PACKED(struct)
1022 {
1023   uint8_t Status;
1024 } aci_hal_set_smp_eng_config_rp0;
1025 
1026 typedef PACKED(struct)
1027 {
1028   uint8_t Status;
1029   uint8_t Allocated_For_TX;
1030   uint8_t Allocated_For_RX;
1031   uint8_t Allocated_MBlocks;
1032 } aci_hal_get_pm_debug_info_rp0;
1033 
1034 typedef PACKED(struct)
1035 {
1036   uint8_t Register_Address;
1037 } aci_hal_read_radio_reg_cp0;
1038 
1039 typedef PACKED(struct)
1040 {
1041   uint8_t Status;
1042   uint8_t reg_val;
1043 } aci_hal_read_radio_reg_rp0;
1044 
1045 typedef PACKED(struct)
1046 {
1047   uint8_t Register_Address;
1048   uint8_t Register_Value;
1049 } aci_hal_write_radio_reg_cp0;
1050 
1051 typedef PACKED(struct)
1052 {
1053   uint8_t Status;
1054 } aci_hal_write_radio_reg_rp0;
1055 
1056 typedef PACKED(struct)
1057 {
1058   uint8_t Status;
1059   uint8_t Value[3];
1060 } aci_hal_read_raw_rssi_rp0;
1061 
1062 typedef PACKED(struct)
1063 {
1064   uint8_t RF_Channel;
1065 } aci_hal_rx_start_cp0;
1066 
1067 typedef PACKED(struct)
1068 {
1069   uint8_t Status;
1070 } aci_hal_rx_start_rp0;
1071 
1072 typedef PACKED(struct)
1073 {
1074   uint8_t Status;
1075 } aci_hal_rx_stop_rp0;
1076 
1077 typedef PACKED(struct)
1078 {
1079   uint8_t Status;
1080 } aci_hal_stack_reset_rp0;
1081 
1082 typedef PACKED(struct)
1083 {
1084   uint8_t Status;
1085 } aci_gap_set_non_discoverable_rp0;
1086 
1087 typedef PACKED(struct)
1088 {
1089   uint8_t Advertising_Type;
1090   uint16_t Advertising_Interval_Min;
1091   uint16_t Advertising_Interval_Max;
1092   uint8_t Own_Address_Type;
1093   uint8_t Advertising_Filter_Policy;
1094   uint8_t Local_Name_Length;
1095   uint8_t Local_Name[(BLE_CMD_MAX_PARAM_LEN - 8)/sizeof(uint8_t)];
1096 } aci_gap_set_limited_discoverable_cp0;
1097 
1098 typedef PACKED(struct)
1099 {
1100   uint8_t Service_Uuid_length;
1101   uint8_t Service_Uuid_List[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(uint8_t)];
1102 } aci_gap_set_limited_discoverable_cp1;
1103 
1104 typedef PACKED(struct)
1105 {
1106   uint16_t Slave_Conn_Interval_Min;
1107   uint16_t Slave_Conn_Interval_Max;
1108 } aci_gap_set_limited_discoverable_cp2;
1109 
1110 typedef PACKED(struct)
1111 {
1112   uint8_t Status;
1113 } aci_gap_set_limited_discoverable_rp0;
1114 
1115 typedef PACKED(struct)
1116 {
1117   uint8_t Advertising_Type;
1118   uint16_t Advertising_Interval_Min;
1119   uint16_t Advertising_Interval_Max;
1120   uint8_t Own_Address_Type;
1121   uint8_t Advertising_Filter_Policy;
1122   uint8_t Local_Name_Length;
1123   uint8_t Local_Name[(BLE_CMD_MAX_PARAM_LEN - 8)/sizeof(uint8_t)];
1124 } aci_gap_set_discoverable_cp0;
1125 
1126 typedef PACKED(struct)
1127 {
1128   uint8_t Service_Uuid_length;
1129   uint8_t Service_Uuid_List[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(uint8_t)];
1130 } aci_gap_set_discoverable_cp1;
1131 
1132 typedef PACKED(struct)
1133 {
1134   uint16_t Slave_Conn_Interval_Min;
1135   uint16_t Slave_Conn_Interval_Max;
1136 } aci_gap_set_discoverable_cp2;
1137 
1138 typedef PACKED(struct)
1139 {
1140   uint8_t Status;
1141 } aci_gap_set_discoverable_rp0;
1142 
1143 typedef PACKED(struct)
1144 {
1145   uint8_t Own_Address_Type;
1146   uint8_t Directed_Advertising_Type;
1147   uint8_t Direct_Address_Type;
1148   uint8_t Direct_Address[6];
1149   uint16_t Advertising_Interval_Min;
1150   uint16_t Advertising_Interval_Max;
1151 } aci_gap_set_direct_connectable_cp0;
1152 
1153 typedef PACKED(struct)
1154 {
1155   uint8_t Status;
1156 } aci_gap_set_direct_connectable_rp0;
1157 
1158 typedef PACKED(struct)
1159 {
1160   uint8_t IO_Capability;
1161 } aci_gap_set_io_capability_cp0;
1162 
1163 typedef PACKED(struct)
1164 {
1165   uint8_t Status;
1166 } aci_gap_set_io_capability_rp0;
1167 
1168 typedef PACKED(struct)
1169 {
1170   uint8_t Bonding_Mode;
1171   uint8_t MITM_Mode;
1172   uint8_t SC_Support;
1173   uint8_t KeyPress_Notification_Support;
1174   uint8_t Min_Encryption_Key_Size;
1175   uint8_t Max_Encryption_Key_Size;
1176   uint8_t Use_Fixed_Pin;
1177   uint32_t Fixed_Pin;
1178   uint8_t Identity_Address_Type;
1179 } aci_gap_set_authentication_requirement_cp0;
1180 
1181 typedef PACKED(struct)
1182 {
1183   uint8_t Status;
1184 } aci_gap_set_authentication_requirement_rp0;
1185 
1186 typedef PACKED(struct)
1187 {
1188   uint16_t Connection_Handle;
1189   uint8_t Authorization_Enable;
1190 } aci_gap_set_authorization_requirement_cp0;
1191 
1192 typedef PACKED(struct)
1193 {
1194   uint8_t Status;
1195 } aci_gap_set_authorization_requirement_rp0;
1196 
1197 typedef PACKED(struct)
1198 {
1199   uint16_t Connection_Handle;
1200   uint32_t Pass_Key;
1201 } aci_gap_pass_key_resp_cp0;
1202 
1203 typedef PACKED(struct)
1204 {
1205   uint8_t Status;
1206 } aci_gap_pass_key_resp_rp0;
1207 
1208 typedef PACKED(struct)
1209 {
1210   uint16_t Connection_Handle;
1211   uint8_t Authorize;
1212 } aci_gap_authorization_resp_cp0;
1213 
1214 typedef PACKED(struct)
1215 {
1216   uint8_t Status;
1217 } aci_gap_authorization_resp_rp0;
1218 
1219 typedef PACKED(struct)
1220 {
1221   uint8_t Role;
1222   uint8_t privacy_enabled;
1223   uint8_t device_name_char_len;
1224 } aci_gap_init_cp0;
1225 
1226 typedef PACKED(struct)
1227 {
1228   uint8_t Status;
1229   uint16_t Service_Handle;
1230   uint16_t Dev_Name_Char_Handle;
1231   uint16_t Appearance_Char_Handle;
1232 } aci_gap_init_rp0;
1233 
1234 typedef PACKED(struct)
1235 {
1236   uint8_t Advertising_Event_Type;
1237   uint8_t Own_Address_Type;
1238 } aci_gap_set_non_connectable_cp0;
1239 
1240 typedef PACKED(struct)
1241 {
1242   uint8_t Status;
1243 } aci_gap_set_non_connectable_rp0;
1244 
1245 typedef PACKED(struct)
1246 {
1247   uint16_t Advertising_Interval_Min;
1248   uint16_t Advertising_Interval_Max;
1249   uint8_t Own_Address_Type;
1250   uint8_t Adv_Filter_Policy;
1251 } aci_gap_set_undirected_connectable_cp0;
1252 
1253 typedef PACKED(struct)
1254 {
1255   uint8_t Status;
1256 } aci_gap_set_undirected_connectable_rp0;
1257 
1258 typedef PACKED(struct)
1259 {
1260   uint16_t Connection_Handle;
1261 } aci_gap_slave_security_req_cp0;
1262 
1263 typedef PACKED(struct)
1264 {
1265   uint8_t Status;
1266 } aci_gap_slave_security_req_rp0;
1267 
1268 typedef PACKED(struct)
1269 {
1270   uint8_t AdvDataLen;
1271   uint8_t AdvData[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(uint8_t)];
1272 } aci_gap_update_adv_data_cp0;
1273 
1274 typedef PACKED(struct)
1275 {
1276   uint8_t Status;
1277 } aci_gap_update_adv_data_rp0;
1278 
1279 typedef PACKED(struct)
1280 {
1281   uint8_t ADType;
1282 } aci_gap_delete_ad_type_cp0;
1283 
1284 typedef PACKED(struct)
1285 {
1286   uint8_t Status;
1287 } aci_gap_delete_ad_type_rp0;
1288 
1289 typedef PACKED(struct)
1290 {
1291   uint16_t Connection_Handle;
1292 } aci_gap_get_security_level_cp0;
1293 
1294 typedef PACKED(struct)
1295 {
1296   uint8_t Status;
1297   uint8_t Security_Mode;
1298   uint8_t Security_Level;
1299 } aci_gap_get_security_level_rp0;
1300 
1301 typedef PACKED(struct)
1302 {
1303   uint16_t GAP_Evt_Mask;
1304 } aci_gap_set_event_mask_cp0;
1305 
1306 typedef PACKED(struct)
1307 {
1308   uint8_t Status;
1309 } aci_gap_set_event_mask_rp0;
1310 
1311 typedef PACKED(struct)
1312 {
1313   uint8_t Status;
1314 } aci_gap_configure_whitelist_rp0;
1315 
1316 typedef PACKED(struct)
1317 {
1318   uint16_t Connection_Handle;
1319   uint8_t Reason;
1320 } aci_gap_terminate_cp0;
1321 
1322 typedef PACKED(struct)
1323 {
1324   uint8_t Status;
1325 } aci_gap_terminate_rp0;
1326 
1327 typedef PACKED(struct)
1328 {
1329   uint8_t Status;
1330 } aci_gap_clear_security_db_rp0;
1331 
1332 typedef PACKED(struct)
1333 {
1334   uint16_t Connection_Handle;
1335 } aci_gap_allow_rebond_cp0;
1336 
1337 typedef PACKED(struct)
1338 {
1339   uint8_t Status;
1340 } aci_gap_allow_rebond_rp0;
1341 
1342 typedef PACKED(struct)
1343 {
1344   uint16_t LE_Scan_Interval;
1345   uint16_t LE_Scan_Window;
1346   uint8_t Own_Address_Type;
1347   uint8_t Filter_Duplicates;
1348 } aci_gap_start_limited_discovery_proc_cp0;
1349 
1350 typedef PACKED(struct)
1351 {
1352   uint8_t Status;
1353 } aci_gap_start_limited_discovery_proc_rp0;
1354 
1355 typedef PACKED(struct)
1356 {
1357   uint16_t LE_Scan_Interval;
1358   uint16_t LE_Scan_Window;
1359   uint8_t Own_Address_Type;
1360   uint8_t Filter_Duplicates;
1361 } aci_gap_start_general_discovery_proc_cp0;
1362 
1363 typedef PACKED(struct)
1364 {
1365   uint8_t Status;
1366 } aci_gap_start_general_discovery_proc_rp0;
1367 
1368 typedef PACKED(struct)
1369 {
1370   uint16_t LE_Scan_Interval;
1371   uint16_t LE_Scan_Window;
1372   uint8_t Peer_Address_Type;
1373   uint8_t Peer_Address[6];
1374   uint8_t Own_Address_Type;
1375   uint16_t Conn_Interval_Min;
1376   uint16_t Conn_Interval_Max;
1377   uint16_t Conn_Latency;
1378   uint16_t Supervision_Timeout;
1379   uint16_t Minimum_CE_Length;
1380   uint16_t Maximum_CE_Length;
1381 } aci_gap_start_name_discovery_proc_cp0;
1382 
1383 typedef PACKED(struct)
1384 {
1385   uint8_t Status;
1386 } aci_gap_start_name_discovery_proc_rp0;
1387 
1388 typedef PACKED(struct)
1389 {
1390   uint16_t LE_Scan_Interval;
1391   uint16_t LE_Scan_Window;
1392   uint8_t Own_Address_Type;
1393   uint16_t Conn_Interval_Min;
1394   uint16_t Conn_Interval_Max;
1395   uint16_t Conn_Latency;
1396   uint16_t Supervision_Timeout;
1397   uint16_t Minimum_CE_Length;
1398   uint16_t Maximum_CE_Length;
1399   uint8_t Num_of_Whitelist_Entries;
1400   Whitelist_Entry_t Whitelist_Entry[(BLE_CMD_MAX_PARAM_LEN - 18)/sizeof(Whitelist_Entry_t)];
1401 } aci_gap_start_auto_connection_establish_proc_cp0;
1402 
1403 typedef PACKED(struct)
1404 {
1405   uint8_t Status;
1406 } aci_gap_start_auto_connection_establish_proc_rp0;
1407 
1408 typedef PACKED(struct)
1409 {
1410   uint8_t LE_Scan_Type;
1411   uint16_t LE_Scan_Interval;
1412   uint16_t LE_Scan_Window;
1413   uint8_t Own_Address_Type;
1414   uint8_t Scanning_Filter_Policy;
1415   uint8_t Filter_Duplicates;
1416 } aci_gap_start_general_connection_establish_proc_cp0;
1417 
1418 typedef PACKED(struct)
1419 {
1420   uint8_t Status;
1421 } aci_gap_start_general_connection_establish_proc_rp0;
1422 
1423 typedef PACKED(struct)
1424 {
1425   uint8_t LE_Scan_Type;
1426   uint16_t LE_Scan_Interval;
1427   uint16_t LE_Scan_Window;
1428   uint8_t Own_Address_Type;
1429   uint8_t Scanning_Filter_Policy;
1430   uint8_t Filter_Duplicates;
1431   uint8_t Num_of_Whitelist_Entries;
1432   Whitelist_Entry_t Whitelist_Entry[(BLE_CMD_MAX_PARAM_LEN - 9)/sizeof(Whitelist_Entry_t)];
1433 } aci_gap_start_selective_connection_establish_proc_cp0;
1434 
1435 typedef PACKED(struct)
1436 {
1437   uint8_t Status;
1438 } aci_gap_start_selective_connection_establish_proc_rp0;
1439 
1440 typedef PACKED(struct)
1441 {
1442   uint16_t LE_Scan_Interval;
1443   uint16_t LE_Scan_Window;
1444   uint8_t Peer_Address_Type;
1445   uint8_t Peer_Address[6];
1446   uint8_t Own_Address_Type;
1447   uint16_t Conn_Interval_Min;
1448   uint16_t Conn_Interval_Max;
1449   uint16_t Conn_Latency;
1450   uint16_t Supervision_Timeout;
1451   uint16_t Minimum_CE_Length;
1452   uint16_t Maximum_CE_Length;
1453 } aci_gap_create_connection_cp0;
1454 
1455 typedef PACKED(struct)
1456 {
1457   uint8_t Status;
1458 } aci_gap_create_connection_rp0;
1459 
1460 typedef PACKED(struct)
1461 {
1462   uint8_t Procedure_Code;
1463 } aci_gap_terminate_gap_proc_cp0;
1464 
1465 typedef PACKED(struct)
1466 {
1467   uint8_t Status;
1468 } aci_gap_terminate_gap_proc_rp0;
1469 
1470 typedef PACKED(struct)
1471 {
1472   uint16_t Connection_Handle;
1473   uint16_t Conn_Interval_Min;
1474   uint16_t Conn_Interval_Max;
1475   uint16_t Conn_Latency;
1476   uint16_t Supervision_Timeout;
1477   uint16_t Minimum_CE_Length;
1478   uint16_t Maximum_CE_Length;
1479 } aci_gap_start_connection_update_cp0;
1480 
1481 typedef PACKED(struct)
1482 {
1483   uint8_t Status;
1484 } aci_gap_start_connection_update_rp0;
1485 
1486 typedef PACKED(struct)
1487 {
1488   uint16_t Connection_Handle;
1489   uint8_t Force_Rebond;
1490 } aci_gap_send_pairing_req_cp0;
1491 
1492 typedef PACKED(struct)
1493 {
1494   uint8_t Status;
1495 } aci_gap_send_pairing_req_rp0;
1496 
1497 typedef PACKED(struct)
1498 {
1499   uint8_t Address[6];
1500 } aci_gap_resolve_private_addr_cp0;
1501 
1502 typedef PACKED(struct)
1503 {
1504   uint8_t Status;
1505   uint8_t Actual_Address[6];
1506 } aci_gap_resolve_private_addr_rp0;
1507 
1508 typedef PACKED(struct)
1509 {
1510   uint16_t Advertising_Interval_Min;
1511   uint16_t Advertising_Interval_Max;
1512   uint8_t Advertising_Type;
1513   uint8_t Own_Address_Type;
1514   uint8_t Adv_Data_Length;
1515   uint8_t Adv_Data[(BLE_CMD_MAX_PARAM_LEN - 7)/sizeof(uint8_t)];
1516 } aci_gap_set_broadcast_mode_cp0;
1517 
1518 typedef PACKED(struct)
1519 {
1520   uint8_t Num_of_Whitelist_Entries;
1521   Whitelist_Entry_t Whitelist_Entry[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(Whitelist_Entry_t)];
1522 } aci_gap_set_broadcast_mode_cp1;
1523 
1524 typedef PACKED(struct)
1525 {
1526   uint8_t Status;
1527 } aci_gap_set_broadcast_mode_rp0;
1528 
1529 typedef PACKED(struct)
1530 {
1531   uint16_t LE_Scan_Interval;
1532   uint16_t LE_Scan_Window;
1533   uint8_t LE_Scan_Type;
1534   uint8_t Own_Address_Type;
1535   uint8_t Filter_Duplicates;
1536   uint8_t Scanning_Filter_Policy;
1537 } aci_gap_start_observation_proc_cp0;
1538 
1539 typedef PACKED(struct)
1540 {
1541   uint8_t Status;
1542 } aci_gap_start_observation_proc_rp0;
1543 
1544 typedef PACKED(struct)
1545 {
1546   uint8_t Status;
1547   uint8_t Num_of_Addresses;
1548   Bonded_Device_Entry_t Bonded_Device_Entry[((BLE_EVT_MAX_PARAM_LEN - 3) - 2)/sizeof(Bonded_Device_Entry_t)];
1549 } aci_gap_get_bonded_devices_rp0;
1550 
1551 typedef PACKED(struct)
1552 {
1553   uint8_t Peer_Address_Type;
1554   uint8_t Peer_Address[6];
1555 } aci_gap_is_device_bonded_cp0;
1556 
1557 typedef PACKED(struct)
1558 {
1559   uint8_t Status;
1560 } aci_gap_is_device_bonded_rp0;
1561 
1562 typedef PACKED(struct)
1563 {
1564   uint16_t Connection_Handle;
1565   uint8_t Confirm_Yes_No;
1566 } aci_gap_numeric_comparison_value_confirm_yesno_cp0;
1567 
1568 typedef PACKED(struct)
1569 {
1570   uint8_t Status;
1571 } aci_gap_numeric_comparison_value_confirm_yesno_rp0;
1572 
1573 typedef PACKED(struct)
1574 {
1575   uint16_t Connection_Handle;
1576   uint8_t Input_Type;
1577 } aci_gap_passkey_input_cp0;
1578 
1579 typedef PACKED(struct)
1580 {
1581   uint8_t Status;
1582 } aci_gap_passkey_input_rp0;
1583 
1584 typedef PACKED(struct)
1585 {
1586   uint8_t OOB_Data_Type;
1587 } aci_gap_get_oob_data_cp0;
1588 
1589 typedef PACKED(struct)
1590 {
1591   uint8_t Status;
1592   uint8_t Address_Type;
1593   uint8_t Address[6];
1594   uint8_t OOB_Data_Type;
1595   uint8_t OOB_Data_Len;
1596   uint8_t OOB_Data[16];
1597 } aci_gap_get_oob_data_rp0;
1598 
1599 typedef PACKED(struct)
1600 {
1601   uint8_t Device_Type;
1602   uint8_t Address_Type;
1603   uint8_t Address[6];
1604   uint8_t OOB_Data_Type;
1605   uint8_t OOB_Data_Len;
1606   uint8_t OOB_Data[16];
1607 } aci_gap_set_oob_data_cp0;
1608 
1609 typedef PACKED(struct)
1610 {
1611   uint8_t Status;
1612 } aci_gap_set_oob_data_rp0;
1613 
1614 typedef PACKED(struct)
1615 {
1616   uint8_t Num_of_Resolving_list_Entries;
1617   Whitelist_Identity_Entry_t Whitelist_Identity_Entry[(BLE_CMD_MAX_PARAM_LEN - 1)/sizeof(Whitelist_Identity_Entry_t)];
1618 } aci_gap_add_devices_to_resolving_list_cp0;
1619 
1620 typedef PACKED(struct)
1621 {
1622   uint8_t Clear_Resolving_List;
1623 } aci_gap_add_devices_to_resolving_list_cp1;
1624 
1625 typedef PACKED(struct)
1626 {
1627   uint8_t Status;
1628 } aci_gap_add_devices_to_resolving_list_rp0;
1629 
1630 typedef PACKED(struct)
1631 {
1632   uint8_t Peer_Identity_Address_Type;
1633   uint8_t Peer_Identity_Address[6];
1634 } aci_gap_remove_bonded_device_cp0;
1635 
1636 typedef PACKED(struct)
1637 {
1638   uint8_t Status;
1639 } aci_gap_remove_bonded_device_rp0;
1640 
1641 typedef PACKED(struct)
1642 {
1643   uint8_t Status;
1644 } aci_gatt_init_rp0;
1645 
1646 typedef PACKED(struct)
1647 {
1648   uint8_t Service_UUID_Type;
1649   Service_UUID_t Service_UUID;
1650 } aci_gatt_add_service_cp0;
1651 
1652 typedef PACKED(struct)
1653 {
1654   uint8_t Service_Type;
1655   uint8_t Max_Attribute_Records;
1656 } aci_gatt_add_service_cp1;
1657 
1658 typedef PACKED(struct)
1659 {
1660   uint8_t Status;
1661   uint16_t Service_Handle;
1662 } aci_gatt_add_service_rp0;
1663 
1664 typedef PACKED(struct)
1665 {
1666   uint16_t Service_Handle;
1667   uint16_t Include_Start_Handle;
1668   uint16_t Include_End_Handle;
1669   uint8_t Include_UUID_Type;
1670   Include_UUID_t Include_UUID;
1671 } aci_gatt_include_service_cp0;
1672 
1673 typedef PACKED(struct)
1674 {
1675   uint8_t Status;
1676   uint16_t Include_Handle;
1677 } aci_gatt_include_service_rp0;
1678 
1679 typedef PACKED(struct)
1680 {
1681   uint16_t Service_Handle;
1682   uint8_t Char_UUID_Type;
1683   Char_UUID_t Char_UUID;
1684 } aci_gatt_add_char_cp0;
1685 
1686 typedef PACKED(struct)
1687 {
1688   uint16_t Char_Value_Length;
1689   uint8_t Char_Properties;
1690   uint8_t Security_Permissions;
1691   uint8_t GATT_Evt_Mask;
1692   uint8_t Enc_Key_Size;
1693   uint8_t Is_Variable;
1694 } aci_gatt_add_char_cp1;
1695 
1696 typedef PACKED(struct)
1697 {
1698   uint8_t Status;
1699   uint16_t Char_Handle;
1700 } aci_gatt_add_char_rp0;
1701 
1702 typedef PACKED(struct)
1703 {
1704   uint16_t Service_Handle;
1705   uint16_t Char_Handle;
1706   uint8_t Char_Desc_Uuid_Type;
1707   Char_Desc_Uuid_t Char_Desc_Uuid;
1708 } aci_gatt_add_char_desc_cp0;
1709 
1710 typedef PACKED(struct)
1711 {
1712   uint8_t Char_Desc_Value_Max_Len;
1713   uint8_t Char_Desc_Value_Length;
1714   uint8_t Char_Desc_Value[(BLE_CMD_MAX_PARAM_LEN - 2)/sizeof(uint8_t)];
1715 } aci_gatt_add_char_desc_cp1;
1716 
1717 typedef PACKED(struct)
1718 {
1719   uint8_t Security_Permissions;
1720   uint8_t Access_Permissions;
1721   uint8_t GATT_Evt_Mask;
1722   uint8_t Enc_Key_Size;
1723   uint8_t Is_Variable;
1724 } aci_gatt_add_char_desc_cp2;
1725 
1726 typedef PACKED(struct)
1727 {
1728   uint8_t Status;
1729   uint16_t Char_Desc_Handle;
1730 } aci_gatt_add_char_desc_rp0;
1731 
1732 typedef PACKED(struct)
1733 {
1734   uint16_t Service_Handle;
1735   uint16_t Char_Handle;
1736   uint8_t Val_Offset;
1737   uint8_t Char_Value_Length;
1738   uint8_t Char_Value[(BLE_CMD_MAX_PARAM_LEN - 6)/sizeof(uint8_t)];
1739 } aci_gatt_update_char_value_cp0;
1740 
1741 typedef PACKED(struct)
1742 {
1743   uint8_t Status;
1744 } aci_gatt_update_char_value_rp0;
1745 
1746 typedef PACKED(struct)
1747 {
1748   uint16_t Serv_Handle;
1749   uint16_t Char_Handle;
1750 } aci_gatt_del_char_cp0;
1751 
1752 typedef PACKED(struct)
1753 {
1754   uint8_t Status;
1755 } aci_gatt_del_char_rp0;
1756 
1757 typedef PACKED(struct)
1758 {
1759   uint16_t Serv_Handle;
1760 } aci_gatt_del_service_cp0;
1761 
1762 typedef PACKED(struct)
1763 {
1764   uint8_t Status;
1765 } aci_gatt_del_service_rp0;
1766 
1767 typedef PACKED(struct)
1768 {
1769   uint16_t Serv_Handle;
1770   uint16_t Include_Handle;
1771 } aci_gatt_del_include_service_cp0;
1772 
1773 typedef PACKED(struct)
1774 {
1775   uint8_t Status;
1776 } aci_gatt_del_include_service_rp0;
1777 
1778 typedef PACKED(struct)
1779 {
1780   uint32_t GATT_Evt_Mask;
1781 } aci_gatt_set_event_mask_cp0;
1782 
1783 typedef PACKED(struct)
1784 {
1785   uint8_t Status;
1786 } aci_gatt_set_event_mask_rp0;
1787 
1788 typedef PACKED(struct)
1789 {
1790   uint16_t Connection_Handle;
1791 } aci_gatt_exchange_config_cp0;
1792 
1793 typedef PACKED(struct)
1794 {
1795   uint8_t Status;
1796 } aci_gatt_exchange_config_rp0;
1797 
1798 typedef PACKED(struct)
1799 {
1800   uint16_t Connection_Handle;
1801   uint16_t Start_Handle;
1802   uint16_t End_Handle;
1803 } aci_att_find_info_req_cp0;
1804 
1805 typedef PACKED(struct)
1806 {
1807   uint8_t Status;
1808 } aci_att_find_info_req_rp0;
1809 
1810 typedef PACKED(struct)
1811 {
1812   uint16_t Connection_Handle;
1813   uint16_t Start_Handle;
1814   uint16_t End_Handle;
1815   uint16_t UUID;
1816   uint8_t Attribute_Val_Length;
1817   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 9)/sizeof(uint8_t)];
1818 } aci_att_find_by_type_value_req_cp0;
1819 
1820 typedef PACKED(struct)
1821 {
1822   uint8_t Status;
1823 } aci_att_find_by_type_value_req_rp0;
1824 
1825 typedef PACKED(struct)
1826 {
1827   uint16_t Connection_Handle;
1828   uint16_t Start_Handle;
1829   uint16_t End_Handle;
1830   uint8_t UUID_Type;
1831   UUID_t UUID;
1832 } aci_att_read_by_type_req_cp0;
1833 
1834 typedef PACKED(struct)
1835 {
1836   uint8_t Status;
1837 } aci_att_read_by_type_req_rp0;
1838 
1839 typedef PACKED(struct)
1840 {
1841   uint16_t Connection_Handle;
1842   uint16_t Start_Handle;
1843   uint16_t End_Handle;
1844   uint8_t UUID_Type;
1845   UUID_t UUID;
1846 } aci_att_read_by_group_type_req_cp0;
1847 
1848 typedef PACKED(struct)
1849 {
1850   uint8_t Status;
1851 } aci_att_read_by_group_type_req_rp0;
1852 
1853 typedef PACKED(struct)
1854 {
1855   uint16_t Connection_Handle;
1856   uint16_t Attr_Handle;
1857   uint16_t Val_Offset;
1858   uint8_t Attribute_Val_Length;
1859   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 7)/sizeof(uint8_t)];
1860 } aci_att_prepare_write_req_cp0;
1861 
1862 typedef PACKED(struct)
1863 {
1864   uint8_t Status;
1865 } aci_att_prepare_write_req_rp0;
1866 
1867 typedef PACKED(struct)
1868 {
1869   uint16_t Connection_Handle;
1870   uint8_t Execute;
1871 } aci_att_execute_write_req_cp0;
1872 
1873 typedef PACKED(struct)
1874 {
1875   uint8_t Status;
1876 } aci_att_execute_write_req_rp0;
1877 
1878 typedef PACKED(struct)
1879 {
1880   uint16_t Connection_Handle;
1881 } aci_gatt_disc_all_primary_services_cp0;
1882 
1883 typedef PACKED(struct)
1884 {
1885   uint8_t Status;
1886 } aci_gatt_disc_all_primary_services_rp0;
1887 
1888 typedef PACKED(struct)
1889 {
1890   uint16_t Connection_Handle;
1891   uint8_t UUID_Type;
1892   UUID_t UUID;
1893 } aci_gatt_disc_primary_service_by_uuid_cp0;
1894 
1895 typedef PACKED(struct)
1896 {
1897   uint8_t Status;
1898 } aci_gatt_disc_primary_service_by_uuid_rp0;
1899 
1900 typedef PACKED(struct)
1901 {
1902   uint16_t Connection_Handle;
1903   uint16_t Start_Handle;
1904   uint16_t End_Handle;
1905 } aci_gatt_find_included_services_cp0;
1906 
1907 typedef PACKED(struct)
1908 {
1909   uint8_t Status;
1910 } aci_gatt_find_included_services_rp0;
1911 
1912 typedef PACKED(struct)
1913 {
1914   uint16_t Connection_Handle;
1915   uint16_t Start_Handle;
1916   uint16_t End_Handle;
1917 } aci_gatt_disc_all_char_of_service_cp0;
1918 
1919 typedef PACKED(struct)
1920 {
1921   uint8_t Status;
1922 } aci_gatt_disc_all_char_of_service_rp0;
1923 
1924 typedef PACKED(struct)
1925 {
1926   uint16_t Connection_Handle;
1927   uint16_t Start_Handle;
1928   uint16_t End_Handle;
1929   uint8_t UUID_Type;
1930   UUID_t UUID;
1931 } aci_gatt_disc_char_by_uuid_cp0;
1932 
1933 typedef PACKED(struct)
1934 {
1935   uint8_t Status;
1936 } aci_gatt_disc_char_by_uuid_rp0;
1937 
1938 typedef PACKED(struct)
1939 {
1940   uint16_t Connection_Handle;
1941   uint16_t Char_Handle;
1942   uint16_t End_Handle;
1943 } aci_gatt_disc_all_char_desc_cp0;
1944 
1945 typedef PACKED(struct)
1946 {
1947   uint8_t Status;
1948 } aci_gatt_disc_all_char_desc_rp0;
1949 
1950 typedef PACKED(struct)
1951 {
1952   uint16_t Connection_Handle;
1953   uint16_t Attr_Handle;
1954 } aci_gatt_read_char_value_cp0;
1955 
1956 typedef PACKED(struct)
1957 {
1958   uint8_t Status;
1959 } aci_gatt_read_char_value_rp0;
1960 
1961 typedef PACKED(struct)
1962 {
1963   uint16_t Connection_Handle;
1964   uint16_t Start_Handle;
1965   uint16_t End_Handle;
1966   uint8_t UUID_Type;
1967   UUID_t UUID;
1968 } aci_gatt_read_using_char_uuid_cp0;
1969 
1970 typedef PACKED(struct)
1971 {
1972   uint8_t Status;
1973 } aci_gatt_read_using_char_uuid_rp0;
1974 
1975 typedef PACKED(struct)
1976 {
1977   uint16_t Connection_Handle;
1978   uint16_t Attr_Handle;
1979   uint16_t Val_Offset;
1980 } aci_gatt_read_long_char_value_cp0;
1981 
1982 typedef PACKED(struct)
1983 {
1984   uint8_t Status;
1985 } aci_gatt_read_long_char_value_rp0;
1986 
1987 typedef PACKED(struct)
1988 {
1989   uint16_t Connection_Handle;
1990   uint8_t Number_of_Handles;
1991   Handle_Entry_t Handle_Entry[(BLE_CMD_MAX_PARAM_LEN - 3)/sizeof(Handle_Entry_t)];
1992 } aci_gatt_read_multiple_char_value_cp0;
1993 
1994 typedef PACKED(struct)
1995 {
1996   uint8_t Status;
1997 } aci_gatt_read_multiple_char_value_rp0;
1998 
1999 typedef PACKED(struct)
2000 {
2001   uint16_t Connection_Handle;
2002   uint16_t Attr_Handle;
2003   uint8_t Attribute_Val_Length;
2004   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 5)/sizeof(uint8_t)];
2005 } aci_gatt_write_char_value_cp0;
2006 
2007 typedef PACKED(struct)
2008 {
2009   uint8_t Status;
2010 } aci_gatt_write_char_value_rp0;
2011 
2012 typedef PACKED(struct)
2013 {
2014   uint16_t Connection_Handle;
2015   uint16_t Attr_Handle;
2016   uint16_t Val_Offset;
2017   uint8_t Attribute_Val_Length;
2018   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 7)/sizeof(uint8_t)];
2019 } aci_gatt_write_long_char_value_cp0;
2020 
2021 typedef PACKED(struct)
2022 {
2023   uint8_t Status;
2024 } aci_gatt_write_long_char_value_rp0;
2025 
2026 typedef PACKED(struct)
2027 {
2028   uint16_t Connection_Handle;
2029   uint16_t Attr_Handle;
2030   uint16_t Val_Offset;
2031   uint8_t Attribute_Val_Length;
2032   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 7)/sizeof(uint8_t)];
2033 } aci_gatt_write_char_reliable_cp0;
2034 
2035 typedef PACKED(struct)
2036 {
2037   uint8_t Status;
2038 } aci_gatt_write_char_reliable_rp0;
2039 
2040 typedef PACKED(struct)
2041 {
2042   uint16_t Connection_Handle;
2043   uint16_t Attr_Handle;
2044   uint16_t Val_Offset;
2045   uint8_t Attribute_Val_Length;
2046   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 7)/sizeof(uint8_t)];
2047 } aci_gatt_write_long_char_desc_cp0;
2048 
2049 typedef PACKED(struct)
2050 {
2051   uint8_t Status;
2052 } aci_gatt_write_long_char_desc_rp0;
2053 
2054 typedef PACKED(struct)
2055 {
2056   uint16_t Connection_Handle;
2057   uint16_t Attr_Handle;
2058   uint16_t Val_Offset;
2059 } aci_gatt_read_long_char_desc_cp0;
2060 
2061 typedef PACKED(struct)
2062 {
2063   uint8_t Status;
2064 } aci_gatt_read_long_char_desc_rp0;
2065 
2066 typedef PACKED(struct)
2067 {
2068   uint16_t Connection_Handle;
2069   uint16_t Attr_Handle;
2070   uint8_t Attribute_Val_Length;
2071   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 5)/sizeof(uint8_t)];
2072 } aci_gatt_write_char_desc_cp0;
2073 
2074 typedef PACKED(struct)
2075 {
2076   uint8_t Status;
2077 } aci_gatt_write_char_desc_rp0;
2078 
2079 typedef PACKED(struct)
2080 {
2081   uint16_t Connection_Handle;
2082   uint16_t Attr_Handle;
2083 } aci_gatt_read_char_desc_cp0;
2084 
2085 typedef PACKED(struct)
2086 {
2087   uint8_t Status;
2088 } aci_gatt_read_char_desc_rp0;
2089 
2090 typedef PACKED(struct)
2091 {
2092   uint16_t Connection_Handle;
2093   uint16_t Attr_Handle;
2094   uint8_t Attribute_Val_Length;
2095   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 5)/sizeof(uint8_t)];
2096 } aci_gatt_write_without_resp_cp0;
2097 
2098 typedef PACKED(struct)
2099 {
2100   uint8_t Status;
2101 } aci_gatt_write_without_resp_rp0;
2102 
2103 typedef PACKED(struct)
2104 {
2105   uint16_t Connection_Handle;
2106   uint16_t Attr_Handle;
2107   uint8_t Attribute_Val_Length;
2108   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 5)/sizeof(uint8_t)];
2109 } aci_gatt_signed_write_without_resp_cp0;
2110 
2111 typedef PACKED(struct)
2112 {
2113   uint8_t Status;
2114 } aci_gatt_signed_write_without_resp_rp0;
2115 
2116 typedef PACKED(struct)
2117 {
2118   uint16_t Connection_Handle;
2119 } aci_gatt_confirm_indication_cp0;
2120 
2121 typedef PACKED(struct)
2122 {
2123   uint8_t Status;
2124 } aci_gatt_confirm_indication_rp0;
2125 
2126 typedef PACKED(struct)
2127 {
2128   uint16_t Connection_Handle;
2129   uint16_t Attr_Handle;
2130   uint8_t Write_status;
2131   uint8_t Error_Code;
2132   uint8_t Attribute_Val_Length;
2133   uint8_t Attribute_Val[(BLE_CMD_MAX_PARAM_LEN - 7)/sizeof(uint8_t)];
2134 } aci_gatt_write_resp_cp0;
2135 
2136 typedef PACKED(struct)
2137 {
2138   uint8_t Status;
2139 } aci_gatt_write_resp_rp0;
2140 
2141 typedef PACKED(struct)
2142 {
2143   uint16_t Connection_Handle;
2144 } aci_gatt_allow_read_cp0;
2145 
2146 typedef PACKED(struct)
2147 {
2148   uint8_t Status;
2149 } aci_gatt_allow_read_rp0;
2150 
2151 typedef PACKED(struct)
2152 {
2153   uint16_t Serv_Handle;
2154   uint16_t Attr_Handle;
2155   uint8_t Security_Permissions;
2156 } aci_gatt_set_security_permission_cp0;
2157 
2158 typedef PACKED(struct)
2159 {
2160   uint8_t Status;
2161 } aci_gatt_set_security_permission_rp0;
2162 
2163 typedef PACKED(struct)
2164 {
2165   uint16_t Serv_Handle;
2166   uint16_t Char_Handle;
2167   uint16_t Char_Desc_Handle;
2168   uint16_t Val_Offset;
2169   uint8_t Char_Desc_Value_Length;
2170   uint8_t Char_Desc_Value[(BLE_CMD_MAX_PARAM_LEN - 9)/sizeof(uint8_t)];
2171 } aci_gatt_set_desc_value_cp0;
2172 
2173 typedef PACKED(struct)
2174 {
2175   uint8_t Status;
2176 } aci_gatt_set_desc_value_rp0;
2177 
2178 typedef PACKED(struct)
2179 {
2180   uint16_t Attr_Handle;
2181   uint16_t Offset;
2182   uint16_t Value_Length_Requested;
2183 } aci_gatt_read_handle_value_cp0;
2184 
2185 typedef PACKED(struct)
2186 {
2187   uint8_t Status;
2188   uint16_t Length;
2189   uint16_t Value_Length;
2190   uint8_t Value[((BLE_EVT_MAX_PARAM_LEN - 3) - 5)/sizeof(uint8_t)];
2191 } aci_gatt_read_handle_value_rp0;
2192 
2193 typedef PACKED(struct)
2194 {
2195   uint16_t Conn_Handle_To_Notify;
2196   uint16_t Service_Handle;
2197   uint16_t Char_Handle;
2198   uint8_t Update_Type;
2199   uint16_t Char_Length;
2200   uint16_t Value_Offset;
2201   uint8_t Value_Length;
2202   uint8_t Value[(BLE_CMD_MAX_PARAM_LEN - 12)/sizeof(uint8_t)];
2203 } aci_gatt_update_char_value_ext_cp0;
2204 
2205 typedef PACKED(struct)
2206 {
2207   uint8_t Status;
2208 } aci_gatt_update_char_value_ext_rp0;
2209 
2210 typedef PACKED(struct)
2211 {
2212   uint16_t Connection_Handle;
2213   uint8_t Error_Code;
2214 } aci_gatt_deny_read_cp0;
2215 
2216 typedef PACKED(struct)
2217 {
2218   uint8_t Status;
2219 } aci_gatt_deny_read_rp0;
2220 
2221 typedef PACKED(struct)
2222 {
2223   uint16_t Serv_Handle;
2224   uint16_t Attr_Handle;
2225   uint8_t Access_Permissions;
2226 } aci_gatt_set_access_permission_cp0;
2227 
2228 typedef PACKED(struct)
2229 {
2230   uint8_t Status;
2231 } aci_gatt_set_access_permission_rp0;
2232 
2233 typedef PACKED(struct)
2234 {
2235   uint16_t Connection_Handle;
2236   uint16_t Conn_Interval_Min;
2237   uint16_t Conn_Interval_Max;
2238   uint16_t Slave_latency;
2239   uint16_t Timeout_Multiplier;
2240 } aci_l2cap_connection_parameter_update_req_cp0;
2241 
2242 typedef PACKED(struct)
2243 {
2244   uint8_t Status;
2245 } aci_l2cap_connection_parameter_update_req_rp0;
2246 
2247 typedef PACKED(struct)
2248 {
2249   uint16_t Connection_Handle;
2250   uint16_t Conn_Interval_Min;
2251   uint16_t Conn_Interval_Max;
2252   uint16_t Slave_latency;
2253   uint16_t Timeout_Multiplier;
2254   uint16_t Minimum_CE_Length;
2255   uint16_t Maximum_CE_Length;
2256   uint8_t Identifier;
2257   uint8_t Accept;
2258 } aci_l2cap_connection_parameter_update_resp_cp0;
2259 
2260 typedef PACKED(struct)
2261 {
2262   uint8_t Status;
2263 } aci_l2cap_connection_parameter_update_resp_rp0;
2264 
2265 typedef PACKED(struct)
2266 {
2267   uint8_t Status;
2268   uint16_t Connection_Handle;
2269   uint8_t Reason;
2270 } hci_disconnection_complete_event_rp0;
2271 
2272 typedef PACKED(struct)
2273 {
2274   uint8_t Status;
2275   uint16_t Connection_Handle;
2276   uint8_t Encryption_Enabled;
2277 } hci_encryption_change_event_rp0;
2278 
2279 typedef PACKED(struct)
2280 {
2281   uint8_t Status;
2282   uint16_t Connection_Handle;
2283   uint8_t Version;
2284   uint16_t Manufacturer_Name;
2285   uint16_t Subversion;
2286 } hci_read_remote_version_information_complete_event_rp0;
2287 
2288 typedef PACKED(struct)
2289 {
2290   uint8_t Hardware_Code;
2291 } hci_hardware_error_event_rp0;
2292 
2293 typedef PACKED(struct)
2294 {
2295   uint8_t Number_of_Handles;
2296   Handle_Packets_Pair_Entry_t Handle_Packets_Pair_Entry[(BLE_EVT_MAX_PARAM_LEN - 1)/sizeof(Handle_Packets_Pair_Entry_t)];
2297 } hci_number_of_completed_packets_event_rp0;
2298 
2299 typedef PACKED(struct)
2300 {
2301   uint8_t Link_Type;
2302 } hci_data_buffer_overflow_event_rp0;
2303 
2304 typedef PACKED(struct)
2305 {
2306   uint8_t Status;
2307   uint16_t Connection_Handle;
2308 } hci_encryption_key_refresh_complete_event_rp0;
2309 
2310 typedef PACKED(struct)
2311 {
2312   uint8_t Last_State;
2313   uint8_t Next_State;
2314   uint32_t Next_State_SysTime;
2315 } aci_hal_end_of_radio_activity_event_rp0;
2316 
2317 typedef PACKED(struct)
2318 {
2319   uint8_t RSSI;
2320   uint8_t Peer_Address_Type;
2321   uint8_t Peer_Address[6];
2322 } aci_hal_scan_req_report_event_rp0;
2323 
2324 typedef PACKED(struct)
2325 {
2326   uint8_t FW_Error_Type;
2327   uint8_t Data_Length;
2328   uint8_t Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 2)/sizeof(uint8_t)];
2329 } aci_hal_fw_error_event_rp0;
2330 
2331 typedef PACKED(struct)
2332 {
2333   uint16_t Connection_Handle;
2334   uint8_t Status;
2335   uint8_t Reason;
2336 } aci_gap_pairing_complete_event_rp0;
2337 
2338 typedef PACKED(struct)
2339 {
2340   uint16_t Connection_Handle;
2341 } aci_gap_pass_key_req_event_rp0;
2342 
2343 typedef PACKED(struct)
2344 {
2345   uint16_t Connection_Handle;
2346 } aci_gap_authorization_req_event_rp0;
2347 
2348 typedef PACKED(struct)
2349 {
2350   uint8_t Procedure_Code;
2351   uint8_t Status;
2352   uint8_t Data_Length;
2353   uint8_t Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(uint8_t)];
2354 } aci_gap_proc_complete_event_rp0;
2355 
2356 typedef PACKED(struct)
2357 {
2358   uint16_t Connection_Handle;
2359 } aci_gap_addr_not_resolved_event_rp0;
2360 
2361 typedef PACKED(struct)
2362 {
2363   uint16_t Connection_Handle;
2364   uint32_t Numeric_Value;
2365 } aci_gap_numeric_comparison_value_event_rp0;
2366 
2367 typedef PACKED(struct)
2368 {
2369   uint16_t Connection_Handle;
2370   uint8_t Notification_Type;
2371 } aci_gap_keypress_notification_event_rp0;
2372 
2373 typedef PACKED(struct)
2374 {
2375   uint16_t Connection_Handle;
2376   uint16_t Result;
2377 } aci_l2cap_connection_update_resp_event_rp0;
2378 
2379 typedef PACKED(struct)
2380 {
2381   uint16_t Connection_Handle;
2382   uint8_t Data_Length;
2383   uint8_t Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(uint8_t)];
2384 } aci_l2cap_proc_timeout_event_rp0;
2385 
2386 typedef PACKED(struct)
2387 {
2388   uint16_t Connection_Handle;
2389   uint8_t Identifier;
2390   uint16_t L2CAP_Length;
2391   uint16_t Interval_Min;
2392   uint16_t Interval_Max;
2393   uint16_t Slave_Latency;
2394   uint16_t Timeout_Multiplier;
2395 } aci_l2cap_connection_update_req_event_rp0;
2396 
2397 typedef PACKED(struct)
2398 {
2399   uint16_t Connection_Handle;
2400   uint8_t Identifier;
2401   uint16_t Reason;
2402   uint8_t Data_Length;
2403   uint8_t Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 6)/sizeof(uint8_t)];
2404 } aci_l2cap_command_reject_event_rp0;
2405 
2406 typedef PACKED(struct)
2407 {
2408   uint16_t Connection_Handle;
2409   uint16_t Attr_Handle;
2410   uint16_t Offset;
2411   uint16_t Attr_Data_Length;
2412   uint8_t Attr_Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 8)/sizeof(uint8_t)];
2413 } aci_gatt_attribute_modified_event_rp0;
2414 
2415 typedef PACKED(struct)
2416 {
2417   uint16_t Connection_Handle;
2418 } aci_gatt_proc_timeout_event_rp0;
2419 
2420 typedef PACKED(struct)
2421 {
2422   uint16_t Connection_Handle;
2423   uint16_t Server_RX_MTU;
2424 } aci_att_exchange_mtu_resp_event_rp0;
2425 
2426 typedef PACKED(struct)
2427 {
2428   uint16_t Connection_Handle;
2429   uint8_t Format;
2430   uint8_t Event_Data_Length;
2431   uint8_t Handle_UUID_Pair[((BLE_EVT_MAX_PARAM_LEN - 2) - 4)/sizeof(uint8_t)];
2432 } aci_att_find_info_resp_event_rp0;
2433 
2434 typedef PACKED(struct)
2435 {
2436   uint16_t Connection_Handle;
2437   uint8_t Num_of_Handle_Pair;
2438   Attribute_Group_Handle_Pair_t Attribute_Group_Handle_Pair[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(Attribute_Group_Handle_Pair_t)];
2439 } aci_att_find_by_type_value_resp_event_rp0;
2440 
2441 typedef PACKED(struct)
2442 {
2443   uint16_t Connection_Handle;
2444   uint8_t Handle_Value_Pair_Length;
2445   uint8_t Data_Length;
2446   uint8_t Handle_Value_Pair_Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 4)/sizeof(uint8_t)];
2447 } aci_att_read_by_type_resp_event_rp0;
2448 
2449 typedef PACKED(struct)
2450 {
2451   uint16_t Connection_Handle;
2452   uint8_t Event_Data_Length;
2453   uint8_t Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(uint8_t)];
2454 } aci_att_read_resp_event_rp0;
2455 
2456 typedef PACKED(struct)
2457 {
2458   uint16_t Connection_Handle;
2459   uint8_t Event_Data_Length;
2460   uint8_t Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(uint8_t)];
2461 } aci_att_read_blob_resp_event_rp0;
2462 
2463 typedef PACKED(struct)
2464 {
2465   uint16_t Connection_Handle;
2466   uint8_t Event_Data_Length;
2467   uint8_t Set_Of_Values[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(uint8_t)];
2468 } aci_att_read_multiple_resp_event_rp0;
2469 
2470 typedef PACKED(struct)
2471 {
2472   uint16_t Connection_Handle;
2473   uint8_t Attribute_Data_Length;
2474   uint8_t Data_Length;
2475   uint8_t Attribute_Data_List[((BLE_EVT_MAX_PARAM_LEN - 2) - 4)/sizeof(uint8_t)];
2476 } aci_att_read_by_group_type_resp_event_rp0;
2477 
2478 typedef PACKED(struct)
2479 {
2480   uint16_t Connection_Handle;
2481   uint16_t Attribute_Handle;
2482   uint16_t Offset;
2483   uint8_t Part_Attribute_Value_Length;
2484   uint8_t Part_Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 7)/sizeof(uint8_t)];
2485 } aci_att_prepare_write_resp_event_rp0;
2486 
2487 typedef PACKED(struct)
2488 {
2489   uint16_t Connection_Handle;
2490 } aci_att_exec_write_resp_event_rp0;
2491 
2492 typedef PACKED(struct)
2493 {
2494   uint16_t Connection_Handle;
2495   uint16_t Attribute_Handle;
2496   uint8_t Attribute_Value_Length;
2497   uint8_t Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 5)/sizeof(uint8_t)];
2498 } aci_gatt_indication_event_rp0;
2499 
2500 typedef PACKED(struct)
2501 {
2502   uint16_t Connection_Handle;
2503   uint16_t Attribute_Handle;
2504   uint8_t Attribute_Value_Length;
2505   uint8_t Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 5)/sizeof(uint8_t)];
2506 } aci_gatt_notification_event_rp0;
2507 
2508 typedef PACKED(struct)
2509 {
2510   uint16_t Connection_Handle;
2511   uint8_t Error_Code;
2512 } aci_gatt_proc_complete_event_rp0;
2513 
2514 typedef PACKED(struct)
2515 {
2516   uint16_t Connection_Handle;
2517   uint8_t Req_Opcode;
2518   uint16_t Attribute_Handle;
2519   uint8_t Error_Code;
2520 } aci_gatt_error_resp_event_rp0;
2521 
2522 typedef PACKED(struct)
2523 {
2524   uint16_t Connection_Handle;
2525   uint16_t Attribute_Handle;
2526   uint8_t Attribute_Value_Length;
2527   uint8_t Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 5)/sizeof(uint8_t)];
2528 } aci_gatt_disc_read_char_by_uuid_resp_event_rp0;
2529 
2530 typedef PACKED(struct)
2531 {
2532   uint16_t Connection_Handle;
2533   uint16_t Attribute_Handle;
2534   uint8_t Data_Length;
2535   uint8_t Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 5)/sizeof(uint8_t)];
2536 } aci_gatt_write_permit_req_event_rp0;
2537 
2538 typedef PACKED(struct)
2539 {
2540   uint16_t Connection_Handle;
2541   uint16_t Attribute_Handle;
2542   uint16_t Offset;
2543 } aci_gatt_read_permit_req_event_rp0;
2544 
2545 typedef PACKED(struct)
2546 {
2547   uint16_t Connection_Handle;
2548   uint8_t Number_of_Handles;
2549   Handle_Item_t Handle_Item[((BLE_EVT_MAX_PARAM_LEN - 2) - 3)/sizeof(Handle_Item_t)];
2550 } aci_gatt_read_multi_permit_req_event_rp0;
2551 
2552 typedef PACKED(struct)
2553 {
2554   uint16_t Connection_Handle;
2555   uint16_t Available_Buffers;
2556 } aci_gatt_tx_pool_available_event_rp0;
2557 
2558 typedef PACKED(struct)
2559 {
2560   uint16_t Connection_Handle;
2561 } aci_gatt_server_confirmation_event_rp0;
2562 
2563 typedef PACKED(struct)
2564 {
2565   uint16_t Connection_Handle;
2566   uint16_t Attribute_Handle;
2567   uint16_t Offset;
2568   uint8_t Data_Length;
2569   uint8_t Data[((BLE_EVT_MAX_PARAM_LEN - 2) - 7)/sizeof(uint8_t)];
2570 } aci_gatt_prepare_write_permit_req_event_rp0;
2571 
2572 typedef PACKED(struct)
2573 {
2574   uint16_t Connection_Handle;
2575   uint16_t Attribute_Handle;
2576   uint16_t Offset;
2577   uint16_t Attribute_Value_Length;
2578   uint8_t Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 8)/sizeof(uint8_t)];
2579 } aci_gatt_indication_ext_event_rp0;
2580 
2581 typedef PACKED(struct)
2582 {
2583   uint16_t Connection_Handle;
2584   uint16_t Attribute_Handle;
2585   uint16_t Offset;
2586   uint16_t Attribute_Value_Length;
2587   uint8_t Attribute_Value[((BLE_EVT_MAX_PARAM_LEN - 2) - 8)/sizeof(uint8_t)];
2588 } aci_gatt_notification_ext_event_rp0;
2589 
2590 typedef PACKED(struct)
2591 {
2592   uint8_t Status;
2593   uint16_t Connection_Handle;
2594   uint8_t Role;
2595   uint8_t Peer_Address_Type;
2596   uint8_t Peer_Address[6];
2597   uint16_t Conn_Interval;
2598   uint16_t Conn_Latency;
2599   uint16_t Supervision_Timeout;
2600   uint8_t Master_Clock_Accuracy;
2601 } hci_le_connection_complete_event_rp0;
2602 
2603 typedef PACKED(struct)
2604 {
2605   uint8_t Num_Reports;
2606   Advertising_Report_t Advertising_Report[((BLE_EVT_MAX_PARAM_LEN - 1) - 1)/sizeof(Advertising_Report_t)];
2607 } hci_le_advertising_report_event_rp0;
2608 
2609 typedef PACKED(struct)
2610 {
2611   uint8_t Status;
2612   uint16_t Connection_Handle;
2613   uint16_t Conn_Interval;
2614   uint16_t Conn_Latency;
2615   uint16_t Supervision_Timeout;
2616 } hci_le_connection_update_complete_event_rp0;
2617 
2618 typedef PACKED(struct)
2619 {
2620   uint8_t Status;
2621   uint16_t Connection_Handle;
2622   uint8_t LE_Features[8];
2623 } hci_le_read_remote_used_features_complete_event_rp0;
2624 
2625 typedef PACKED(struct)
2626 {
2627   uint16_t Connection_Handle;
2628   uint8_t Random_Number[8];
2629   uint16_t Encrypted_Diversifier;
2630 } hci_le_long_term_key_request_event_rp0;
2631 
2632 typedef PACKED(struct)
2633 {
2634   uint16_t Connection_Handle;
2635   uint16_t MaxTxOctets;
2636   uint16_t MaxTxTime;
2637   uint16_t MaxRxOctets;
2638   uint16_t MaxRxTime;
2639 } hci_le_data_length_change_event_rp0;
2640 
2641 typedef PACKED(struct)
2642 {
2643   uint8_t Status;
2644   uint8_t Local_P256_Public_Key[64];
2645 } hci_le_read_local_p256_public_key_complete_event_rp0;
2646 
2647 typedef PACKED(struct)
2648 {
2649   uint8_t Status;
2650   uint8_t DHKey[32];
2651 } hci_le_generate_dhkey_complete_event_rp0;
2652 
2653 typedef PACKED(struct)
2654 {
2655   uint8_t Status;
2656   uint16_t Connection_Handle;
2657   uint8_t Role;
2658   uint8_t Peer_Address_Type;
2659   uint8_t Peer_Address[6];
2660   uint8_t Local_Resolvable_Private_Address[6];
2661   uint8_t Peer_Resolvable_Private_Address[6];
2662   uint16_t Conn_Interval;
2663   uint16_t Conn_Latency;
2664   uint16_t Supervision_Timeout;
2665   uint8_t Master_Clock_Accuracy;
2666 } hci_le_enhanced_connection_complete_event_rp0;
2667 
2668 typedef PACKED(struct)
2669 {
2670   uint8_t Num_Reports;
2671   Direct_Advertising_Report_t Direct_Advertising_Report[((BLE_EVT_MAX_PARAM_LEN - 1) - 1)/sizeof(Direct_Advertising_Report_t)];
2672 } hci_le_direct_advertising_report_event_rp0;
2673 
2674 typedef PACKED(struct)
2675 {
2676   uint8_t Status;
2677   uint16_t Connection_Handle;
2678   uint8_t TX_PHY;
2679   uint8_t RX_PHY;
2680 } hci_le_phy_update_complete_event_rp0;
2681 
2682 
2683 #endif /* ! BLE_TYPES_H__ */
2684