xref: /btstack/src/btstack_event.h (revision 0e2df43f5cbae3fc71139523458b98f30307d21b)
1 /*
2  * Copyright (C) 2016 BlueKitchen GmbH
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of the copyright holders nor the names of
14  *    contributors may be used to endorse or promote products derived
15  *    from this software without specific prior written permission.
16  * 4. Any redistribution, use, or modification is done solely for
17  *    personal benefit and not for any commercial purpose or for
18  *    monetary gain.
19  *
20  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
21  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
24  * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31  * SUCH DAMAGE.
32  *
33  * Please inquire about commercial licensing options at
34  * [email protected]
35  *
36  */
37 
38 
39 /*
40  *  btstack_event.h
41  *
42  *  @brief BTstack event getter/setter
43  *  @note  Don't edit - generated by tool/btstack_event_generator.py
44  *
45  */
46 
47 #ifndef __BTSTACK_EVENT_H
48 #define __BTSTACK_EVENT_H
49 
50 #if defined __cplusplus
51 extern "C" {
52 #endif
53 
54 #include "btstack_util.h"
55 #include <stdint.h>
56 
57 #ifdef ENABLE_BLE
58 #include "ble/gatt_client.h"
59 #endif
60 
61 /* API_START */
62 
63 /**
64  * @brief Get event type
65  * @param event
66  * @return type of event
67  */
68 static inline uint8_t hci_event_packet_get_type(const uint8_t * event){
69     return event[0];
70 }
71 
72 /***
73  * @brief Get subevent code for hsp event
74  * @param event packet
75  * @return subevent_code
76  */
77 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){
78     return event[2];
79 }
80 /***
81  * @brief Get subevent code for hfp event
82  * @param event packet
83  * @return subevent_code
84  */
85 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){
86     return event[2];
87 }
88 /***
89  * @brief Get subevent code for ancs event
90  * @param event packet
91  * @return subevent_code
92  */
93 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){
94     return event[2];
95 }
96 /**
97  * @brief Get field status from event hci_event_inquiry_complete
98  * @param event packet
99  * @return status
100  * @note: btstack_type 1
101  */
102 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){
103     return event[2];
104 }
105 
106 /**
107  * @brief Get field num_responses from event hci_event_inquiry_result
108  * @param event packet
109  * @return num_responses
110  * @note: btstack_type 1
111  */
112 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){
113     return event[2];
114 }
115 /**
116  * @brief Get field bd_addr from event hci_event_inquiry_result
117  * @param event packet
118  * @param Pointer to storage for bd_addr
119  * @note: btstack_type B
120  */
121 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
122     reverse_bd_addr(&event[3], bd_addr);
123 }
124 /**
125  * @brief Get field page_scan_repetition_mode from event hci_event_inquiry_result
126  * @param event packet
127  * @return page_scan_repetition_mode
128  * @note: btstack_type 1
129  */
130 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){
131     return event[9];
132 }
133 /**
134  * @brief Get field reserved1 from event hci_event_inquiry_result
135  * @param event packet
136  * @return reserved1
137  * @note: btstack_type 1
138  */
139 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){
140     return event[10];
141 }
142 /**
143  * @brief Get field reserved2 from event hci_event_inquiry_result
144  * @param event packet
145  * @return reserved2
146  * @note: btstack_type 1
147  */
148 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){
149     return event[11];
150 }
151 /**
152  * @brief Get field class_of_device from event hci_event_inquiry_result
153  * @param event packet
154  * @return class_of_device
155  * @note: btstack_type 3
156  */
157 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){
158     return little_endian_read_24(event, 12);
159 }
160 /**
161  * @brief Get field clock_offset from event hci_event_inquiry_result
162  * @param event packet
163  * @return clock_offset
164  * @note: btstack_type 2
165  */
166 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){
167     return little_endian_read_16(event, 15);
168 }
169 
170 /**
171  * @brief Get field status from event hci_event_connection_complete
172  * @param event packet
173  * @return status
174  * @note: btstack_type 1
175  */
176 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){
177     return event[2];
178 }
179 /**
180  * @brief Get field connection_handle from event hci_event_connection_complete
181  * @param event packet
182  * @return connection_handle
183  * @note: btstack_type 2
184  */
185 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){
186     return little_endian_read_16(event, 3);
187 }
188 /**
189  * @brief Get field bd_addr from event hci_event_connection_complete
190  * @param event packet
191  * @param Pointer to storage for bd_addr
192  * @note: btstack_type B
193  */
194 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
195     reverse_bd_addr(&event[5], bd_addr);
196 }
197 /**
198  * @brief Get field link_type from event hci_event_connection_complete
199  * @param event packet
200  * @return link_type
201  * @note: btstack_type 1
202  */
203 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){
204     return event[11];
205 }
206 /**
207  * @brief Get field encryption_enabled from event hci_event_connection_complete
208  * @param event packet
209  * @return encryption_enabled
210  * @note: btstack_type 1
211  */
212 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){
213     return event[12];
214 }
215 
216 /**
217  * @brief Get field bd_addr from event hci_event_connection_request
218  * @param event packet
219  * @param Pointer to storage for bd_addr
220  * @note: btstack_type B
221  */
222 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
223     reverse_bd_addr(&event[2], bd_addr);
224 }
225 /**
226  * @brief Get field class_of_device from event hci_event_connection_request
227  * @param event packet
228  * @return class_of_device
229  * @note: btstack_type 3
230  */
231 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){
232     return little_endian_read_24(event, 8);
233 }
234 /**
235  * @brief Get field link_type from event hci_event_connection_request
236  * @param event packet
237  * @return link_type
238  * @note: btstack_type 1
239  */
240 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){
241     return event[11];
242 }
243 
244 /**
245  * @brief Get field status from event hci_event_disconnection_complete
246  * @param event packet
247  * @return status
248  * @note: btstack_type 1
249  */
250 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){
251     return event[2];
252 }
253 /**
254  * @brief Get field connection_handle from event hci_event_disconnection_complete
255  * @param event packet
256  * @return connection_handle
257  * @note: btstack_type 2
258  */
259 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){
260     return little_endian_read_16(event, 3);
261 }
262 /**
263  * @brief Get field reason from event hci_event_disconnection_complete
264  * @param event packet
265  * @return reason
266  * @note: btstack_type 1
267  */
268 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){
269     return event[5];
270 }
271 
272 /**
273  * @brief Get field status from event hci_event_authentication_complete_event
274  * @param event packet
275  * @return status
276  * @note: btstack_type 1
277  */
278 static inline uint8_t hci_event_authentication_complete_event_get_status(const uint8_t * event){
279     return event[2];
280 }
281 /**
282  * @brief Get field connection_handle from event hci_event_authentication_complete_event
283  * @param event packet
284  * @return connection_handle
285  * @note: btstack_type 2
286  */
287 static inline uint16_t hci_event_authentication_complete_event_get_connection_handle(const uint8_t * event){
288     return little_endian_read_16(event, 3);
289 }
290 
291 /**
292  * @brief Get field status from event hci_event_remote_name_request_complete
293  * @param event packet
294  * @return status
295  * @note: btstack_type 1
296  */
297 //  static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){
298 //      not implemented yet
299 //  }
300 /**
301  * @brief Get field bd_addr from event hci_event_remote_name_request_complete
302  * @param event packet
303  * @return bd_addr
304  * @note: btstack_type B
305  */
306 //  static inline bd_addr_t hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event){
307 //      not implemented yet
308 //  }
309 /**
310  * @brief Get field remote_name from event hci_event_remote_name_request_complete
311  * @param event packet
312  * @return remote_name
313  * @note: btstack_type N
314  */
315 //  static inline String hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){
316 //      not implemented yet
317 //  }
318 
319 /**
320  * @brief Get field status from event hci_event_encryption_change
321  * @param event packet
322  * @return status
323  * @note: btstack_type 1
324  */
325 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){
326     return event[2];
327 }
328 /**
329  * @brief Get field connection_handle from event hci_event_encryption_change
330  * @param event packet
331  * @return connection_handle
332  * @note: btstack_type 2
333  */
334 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){
335     return little_endian_read_16(event, 3);
336 }
337 /**
338  * @brief Get field encryption_enabled from event hci_event_encryption_change
339  * @param event packet
340  * @return encryption_enabled
341  * @note: btstack_type 1
342  */
343 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){
344     return event[5];
345 }
346 
347 /**
348  * @brief Get field status from event hci_event_change_connection_link_key_complete
349  * @param event packet
350  * @return status
351  * @note: btstack_type 1
352  */
353 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){
354     return event[2];
355 }
356 /**
357  * @brief Get field connection_handle from event hci_event_change_connection_link_key_complete
358  * @param event packet
359  * @return connection_handle
360  * @note: btstack_type 2
361  */
362 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){
363     return little_endian_read_16(event, 3);
364 }
365 
366 /**
367  * @brief Get field status from event hci_event_master_link_key_complete
368  * @param event packet
369  * @return status
370  * @note: btstack_type 1
371  */
372 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){
373     return event[2];
374 }
375 /**
376  * @brief Get field connection_handle from event hci_event_master_link_key_complete
377  * @param event packet
378  * @return connection_handle
379  * @note: btstack_type 2
380  */
381 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){
382     return little_endian_read_16(event, 3);
383 }
384 /**
385  * @brief Get field key_flag from event hci_event_master_link_key_complete
386  * @param event packet
387  * @return key_flag
388  * @note: btstack_type 1
389  */
390 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){
391     return event[5];
392 }
393 
394 /**
395  * @brief Get field num_hci_command_packets from event hci_event_command_complete
396  * @param event packet
397  * @return num_hci_command_packets
398  * @note: btstack_type 1
399  */
400 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){
401     return event[2];
402 }
403 /**
404  * @brief Get field command_opcode from event hci_event_command_complete
405  * @param event packet
406  * @return command_opcode
407  * @note: btstack_type 2
408  */
409 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){
410     return little_endian_read_16(event, 3);
411 }
412 /**
413  * @brief Get field return_parameters from event hci_event_command_complete
414  * @param event packet
415  * @return return_parameters
416  * @note: btstack_type R
417  */
418 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){
419     return &event[5];
420 }
421 
422 /**
423  * @brief Get field status from event hci_event_command_status
424  * @param event packet
425  * @return status
426  * @note: btstack_type 1
427  */
428 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){
429     return event[2];
430 }
431 /**
432  * @brief Get field num_hci_command_packets from event hci_event_command_status
433  * @param event packet
434  * @return num_hci_command_packets
435  * @note: btstack_type 1
436  */
437 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){
438     return event[3];
439 }
440 /**
441  * @brief Get field command_opcode from event hci_event_command_status
442  * @param event packet
443  * @return command_opcode
444  * @note: btstack_type 2
445  */
446 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){
447     return little_endian_read_16(event, 4);
448 }
449 
450 /**
451  * @brief Get field hardware_code from event hci_event_hardware_error
452  * @param event packet
453  * @return hardware_code
454  * @note: btstack_type 1
455  */
456 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){
457     return event[2];
458 }
459 
460 /**
461  * @brief Get field status from event hci_event_role_change
462  * @param event packet
463  * @return status
464  * @note: btstack_type 1
465  */
466 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){
467     return event[2];
468 }
469 /**
470  * @brief Get field bd_addr from event hci_event_role_change
471  * @param event packet
472  * @param Pointer to storage for bd_addr
473  * @note: btstack_type B
474  */
475 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
476     reverse_bd_addr(&event[3], bd_addr);
477 }
478 /**
479  * @brief Get field role from event hci_event_role_change
480  * @param event packet
481  * @return role
482  * @note: btstack_type 1
483  */
484 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){
485     return event[9];
486 }
487 
488 /**
489  * @brief Get field num_responses from event hci_event_inquiry_result_with_rssi
490  * @param event packet
491  * @return num_responses
492  * @note: btstack_type 1
493  */
494 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){
495     return event[2];
496 }
497 /**
498  * @brief Get field bd_addr from event hci_event_inquiry_result_with_rssi
499  * @param event packet
500  * @param Pointer to storage for bd_addr
501  * @note: btstack_type B
502  */
503 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
504     reverse_bd_addr(&event[3], bd_addr);
505 }
506 /**
507  * @brief Get field page_scan_repetition_mode from event hci_event_inquiry_result_with_rssi
508  * @param event packet
509  * @return page_scan_repetition_mode
510  * @note: btstack_type 1
511  */
512 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){
513     return event[9];
514 }
515 /**
516  * @brief Get field reserved from event hci_event_inquiry_result_with_rssi
517  * @param event packet
518  * @return reserved
519  * @note: btstack_type 1
520  */
521 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){
522     return event[10];
523 }
524 /**
525  * @brief Get field class_of_device from event hci_event_inquiry_result_with_rssi
526  * @param event packet
527  * @return class_of_device
528  * @note: btstack_type 3
529  */
530 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){
531     return little_endian_read_24(event, 11);
532 }
533 /**
534  * @brief Get field clock_offset from event hci_event_inquiry_result_with_rssi
535  * @param event packet
536  * @return clock_offset
537  * @note: btstack_type 2
538  */
539 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){
540     return little_endian_read_16(event, 14);
541 }
542 /**
543  * @brief Get field rssi from event hci_event_inquiry_result_with_rssi
544  * @param event packet
545  * @return rssi
546  * @note: btstack_type 1
547  */
548 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){
549     return event[16];
550 }
551 
552 /**
553  * @brief Get field status from event hci_event_synchronous_connection_complete
554  * @param event packet
555  * @return status
556  * @note: btstack_type 1
557  */
558 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){
559     return event[2];
560 }
561 /**
562  * @brief Get field handle from event hci_event_synchronous_connection_complete
563  * @param event packet
564  * @return handle
565  * @note: btstack_type H
566  */
567 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){
568     return little_endian_read_16(event, 3);
569 }
570 /**
571  * @brief Get field bd_addr from event hci_event_synchronous_connection_complete
572  * @param event packet
573  * @param Pointer to storage for bd_addr
574  * @note: btstack_type B
575  */
576 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
577     reverse_bd_addr(&event[5], bd_addr);
578 }
579 /**
580  * @brief Get field link_type from event hci_event_synchronous_connection_complete
581  * @param event packet
582  * @return link_type
583  * @note: btstack_type 1
584  */
585 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){
586     return event[11];
587 }
588 /**
589  * @brief Get field transmission_interval from event hci_event_synchronous_connection_complete
590  * @param event packet
591  * @return transmission_interval
592  * @note: btstack_type 1
593  */
594 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){
595     return event[12];
596 }
597 /**
598  * @brief Get field retransmission_interval from event hci_event_synchronous_connection_complete
599  * @param event packet
600  * @return retransmission_interval
601  * @note: btstack_type 1
602  */
603 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){
604     return event[13];
605 }
606 /**
607  * @brief Get field rx_packet_length from event hci_event_synchronous_connection_complete
608  * @param event packet
609  * @return rx_packet_length
610  * @note: btstack_type 2
611  */
612 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){
613     return little_endian_read_16(event, 14);
614 }
615 /**
616  * @brief Get field tx_packet_length from event hci_event_synchronous_connection_complete
617  * @param event packet
618  * @return tx_packet_length
619  * @note: btstack_type 2
620  */
621 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){
622     return little_endian_read_16(event, 16);
623 }
624 /**
625  * @brief Get field air_mode from event hci_event_synchronous_connection_complete
626  * @param event packet
627  * @return air_mode
628  * @note: btstack_type 1
629  */
630 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){
631     return event[18];
632 }
633 
634 /**
635  * @brief Get field num_responses from event hci_event_extended_inquiry_response
636  * @param event packet
637  * @return num_responses
638  * @note: btstack_type 1
639  */
640 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){
641     return event[2];
642 }
643 /**
644  * @brief Get field bd_addr from event hci_event_extended_inquiry_response
645  * @param event packet
646  * @param Pointer to storage for bd_addr
647  * @note: btstack_type B
648  */
649 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
650     reverse_bd_addr(&event[3], bd_addr);
651 }
652 /**
653  * @brief Get field page_scan_repetition_mode from event hci_event_extended_inquiry_response
654  * @param event packet
655  * @return page_scan_repetition_mode
656  * @note: btstack_type 1
657  */
658 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){
659     return event[9];
660 }
661 /**
662  * @brief Get field reserved from event hci_event_extended_inquiry_response
663  * @param event packet
664  * @return reserved
665  * @note: btstack_type 1
666  */
667 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){
668     return event[10];
669 }
670 /**
671  * @brief Get field class_of_device from event hci_event_extended_inquiry_response
672  * @param event packet
673  * @return class_of_device
674  * @note: btstack_type 3
675  */
676 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){
677     return little_endian_read_24(event, 11);
678 }
679 /**
680  * @brief Get field clock_offset from event hci_event_extended_inquiry_response
681  * @param event packet
682  * @return clock_offset
683  * @note: btstack_type 2
684  */
685 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){
686     return little_endian_read_16(event, 14);
687 }
688 /**
689  * @brief Get field rssi from event hci_event_extended_inquiry_response
690  * @param event packet
691  * @return rssi
692  * @note: btstack_type 1
693  */
694 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){
695     return event[16];
696 }
697 
698 /**
699  * @brief Get field status from event hci_event_encryption_key_refresh_complete
700  * @param event packet
701  * @return status
702  * @note: btstack_type 1
703  */
704 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){
705     return event[2];
706 }
707 /**
708  * @brief Get field handle from event hci_event_encryption_key_refresh_complete
709  * @param event packet
710  * @return handle
711  * @note: btstack_type H
712  */
713 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){
714     return little_endian_read_16(event, 3);
715 }
716 
717 /**
718  * @brief Get field subevent_code from event hci_subevent_le_connection_complete
719  * @param event packet
720  * @return subevent_code
721  * @note: btstack_type 1
722  */
723 static inline uint8_t hci_subevent_le_connection_complete_get_subevent_code(const uint8_t * event){
724     return event[2];
725 }
726 /**
727  * @brief Get field status from event hci_subevent_le_connection_complete
728  * @param event packet
729  * @return status
730  * @note: btstack_type 1
731  */
732 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){
733     return event[3];
734 }
735 /**
736  * @brief Get field connection_handle from event hci_subevent_le_connection_complete
737  * @param event packet
738  * @return connection_handle
739  * @note: btstack_type H
740  */
741 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){
742     return little_endian_read_16(event, 4);
743 }
744 /**
745  * @brief Get field role from event hci_subevent_le_connection_complete
746  * @param event packet
747  * @return role
748  * @note: btstack_type 1
749  */
750 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){
751     return event[6];
752 }
753 /**
754  * @brief Get field peer_address_type from event hci_subevent_le_connection_complete
755  * @param event packet
756  * @return peer_address_type
757  * @note: btstack_type 1
758  */
759 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){
760     return event[7];
761 }
762 /**
763  * @brief Get field peer_address from event hci_subevent_le_connection_complete
764  * @param event packet
765  * @param Pointer to storage for peer_address
766  * @note: btstack_type B
767  */
768 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){
769     reverse_bd_addr(&event[8], peer_address);
770 }
771 /**
772  * @brief Get field conn_interval from event hci_subevent_le_connection_complete
773  * @param event packet
774  * @return conn_interval
775  * @note: btstack_type 2
776  */
777 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){
778     return little_endian_read_16(event, 14);
779 }
780 /**
781  * @brief Get field conn_latency from event hci_subevent_le_connection_complete
782  * @param event packet
783  * @return conn_latency
784  * @note: btstack_type 2
785  */
786 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){
787     return little_endian_read_16(event, 16);
788 }
789 /**
790  * @brief Get field supervision_timeout from event hci_subevent_le_connection_complete
791  * @param event packet
792  * @return supervision_timeout
793  * @note: btstack_type 2
794  */
795 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){
796     return little_endian_read_16(event, 18);
797 }
798 /**
799  * @brief Get field master_clock_accuracy from event hci_subevent_le_connection_complete
800  * @param event packet
801  * @return master_clock_accuracy
802  * @note: btstack_type 1
803  */
804 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){
805     return event[20];
806 }
807 
808 /**
809  * @brief Get field state from event btstack_event_state
810  * @param event packet
811  * @return state
812  * @note: btstack_type 1
813  */
814 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){
815     return event[2];
816 }
817 
818 
819 /**
820  * @brief Get field discoverable from event btstack_event_discoverable_enabled
821  * @param event packet
822  * @return discoverable
823  * @note: btstack_type 1
824  */
825 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){
826     return event[2];
827 }
828 
829 /**
830  * @brief Get field handle from event hci_event_sco_can_send_now
831  * @param event packet
832  * @param Pointer to storage for handle
833  * @note: btstack_type B
834  */
835 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){
836     reverse_bd_addr(&event[2], handle);
837 }
838 
839 /**
840  * @brief Get field status from event l2cap_event_channel_opened
841  * @param event packet
842  * @return status
843  * @note: btstack_type 1
844  */
845 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
846     return event[2];
847 }
848 /**
849  * @brief Get field address from event l2cap_event_channel_opened
850  * @param event packet
851  * @param Pointer to storage for address
852  * @note: btstack_type B
853  */
854 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
855     reverse_bd_addr(&event[3], address);
856 }
857 /**
858  * @brief Get field handle from event l2cap_event_channel_opened
859  * @param event packet
860  * @return handle
861  * @note: btstack_type H
862  */
863 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
864     return little_endian_read_16(event, 9);
865 }
866 /**
867  * @brief Get field psm from event l2cap_event_channel_opened
868  * @param event packet
869  * @return psm
870  * @note: btstack_type 2
871  */
872 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
873     return little_endian_read_16(event, 11);
874 }
875 /**
876  * @brief Get field local_cid from event l2cap_event_channel_opened
877  * @param event packet
878  * @return local_cid
879  * @note: btstack_type 2
880  */
881 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){
882     return little_endian_read_16(event, 13);
883 }
884 /**
885  * @brief Get field remote_cid from event l2cap_event_channel_opened
886  * @param event packet
887  * @return remote_cid
888  * @note: btstack_type 2
889  */
890 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
891     return little_endian_read_16(event, 15);
892 }
893 /**
894  * @brief Get field local_mtu from event l2cap_event_channel_opened
895  * @param event packet
896  * @return local_mtu
897  * @note: btstack_type 2
898  */
899 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
900     return little_endian_read_16(event, 17);
901 }
902 /**
903  * @brief Get field remote_mtu from event l2cap_event_channel_opened
904  * @param event packet
905  * @return remote_mtu
906  * @note: btstack_type 2
907  */
908 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
909     return little_endian_read_16(event, 19);
910 }
911 /**
912  * @brief Get field flush_timeout from event l2cap_event_channel_opened
913  * @param event packet
914  * @return flush_timeout
915  * @note: btstack_type 2
916  */
917 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
918     return little_endian_read_16(event, 21);
919 }
920 
921 /**
922  * @brief Get field local_cid from event l2cap_event_channel_closed
923  * @param event packet
924  * @return local_cid
925  * @note: btstack_type 2
926  */
927 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
928     return little_endian_read_16(event, 2);
929 }
930 
931 /**
932  * @brief Get field status from event l2cap_event_incoming_connection
933  * @param event packet
934  * @return status
935  * @note: btstack_type 1
936  */
937 static inline uint8_t l2cap_event_incoming_connection_get_status(const uint8_t * event){
938     return event[2];
939 }
940 /**
941  * @brief Get field address from event l2cap_event_incoming_connection
942  * @param event packet
943  * @param Pointer to storage for address
944  * @note: btstack_type B
945  */
946 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
947     reverse_bd_addr(&event[3], address);
948 }
949 /**
950  * @brief Get field handle from event l2cap_event_incoming_connection
951  * @param event packet
952  * @return handle
953  * @note: btstack_type H
954  */
955 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
956     return little_endian_read_16(event, 9);
957 }
958 /**
959  * @brief Get field psm from event l2cap_event_incoming_connection
960  * @param event packet
961  * @return psm
962  * @note: btstack_type 2
963  */
964 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
965     return little_endian_read_16(event, 11);
966 }
967 /**
968  * @brief Get field local_cid from event l2cap_event_incoming_connection
969  * @param event packet
970  * @return local_cid
971  * @note: btstack_type 2
972  */
973 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
974     return little_endian_read_16(event, 13);
975 }
976 /**
977  * @brief Get field remote_cid from event l2cap_event_incoming_connection
978  * @param event packet
979  * @return remote_cid
980  * @note: btstack_type 2
981  */
982 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
983     return little_endian_read_16(event, 15);
984 }
985 
986 /**
987  * @brief Get field status from event l2cap_event_service_registered
988  * @param event packet
989  * @return status
990  * @note: btstack_type 1
991  */
992 static inline uint8_t l2cap_event_service_registered_get_status(const uint8_t * event){
993     return event[2];
994 }
995 /**
996  * @brief Get field psm from event l2cap_event_service_registered
997  * @param event packet
998  * @return psm
999  * @note: btstack_type 2
1000  */
1001 static inline uint16_t l2cap_event_service_registered_get_psm(const uint8_t * event){
1002     return little_endian_read_16(event, 3);
1003 }
1004 
1005 /**
1006  * @brief Get field handle from event l2cap_event_connection_parameter_update_request
1007  * @param event packet
1008  * @return handle
1009  * @note: btstack_type H
1010  */
1011 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
1012     return little_endian_read_16(event, 2);
1013 }
1014 /**
1015  * @brief Get field interval_min from event l2cap_event_connection_parameter_update_request
1016  * @param event packet
1017  * @return interval_min
1018  * @note: btstack_type 2
1019  */
1020 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
1021     return little_endian_read_16(event, 4);
1022 }
1023 /**
1024  * @brief Get field interval_max from event l2cap_event_connection_parameter_update_request
1025  * @param event packet
1026  * @return interval_max
1027  * @note: btstack_type 2
1028  */
1029 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
1030     return little_endian_read_16(event, 6);
1031 }
1032 /**
1033  * @brief Get field latencey from event l2cap_event_connection_parameter_update_request
1034  * @param event packet
1035  * @return latencey
1036  * @note: btstack_type 2
1037  */
1038 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
1039     return little_endian_read_16(event, 8);
1040 }
1041 /**
1042  * @brief Get field timeout_multiplier from event l2cap_event_connection_parameter_update_request
1043  * @param event packet
1044  * @return timeout_multiplier
1045  * @note: btstack_type 2
1046  */
1047 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
1048     return little_endian_read_16(event, 10);
1049 }
1050 
1051 /**
1052  * @brief Get field handle from event l2cap_event_connection_parameter_update_response
1053  * @param event packet
1054  * @return handle
1055  * @note: btstack_type H
1056  */
1057 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
1058     return little_endian_read_16(event, 2);
1059 }
1060 
1061 /**
1062  * @brief Get field local_cid from event l2cap_event_can_send_now
1063  * @param event packet
1064  * @return local_cid
1065  * @note: btstack_type 2
1066  */
1067 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
1068     return little_endian_read_16(event, 2);
1069 }
1070 
1071 /**
1072  * @brief Get field status from event rfcomm_event_open_channel_complete
1073  * @param event packet
1074  * @return status
1075  * @note: btstack_type 1
1076  */
1077 static inline uint8_t rfcomm_event_open_channel_complete_get_status(const uint8_t * event){
1078     return event[2];
1079 }
1080 /**
1081  * @brief Get field bd_addr from event rfcomm_event_open_channel_complete
1082  * @param event packet
1083  * @param Pointer to storage for bd_addr
1084  * @note: btstack_type B
1085  */
1086 static inline void rfcomm_event_open_channel_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1087     reverse_bd_addr(&event[3], bd_addr);
1088 }
1089 /**
1090  * @brief Get field con_handle from event rfcomm_event_open_channel_complete
1091  * @param event packet
1092  * @return con_handle
1093  * @note: btstack_type 2
1094  */
1095 static inline uint16_t rfcomm_event_open_channel_complete_get_con_handle(const uint8_t * event){
1096     return little_endian_read_16(event, 9);
1097 }
1098 /**
1099  * @brief Get field server_channel from event rfcomm_event_open_channel_complete
1100  * @param event packet
1101  * @return server_channel
1102  * @note: btstack_type 1
1103  */
1104 static inline uint8_t rfcomm_event_open_channel_complete_get_server_channel(const uint8_t * event){
1105     return event[11];
1106 }
1107 /**
1108  * @brief Get field rfcomm_cid from event rfcomm_event_open_channel_complete
1109  * @param event packet
1110  * @return rfcomm_cid
1111  * @note: btstack_type 2
1112  */
1113 static inline uint16_t rfcomm_event_open_channel_complete_get_rfcomm_cid(const uint8_t * event){
1114     return little_endian_read_16(event, 12);
1115 }
1116 /**
1117  * @brief Get field max_frame_size from event rfcomm_event_open_channel_complete
1118  * @param event packet
1119  * @return max_frame_size
1120  * @note: btstack_type 2
1121  */
1122 static inline uint16_t rfcomm_event_open_channel_complete_get_max_frame_size(const uint8_t * event){
1123     return little_endian_read_16(event, 14);
1124 }
1125 
1126 /**
1127  * @brief Get field rfcomm_cid from event rfcomm_event_channel_closed
1128  * @param event packet
1129  * @return rfcomm_cid
1130  * @note: btstack_type 2
1131  */
1132 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
1133     return little_endian_read_16(event, 2);
1134 }
1135 
1136 /**
1137  * @brief Get field bd_addr from event rfcomm_event_incoming_connection
1138  * @param event packet
1139  * @param Pointer to storage for bd_addr
1140  * @note: btstack_type B
1141  */
1142 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1143     reverse_bd_addr(&event[2], bd_addr);
1144 }
1145 /**
1146  * @brief Get field server_channel from event rfcomm_event_incoming_connection
1147  * @param event packet
1148  * @return server_channel
1149  * @note: btstack_type 1
1150  */
1151 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
1152     return event[8];
1153 }
1154 /**
1155  * @brief Get field rfcomm_cid from event rfcomm_event_incoming_connection
1156  * @param event packet
1157  * @return rfcomm_cid
1158  * @note: btstack_type 2
1159  */
1160 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
1161     return little_endian_read_16(event, 9);
1162 }
1163 
1164 /**
1165  * @brief Get field rfcomm_cid from event rfcomm_event_remote_line_status
1166  * @param event packet
1167  * @return rfcomm_cid
1168  * @note: btstack_type 2
1169  */
1170 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
1171     return little_endian_read_16(event, 2);
1172 }
1173 /**
1174  * @brief Get field line_status from event rfcomm_event_remote_line_status
1175  * @param event packet
1176  * @return line_status
1177  * @note: btstack_type 1
1178  */
1179 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
1180     return event[4];
1181 }
1182 
1183 /**
1184  * @brief Get field rfcomm_cid from event rfcomm_event_credits
1185  * @param event packet
1186  * @return rfcomm_cid
1187  * @note: btstack_type 2
1188  */
1189 static inline uint16_t rfcomm_event_credits_get_rfcomm_cid(const uint8_t * event){
1190     return little_endian_read_16(event, 2);
1191 }
1192 /**
1193  * @brief Get field credits from event rfcomm_event_credits
1194  * @param event packet
1195  * @return credits
1196  * @note: btstack_type 1
1197  */
1198 static inline uint8_t rfcomm_event_credits_get_credits(const uint8_t * event){
1199     return event[4];
1200 }
1201 
1202 /**
1203  * @brief Get field status from event rfcomm_event_service_registered
1204  * @param event packet
1205  * @return status
1206  * @note: btstack_type 1
1207  */
1208 static inline uint8_t rfcomm_event_service_registered_get_status(const uint8_t * event){
1209     return event[2];
1210 }
1211 /**
1212  * @brief Get field channel_id from event rfcomm_event_service_registered
1213  * @param event packet
1214  * @return channel_id
1215  * @note: btstack_type 1
1216  */
1217 static inline uint8_t rfcomm_event_service_registered_get_channel_id(const uint8_t * event){
1218     return event[3];
1219 }
1220 
1221 /**
1222  * @brief Get field status from event rfcomm_event_persistent_channel
1223  * @param event packet
1224  * @return status
1225  * @note: btstack_type 1
1226  */
1227 static inline uint8_t rfcomm_event_persistent_channel_get_status(const uint8_t * event){
1228     return event[2];
1229 }
1230 /**
1231  * @brief Get field server_channel_id from event rfcomm_event_persistent_channel
1232  * @param event packet
1233  * @return server_channel_id
1234  * @note: btstack_type 1
1235  */
1236 static inline uint8_t rfcomm_event_persistent_channel_get_server_channel_id(const uint8_t * event){
1237     return event[3];
1238 }
1239 
1240 /**
1241  * @brief Get field rfcomm_cid from event rfcomm_event_remote_modem_status
1242  * @param event packet
1243  * @return rfcomm_cid
1244  * @note: btstack_type 2
1245  */
1246 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
1247     return little_endian_read_16(event, 2);
1248 }
1249 /**
1250  * @brief Get field modem_status from event rfcomm_event_remote_modem_status
1251  * @param event packet
1252  * @return modem_status
1253  * @note: btstack_type 1
1254  */
1255 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
1256     return event[4];
1257 }
1258 
1259 /**
1260  * @brief Get field local_cid from event rfcomm_event_can_send_now
1261  * @param event packet
1262  * @return local_cid
1263  * @note: btstack_type 2
1264  */
1265 static inline uint16_t rfcomm_event_can_send_now_get_local_cid(const uint8_t * event){
1266     return little_endian_read_16(event, 2);
1267 }
1268 
1269 /**
1270  * @brief Get field status from event sdp_event_service_registered
1271  * @param event packet
1272  * @return status
1273  * @note: btstack_type 1
1274  */
1275 static inline uint8_t sdp_event_service_registered_get_status(const uint8_t * event){
1276     return event[2];
1277 }
1278 /**
1279  * @brief Get field service_record_handle from event sdp_event_service_registered
1280  * @param event packet
1281  * @return service_record_handle
1282  * @note: btstack_type 4
1283  */
1284 static inline uint32_t sdp_event_service_registered_get_service_record_handle(const uint8_t * event){
1285     return little_endian_read_32(event, 3);
1286 }
1287 
1288 /**
1289  * @brief Get field status from event sdp_event_query_complete
1290  * @param event packet
1291  * @return status
1292  * @note: btstack_type 1
1293  */
1294 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
1295     return event[2];
1296 }
1297 
1298 /**
1299  * @brief Get field rfcomm_channel from event sdp_event_query_rfcomm_service
1300  * @param event packet
1301  * @return rfcomm_channel
1302  * @note: btstack_type 1
1303  */
1304 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
1305     return event[2];
1306 }
1307 /**
1308  * @brief Get field name from event sdp_event_query_rfcomm_service
1309  * @param event packet
1310  * @return name
1311  * @note: btstack_type T
1312  */
1313 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
1314     return (const char *) &event[3];
1315 }
1316 
1317 /**
1318  * @brief Get field record_id from event sdp_event_query_attribute_byte
1319  * @param event packet
1320  * @return record_id
1321  * @note: btstack_type 2
1322  */
1323 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
1324     return little_endian_read_16(event, 2);
1325 }
1326 /**
1327  * @brief Get field attribute_id from event sdp_event_query_attribute_byte
1328  * @param event packet
1329  * @return attribute_id
1330  * @note: btstack_type 2
1331  */
1332 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
1333     return little_endian_read_16(event, 4);
1334 }
1335 /**
1336  * @brief Get field attribute_length from event sdp_event_query_attribute_byte
1337  * @param event packet
1338  * @return attribute_length
1339  * @note: btstack_type 2
1340  */
1341 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
1342     return little_endian_read_16(event, 6);
1343 }
1344 /**
1345  * @brief Get field data_offset from event sdp_event_query_attribute_byte
1346  * @param event packet
1347  * @return data_offset
1348  * @note: btstack_type 2
1349  */
1350 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
1351     return little_endian_read_16(event, 8);
1352 }
1353 /**
1354  * @brief Get field data from event sdp_event_query_attribute_byte
1355  * @param event packet
1356  * @return data
1357  * @note: btstack_type 1
1358  */
1359 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
1360     return event[10];
1361 }
1362 
1363 /**
1364  * @brief Get field record_id from event sdp_event_query_attribute_value
1365  * @param event packet
1366  * @return record_id
1367  * @note: btstack_type 2
1368  */
1369 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
1370     return little_endian_read_16(event, 2);
1371 }
1372 /**
1373  * @brief Get field attribute_id from event sdp_event_query_attribute_value
1374  * @param event packet
1375  * @return attribute_id
1376  * @note: btstack_type 2
1377  */
1378 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
1379     return little_endian_read_16(event, 4);
1380 }
1381 /**
1382  * @brief Get field attribute_length from event sdp_event_query_attribute_value
1383  * @param event packet
1384  * @return attribute_length
1385  * @note: btstack_type L
1386  */
1387 static inline int sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
1388     return little_endian_read_16(event, 6);
1389 }
1390 /**
1391  * @brief Get field attribute_value from event sdp_event_query_attribute_value
1392  * @param event packet
1393  * @return attribute_value
1394  * @note: btstack_type V
1395  */
1396 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
1397     return &event[8];
1398 }
1399 
1400 /**
1401  * @brief Get field total_count from event sdp_event_query_service_record_handle
1402  * @param event packet
1403  * @return total_count
1404  * @note: btstack_type 2
1405  */
1406 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
1407     return little_endian_read_16(event, 2);
1408 }
1409 /**
1410  * @brief Get field record_index from event sdp_event_query_service_record_handle
1411  * @param event packet
1412  * @return record_index
1413  * @note: btstack_type 2
1414  */
1415 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
1416     return little_endian_read_16(event, 4);
1417 }
1418 /**
1419  * @brief Get field record_handle from event sdp_event_query_service_record_handle
1420  * @param event packet
1421  * @return record_handle
1422  * @note: btstack_type 4
1423  */
1424 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
1425     return little_endian_read_32(event, 6);
1426 }
1427 
1428 #ifdef ENABLE_BLE
1429 /**
1430  * @brief Get field handle from event gatt_event_query_complete
1431  * @param event packet
1432  * @return handle
1433  * @note: btstack_type H
1434  */
1435 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){
1436     return little_endian_read_16(event, 2);
1437 }
1438 /**
1439  * @brief Get field status from event gatt_event_query_complete
1440  * @param event packet
1441  * @return status
1442  * @note: btstack_type 1
1443  */
1444 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){
1445     return event[4];
1446 }
1447 #endif
1448 
1449 #ifdef ENABLE_BLE
1450 /**
1451  * @brief Get field handle from event gatt_event_service_query_result
1452  * @param event packet
1453  * @return handle
1454  * @note: btstack_type H
1455  */
1456 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){
1457     return little_endian_read_16(event, 2);
1458 }
1459 /**
1460  * @brief Get field service from event gatt_event_service_query_result
1461  * @param event packet
1462  * @param Pointer to storage for service
1463  * @note: btstack_type X
1464  */
1465 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1466     gatt_client_deserialize_service(event, 4, service);
1467 }
1468 #endif
1469 
1470 #ifdef ENABLE_BLE
1471 /**
1472  * @brief Get field handle from event gatt_event_characteristic_query_result
1473  * @param event packet
1474  * @return handle
1475  * @note: btstack_type H
1476  */
1477 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){
1478     return little_endian_read_16(event, 2);
1479 }
1480 /**
1481  * @brief Get field characteristic from event gatt_event_characteristic_query_result
1482  * @param event packet
1483  * @param Pointer to storage for characteristic
1484  * @note: btstack_type Y
1485  */
1486 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){
1487     gatt_client_deserialize_characteristic(event, 4, characteristic);
1488 }
1489 #endif
1490 
1491 #ifdef ENABLE_BLE
1492 /**
1493  * @brief Get field handle from event gatt_event_included_service_query_result
1494  * @param event packet
1495  * @return handle
1496  * @note: btstack_type H
1497  */
1498 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){
1499     return little_endian_read_16(event, 2);
1500 }
1501 /**
1502  * @brief Get field include_handle from event gatt_event_included_service_query_result
1503  * @param event packet
1504  * @return include_handle
1505  * @note: btstack_type 2
1506  */
1507 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){
1508     return little_endian_read_16(event, 4);
1509 }
1510 /**
1511  * @brief Get field service from event gatt_event_included_service_query_result
1512  * @param event packet
1513  * @param Pointer to storage for service
1514  * @note: btstack_type X
1515  */
1516 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1517     gatt_client_deserialize_service(event, 6, service);
1518 }
1519 #endif
1520 
1521 #ifdef ENABLE_BLE
1522 /**
1523  * @brief Get field handle from event gatt_event_all_characteristic_descriptors_query_result
1524  * @param event packet
1525  * @return handle
1526  * @note: btstack_type H
1527  */
1528 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){
1529     return little_endian_read_16(event, 2);
1530 }
1531 /**
1532  * @brief Get field characteristic_descriptor from event gatt_event_all_characteristic_descriptors_query_result
1533  * @param event packet
1534  * @param Pointer to storage for characteristic_descriptor
1535  * @note: btstack_type Z
1536  */
1537 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){
1538     gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor);
1539 }
1540 #endif
1541 
1542 #ifdef ENABLE_BLE
1543 /**
1544  * @brief Get field handle from event gatt_event_characteristic_value_query_result
1545  * @param event packet
1546  * @return handle
1547  * @note: btstack_type H
1548  */
1549 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){
1550     return little_endian_read_16(event, 2);
1551 }
1552 /**
1553  * @brief Get field value_handle from event gatt_event_characteristic_value_query_result
1554  * @param event packet
1555  * @return value_handle
1556  * @note: btstack_type 2
1557  */
1558 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1559     return little_endian_read_16(event, 4);
1560 }
1561 /**
1562  * @brief Get field value_length from event gatt_event_characteristic_value_query_result
1563  * @param event packet
1564  * @return value_length
1565  * @note: btstack_type L
1566  */
1567 static inline int gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){
1568     return little_endian_read_16(event, 6);
1569 }
1570 /**
1571  * @brief Get field value from event gatt_event_characteristic_value_query_result
1572  * @param event packet
1573  * @return value
1574  * @note: btstack_type V
1575  */
1576 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){
1577     return &event[8];
1578 }
1579 #endif
1580 
1581 #ifdef ENABLE_BLE
1582 /**
1583  * @brief Get field handle from event gatt_event_long_characteristic_value_query_result
1584  * @param event packet
1585  * @return handle
1586  * @note: btstack_type H
1587  */
1588 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){
1589     return little_endian_read_16(event, 2);
1590 }
1591 /**
1592  * @brief Get field value_handle from event gatt_event_long_characteristic_value_query_result
1593  * @param event packet
1594  * @return value_handle
1595  * @note: btstack_type 2
1596  */
1597 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1598     return little_endian_read_16(event, 4);
1599 }
1600 /**
1601  * @brief Get field value_offset from event gatt_event_long_characteristic_value_query_result
1602  * @param event packet
1603  * @return value_offset
1604  * @note: btstack_type 2
1605  */
1606 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){
1607     return little_endian_read_16(event, 6);
1608 }
1609 /**
1610  * @brief Get field value_length from event gatt_event_long_characteristic_value_query_result
1611  * @param event packet
1612  * @return value_length
1613  * @note: btstack_type L
1614  */
1615 static inline int gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){
1616     return little_endian_read_16(event, 8);
1617 }
1618 /**
1619  * @brief Get field value from event gatt_event_long_characteristic_value_query_result
1620  * @param event packet
1621  * @return value
1622  * @note: btstack_type V
1623  */
1624 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){
1625     return &event[10];
1626 }
1627 #endif
1628 
1629 #ifdef ENABLE_BLE
1630 /**
1631  * @brief Get field handle from event gatt_event_notification
1632  * @param event packet
1633  * @return handle
1634  * @note: btstack_type H
1635  */
1636 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){
1637     return little_endian_read_16(event, 2);
1638 }
1639 /**
1640  * @brief Get field value_handle from event gatt_event_notification
1641  * @param event packet
1642  * @return value_handle
1643  * @note: btstack_type 2
1644  */
1645 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){
1646     return little_endian_read_16(event, 4);
1647 }
1648 /**
1649  * @brief Get field value_length from event gatt_event_notification
1650  * @param event packet
1651  * @return value_length
1652  * @note: btstack_type L
1653  */
1654 static inline int gatt_event_notification_get_value_length(const uint8_t * event){
1655     return little_endian_read_16(event, 6);
1656 }
1657 /**
1658  * @brief Get field value from event gatt_event_notification
1659  * @param event packet
1660  * @return value
1661  * @note: btstack_type V
1662  */
1663 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){
1664     return &event[8];
1665 }
1666 #endif
1667 
1668 #ifdef ENABLE_BLE
1669 /**
1670  * @brief Get field handle from event gatt_event_indication
1671  * @param event packet
1672  * @return handle
1673  * @note: btstack_type H
1674  */
1675 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){
1676     return little_endian_read_16(event, 2);
1677 }
1678 /**
1679  * @brief Get field value_handle from event gatt_event_indication
1680  * @param event packet
1681  * @return value_handle
1682  * @note: btstack_type 2
1683  */
1684 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){
1685     return little_endian_read_16(event, 4);
1686 }
1687 /**
1688  * @brief Get field value_length from event gatt_event_indication
1689  * @param event packet
1690  * @return value_length
1691  * @note: btstack_type L
1692  */
1693 static inline int gatt_event_indication_get_value_length(const uint8_t * event){
1694     return little_endian_read_16(event, 6);
1695 }
1696 /**
1697  * @brief Get field value from event gatt_event_indication
1698  * @param event packet
1699  * @return value
1700  * @note: btstack_type V
1701  */
1702 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){
1703     return &event[8];
1704 }
1705 #endif
1706 
1707 #ifdef ENABLE_BLE
1708 /**
1709  * @brief Get field descriptor_handle from event gatt_event_characteristic_descriptor_query_result
1710  * @param event packet
1711  * @return descriptor_handle
1712  * @note: btstack_type H
1713  */
1714 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){
1715     return little_endian_read_16(event, 2);
1716 }
1717 /**
1718  * @brief Get field descriptor_length from event gatt_event_characteristic_descriptor_query_result
1719  * @param event packet
1720  * @return descriptor_length
1721  * @note: btstack_type 2
1722  */
1723 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1724     return little_endian_read_16(event, 4);
1725 }
1726 /**
1727  * @brief Get field descriptor from event gatt_event_characteristic_descriptor_query_result
1728  * @param event packet
1729  * @return descriptor
1730  * @note: btstack_type L
1731  */
1732 static inline int gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1733     return little_endian_read_16(event, 6);
1734 }
1735 #endif
1736 
1737 #ifdef ENABLE_BLE
1738 /**
1739  * @brief Get field handle from event gatt_event_long_characteristic_descriptor_query_result
1740  * @param event packet
1741  * @return handle
1742  * @note: btstack_type H
1743  */
1744 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
1745     return little_endian_read_16(event, 2);
1746 }
1747 /**
1748  * @brief Get field descriptor_offset from event gatt_event_long_characteristic_descriptor_query_result
1749  * @param event packet
1750  * @return descriptor_offset
1751  * @note: btstack_type 2
1752  */
1753 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){
1754     return little_endian_read_16(event, 4);
1755 }
1756 /**
1757  * @brief Get field descriptor_length from event gatt_event_long_characteristic_descriptor_query_result
1758  * @param event packet
1759  * @return descriptor_length
1760  * @note: btstack_type L
1761  */
1762 static inline int gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1763     return little_endian_read_16(event, 6);
1764 }
1765 /**
1766  * @brief Get field descriptor from event gatt_event_long_characteristic_descriptor_query_result
1767  * @param event packet
1768  * @return descriptor
1769  * @note: btstack_type V
1770  */
1771 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1772     return &event[8];
1773 }
1774 #endif
1775 
1776 #ifdef ENABLE_BLE
1777 /**
1778  * @brief Get field handle from event gatt_event_mtu
1779  * @param event packet
1780  * @return handle
1781  * @note: btstack_type H
1782  */
1783 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){
1784     return little_endian_read_16(event, 2);
1785 }
1786 /**
1787  * @brief Get field MTU from event gatt_event_mtu
1788  * @param event packet
1789  * @return MTU
1790  * @note: btstack_type 2
1791  */
1792 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){
1793     return little_endian_read_16(event, 4);
1794 }
1795 #endif
1796 
1797 #ifdef ENABLE_BLE
1798 /**
1799  * @brief Get field handle from event sm_event_just_works_request
1800  * @param event packet
1801  * @return handle
1802  * @note: btstack_type H
1803  */
1804 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
1805     return little_endian_read_16(event, 2);
1806 }
1807 /**
1808  * @brief Get field addr_type from event sm_event_just_works_request
1809  * @param event packet
1810  * @return addr_type
1811  * @note: btstack_type 1
1812  */
1813 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
1814     return event[4];
1815 }
1816 /**
1817  * @brief Get field address from event sm_event_just_works_request
1818  * @param event packet
1819  * @param Pointer to storage for address
1820  * @note: btstack_type B
1821  */
1822 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
1823     reverse_bd_addr(&event[5], address);
1824 }
1825 #endif
1826 
1827 #ifdef ENABLE_BLE
1828 /**
1829  * @brief Get field handle from event sm_event_just_works_cancel
1830  * @param event packet
1831  * @return handle
1832  * @note: btstack_type H
1833  */
1834 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
1835     return little_endian_read_16(event, 2);
1836 }
1837 /**
1838  * @brief Get field addr_type from event sm_event_just_works_cancel
1839  * @param event packet
1840  * @return addr_type
1841  * @note: btstack_type 1
1842  */
1843 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
1844     return event[4];
1845 }
1846 /**
1847  * @brief Get field address from event sm_event_just_works_cancel
1848  * @param event packet
1849  * @param Pointer to storage for address
1850  * @note: btstack_type B
1851  */
1852 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
1853     reverse_bd_addr(&event[5], address);
1854 }
1855 #endif
1856 
1857 #ifdef ENABLE_BLE
1858 /**
1859  * @brief Get field handle from event sm_event_passkey_display_number
1860  * @param event packet
1861  * @return handle
1862  * @note: btstack_type H
1863  */
1864 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){
1865     return little_endian_read_16(event, 2);
1866 }
1867 /**
1868  * @brief Get field addr_type from event sm_event_passkey_display_number
1869  * @param event packet
1870  * @return addr_type
1871  * @note: btstack_type 1
1872  */
1873 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
1874     return event[4];
1875 }
1876 /**
1877  * @brief Get field address from event sm_event_passkey_display_number
1878  * @param event packet
1879  * @param Pointer to storage for address
1880  * @note: btstack_type B
1881  */
1882 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
1883     reverse_bd_addr(&event[5], address);
1884 }
1885 /**
1886  * @brief Get field passkey from event sm_event_passkey_display_number
1887  * @param event packet
1888  * @return passkey
1889  * @note: btstack_type 4
1890  */
1891 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
1892     return little_endian_read_32(event, 11);
1893 }
1894 #endif
1895 
1896 #ifdef ENABLE_BLE
1897 /**
1898  * @brief Get field handle from event sm_event_passkey_display_cancel
1899  * @param event packet
1900  * @return handle
1901  * @note: btstack_type H
1902  */
1903 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
1904     return little_endian_read_16(event, 2);
1905 }
1906 /**
1907  * @brief Get field addr_type from event sm_event_passkey_display_cancel
1908  * @param event packet
1909  * @return addr_type
1910  * @note: btstack_type 1
1911  */
1912 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
1913     return event[4];
1914 }
1915 /**
1916  * @brief Get field address from event sm_event_passkey_display_cancel
1917  * @param event packet
1918  * @param Pointer to storage for address
1919  * @note: btstack_type B
1920  */
1921 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
1922     reverse_bd_addr(&event[5], address);
1923 }
1924 #endif
1925 
1926 #ifdef ENABLE_BLE
1927 /**
1928  * @brief Get field handle from event sm_event_passkey_input_number
1929  * @param event packet
1930  * @return handle
1931  * @note: btstack_type H
1932  */
1933 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
1934     return little_endian_read_16(event, 2);
1935 }
1936 /**
1937  * @brief Get field addr_type from event sm_event_passkey_input_number
1938  * @param event packet
1939  * @return addr_type
1940  * @note: btstack_type 1
1941  */
1942 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
1943     return event[4];
1944 }
1945 /**
1946  * @brief Get field address from event sm_event_passkey_input_number
1947  * @param event packet
1948  * @param Pointer to storage for address
1949  * @note: btstack_type B
1950  */
1951 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
1952     reverse_bd_addr(&event[5], address);
1953 }
1954 #endif
1955 
1956 #ifdef ENABLE_BLE
1957 /**
1958  * @brief Get field handle from event sm_event_passkey_input_cancel
1959  * @param event packet
1960  * @return handle
1961  * @note: btstack_type H
1962  */
1963 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
1964     return little_endian_read_16(event, 2);
1965 }
1966 /**
1967  * @brief Get field addr_type from event sm_event_passkey_input_cancel
1968  * @param event packet
1969  * @return addr_type
1970  * @note: btstack_type 1
1971  */
1972 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
1973     return event[4];
1974 }
1975 /**
1976  * @brief Get field address from event sm_event_passkey_input_cancel
1977  * @param event packet
1978  * @param Pointer to storage for address
1979  * @note: btstack_type B
1980  */
1981 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
1982     reverse_bd_addr(&event[5], address);
1983 }
1984 #endif
1985 
1986 #ifdef ENABLE_BLE
1987 /**
1988  * @brief Get field handle from event sm_event_identity_resolving_started
1989  * @param event packet
1990  * @return handle
1991  * @note: btstack_type H
1992  */
1993 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
1994     return little_endian_read_16(event, 2);
1995 }
1996 /**
1997  * @brief Get field addr_type from event sm_event_identity_resolving_started
1998  * @param event packet
1999  * @return addr_type
2000  * @note: btstack_type 1
2001  */
2002 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
2003     return event[4];
2004 }
2005 /**
2006  * @brief Get field address from event sm_event_identity_resolving_started
2007  * @param event packet
2008  * @param Pointer to storage for address
2009  * @note: btstack_type B
2010  */
2011 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
2012     reverse_bd_addr(&event[5], address);
2013 }
2014 #endif
2015 
2016 #ifdef ENABLE_BLE
2017 /**
2018  * @brief Get field handle from event sm_event_identity_resolving_failed
2019  * @param event packet
2020  * @return handle
2021  * @note: btstack_type H
2022  */
2023 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
2024     return little_endian_read_16(event, 2);
2025 }
2026 /**
2027  * @brief Get field addr_type from event sm_event_identity_resolving_failed
2028  * @param event packet
2029  * @return addr_type
2030  * @note: btstack_type 1
2031  */
2032 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
2033     return event[4];
2034 }
2035 /**
2036  * @brief Get field address from event sm_event_identity_resolving_failed
2037  * @param event packet
2038  * @param Pointer to storage for address
2039  * @note: btstack_type B
2040  */
2041 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
2042     reverse_bd_addr(&event[5], address);
2043 }
2044 #endif
2045 
2046 #ifdef ENABLE_BLE
2047 /**
2048  * @brief Get field handle from event sm_event_identity_resolving_succeeded
2049  * @param event packet
2050  * @return handle
2051  * @note: btstack_type H
2052  */
2053 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
2054     return little_endian_read_16(event, 2);
2055 }
2056 /**
2057  * @brief Get field addr_type from event sm_event_identity_resolving_succeeded
2058  * @param event packet
2059  * @return addr_type
2060  * @note: btstack_type 1
2061  */
2062 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
2063     return event[4];
2064 }
2065 /**
2066  * @brief Get field address from event sm_event_identity_resolving_succeeded
2067  * @param event packet
2068  * @param Pointer to storage for address
2069  * @note: btstack_type B
2070  */
2071 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
2072     reverse_bd_addr(&event[5], address);
2073 }
2074 /**
2075  * @brief Get field le_device_db_index from event sm_event_identity_resolving_succeeded
2076  * @param event packet
2077  * @return le_device_db_index
2078  * @note: btstack_type 2
2079  */
2080 static inline uint16_t sm_event_identity_resolving_succeeded_get_le_device_db_index(const uint8_t * event){
2081     return little_endian_read_16(event, 11);
2082 }
2083 #endif
2084 
2085 #ifdef ENABLE_BLE
2086 /**
2087  * @brief Get field handle from event sm_event_authorization_request
2088  * @param event packet
2089  * @return handle
2090  * @note: btstack_type H
2091  */
2092 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
2093     return little_endian_read_16(event, 2);
2094 }
2095 /**
2096  * @brief Get field addr_type from event sm_event_authorization_request
2097  * @param event packet
2098  * @return addr_type
2099  * @note: btstack_type 1
2100  */
2101 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
2102     return event[4];
2103 }
2104 /**
2105  * @brief Get field address from event sm_event_authorization_request
2106  * @param event packet
2107  * @param Pointer to storage for address
2108  * @note: btstack_type B
2109  */
2110 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
2111     reverse_bd_addr(&event[5], address);
2112 }
2113 #endif
2114 
2115 #ifdef ENABLE_BLE
2116 /**
2117  * @brief Get field handle from event sm_event_authorization_result
2118  * @param event packet
2119  * @return handle
2120  * @note: btstack_type H
2121  */
2122 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
2123     return little_endian_read_16(event, 2);
2124 }
2125 /**
2126  * @brief Get field addr_type from event sm_event_authorization_result
2127  * @param event packet
2128  * @return addr_type
2129  * @note: btstack_type 1
2130  */
2131 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
2132     return event[4];
2133 }
2134 /**
2135  * @brief Get field address from event sm_event_authorization_result
2136  * @param event packet
2137  * @param Pointer to storage for address
2138  * @note: btstack_type B
2139  */
2140 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
2141     reverse_bd_addr(&event[5], address);
2142 }
2143 /**
2144  * @brief Get field authorization_result from event sm_event_authorization_result
2145  * @param event packet
2146  * @return authorization_result
2147  * @note: btstack_type 1
2148  */
2149 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
2150     return event[11];
2151 }
2152 #endif
2153 
2154 /**
2155  * @brief Get field advertising_event_type from event gap_le_event_advertising_report
2156  * @param event packet
2157  * @return advertising_event_type
2158  * @note: btstack_type 1
2159  */
2160 static inline uint8_t gap_le_event_advertising_report_get_advertising_event_type(const uint8_t * event){
2161     return event[2];
2162 }
2163 /**
2164  * @brief Get field address_type from event gap_le_event_advertising_report
2165  * @param event packet
2166  * @return address_type
2167  * @note: btstack_type 1
2168  */
2169 static inline uint8_t gap_le_event_advertising_report_get_address_type(const uint8_t * event){
2170     return event[3];
2171 }
2172 /**
2173  * @brief Get field address from event gap_le_event_advertising_report
2174  * @param event packet
2175  * @param Pointer to storage for address
2176  * @note: btstack_type B
2177  */
2178 static inline void gap_le_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){
2179     reverse_bd_addr(&event[4], address);
2180 }
2181 /**
2182  * @brief Get field rssi from event gap_le_event_advertising_report
2183  * @param event packet
2184  * @return rssi
2185  * @note: btstack_type 1
2186  */
2187 static inline uint8_t gap_le_event_advertising_report_get_rssi(const uint8_t * event){
2188     return event[10];
2189 }
2190 /**
2191  * @brief Get field data_length from event gap_le_event_advertising_report
2192  * @param event packet
2193  * @return data_length
2194  * @note: btstack_type J
2195  */
2196 static inline int gap_le_event_advertising_report_get_data_length(const uint8_t * event){
2197     return event[11];
2198 }
2199 /**
2200  * @brief Get field data from event gap_le_event_advertising_report
2201  * @param event packet
2202  * @return data
2203  * @note: btstack_type V
2204  */
2205 static inline const uint8_t * gap_le_event_advertising_report_get_data(const uint8_t * event){
2206     return &event[12];
2207 }
2208 
2209 /**
2210  * @brief Get field subevent_code from event hsp_subevent_audio_connection_complete
2211  * @param event packet
2212  * @return subevent_code
2213  * @note: btstack_type 1
2214  */
2215 static inline uint8_t hsp_subevent_audio_connection_complete_get_subevent_code(const uint8_t * event){
2216     return event[2];
2217 }
2218 /**
2219  * @brief Get field status from event hsp_subevent_audio_connection_complete
2220  * @param event packet
2221  * @return status
2222  * @note: btstack_type 1
2223  */
2224 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){
2225     return event[3];
2226 }
2227 /**
2228  * @brief Get field handle from event hsp_subevent_audio_connection_complete
2229  * @param event packet
2230  * @return handle
2231  * @note: btstack_type H
2232  */
2233 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){
2234     return little_endian_read_16(event, 4);
2235 }
2236 
2237 /**
2238  * @brief Get field subevent_code from event hsp_subevent_audio_disconnection_complete
2239  * @param event packet
2240  * @return subevent_code
2241  * @note: btstack_type 1
2242  */
2243 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_subevent_code(const uint8_t * event){
2244     return event[2];
2245 }
2246 /**
2247  * @brief Get field status from event hsp_subevent_audio_disconnection_complete
2248  * @param event packet
2249  * @return status
2250  * @note: btstack_type 1
2251  */
2252 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){
2253     return event[3];
2254 }
2255 
2256 /**
2257  * @brief Get field subevent_code from event hsp_subevent_ring
2258  * @param event packet
2259  * @return subevent_code
2260  * @note: btstack_type 1
2261  */
2262 static inline uint8_t hsp_subevent_ring_get_subevent_code(const uint8_t * event){
2263     return event[2];
2264 }
2265 
2266 /**
2267  * @brief Get field subevent_code from event hsp_subevent_microphone_gain_changed
2268  * @param event packet
2269  * @return subevent_code
2270  * @note: btstack_type 1
2271  */
2272 static inline uint8_t hsp_subevent_microphone_gain_changed_get_subevent_code(const uint8_t * event){
2273     return event[2];
2274 }
2275 /**
2276  * @brief Get field gain from event hsp_subevent_microphone_gain_changed
2277  * @param event packet
2278  * @return gain
2279  * @note: btstack_type 1
2280  */
2281 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){
2282     return event[3];
2283 }
2284 
2285 /**
2286  * @brief Get field subevent_code from event hsp_subevent_speaker_gain_changed
2287  * @param event packet
2288  * @return subevent_code
2289  * @note: btstack_type 1
2290  */
2291 static inline uint8_t hsp_subevent_speaker_gain_changed_get_subevent_code(const uint8_t * event){
2292     return event[2];
2293 }
2294 /**
2295  * @brief Get field gain from event hsp_subevent_speaker_gain_changed
2296  * @param event packet
2297  * @return gain
2298  * @note: btstack_type 1
2299  */
2300 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){
2301     return event[3];
2302 }
2303 
2304 /**
2305  * @brief Get field subevent_code from event hsp_subevent_hs_command
2306  * @param event packet
2307  * @return subevent_code
2308  * @note: btstack_type 1
2309  */
2310 static inline uint8_t hsp_subevent_hs_command_get_subevent_code(const uint8_t * event){
2311     return event[2];
2312 }
2313 /**
2314  * @brief Get field value_length from event hsp_subevent_hs_command
2315  * @param event packet
2316  * @return value_length
2317  * @note: btstack_type J
2318  */
2319 static inline int hsp_subevent_hs_command_get_value_length(const uint8_t * event){
2320     return event[3];
2321 }
2322 /**
2323  * @brief Get field value from event hsp_subevent_hs_command
2324  * @param event packet
2325  * @return value
2326  * @note: btstack_type V
2327  */
2328 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){
2329     return &event[4];
2330 }
2331 
2332 /**
2333  * @brief Get field subevent_code from event hsp_subevent_ag_indication
2334  * @param event packet
2335  * @return subevent_code
2336  * @note: btstack_type 1
2337  */
2338 static inline uint8_t hsp_subevent_ag_indication_get_subevent_code(const uint8_t * event){
2339     return event[2];
2340 }
2341 /**
2342  * @brief Get field value_length from event hsp_subevent_ag_indication
2343  * @param event packet
2344  * @return value_length
2345  * @note: btstack_type J
2346  */
2347 static inline int hsp_subevent_ag_indication_get_value_length(const uint8_t * event){
2348     return event[3];
2349 }
2350 /**
2351  * @brief Get field value from event hsp_subevent_ag_indication
2352  * @param event packet
2353  * @return value
2354  * @note: btstack_type V
2355  */
2356 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){
2357     return &event[4];
2358 }
2359 
2360 #ifdef ENABLE_BLE
2361 /**
2362  * @brief Get field subevent_code from event ancs_subevent_client_connected
2363  * @param event packet
2364  * @return subevent_code
2365  * @note: btstack_type 1
2366  */
2367 static inline uint8_t ancs_subevent_client_connected_get_subevent_code(const uint8_t * event){
2368     return event[2];
2369 }
2370 /**
2371  * @brief Get field handle from event ancs_subevent_client_connected
2372  * @param event packet
2373  * @return handle
2374  * @note: btstack_type H
2375  */
2376 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){
2377     return little_endian_read_16(event, 3);
2378 }
2379 #endif
2380 
2381 #ifdef ENABLE_BLE
2382 /**
2383  * @brief Get field subevent_code from event ancs_subevent_client_notification
2384  * @param event packet
2385  * @return subevent_code
2386  * @note: btstack_type 1
2387  */
2388 static inline uint8_t ancs_subevent_client_notification_get_subevent_code(const uint8_t * event){
2389     return event[2];
2390 }
2391 /**
2392  * @brief Get field handle from event ancs_subevent_client_notification
2393  * @param event packet
2394  * @return handle
2395  * @note: btstack_type H
2396  */
2397 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){
2398     return little_endian_read_16(event, 3);
2399 }
2400 /**
2401  * @brief Get field attribute_id from event ancs_subevent_client_notification
2402  * @param event packet
2403  * @return attribute_id
2404  * @note: btstack_type 2
2405  */
2406 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){
2407     return little_endian_read_16(event, 5);
2408 }
2409 /**
2410  * @brief Get field text from event ancs_subevent_client_notification
2411  * @param event packet
2412  * @return text
2413  * @note: btstack_type T
2414  */
2415 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){
2416     return (const char *) &event[7];
2417 }
2418 #endif
2419 
2420 #ifdef ENABLE_BLE
2421 /**
2422  * @brief Get field subevent_code from event ancs_subevent_client_disconnected
2423  * @param event packet
2424  * @return subevent_code
2425  * @note: btstack_type 1
2426  */
2427 static inline uint8_t ancs_subevent_client_disconnected_get_subevent_code(const uint8_t * event){
2428     return event[2];
2429 }
2430 /**
2431  * @brief Get field handle from event ancs_subevent_client_disconnected
2432  * @param event packet
2433  * @return handle
2434  * @note: btstack_type H
2435  */
2436 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){
2437     return little_endian_read_16(event, 3);
2438 }
2439 #endif
2440 
2441 
2442 
2443 /* API_END */
2444 
2445 #if defined __cplusplus
2446 }
2447 #endif
2448 
2449 #endif // __BTSTACK_EVENT_H
2450