xref: /btstack/src/btstack_event.h (revision a6ef64ba22bce34968d6e68d4dcc73d429482da9)
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 status from event hci_event_mode_change_event
490  * @param event packet
491  * @return status
492  * @note: btstack_type 1
493  */
494 static inline uint8_t hci_event_mode_change_event_get_status(const uint8_t * event){
495     return event[2];
496 }
497 /**
498  * @brief Get field handle from event hci_event_mode_change_event
499  * @param event packet
500  * @return handle
501  * @note: btstack_type H
502  */
503 static inline hci_con_handle_t hci_event_mode_change_event_get_handle(const uint8_t * event){
504     return little_endian_read_16(event, 3);
505 }
506 /**
507  * @brief Get field mode from event hci_event_mode_change_event
508  * @param event packet
509  * @return mode
510  * @note: btstack_type 1
511  */
512 static inline uint8_t hci_event_mode_change_event_get_mode(const uint8_t * event){
513     return event[5];
514 }
515 /**
516  * @brief Get field interval from event hci_event_mode_change_event
517  * @param event packet
518  * @return interval
519  * @note: btstack_type 2
520  */
521 static inline uint16_t hci_event_mode_change_event_get_interval(const uint8_t * event){
522     return little_endian_read_16(event, 6);
523 }
524 
525 /**
526  * @brief Get field bd_addr from event hci_event_pin_code_request
527  * @param event packet
528  * @param Pointer to storage for bd_addr
529  * @note: btstack_type B
530  */
531 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
532     reverse_bd_addr(&event[2], bd_addr);
533 }
534 
535 /**
536  * @brief Get field bd_addr from event hci_event_link_key_request
537  * @param event packet
538  * @param Pointer to storage for bd_addr
539  * @note: btstack_type B
540  */
541 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
542     reverse_bd_addr(&event[2], bd_addr);
543 }
544 
545 /**
546  * @brief Get field link_type from event hci_event_data_buffer_overflow
547  * @param event packet
548  * @return link_type
549  * @note: btstack_type 1
550  */
551 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){
552     return event[2];
553 }
554 
555 /**
556  * @brief Get field handle from event hci_event_max_slots_changed
557  * @param event packet
558  * @return handle
559  * @note: btstack_type H
560  */
561 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){
562     return little_endian_read_16(event, 2);
563 }
564 /**
565  * @brief Get field lmp_max_slots from event hci_event_max_slots_changed
566  * @param event packet
567  * @return lmp_max_slots
568  * @note: btstack_type 1
569  */
570 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){
571     return event[4];
572 }
573 
574 /**
575  * @brief Get field status from event hci_event_read_clock_offset_complete
576  * @param event packet
577  * @return status
578  * @note: btstack_type 1
579  */
580 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){
581     return event[2];
582 }
583 /**
584  * @brief Get field handle from event hci_event_read_clock_offset_complete
585  * @param event packet
586  * @return handle
587  * @note: btstack_type H
588  */
589 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){
590     return little_endian_read_16(event, 3);
591 }
592 /**
593  * @brief Get field clock_offset from event hci_event_read_clock_offset_complete
594  * @param event packet
595  * @return clock_offset
596  * @note: btstack_type 2
597  */
598 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){
599     return little_endian_read_16(event, 5);
600 }
601 
602 /**
603  * @brief Get field status from event hci_event_packet_type_changed
604  * @param event packet
605  * @return status
606  * @note: btstack_type 1
607  */
608 static inline uint8_t hci_event_packet_type_changed_get_status(const uint8_t * event){
609     return event[2];
610 }
611 /**
612  * @brief Get field handle from event hci_event_packet_type_changed
613  * @param event packet
614  * @return handle
615  * @note: btstack_type H
616  */
617 static inline hci_con_handle_t hci_event_packet_type_changed_get_handle(const uint8_t * event){
618     return little_endian_read_16(event, 3);
619 }
620 /**
621  * @brief Get field packet_type from event hci_event_packet_type_changed
622  * @param event packet
623  * @return packet_type
624  * @note: btstack_type 2
625  */
626 static inline uint16_t hci_event_packet_type_changed_get_packet_type(const uint8_t * event){
627     return little_endian_read_16(event, 5);
628 }
629 
630 /**
631  * @brief Get field num_responses from event hci_event_inquiry_result_with_rssi
632  * @param event packet
633  * @return num_responses
634  * @note: btstack_type 1
635  */
636 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){
637     return event[2];
638 }
639 /**
640  * @brief Get field bd_addr from event hci_event_inquiry_result_with_rssi
641  * @param event packet
642  * @param Pointer to storage for bd_addr
643  * @note: btstack_type B
644  */
645 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
646     reverse_bd_addr(&event[3], bd_addr);
647 }
648 /**
649  * @brief Get field page_scan_repetition_mode from event hci_event_inquiry_result_with_rssi
650  * @param event packet
651  * @return page_scan_repetition_mode
652  * @note: btstack_type 1
653  */
654 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){
655     return event[9];
656 }
657 /**
658  * @brief Get field reserved from event hci_event_inquiry_result_with_rssi
659  * @param event packet
660  * @return reserved
661  * @note: btstack_type 1
662  */
663 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){
664     return event[10];
665 }
666 /**
667  * @brief Get field class_of_device from event hci_event_inquiry_result_with_rssi
668  * @param event packet
669  * @return class_of_device
670  * @note: btstack_type 3
671  */
672 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){
673     return little_endian_read_24(event, 11);
674 }
675 /**
676  * @brief Get field clock_offset from event hci_event_inquiry_result_with_rssi
677  * @param event packet
678  * @return clock_offset
679  * @note: btstack_type 2
680  */
681 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){
682     return little_endian_read_16(event, 14);
683 }
684 /**
685  * @brief Get field rssi from event hci_event_inquiry_result_with_rssi
686  * @param event packet
687  * @return rssi
688  * @note: btstack_type 1
689  */
690 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){
691     return event[16];
692 }
693 
694 /**
695  * @brief Get field status from event hci_event_synchronous_connection_complete
696  * @param event packet
697  * @return status
698  * @note: btstack_type 1
699  */
700 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){
701     return event[2];
702 }
703 /**
704  * @brief Get field handle from event hci_event_synchronous_connection_complete
705  * @param event packet
706  * @return handle
707  * @note: btstack_type H
708  */
709 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){
710     return little_endian_read_16(event, 3);
711 }
712 /**
713  * @brief Get field bd_addr from event hci_event_synchronous_connection_complete
714  * @param event packet
715  * @param Pointer to storage for bd_addr
716  * @note: btstack_type B
717  */
718 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
719     reverse_bd_addr(&event[5], bd_addr);
720 }
721 /**
722  * @brief Get field link_type from event hci_event_synchronous_connection_complete
723  * @param event packet
724  * @return link_type
725  * @note: btstack_type 1
726  */
727 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){
728     return event[11];
729 }
730 /**
731  * @brief Get field transmission_interval from event hci_event_synchronous_connection_complete
732  * @param event packet
733  * @return transmission_interval
734  * @note: btstack_type 1
735  */
736 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){
737     return event[12];
738 }
739 /**
740  * @brief Get field retransmission_interval from event hci_event_synchronous_connection_complete
741  * @param event packet
742  * @return retransmission_interval
743  * @note: btstack_type 1
744  */
745 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){
746     return event[13];
747 }
748 /**
749  * @brief Get field rx_packet_length from event hci_event_synchronous_connection_complete
750  * @param event packet
751  * @return rx_packet_length
752  * @note: btstack_type 2
753  */
754 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){
755     return little_endian_read_16(event, 14);
756 }
757 /**
758  * @brief Get field tx_packet_length from event hci_event_synchronous_connection_complete
759  * @param event packet
760  * @return tx_packet_length
761  * @note: btstack_type 2
762  */
763 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){
764     return little_endian_read_16(event, 16);
765 }
766 /**
767  * @brief Get field air_mode from event hci_event_synchronous_connection_complete
768  * @param event packet
769  * @return air_mode
770  * @note: btstack_type 1
771  */
772 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){
773     return event[18];
774 }
775 
776 /**
777  * @brief Get field num_responses from event hci_event_extended_inquiry_response
778  * @param event packet
779  * @return num_responses
780  * @note: btstack_type 1
781  */
782 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){
783     return event[2];
784 }
785 /**
786  * @brief Get field bd_addr from event hci_event_extended_inquiry_response
787  * @param event packet
788  * @param Pointer to storage for bd_addr
789  * @note: btstack_type B
790  */
791 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
792     reverse_bd_addr(&event[3], bd_addr);
793 }
794 /**
795  * @brief Get field page_scan_repetition_mode from event hci_event_extended_inquiry_response
796  * @param event packet
797  * @return page_scan_repetition_mode
798  * @note: btstack_type 1
799  */
800 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){
801     return event[9];
802 }
803 /**
804  * @brief Get field reserved from event hci_event_extended_inquiry_response
805  * @param event packet
806  * @return reserved
807  * @note: btstack_type 1
808  */
809 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){
810     return event[10];
811 }
812 /**
813  * @brief Get field class_of_device from event hci_event_extended_inquiry_response
814  * @param event packet
815  * @return class_of_device
816  * @note: btstack_type 3
817  */
818 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){
819     return little_endian_read_24(event, 11);
820 }
821 /**
822  * @brief Get field clock_offset from event hci_event_extended_inquiry_response
823  * @param event packet
824  * @return clock_offset
825  * @note: btstack_type 2
826  */
827 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){
828     return little_endian_read_16(event, 14);
829 }
830 /**
831  * @brief Get field rssi from event hci_event_extended_inquiry_response
832  * @param event packet
833  * @return rssi
834  * @note: btstack_type 1
835  */
836 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){
837     return event[16];
838 }
839 
840 /**
841  * @brief Get field status from event hci_event_encryption_key_refresh_complete
842  * @param event packet
843  * @return status
844  * @note: btstack_type 1
845  */
846 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){
847     return event[2];
848 }
849 /**
850  * @brief Get field handle from event hci_event_encryption_key_refresh_complete
851  * @param event packet
852  * @return handle
853  * @note: btstack_type H
854  */
855 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){
856     return little_endian_read_16(event, 3);
857 }
858 
859 /**
860  * @brief Get field state from event btstack_event_state
861  * @param event packet
862  * @return state
863  * @note: btstack_type 1
864  */
865 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){
866     return event[2];
867 }
868 
869 
870 /**
871  * @brief Get field discoverable from event btstack_event_discoverable_enabled
872  * @param event packet
873  * @return discoverable
874  * @note: btstack_type 1
875  */
876 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){
877     return event[2];
878 }
879 
880 /**
881  * @brief Get field handle from event hci_event_sco_can_send_now
882  * @param event packet
883  * @param Pointer to storage for handle
884  * @note: btstack_type B
885  */
886 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){
887     reverse_bd_addr(&event[2], handle);
888 }
889 
890 /**
891  * @brief Get field status from event l2cap_event_channel_opened
892  * @param event packet
893  * @return status
894  * @note: btstack_type 1
895  */
896 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
897     return event[2];
898 }
899 /**
900  * @brief Get field address from event l2cap_event_channel_opened
901  * @param event packet
902  * @param Pointer to storage for address
903  * @note: btstack_type B
904  */
905 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
906     reverse_bd_addr(&event[3], address);
907 }
908 /**
909  * @brief Get field handle from event l2cap_event_channel_opened
910  * @param event packet
911  * @return handle
912  * @note: btstack_type H
913  */
914 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
915     return little_endian_read_16(event, 9);
916 }
917 /**
918  * @brief Get field psm from event l2cap_event_channel_opened
919  * @param event packet
920  * @return psm
921  * @note: btstack_type 2
922  */
923 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
924     return little_endian_read_16(event, 11);
925 }
926 /**
927  * @brief Get field local_cid from event l2cap_event_channel_opened
928  * @param event packet
929  * @return local_cid
930  * @note: btstack_type 2
931  */
932 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){
933     return little_endian_read_16(event, 13);
934 }
935 /**
936  * @brief Get field remote_cid from event l2cap_event_channel_opened
937  * @param event packet
938  * @return remote_cid
939  * @note: btstack_type 2
940  */
941 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
942     return little_endian_read_16(event, 15);
943 }
944 /**
945  * @brief Get field local_mtu from event l2cap_event_channel_opened
946  * @param event packet
947  * @return local_mtu
948  * @note: btstack_type 2
949  */
950 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
951     return little_endian_read_16(event, 17);
952 }
953 /**
954  * @brief Get field remote_mtu from event l2cap_event_channel_opened
955  * @param event packet
956  * @return remote_mtu
957  * @note: btstack_type 2
958  */
959 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
960     return little_endian_read_16(event, 19);
961 }
962 /**
963  * @brief Get field flush_timeout from event l2cap_event_channel_opened
964  * @param event packet
965  * @return flush_timeout
966  * @note: btstack_type 2
967  */
968 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
969     return little_endian_read_16(event, 21);
970 }
971 
972 /**
973  * @brief Get field local_cid from event l2cap_event_channel_closed
974  * @param event packet
975  * @return local_cid
976  * @note: btstack_type 2
977  */
978 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
979     return little_endian_read_16(event, 2);
980 }
981 
982 /**
983  * @brief Get field status from event l2cap_event_incoming_connection
984  * @param event packet
985  * @return status
986  * @note: btstack_type 1
987  */
988 static inline uint8_t l2cap_event_incoming_connection_get_status(const uint8_t * event){
989     return event[2];
990 }
991 /**
992  * @brief Get field address from event l2cap_event_incoming_connection
993  * @param event packet
994  * @param Pointer to storage for address
995  * @note: btstack_type B
996  */
997 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
998     reverse_bd_addr(&event[3], address);
999 }
1000 /**
1001  * @brief Get field handle from event l2cap_event_incoming_connection
1002  * @param event packet
1003  * @return handle
1004  * @note: btstack_type H
1005  */
1006 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
1007     return little_endian_read_16(event, 9);
1008 }
1009 /**
1010  * @brief Get field psm from event l2cap_event_incoming_connection
1011  * @param event packet
1012  * @return psm
1013  * @note: btstack_type 2
1014  */
1015 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
1016     return little_endian_read_16(event, 11);
1017 }
1018 /**
1019  * @brief Get field local_cid from event l2cap_event_incoming_connection
1020  * @param event packet
1021  * @return local_cid
1022  * @note: btstack_type 2
1023  */
1024 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
1025     return little_endian_read_16(event, 13);
1026 }
1027 /**
1028  * @brief Get field remote_cid from event l2cap_event_incoming_connection
1029  * @param event packet
1030  * @return remote_cid
1031  * @note: btstack_type 2
1032  */
1033 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
1034     return little_endian_read_16(event, 15);
1035 }
1036 
1037 /**
1038  * @brief Get field status from event l2cap_event_service_registered
1039  * @param event packet
1040  * @return status
1041  * @note: btstack_type 1
1042  */
1043 static inline uint8_t l2cap_event_service_registered_get_status(const uint8_t * event){
1044     return event[2];
1045 }
1046 /**
1047  * @brief Get field psm from event l2cap_event_service_registered
1048  * @param event packet
1049  * @return psm
1050  * @note: btstack_type 2
1051  */
1052 static inline uint16_t l2cap_event_service_registered_get_psm(const uint8_t * event){
1053     return little_endian_read_16(event, 3);
1054 }
1055 
1056 /**
1057  * @brief Get field handle from event l2cap_event_connection_parameter_update_request
1058  * @param event packet
1059  * @return handle
1060  * @note: btstack_type H
1061  */
1062 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
1063     return little_endian_read_16(event, 2);
1064 }
1065 /**
1066  * @brief Get field interval_min from event l2cap_event_connection_parameter_update_request
1067  * @param event packet
1068  * @return interval_min
1069  * @note: btstack_type 2
1070  */
1071 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
1072     return little_endian_read_16(event, 4);
1073 }
1074 /**
1075  * @brief Get field interval_max from event l2cap_event_connection_parameter_update_request
1076  * @param event packet
1077  * @return interval_max
1078  * @note: btstack_type 2
1079  */
1080 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
1081     return little_endian_read_16(event, 6);
1082 }
1083 /**
1084  * @brief Get field latencey from event l2cap_event_connection_parameter_update_request
1085  * @param event packet
1086  * @return latencey
1087  * @note: btstack_type 2
1088  */
1089 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
1090     return little_endian_read_16(event, 8);
1091 }
1092 /**
1093  * @brief Get field timeout_multiplier from event l2cap_event_connection_parameter_update_request
1094  * @param event packet
1095  * @return timeout_multiplier
1096  * @note: btstack_type 2
1097  */
1098 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
1099     return little_endian_read_16(event, 10);
1100 }
1101 
1102 /**
1103  * @brief Get field handle from event l2cap_event_connection_parameter_update_response
1104  * @param event packet
1105  * @return handle
1106  * @note: btstack_type H
1107  */
1108 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
1109     return little_endian_read_16(event, 2);
1110 }
1111 
1112 /**
1113  * @brief Get field local_cid from event l2cap_event_can_send_now
1114  * @param event packet
1115  * @return local_cid
1116  * @note: btstack_type 2
1117  */
1118 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
1119     return little_endian_read_16(event, 2);
1120 }
1121 
1122 /**
1123  * @brief Get field status from event rfcomm_event_channel_opened
1124  * @param event packet
1125  * @return status
1126  * @note: btstack_type 1
1127  */
1128 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){
1129     return event[2];
1130 }
1131 /**
1132  * @brief Get field bd_addr from event rfcomm_event_channel_opened
1133  * @param event packet
1134  * @param Pointer to storage for bd_addr
1135  * @note: btstack_type B
1136  */
1137 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1138     reverse_bd_addr(&event[3], bd_addr);
1139 }
1140 /**
1141  * @brief Get field con_handle from event rfcomm_event_channel_opened
1142  * @param event packet
1143  * @return con_handle
1144  * @note: btstack_type 2
1145  */
1146 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){
1147     return little_endian_read_16(event, 9);
1148 }
1149 /**
1150  * @brief Get field server_channel from event rfcomm_event_channel_opened
1151  * @param event packet
1152  * @return server_channel
1153  * @note: btstack_type 1
1154  */
1155 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){
1156     return event[11];
1157 }
1158 /**
1159  * @brief Get field rfcomm_cid from event rfcomm_event_channel_opened
1160  * @param event packet
1161  * @return rfcomm_cid
1162  * @note: btstack_type 2
1163  */
1164 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){
1165     return little_endian_read_16(event, 12);
1166 }
1167 /**
1168  * @brief Get field max_frame_size from event rfcomm_event_channel_opened
1169  * @param event packet
1170  * @return max_frame_size
1171  * @note: btstack_type 2
1172  */
1173 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){
1174     return little_endian_read_16(event, 14);
1175 }
1176 
1177 /**
1178  * @brief Get field rfcomm_cid from event rfcomm_event_channel_closed
1179  * @param event packet
1180  * @return rfcomm_cid
1181  * @note: btstack_type 2
1182  */
1183 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
1184     return little_endian_read_16(event, 2);
1185 }
1186 
1187 /**
1188  * @brief Get field bd_addr from event rfcomm_event_incoming_connection
1189  * @param event packet
1190  * @param Pointer to storage for bd_addr
1191  * @note: btstack_type B
1192  */
1193 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1194     reverse_bd_addr(&event[2], bd_addr);
1195 }
1196 /**
1197  * @brief Get field server_channel from event rfcomm_event_incoming_connection
1198  * @param event packet
1199  * @return server_channel
1200  * @note: btstack_type 1
1201  */
1202 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
1203     return event[8];
1204 }
1205 /**
1206  * @brief Get field rfcomm_cid from event rfcomm_event_incoming_connection
1207  * @param event packet
1208  * @return rfcomm_cid
1209  * @note: btstack_type 2
1210  */
1211 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
1212     return little_endian_read_16(event, 9);
1213 }
1214 
1215 /**
1216  * @brief Get field rfcomm_cid from event rfcomm_event_remote_line_status
1217  * @param event packet
1218  * @return rfcomm_cid
1219  * @note: btstack_type 2
1220  */
1221 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
1222     return little_endian_read_16(event, 2);
1223 }
1224 /**
1225  * @brief Get field line_status from event rfcomm_event_remote_line_status
1226  * @param event packet
1227  * @return line_status
1228  * @note: btstack_type 1
1229  */
1230 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
1231     return event[4];
1232 }
1233 
1234 /**
1235  * @brief Get field rfcomm_cid from event rfcomm_event_credits
1236  * @param event packet
1237  * @return rfcomm_cid
1238  * @note: btstack_type 2
1239  */
1240 static inline uint16_t rfcomm_event_credits_get_rfcomm_cid(const uint8_t * event){
1241     return little_endian_read_16(event, 2);
1242 }
1243 /**
1244  * @brief Get field credits from event rfcomm_event_credits
1245  * @param event packet
1246  * @return credits
1247  * @note: btstack_type 1
1248  */
1249 static inline uint8_t rfcomm_event_credits_get_credits(const uint8_t * event){
1250     return event[4];
1251 }
1252 
1253 /**
1254  * @brief Get field status from event rfcomm_event_service_registered
1255  * @param event packet
1256  * @return status
1257  * @note: btstack_type 1
1258  */
1259 static inline uint8_t rfcomm_event_service_registered_get_status(const uint8_t * event){
1260     return event[2];
1261 }
1262 /**
1263  * @brief Get field channel_id from event rfcomm_event_service_registered
1264  * @param event packet
1265  * @return channel_id
1266  * @note: btstack_type 1
1267  */
1268 static inline uint8_t rfcomm_event_service_registered_get_channel_id(const uint8_t * event){
1269     return event[3];
1270 }
1271 
1272 /**
1273  * @brief Get field status from event rfcomm_event_persistent_channel
1274  * @param event packet
1275  * @return status
1276  * @note: btstack_type 1
1277  */
1278 static inline uint8_t rfcomm_event_persistent_channel_get_status(const uint8_t * event){
1279     return event[2];
1280 }
1281 /**
1282  * @brief Get field server_channel_id from event rfcomm_event_persistent_channel
1283  * @param event packet
1284  * @return server_channel_id
1285  * @note: btstack_type 1
1286  */
1287 static inline uint8_t rfcomm_event_persistent_channel_get_server_channel_id(const uint8_t * event){
1288     return event[3];
1289 }
1290 
1291 /**
1292  * @brief Get field rfcomm_cid from event rfcomm_event_remote_modem_status
1293  * @param event packet
1294  * @return rfcomm_cid
1295  * @note: btstack_type 2
1296  */
1297 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
1298     return little_endian_read_16(event, 2);
1299 }
1300 /**
1301  * @brief Get field modem_status from event rfcomm_event_remote_modem_status
1302  * @param event packet
1303  * @return modem_status
1304  * @note: btstack_type 1
1305  */
1306 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
1307     return event[4];
1308 }
1309 
1310 /**
1311  * @brief Get field rfcomm_cid from event rfcomm_event_can_send_now
1312  * @param event packet
1313  * @return rfcomm_cid
1314  * @note: btstack_type 2
1315  */
1316 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){
1317     return little_endian_read_16(event, 2);
1318 }
1319 
1320 /**
1321  * @brief Get field status from event sdp_event_service_registered
1322  * @param event packet
1323  * @return status
1324  * @note: btstack_type 1
1325  */
1326 static inline uint8_t sdp_event_service_registered_get_status(const uint8_t * event){
1327     return event[2];
1328 }
1329 /**
1330  * @brief Get field service_record_handle from event sdp_event_service_registered
1331  * @param event packet
1332  * @return service_record_handle
1333  * @note: btstack_type 4
1334  */
1335 static inline uint32_t sdp_event_service_registered_get_service_record_handle(const uint8_t * event){
1336     return little_endian_read_32(event, 3);
1337 }
1338 
1339 /**
1340  * @brief Get field status from event sdp_event_query_complete
1341  * @param event packet
1342  * @return status
1343  * @note: btstack_type 1
1344  */
1345 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
1346     return event[2];
1347 }
1348 
1349 /**
1350  * @brief Get field rfcomm_channel from event sdp_event_query_rfcomm_service
1351  * @param event packet
1352  * @return rfcomm_channel
1353  * @note: btstack_type 1
1354  */
1355 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
1356     return event[2];
1357 }
1358 /**
1359  * @brief Get field name from event sdp_event_query_rfcomm_service
1360  * @param event packet
1361  * @return name
1362  * @note: btstack_type T
1363  */
1364 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
1365     return (const char *) &event[3];
1366 }
1367 
1368 /**
1369  * @brief Get field record_id from event sdp_event_query_attribute_byte
1370  * @param event packet
1371  * @return record_id
1372  * @note: btstack_type 2
1373  */
1374 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
1375     return little_endian_read_16(event, 2);
1376 }
1377 /**
1378  * @brief Get field attribute_id from event sdp_event_query_attribute_byte
1379  * @param event packet
1380  * @return attribute_id
1381  * @note: btstack_type 2
1382  */
1383 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
1384     return little_endian_read_16(event, 4);
1385 }
1386 /**
1387  * @brief Get field attribute_length from event sdp_event_query_attribute_byte
1388  * @param event packet
1389  * @return attribute_length
1390  * @note: btstack_type 2
1391  */
1392 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
1393     return little_endian_read_16(event, 6);
1394 }
1395 /**
1396  * @brief Get field data_offset from event sdp_event_query_attribute_byte
1397  * @param event packet
1398  * @return data_offset
1399  * @note: btstack_type 2
1400  */
1401 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
1402     return little_endian_read_16(event, 8);
1403 }
1404 /**
1405  * @brief Get field data from event sdp_event_query_attribute_byte
1406  * @param event packet
1407  * @return data
1408  * @note: btstack_type 1
1409  */
1410 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
1411     return event[10];
1412 }
1413 
1414 /**
1415  * @brief Get field record_id from event sdp_event_query_attribute_value
1416  * @param event packet
1417  * @return record_id
1418  * @note: btstack_type 2
1419  */
1420 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
1421     return little_endian_read_16(event, 2);
1422 }
1423 /**
1424  * @brief Get field attribute_id from event sdp_event_query_attribute_value
1425  * @param event packet
1426  * @return attribute_id
1427  * @note: btstack_type 2
1428  */
1429 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
1430     return little_endian_read_16(event, 4);
1431 }
1432 /**
1433  * @brief Get field attribute_length from event sdp_event_query_attribute_value
1434  * @param event packet
1435  * @return attribute_length
1436  * @note: btstack_type L
1437  */
1438 static inline int sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
1439     return little_endian_read_16(event, 6);
1440 }
1441 /**
1442  * @brief Get field attribute_value from event sdp_event_query_attribute_value
1443  * @param event packet
1444  * @return attribute_value
1445  * @note: btstack_type V
1446  */
1447 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
1448     return &event[8];
1449 }
1450 
1451 /**
1452  * @brief Get field total_count from event sdp_event_query_service_record_handle
1453  * @param event packet
1454  * @return total_count
1455  * @note: btstack_type 2
1456  */
1457 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
1458     return little_endian_read_16(event, 2);
1459 }
1460 /**
1461  * @brief Get field record_index from event sdp_event_query_service_record_handle
1462  * @param event packet
1463  * @return record_index
1464  * @note: btstack_type 2
1465  */
1466 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
1467     return little_endian_read_16(event, 4);
1468 }
1469 /**
1470  * @brief Get field record_handle from event sdp_event_query_service_record_handle
1471  * @param event packet
1472  * @return record_handle
1473  * @note: btstack_type 4
1474  */
1475 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
1476     return little_endian_read_32(event, 6);
1477 }
1478 
1479 #ifdef ENABLE_BLE
1480 /**
1481  * @brief Get field handle from event gatt_event_query_complete
1482  * @param event packet
1483  * @return handle
1484  * @note: btstack_type H
1485  */
1486 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){
1487     return little_endian_read_16(event, 2);
1488 }
1489 /**
1490  * @brief Get field status from event gatt_event_query_complete
1491  * @param event packet
1492  * @return status
1493  * @note: btstack_type 1
1494  */
1495 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){
1496     return event[4];
1497 }
1498 #endif
1499 
1500 #ifdef ENABLE_BLE
1501 /**
1502  * @brief Get field handle from event gatt_event_service_query_result
1503  * @param event packet
1504  * @return handle
1505  * @note: btstack_type H
1506  */
1507 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){
1508     return little_endian_read_16(event, 2);
1509 }
1510 /**
1511  * @brief Get field service from event gatt_event_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_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1517     gatt_client_deserialize_service(event, 4, service);
1518 }
1519 #endif
1520 
1521 #ifdef ENABLE_BLE
1522 /**
1523  * @brief Get field handle from event gatt_event_characteristic_query_result
1524  * @param event packet
1525  * @return handle
1526  * @note: btstack_type H
1527  */
1528 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){
1529     return little_endian_read_16(event, 2);
1530 }
1531 /**
1532  * @brief Get field characteristic from event gatt_event_characteristic_query_result
1533  * @param event packet
1534  * @param Pointer to storage for characteristic
1535  * @note: btstack_type Y
1536  */
1537 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){
1538     gatt_client_deserialize_characteristic(event, 4, characteristic);
1539 }
1540 #endif
1541 
1542 #ifdef ENABLE_BLE
1543 /**
1544  * @brief Get field handle from event gatt_event_included_service_query_result
1545  * @param event packet
1546  * @return handle
1547  * @note: btstack_type H
1548  */
1549 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){
1550     return little_endian_read_16(event, 2);
1551 }
1552 /**
1553  * @brief Get field include_handle from event gatt_event_included_service_query_result
1554  * @param event packet
1555  * @return include_handle
1556  * @note: btstack_type 2
1557  */
1558 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){
1559     return little_endian_read_16(event, 4);
1560 }
1561 /**
1562  * @brief Get field service from event gatt_event_included_service_query_result
1563  * @param event packet
1564  * @param Pointer to storage for service
1565  * @note: btstack_type X
1566  */
1567 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1568     gatt_client_deserialize_service(event, 6, service);
1569 }
1570 #endif
1571 
1572 #ifdef ENABLE_BLE
1573 /**
1574  * @brief Get field handle from event gatt_event_all_characteristic_descriptors_query_result
1575  * @param event packet
1576  * @return handle
1577  * @note: btstack_type H
1578  */
1579 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){
1580     return little_endian_read_16(event, 2);
1581 }
1582 /**
1583  * @brief Get field characteristic_descriptor from event gatt_event_all_characteristic_descriptors_query_result
1584  * @param event packet
1585  * @param Pointer to storage for characteristic_descriptor
1586  * @note: btstack_type Z
1587  */
1588 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){
1589     gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor);
1590 }
1591 #endif
1592 
1593 #ifdef ENABLE_BLE
1594 /**
1595  * @brief Get field handle from event gatt_event_characteristic_value_query_result
1596  * @param event packet
1597  * @return handle
1598  * @note: btstack_type H
1599  */
1600 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){
1601     return little_endian_read_16(event, 2);
1602 }
1603 /**
1604  * @brief Get field value_handle from event gatt_event_characteristic_value_query_result
1605  * @param event packet
1606  * @return value_handle
1607  * @note: btstack_type 2
1608  */
1609 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1610     return little_endian_read_16(event, 4);
1611 }
1612 /**
1613  * @brief Get field value_length from event gatt_event_characteristic_value_query_result
1614  * @param event packet
1615  * @return value_length
1616  * @note: btstack_type L
1617  */
1618 static inline int gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){
1619     return little_endian_read_16(event, 6);
1620 }
1621 /**
1622  * @brief Get field value from event gatt_event_characteristic_value_query_result
1623  * @param event packet
1624  * @return value
1625  * @note: btstack_type V
1626  */
1627 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){
1628     return &event[8];
1629 }
1630 #endif
1631 
1632 #ifdef ENABLE_BLE
1633 /**
1634  * @brief Get field handle from event gatt_event_long_characteristic_value_query_result
1635  * @param event packet
1636  * @return handle
1637  * @note: btstack_type H
1638  */
1639 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){
1640     return little_endian_read_16(event, 2);
1641 }
1642 /**
1643  * @brief Get field value_handle from event gatt_event_long_characteristic_value_query_result
1644  * @param event packet
1645  * @return value_handle
1646  * @note: btstack_type 2
1647  */
1648 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1649     return little_endian_read_16(event, 4);
1650 }
1651 /**
1652  * @brief Get field value_offset from event gatt_event_long_characteristic_value_query_result
1653  * @param event packet
1654  * @return value_offset
1655  * @note: btstack_type 2
1656  */
1657 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){
1658     return little_endian_read_16(event, 6);
1659 }
1660 /**
1661  * @brief Get field value_length from event gatt_event_long_characteristic_value_query_result
1662  * @param event packet
1663  * @return value_length
1664  * @note: btstack_type L
1665  */
1666 static inline int gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){
1667     return little_endian_read_16(event, 8);
1668 }
1669 /**
1670  * @brief Get field value from event gatt_event_long_characteristic_value_query_result
1671  * @param event packet
1672  * @return value
1673  * @note: btstack_type V
1674  */
1675 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){
1676     return &event[10];
1677 }
1678 #endif
1679 
1680 #ifdef ENABLE_BLE
1681 /**
1682  * @brief Get field handle from event gatt_event_notification
1683  * @param event packet
1684  * @return handle
1685  * @note: btstack_type H
1686  */
1687 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){
1688     return little_endian_read_16(event, 2);
1689 }
1690 /**
1691  * @brief Get field value_handle from event gatt_event_notification
1692  * @param event packet
1693  * @return value_handle
1694  * @note: btstack_type 2
1695  */
1696 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){
1697     return little_endian_read_16(event, 4);
1698 }
1699 /**
1700  * @brief Get field value_length from event gatt_event_notification
1701  * @param event packet
1702  * @return value_length
1703  * @note: btstack_type L
1704  */
1705 static inline int gatt_event_notification_get_value_length(const uint8_t * event){
1706     return little_endian_read_16(event, 6);
1707 }
1708 /**
1709  * @brief Get field value from event gatt_event_notification
1710  * @param event packet
1711  * @return value
1712  * @note: btstack_type V
1713  */
1714 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){
1715     return &event[8];
1716 }
1717 #endif
1718 
1719 #ifdef ENABLE_BLE
1720 /**
1721  * @brief Get field handle from event gatt_event_indication
1722  * @param event packet
1723  * @return handle
1724  * @note: btstack_type H
1725  */
1726 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){
1727     return little_endian_read_16(event, 2);
1728 }
1729 /**
1730  * @brief Get field value_handle from event gatt_event_indication
1731  * @param event packet
1732  * @return value_handle
1733  * @note: btstack_type 2
1734  */
1735 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){
1736     return little_endian_read_16(event, 4);
1737 }
1738 /**
1739  * @brief Get field value_length from event gatt_event_indication
1740  * @param event packet
1741  * @return value_length
1742  * @note: btstack_type L
1743  */
1744 static inline int gatt_event_indication_get_value_length(const uint8_t * event){
1745     return little_endian_read_16(event, 6);
1746 }
1747 /**
1748  * @brief Get field value from event gatt_event_indication
1749  * @param event packet
1750  * @return value
1751  * @note: btstack_type V
1752  */
1753 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){
1754     return &event[8];
1755 }
1756 #endif
1757 
1758 #ifdef ENABLE_BLE
1759 /**
1760  * @brief Get field descriptor_handle from event gatt_event_characteristic_descriptor_query_result
1761  * @param event packet
1762  * @return descriptor_handle
1763  * @note: btstack_type H
1764  */
1765 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){
1766     return little_endian_read_16(event, 2);
1767 }
1768 /**
1769  * @brief Get field descriptor_length from event gatt_event_characteristic_descriptor_query_result
1770  * @param event packet
1771  * @return descriptor_length
1772  * @note: btstack_type 2
1773  */
1774 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1775     return little_endian_read_16(event, 4);
1776 }
1777 /**
1778  * @brief Get field descriptor from event gatt_event_characteristic_descriptor_query_result
1779  * @param event packet
1780  * @return descriptor
1781  * @note: btstack_type L
1782  */
1783 static inline int gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1784     return little_endian_read_16(event, 6);
1785 }
1786 #endif
1787 
1788 #ifdef ENABLE_BLE
1789 /**
1790  * @brief Get field handle from event gatt_event_long_characteristic_descriptor_query_result
1791  * @param event packet
1792  * @return handle
1793  * @note: btstack_type H
1794  */
1795 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
1796     return little_endian_read_16(event, 2);
1797 }
1798 /**
1799  * @brief Get field descriptor_offset from event gatt_event_long_characteristic_descriptor_query_result
1800  * @param event packet
1801  * @return descriptor_offset
1802  * @note: btstack_type 2
1803  */
1804 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){
1805     return little_endian_read_16(event, 4);
1806 }
1807 /**
1808  * @brief Get field descriptor_length from event gatt_event_long_characteristic_descriptor_query_result
1809  * @param event packet
1810  * @return descriptor_length
1811  * @note: btstack_type L
1812  */
1813 static inline int gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1814     return little_endian_read_16(event, 6);
1815 }
1816 /**
1817  * @brief Get field descriptor from event gatt_event_long_characteristic_descriptor_query_result
1818  * @param event packet
1819  * @return descriptor
1820  * @note: btstack_type V
1821  */
1822 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1823     return &event[8];
1824 }
1825 #endif
1826 
1827 #ifdef ENABLE_BLE
1828 /**
1829  * @brief Get field handle from event gatt_event_mtu
1830  * @param event packet
1831  * @return handle
1832  * @note: btstack_type H
1833  */
1834 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){
1835     return little_endian_read_16(event, 2);
1836 }
1837 /**
1838  * @brief Get field MTU from event gatt_event_mtu
1839  * @param event packet
1840  * @return MTU
1841  * @note: btstack_type 2
1842  */
1843 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){
1844     return little_endian_read_16(event, 4);
1845 }
1846 #endif
1847 
1848 /**
1849  * @brief Get field status from event bnep_event_service_registered
1850  * @param event packet
1851  * @return status
1852  * @note: btstack_type 1
1853  */
1854 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){
1855     return event[2];
1856 }
1857 /**
1858  * @brief Get field service_uuid from event bnep_event_service_registered
1859  * @param event packet
1860  * @return service_uuid
1861  * @note: btstack_type 2
1862  */
1863 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){
1864     return little_endian_read_16(event, 3);
1865 }
1866 
1867 /**
1868  * @brief Get field status from event bnep_event_channel_opened
1869  * @param event packet
1870  * @return status
1871  * @note: btstack_type 1
1872  */
1873 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){
1874     return event[2];
1875 }
1876 /**
1877  * @brief Get field bnep_cid from event bnep_event_channel_opened
1878  * @param event packet
1879  * @return bnep_cid
1880  * @note: btstack_type 2
1881  */
1882 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){
1883     return little_endian_read_16(event, 3);
1884 }
1885 /**
1886  * @brief Get field source_uuid from event bnep_event_channel_opened
1887  * @param event packet
1888  * @return source_uuid
1889  * @note: btstack_type 2
1890  */
1891 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){
1892     return little_endian_read_16(event, 5);
1893 }
1894 /**
1895  * @brief Get field destination_uuid from event bnep_event_channel_opened
1896  * @param event packet
1897  * @return destination_uuid
1898  * @note: btstack_type 2
1899  */
1900 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){
1901     return little_endian_read_16(event, 7);
1902 }
1903 /**
1904  * @brief Get field mtu from event bnep_event_channel_opened
1905  * @param event packet
1906  * @return mtu
1907  * @note: btstack_type 2
1908  */
1909 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){
1910     return little_endian_read_16(event, 9);
1911 }
1912 /**
1913  * @brief Get field remote_address from event bnep_event_channel_opened
1914  * @param event packet
1915  * @param Pointer to storage for remote_address
1916  * @note: btstack_type B
1917  */
1918 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
1919     reverse_bd_addr(&event[11], remote_address);
1920 }
1921 
1922 /**
1923  * @brief Get field bnep_cid from event bnep_event_channel_closed
1924  * @param event packet
1925  * @return bnep_cid
1926  * @note: btstack_type 2
1927  */
1928 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){
1929     return little_endian_read_16(event, 2);
1930 }
1931 /**
1932  * @brief Get field source_uuid from event bnep_event_channel_closed
1933  * @param event packet
1934  * @return source_uuid
1935  * @note: btstack_type 2
1936  */
1937 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){
1938     return little_endian_read_16(event, 4);
1939 }
1940 /**
1941  * @brief Get field destination_uuid from event bnep_event_channel_closed
1942  * @param event packet
1943  * @return destination_uuid
1944  * @note: btstack_type 2
1945  */
1946 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){
1947     return little_endian_read_16(event, 6);
1948 }
1949 /**
1950  * @brief Get field remote_address from event bnep_event_channel_closed
1951  * @param event packet
1952  * @param Pointer to storage for remote_address
1953  * @note: btstack_type B
1954  */
1955 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
1956     reverse_bd_addr(&event[8], remote_address);
1957 }
1958 
1959 /**
1960  * @brief Get field bnep_cid from event bnep_event_channel_timeout
1961  * @param event packet
1962  * @return bnep_cid
1963  * @note: btstack_type 2
1964  */
1965 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){
1966     return little_endian_read_16(event, 2);
1967 }
1968 /**
1969  * @brief Get field source_uuid from event bnep_event_channel_timeout
1970  * @param event packet
1971  * @return source_uuid
1972  * @note: btstack_type 2
1973  */
1974 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){
1975     return little_endian_read_16(event, 4);
1976 }
1977 /**
1978  * @brief Get field destination_uuid from event bnep_event_channel_timeout
1979  * @param event packet
1980  * @return destination_uuid
1981  * @note: btstack_type 2
1982  */
1983 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){
1984     return little_endian_read_16(event, 6);
1985 }
1986 /**
1987  * @brief Get field remote_address from event bnep_event_channel_timeout
1988  * @param event packet
1989  * @param Pointer to storage for remote_address
1990  * @note: btstack_type B
1991  */
1992 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
1993     reverse_bd_addr(&event[8], remote_address);
1994 }
1995 /**
1996  * @brief Get field channel_state from event bnep_event_channel_timeout
1997  * @param event packet
1998  * @return channel_state
1999  * @note: btstack_type 1
2000  */
2001 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){
2002     return event[14];
2003 }
2004 
2005 /**
2006  * @brief Get field bnep_cid from event bnep_event_can_send_now
2007  * @param event packet
2008  * @return bnep_cid
2009  * @note: btstack_type 2
2010  */
2011 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){
2012     return little_endian_read_16(event, 2);
2013 }
2014 /**
2015  * @brief Get field source_uuid from event bnep_event_can_send_now
2016  * @param event packet
2017  * @return source_uuid
2018  * @note: btstack_type 2
2019  */
2020 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){
2021     return little_endian_read_16(event, 4);
2022 }
2023 /**
2024  * @brief Get field destination_uuid from event bnep_event_can_send_now
2025  * @param event packet
2026  * @return destination_uuid
2027  * @note: btstack_type 2
2028  */
2029 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){
2030     return little_endian_read_16(event, 6);
2031 }
2032 /**
2033  * @brief Get field remote_address from event bnep_event_can_send_now
2034  * @param event packet
2035  * @param Pointer to storage for remote_address
2036  * @note: btstack_type B
2037  */
2038 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2039     reverse_bd_addr(&event[8], remote_address);
2040 }
2041 
2042 #ifdef ENABLE_BLE
2043 /**
2044  * @brief Get field handle from event sm_event_just_works_request
2045  * @param event packet
2046  * @return handle
2047  * @note: btstack_type H
2048  */
2049 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
2050     return little_endian_read_16(event, 2);
2051 }
2052 /**
2053  * @brief Get field addr_type from event sm_event_just_works_request
2054  * @param event packet
2055  * @return addr_type
2056  * @note: btstack_type 1
2057  */
2058 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
2059     return event[4];
2060 }
2061 /**
2062  * @brief Get field address from event sm_event_just_works_request
2063  * @param event packet
2064  * @param Pointer to storage for address
2065  * @note: btstack_type B
2066  */
2067 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
2068     reverse_bd_addr(&event[5], address);
2069 }
2070 #endif
2071 
2072 #ifdef ENABLE_BLE
2073 /**
2074  * @brief Get field handle from event sm_event_just_works_cancel
2075  * @param event packet
2076  * @return handle
2077  * @note: btstack_type H
2078  */
2079 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
2080     return little_endian_read_16(event, 2);
2081 }
2082 /**
2083  * @brief Get field addr_type from event sm_event_just_works_cancel
2084  * @param event packet
2085  * @return addr_type
2086  * @note: btstack_type 1
2087  */
2088 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
2089     return event[4];
2090 }
2091 /**
2092  * @brief Get field address from event sm_event_just_works_cancel
2093  * @param event packet
2094  * @param Pointer to storage for address
2095  * @note: btstack_type B
2096  */
2097 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
2098     reverse_bd_addr(&event[5], address);
2099 }
2100 #endif
2101 
2102 #ifdef ENABLE_BLE
2103 /**
2104  * @brief Get field handle from event sm_event_passkey_display_number
2105  * @param event packet
2106  * @return handle
2107  * @note: btstack_type H
2108  */
2109 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){
2110     return little_endian_read_16(event, 2);
2111 }
2112 /**
2113  * @brief Get field addr_type from event sm_event_passkey_display_number
2114  * @param event packet
2115  * @return addr_type
2116  * @note: btstack_type 1
2117  */
2118 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
2119     return event[4];
2120 }
2121 /**
2122  * @brief Get field address from event sm_event_passkey_display_number
2123  * @param event packet
2124  * @param Pointer to storage for address
2125  * @note: btstack_type B
2126  */
2127 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
2128     reverse_bd_addr(&event[5], address);
2129 }
2130 /**
2131  * @brief Get field passkey from event sm_event_passkey_display_number
2132  * @param event packet
2133  * @return passkey
2134  * @note: btstack_type 4
2135  */
2136 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
2137     return little_endian_read_32(event, 11);
2138 }
2139 #endif
2140 
2141 #ifdef ENABLE_BLE
2142 /**
2143  * @brief Get field handle from event sm_event_passkey_display_cancel
2144  * @param event packet
2145  * @return handle
2146  * @note: btstack_type H
2147  */
2148 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
2149     return little_endian_read_16(event, 2);
2150 }
2151 /**
2152  * @brief Get field addr_type from event sm_event_passkey_display_cancel
2153  * @param event packet
2154  * @return addr_type
2155  * @note: btstack_type 1
2156  */
2157 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
2158     return event[4];
2159 }
2160 /**
2161  * @brief Get field address from event sm_event_passkey_display_cancel
2162  * @param event packet
2163  * @param Pointer to storage for address
2164  * @note: btstack_type B
2165  */
2166 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
2167     reverse_bd_addr(&event[5], address);
2168 }
2169 #endif
2170 
2171 #ifdef ENABLE_BLE
2172 /**
2173  * @brief Get field handle from event sm_event_passkey_input_number
2174  * @param event packet
2175  * @return handle
2176  * @note: btstack_type H
2177  */
2178 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
2179     return little_endian_read_16(event, 2);
2180 }
2181 /**
2182  * @brief Get field addr_type from event sm_event_passkey_input_number
2183  * @param event packet
2184  * @return addr_type
2185  * @note: btstack_type 1
2186  */
2187 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
2188     return event[4];
2189 }
2190 /**
2191  * @brief Get field address from event sm_event_passkey_input_number
2192  * @param event packet
2193  * @param Pointer to storage for address
2194  * @note: btstack_type B
2195  */
2196 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
2197     reverse_bd_addr(&event[5], address);
2198 }
2199 #endif
2200 
2201 #ifdef ENABLE_BLE
2202 /**
2203  * @brief Get field handle from event sm_event_passkey_input_cancel
2204  * @param event packet
2205  * @return handle
2206  * @note: btstack_type H
2207  */
2208 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
2209     return little_endian_read_16(event, 2);
2210 }
2211 /**
2212  * @brief Get field addr_type from event sm_event_passkey_input_cancel
2213  * @param event packet
2214  * @return addr_type
2215  * @note: btstack_type 1
2216  */
2217 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
2218     return event[4];
2219 }
2220 /**
2221  * @brief Get field address from event sm_event_passkey_input_cancel
2222  * @param event packet
2223  * @param Pointer to storage for address
2224  * @note: btstack_type B
2225  */
2226 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
2227     reverse_bd_addr(&event[5], address);
2228 }
2229 #endif
2230 
2231 #ifdef ENABLE_BLE
2232 /**
2233  * @brief Get field handle from event sm_event_identity_resolving_started
2234  * @param event packet
2235  * @return handle
2236  * @note: btstack_type H
2237  */
2238 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
2239     return little_endian_read_16(event, 2);
2240 }
2241 /**
2242  * @brief Get field addr_type from event sm_event_identity_resolving_started
2243  * @param event packet
2244  * @return addr_type
2245  * @note: btstack_type 1
2246  */
2247 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
2248     return event[4];
2249 }
2250 /**
2251  * @brief Get field address from event sm_event_identity_resolving_started
2252  * @param event packet
2253  * @param Pointer to storage for address
2254  * @note: btstack_type B
2255  */
2256 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
2257     reverse_bd_addr(&event[5], address);
2258 }
2259 #endif
2260 
2261 #ifdef ENABLE_BLE
2262 /**
2263  * @brief Get field handle from event sm_event_identity_resolving_failed
2264  * @param event packet
2265  * @return handle
2266  * @note: btstack_type H
2267  */
2268 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
2269     return little_endian_read_16(event, 2);
2270 }
2271 /**
2272  * @brief Get field addr_type from event sm_event_identity_resolving_failed
2273  * @param event packet
2274  * @return addr_type
2275  * @note: btstack_type 1
2276  */
2277 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
2278     return event[4];
2279 }
2280 /**
2281  * @brief Get field address from event sm_event_identity_resolving_failed
2282  * @param event packet
2283  * @param Pointer to storage for address
2284  * @note: btstack_type B
2285  */
2286 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
2287     reverse_bd_addr(&event[5], address);
2288 }
2289 #endif
2290 
2291 #ifdef ENABLE_BLE
2292 /**
2293  * @brief Get field handle from event sm_event_identity_resolving_succeeded
2294  * @param event packet
2295  * @return handle
2296  * @note: btstack_type H
2297  */
2298 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
2299     return little_endian_read_16(event, 2);
2300 }
2301 /**
2302  * @brief Get field addr_type from event sm_event_identity_resolving_succeeded
2303  * @param event packet
2304  * @return addr_type
2305  * @note: btstack_type 1
2306  */
2307 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
2308     return event[4];
2309 }
2310 /**
2311  * @brief Get field address from event sm_event_identity_resolving_succeeded
2312  * @param event packet
2313  * @param Pointer to storage for address
2314  * @note: btstack_type B
2315  */
2316 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
2317     reverse_bd_addr(&event[5], address);
2318 }
2319 /**
2320  * @brief Get field le_device_db_index from event sm_event_identity_resolving_succeeded
2321  * @param event packet
2322  * @return le_device_db_index
2323  * @note: btstack_type 2
2324  */
2325 static inline uint16_t sm_event_identity_resolving_succeeded_get_le_device_db_index(const uint8_t * event){
2326     return little_endian_read_16(event, 11);
2327 }
2328 #endif
2329 
2330 #ifdef ENABLE_BLE
2331 /**
2332  * @brief Get field handle from event sm_event_authorization_request
2333  * @param event packet
2334  * @return handle
2335  * @note: btstack_type H
2336  */
2337 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
2338     return little_endian_read_16(event, 2);
2339 }
2340 /**
2341  * @brief Get field addr_type from event sm_event_authorization_request
2342  * @param event packet
2343  * @return addr_type
2344  * @note: btstack_type 1
2345  */
2346 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
2347     return event[4];
2348 }
2349 /**
2350  * @brief Get field address from event sm_event_authorization_request
2351  * @param event packet
2352  * @param Pointer to storage for address
2353  * @note: btstack_type B
2354  */
2355 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
2356     reverse_bd_addr(&event[5], address);
2357 }
2358 #endif
2359 
2360 #ifdef ENABLE_BLE
2361 /**
2362  * @brief Get field handle from event sm_event_authorization_result
2363  * @param event packet
2364  * @return handle
2365  * @note: btstack_type H
2366  */
2367 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
2368     return little_endian_read_16(event, 2);
2369 }
2370 /**
2371  * @brief Get field addr_type from event sm_event_authorization_result
2372  * @param event packet
2373  * @return addr_type
2374  * @note: btstack_type 1
2375  */
2376 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
2377     return event[4];
2378 }
2379 /**
2380  * @brief Get field address from event sm_event_authorization_result
2381  * @param event packet
2382  * @param Pointer to storage for address
2383  * @note: btstack_type B
2384  */
2385 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
2386     reverse_bd_addr(&event[5], address);
2387 }
2388 /**
2389  * @brief Get field authorization_result from event sm_event_authorization_result
2390  * @param event packet
2391  * @return authorization_result
2392  * @note: btstack_type 1
2393  */
2394 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
2395     return event[11];
2396 }
2397 #endif
2398 
2399 /**
2400  * @brief Get field advertising_event_type from event gap_event_advertising_report
2401  * @param event packet
2402  * @return advertising_event_type
2403  * @note: btstack_type 1
2404  */
2405 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){
2406     return event[2];
2407 }
2408 /**
2409  * @brief Get field address_type from event gap_event_advertising_report
2410  * @param event packet
2411  * @return address_type
2412  * @note: btstack_type 1
2413  */
2414 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){
2415     return event[3];
2416 }
2417 /**
2418  * @brief Get field address from event gap_event_advertising_report
2419  * @param event packet
2420  * @param Pointer to storage for address
2421  * @note: btstack_type B
2422  */
2423 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){
2424     reverse_bd_addr(&event[4], address);
2425 }
2426 /**
2427  * @brief Get field rssi from event gap_event_advertising_report
2428  * @param event packet
2429  * @return rssi
2430  * @note: btstack_type 1
2431  */
2432 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){
2433     return event[10];
2434 }
2435 /**
2436  * @brief Get field data_length from event gap_event_advertising_report
2437  * @param event packet
2438  * @return data_length
2439  * @note: btstack_type J
2440  */
2441 static inline int gap_event_advertising_report_get_data_length(const uint8_t * event){
2442     return event[11];
2443 }
2444 /**
2445  * @brief Get field data from event gap_event_advertising_report
2446  * @param event packet
2447  * @return data
2448  * @note: btstack_type V
2449  */
2450 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){
2451     return &event[12];
2452 }
2453 
2454 /**
2455  * @brief Get field status from event hci_subevent_le_connection_complete
2456  * @param event packet
2457  * @return status
2458  * @note: btstack_type 1
2459  */
2460 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){
2461     return event[3];
2462 }
2463 /**
2464  * @brief Get field connection_handle from event hci_subevent_le_connection_complete
2465  * @param event packet
2466  * @return connection_handle
2467  * @note: btstack_type H
2468  */
2469 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){
2470     return little_endian_read_16(event, 4);
2471 }
2472 /**
2473  * @brief Get field role from event hci_subevent_le_connection_complete
2474  * @param event packet
2475  * @return role
2476  * @note: btstack_type 1
2477  */
2478 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){
2479     return event[6];
2480 }
2481 /**
2482  * @brief Get field peer_address_type from event hci_subevent_le_connection_complete
2483  * @param event packet
2484  * @return peer_address_type
2485  * @note: btstack_type 1
2486  */
2487 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){
2488     return event[7];
2489 }
2490 /**
2491  * @brief Get field peer_address from event hci_subevent_le_connection_complete
2492  * @param event packet
2493  * @param Pointer to storage for peer_address
2494  * @note: btstack_type B
2495  */
2496 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){
2497     reverse_bd_addr(&event[8], peer_address);
2498 }
2499 /**
2500  * @brief Get field conn_interval from event hci_subevent_le_connection_complete
2501  * @param event packet
2502  * @return conn_interval
2503  * @note: btstack_type 2
2504  */
2505 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){
2506     return little_endian_read_16(event, 14);
2507 }
2508 /**
2509  * @brief Get field conn_latency from event hci_subevent_le_connection_complete
2510  * @param event packet
2511  * @return conn_latency
2512  * @note: btstack_type 2
2513  */
2514 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){
2515     return little_endian_read_16(event, 16);
2516 }
2517 /**
2518  * @brief Get field supervision_timeout from event hci_subevent_le_connection_complete
2519  * @param event packet
2520  * @return supervision_timeout
2521  * @note: btstack_type 2
2522  */
2523 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){
2524     return little_endian_read_16(event, 18);
2525 }
2526 /**
2527  * @brief Get field master_clock_accuracy from event hci_subevent_le_connection_complete
2528  * @param event packet
2529  * @return master_clock_accuracy
2530  * @note: btstack_type 1
2531  */
2532 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){
2533     return event[20];
2534 }
2535 
2536 /**
2537  * @brief Get field status from event hsp_subevent_rfcomm_connection_complete
2538  * @param event packet
2539  * @return status
2540  * @note: btstack_type 1
2541  */
2542 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){
2543     return event[3];
2544 }
2545 
2546 /**
2547  * @brief Get field status from event hsp_subevent_rfcomm_disconnection_complete
2548  * @param event packet
2549  * @return status
2550  * @note: btstack_type 1
2551  */
2552 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){
2553     return event[3];
2554 }
2555 
2556 /**
2557  * @brief Get field status from event hsp_subevent_audio_connection_complete
2558  * @param event packet
2559  * @return status
2560  * @note: btstack_type 1
2561  */
2562 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){
2563     return event[3];
2564 }
2565 /**
2566  * @brief Get field handle from event hsp_subevent_audio_connection_complete
2567  * @param event packet
2568  * @return handle
2569  * @note: btstack_type H
2570  */
2571 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){
2572     return little_endian_read_16(event, 4);
2573 }
2574 
2575 /**
2576  * @brief Get field status from event hsp_subevent_audio_disconnection_complete
2577  * @param event packet
2578  * @return status
2579  * @note: btstack_type 1
2580  */
2581 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){
2582     return event[3];
2583 }
2584 
2585 
2586 /**
2587  * @brief Get field gain from event hsp_subevent_microphone_gain_changed
2588  * @param event packet
2589  * @return gain
2590  * @note: btstack_type 1
2591  */
2592 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){
2593     return event[3];
2594 }
2595 
2596 /**
2597  * @brief Get field gain from event hsp_subevent_speaker_gain_changed
2598  * @param event packet
2599  * @return gain
2600  * @note: btstack_type 1
2601  */
2602 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){
2603     return event[3];
2604 }
2605 
2606 /**
2607  * @brief Get field value_length from event hsp_subevent_hs_command
2608  * @param event packet
2609  * @return value_length
2610  * @note: btstack_type J
2611  */
2612 static inline int hsp_subevent_hs_command_get_value_length(const uint8_t * event){
2613     return event[3];
2614 }
2615 /**
2616  * @brief Get field value from event hsp_subevent_hs_command
2617  * @param event packet
2618  * @return value
2619  * @note: btstack_type V
2620  */
2621 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){
2622     return &event[4];
2623 }
2624 
2625 /**
2626  * @brief Get field value_length from event hsp_subevent_ag_indication
2627  * @param event packet
2628  * @return value_length
2629  * @note: btstack_type J
2630  */
2631 static inline int hsp_subevent_ag_indication_get_value_length(const uint8_t * event){
2632     return event[3];
2633 }
2634 /**
2635  * @brief Get field value from event hsp_subevent_ag_indication
2636  * @param event packet
2637  * @return value
2638  * @note: btstack_type V
2639  */
2640 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){
2641     return &event[4];
2642 }
2643 
2644 /**
2645  * @brief Get field status from event hfp_subevent_service_level_connection_established
2646  * @param event packet
2647  * @return status
2648  * @note: btstack_type 1
2649  */
2650 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){
2651     return event[3];
2652 }
2653 
2654 
2655 /**
2656  * @brief Get field status from event hfp_subevent_audio_connection_established
2657  * @param event packet
2658  * @return status
2659  * @note: btstack_type 1
2660  */
2661 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){
2662     return event[3];
2663 }
2664 
2665 
2666 /**
2667  * @brief Get field status from event hfp_subevent_complete
2668  * @param event packet
2669  * @return status
2670  * @note: btstack_type 1
2671  */
2672 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){
2673     return event[3];
2674 }
2675 
2676 /**
2677  * @brief Get field indicator_index from event hfp_subevent_ag_indicator_status_changed
2678  * @param event packet
2679  * @return indicator_index
2680  * @note: btstack_type 1
2681  */
2682 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){
2683     return event[3];
2684 }
2685 /**
2686  * @brief Get field indicator_status from event hfp_subevent_ag_indicator_status_changed
2687  * @param event packet
2688  * @return indicator_status
2689  * @note: btstack_type 1
2690  */
2691 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){
2692     return event[4];
2693 }
2694 /**
2695  * @brief Get field indicator_name from event hfp_subevent_ag_indicator_status_changed
2696  * @param event packet
2697  * @return indicator_name
2698  * @note: btstack_type T
2699  */
2700 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){
2701     return (const char *) &event[5];
2702 }
2703 
2704 /**
2705  * @brief Get field network_operator_mode from event hfp_subevent_network_operator_changed
2706  * @param event packet
2707  * @return network_operator_mode
2708  * @note: btstack_type 1
2709  */
2710 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){
2711     return event[3];
2712 }
2713 /**
2714  * @brief Get field network_operator_format from event hfp_subevent_network_operator_changed
2715  * @param event packet
2716  * @return network_operator_format
2717  * @note: btstack_type 1
2718  */
2719 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){
2720     return event[4];
2721 }
2722 /**
2723  * @brief Get field network_operator_name from event hfp_subevent_network_operator_changed
2724  * @param event packet
2725  * @return network_operator_name
2726  * @note: btstack_type 1
2727  */
2728 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){
2729     return event[5];
2730 }
2731 
2732 /**
2733  * @brief Get field error from event hfp_subevent_extended_audio_gateway_error
2734  * @param event packet
2735  * @return error
2736  * @note: btstack_type 1
2737  */
2738 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){
2739     return event[3];
2740 }
2741 
2742 /**
2743  * @brief Get field status from event hfp_subevent_codecs_connection_complete
2744  * @param event packet
2745  * @return status
2746  * @note: btstack_type 1
2747  */
2748 static inline uint8_t hfp_subevent_codecs_connection_complete_get_status(const uint8_t * event){
2749     return event[3];
2750 }
2751 
2752 
2753 
2754 
2755 /**
2756  * @brief Get field number from event hfp_subevent_place_call_with_number
2757  * @param event packet
2758  * @return number
2759  * @note: btstack_type T
2760  */
2761 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){
2762     return (const char *) &event[3];
2763 }
2764 
2765 
2766 /**
2767  * @brief Get field number from event hfp_subevent_number_for_voice_tag
2768  * @param event packet
2769  * @return number
2770  * @note: btstack_type T
2771  */
2772 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){
2773     return (const char *) &event[3];
2774 }
2775 
2776 /**
2777  * @brief Get field dtmf from event hfp_subevent_transmit_dtmf_codes
2778  * @param event packet
2779  * @return dtmf
2780  * @note: btstack_type T
2781  */
2782 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){
2783     return (const char *) &event[3];
2784 }
2785 
2786 
2787 
2788 
2789 /**
2790  * @brief Get field status from event hfp_subevent_speaker_volume
2791  * @param event packet
2792  * @return status
2793  * @note: btstack_type 1
2794  */
2795 static inline uint8_t hfp_subevent_speaker_volume_get_status(const uint8_t * event){
2796     return event[3];
2797 }
2798 /**
2799  * @brief Get field gain from event hfp_subevent_speaker_volume
2800  * @param event packet
2801  * @return gain
2802  * @note: btstack_type 1
2803  */
2804 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){
2805     return event[4];
2806 }
2807 
2808 /**
2809  * @brief Get field status from event hfp_subevent_microphone_volume
2810  * @param event packet
2811  * @return status
2812  * @note: btstack_type 1
2813  */
2814 static inline uint8_t hfp_subevent_microphone_volume_get_status(const uint8_t * event){
2815     return event[3];
2816 }
2817 /**
2818  * @brief Get field gain from event hfp_subevent_microphone_volume
2819  * @param event packet
2820  * @return gain
2821  * @note: btstack_type 1
2822  */
2823 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){
2824     return event[4];
2825 }
2826 
2827 /**
2828  * @brief Get field type from event hfp_subevent_call_waiting_notification
2829  * @param event packet
2830  * @return type
2831  * @note: btstack_type 1
2832  */
2833 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){
2834     return event[3];
2835 }
2836 /**
2837  * @brief Get field number from event hfp_subevent_call_waiting_notification
2838  * @param event packet
2839  * @return number
2840  * @note: btstack_type T
2841  */
2842 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){
2843     return (const char *) &event[4];
2844 }
2845 
2846 /**
2847  * @brief Get field type from event hfp_subevent_calling_line_indetification_notification
2848  * @param event packet
2849  * @return type
2850  * @note: btstack_type 1
2851  */
2852 static inline uint8_t hfp_subevent_calling_line_indetification_notification_get_type(const uint8_t * event){
2853     return event[3];
2854 }
2855 /**
2856  * @brief Get field number from event hfp_subevent_calling_line_indetification_notification
2857  * @param event packet
2858  * @return number
2859  * @note: btstack_type T
2860  */
2861 static inline const char * hfp_subevent_calling_line_indetification_notification_get_number(const uint8_t * event){
2862     return (const char *) &event[4];
2863 }
2864 
2865 /**
2866  * @brief Get field clcc_idx from event hfp_subevent_enhanced_call_status
2867  * @param event packet
2868  * @return clcc_idx
2869  * @note: btstack_type 1
2870  */
2871 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){
2872     return event[3];
2873 }
2874 /**
2875  * @brief Get field clcc_dir from event hfp_subevent_enhanced_call_status
2876  * @param event packet
2877  * @return clcc_dir
2878  * @note: btstack_type 1
2879  */
2880 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){
2881     return event[4];
2882 }
2883 /**
2884  * @brief Get field clcc_status from event hfp_subevent_enhanced_call_status
2885  * @param event packet
2886  * @return clcc_status
2887  * @note: btstack_type 1
2888  */
2889 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){
2890     return event[5];
2891 }
2892 /**
2893  * @brief Get field clcc_mpty from event hfp_subevent_enhanced_call_status
2894  * @param event packet
2895  * @return clcc_mpty
2896  * @note: btstack_type 1
2897  */
2898 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){
2899     return event[6];
2900 }
2901 /**
2902  * @brief Get field bnip_type from event hfp_subevent_enhanced_call_status
2903  * @param event packet
2904  * @return bnip_type
2905  * @note: btstack_type 1
2906  */
2907 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){
2908     return event[7];
2909 }
2910 /**
2911  * @brief Get field bnip_number from event hfp_subevent_enhanced_call_status
2912  * @param event packet
2913  * @return bnip_number
2914  * @note: btstack_type T
2915  */
2916 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){
2917     return (const char *) &event[8];
2918 }
2919 
2920 /**
2921  * @brief Get field status from event hfp_subevent_subscriber_number_information
2922  * @param event packet
2923  * @return status
2924  * @note: btstack_type 1
2925  */
2926 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){
2927     return event[3];
2928 }
2929 /**
2930  * @brief Get field bnip_type from event hfp_subevent_subscriber_number_information
2931  * @param event packet
2932  * @return bnip_type
2933  * @note: btstack_type 1
2934  */
2935 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){
2936     return event[4];
2937 }
2938 /**
2939  * @brief Get field bnip_number from event hfp_subevent_subscriber_number_information
2940  * @param event packet
2941  * @return bnip_number
2942  * @note: btstack_type T
2943  */
2944 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){
2945     return (const char *) &event[5];
2946 }
2947 
2948 /**
2949  * @brief Get field value from event hfp_subevent_response_and_hold_status
2950  * @param event packet
2951  * @return value
2952  * @note: btstack_type T
2953  */
2954 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){
2955     return (const char *) &event[3];
2956 }
2957 
2958 #ifdef ENABLE_BLE
2959 /**
2960  * @brief Get field handle from event ancs_subevent_client_connected
2961  * @param event packet
2962  * @return handle
2963  * @note: btstack_type H
2964  */
2965 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){
2966     return little_endian_read_16(event, 3);
2967 }
2968 #endif
2969 
2970 #ifdef ENABLE_BLE
2971 /**
2972  * @brief Get field handle from event ancs_subevent_client_notification
2973  * @param event packet
2974  * @return handle
2975  * @note: btstack_type H
2976  */
2977 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){
2978     return little_endian_read_16(event, 3);
2979 }
2980 /**
2981  * @brief Get field attribute_id from event ancs_subevent_client_notification
2982  * @param event packet
2983  * @return attribute_id
2984  * @note: btstack_type 2
2985  */
2986 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){
2987     return little_endian_read_16(event, 5);
2988 }
2989 /**
2990  * @brief Get field text from event ancs_subevent_client_notification
2991  * @param event packet
2992  * @return text
2993  * @note: btstack_type T
2994  */
2995 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){
2996     return (const char *) &event[7];
2997 }
2998 #endif
2999 
3000 #ifdef ENABLE_BLE
3001 /**
3002  * @brief Get field handle from event ancs_subevent_client_disconnected
3003  * @param event packet
3004  * @return handle
3005  * @note: btstack_type H
3006  */
3007 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){
3008     return little_endian_read_16(event, 3);
3009 }
3010 #endif
3011 
3012 
3013 
3014 /* API_END */
3015 
3016 #if defined __cplusplus
3017 }
3018 #endif
3019 
3020 #endif // __BTSTACK_EVENT_H
3021