xref: /btstack/src/btstack_event.h (revision b6fc147f78a37f3479b846963ca40c9b931f6e2f)
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 a2dp event
74  * @param event packet
75  * @return subevent_code
76  */
77 static inline uint8_t hci_event_a2dp_meta_get_subevent_code(const uint8_t * event){
78     return event[2];
79 }
80 /***
81  * @brief Get subevent code for ancs event
82  * @param event packet
83  * @return subevent_code
84  */
85 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){
86     return event[2];
87 }
88 /***
89  * @brief Get subevent code for avdtp event
90  * @param event packet
91  * @return subevent_code
92  */
93 static inline uint8_t hci_event_avdtp_meta_get_subevent_code(const uint8_t * event){
94     return event[2];
95 }
96 /***
97  * @brief Get subevent code for avrcp event
98  * @param event packet
99  * @return subevent_code
100  */
101 static inline uint8_t hci_event_avrcp_meta_get_subevent_code(const uint8_t * event){
102     return event[2];
103 }
104 /***
105  * @brief Get subevent code for gattservice event
106  * @param event packet
107  * @return subevent_code
108  */
109 static inline uint8_t hci_event_gattservice_meta_get_subevent_code(const uint8_t * event){
110     return event[2];
111 }
112 /***
113  * @brief Get subevent code for goep event
114  * @param event packet
115  * @return subevent_code
116  */
117 static inline uint8_t hci_event_goep_meta_get_subevent_code(const uint8_t * event){
118     return event[2];
119 }
120 /***
121  * @brief Get subevent code for hfp event
122  * @param event packet
123  * @return subevent_code
124  */
125 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){
126     return event[2];
127 }
128 /***
129  * @brief Get subevent code for hid event
130  * @param event packet
131  * @return subevent_code
132  */
133 static inline uint8_t hci_event_hid_meta_get_subevent_code(const uint8_t * event){
134     return event[2];
135 }
136 /***
137  * @brief Get subevent code for hids event
138  * @param event packet
139  * @return subevent_code
140  */
141 static inline uint8_t hci_event_hids_meta_get_subevent_code(const uint8_t * event){
142     return event[2];
143 }
144 /***
145  * @brief Get subevent code for hsp event
146  * @param event packet
147  * @return subevent_code
148  */
149 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){
150     return event[2];
151 }
152 /***
153  * @brief Get subevent code for le event
154  * @param event packet
155  * @return subevent_code
156  */
157 static inline uint8_t hci_event_le_meta_get_subevent_code(const uint8_t * event){
158     return event[2];
159 }
160 /***
161  * @brief Get subevent code for map event
162  * @param event packet
163  * @return subevent_code
164  */
165 static inline uint8_t hci_event_map_meta_get_subevent_code(const uint8_t * event){
166     return event[2];
167 }
168 /***
169  * @brief Get subevent code for mesh event
170  * @param event packet
171  * @return subevent_code
172  */
173 static inline uint8_t hci_event_mesh_meta_get_subevent_code(const uint8_t * event){
174     return event[2];
175 }
176 /***
177  * @brief Get subevent code for pbap event
178  * @param event packet
179  * @return subevent_code
180  */
181 static inline uint8_t hci_event_pbap_meta_get_subevent_code(const uint8_t * event){
182     return event[2];
183 }
184 /**
185  * @brief Get field status from event HCI_EVENT_INQUIRY_COMPLETE
186  * @param event packet
187  * @return status
188  * @note: btstack_type 1
189  */
190 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){
191     return event[2];
192 }
193 
194 /**
195  * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT
196  * @param event packet
197  * @return num_responses
198  * @note: btstack_type 1
199  */
200 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){
201     return event[2];
202 }
203 /**
204  * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT
205  * @param event packet
206  * @param Pointer to storage for bd_addr
207  * @note: btstack_type B
208  */
209 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
210     reverse_bd_addr(&event[3], bd_addr);
211 }
212 /**
213  * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT
214  * @param event packet
215  * @return page_scan_repetition_mode
216  * @note: btstack_type 1
217  */
218 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){
219     return event[9];
220 }
221 /**
222  * @brief Get field reserved1 from event HCI_EVENT_INQUIRY_RESULT
223  * @param event packet
224  * @return reserved1
225  * @note: btstack_type 1
226  */
227 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){
228     return event[10];
229 }
230 /**
231  * @brief Get field reserved2 from event HCI_EVENT_INQUIRY_RESULT
232  * @param event packet
233  * @return reserved2
234  * @note: btstack_type 1
235  */
236 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){
237     return event[11];
238 }
239 /**
240  * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT
241  * @param event packet
242  * @return class_of_device
243  * @note: btstack_type 3
244  */
245 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){
246     return little_endian_read_24(event, 12);
247 }
248 /**
249  * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT
250  * @param event packet
251  * @return clock_offset
252  * @note: btstack_type 2
253  */
254 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){
255     return little_endian_read_16(event, 15);
256 }
257 
258 /**
259  * @brief Get field status from event HCI_EVENT_CONNECTION_COMPLETE
260  * @param event packet
261  * @return status
262  * @note: btstack_type 1
263  */
264 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){
265     return event[2];
266 }
267 /**
268  * @brief Get field connection_handle from event HCI_EVENT_CONNECTION_COMPLETE
269  * @param event packet
270  * @return connection_handle
271  * @note: btstack_type 2
272  */
273 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){
274     return little_endian_read_16(event, 3);
275 }
276 /**
277  * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_COMPLETE
278  * @param event packet
279  * @param Pointer to storage for bd_addr
280  * @note: btstack_type B
281  */
282 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
283     reverse_bd_addr(&event[5], bd_addr);
284 }
285 /**
286  * @brief Get field link_type from event HCI_EVENT_CONNECTION_COMPLETE
287  * @param event packet
288  * @return link_type
289  * @note: btstack_type 1
290  */
291 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){
292     return event[11];
293 }
294 /**
295  * @brief Get field encryption_enabled from event HCI_EVENT_CONNECTION_COMPLETE
296  * @param event packet
297  * @return encryption_enabled
298  * @note: btstack_type 1
299  */
300 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){
301     return event[12];
302 }
303 
304 /**
305  * @brief Get field bd_addr from event HCI_EVENT_CONNECTION_REQUEST
306  * @param event packet
307  * @param Pointer to storage for bd_addr
308  * @note: btstack_type B
309  */
310 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
311     reverse_bd_addr(&event[2], bd_addr);
312 }
313 /**
314  * @brief Get field class_of_device from event HCI_EVENT_CONNECTION_REQUEST
315  * @param event packet
316  * @return class_of_device
317  * @note: btstack_type 3
318  */
319 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){
320     return little_endian_read_24(event, 8);
321 }
322 /**
323  * @brief Get field link_type from event HCI_EVENT_CONNECTION_REQUEST
324  * @param event packet
325  * @return link_type
326  * @note: btstack_type 1
327  */
328 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){
329     return event[11];
330 }
331 
332 /**
333  * @brief Get field status from event HCI_EVENT_DISCONNECTION_COMPLETE
334  * @param event packet
335  * @return status
336  * @note: btstack_type 1
337  */
338 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){
339     return event[2];
340 }
341 /**
342  * @brief Get field connection_handle from event HCI_EVENT_DISCONNECTION_COMPLETE
343  * @param event packet
344  * @return connection_handle
345  * @note: btstack_type 2
346  */
347 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){
348     return little_endian_read_16(event, 3);
349 }
350 /**
351  * @brief Get field reason from event HCI_EVENT_DISCONNECTION_COMPLETE
352  * @param event packet
353  * @return reason
354  * @note: btstack_type 1
355  */
356 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){
357     return event[5];
358 }
359 
360 /**
361  * @brief Get field status from event HCI_EVENT_AUTHENTICATION_COMPLETE
362  * @param event packet
363  * @return status
364  * @note: btstack_type 1
365  */
366 static inline uint8_t hci_event_authentication_complete_get_status(const uint8_t * event){
367     return event[2];
368 }
369 /**
370  * @brief Get field connection_handle from event HCI_EVENT_AUTHENTICATION_COMPLETE
371  * @param event packet
372  * @return connection_handle
373  * @note: btstack_type 2
374  */
375 static inline uint16_t hci_event_authentication_complete_get_connection_handle(const uint8_t * event){
376     return little_endian_read_16(event, 3);
377 }
378 
379 /**
380  * @brief Get field status from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
381  * @param event packet
382  * @return status
383  * @note: btstack_type 1
384  */
385 static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){
386     return event[2];
387 }
388 /**
389  * @brief Get field bd_addr from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
390  * @param event packet
391  * @param Pointer to storage for bd_addr
392  * @note: btstack_type B
393  */
394 static inline void hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
395     reverse_bd_addr(&event[3], bd_addr);
396 }
397 /**
398  * @brief Get field remote_name from event HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
399  * @param event packet
400  * @return remote_name
401  * @note: btstack_type N
402  */
403 static inline const char * hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){
404     return (const char *) &event[9];
405 }
406 
407 /**
408  * @brief Get field status from event HCI_EVENT_ENCRYPTION_CHANGE
409  * @param event packet
410  * @return status
411  * @note: btstack_type 1
412  */
413 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){
414     return event[2];
415 }
416 /**
417  * @brief Get field connection_handle from event HCI_EVENT_ENCRYPTION_CHANGE
418  * @param event packet
419  * @return connection_handle
420  * @note: btstack_type 2
421  */
422 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){
423     return little_endian_read_16(event, 3);
424 }
425 /**
426  * @brief Get field encryption_enabled from event HCI_EVENT_ENCRYPTION_CHANGE
427  * @param event packet
428  * @return encryption_enabled
429  * @note: btstack_type 1
430  */
431 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){
432     return event[5];
433 }
434 
435 /**
436  * @brief Get field status from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
437  * @param event packet
438  * @return status
439  * @note: btstack_type 1
440  */
441 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){
442     return event[2];
443 }
444 /**
445  * @brief Get field connection_handle from event HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
446  * @param event packet
447  * @return connection_handle
448  * @note: btstack_type 2
449  */
450 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){
451     return little_endian_read_16(event, 3);
452 }
453 
454 /**
455  * @brief Get field status from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE
456  * @param event packet
457  * @return status
458  * @note: btstack_type 1
459  */
460 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){
461     return event[2];
462 }
463 /**
464  * @brief Get field connection_handle from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE
465  * @param event packet
466  * @return connection_handle
467  * @note: btstack_type 2
468  */
469 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){
470     return little_endian_read_16(event, 3);
471 }
472 /**
473  * @brief Get field key_flag from event HCI_EVENT_MASTER_LINK_KEY_COMPLETE
474  * @param event packet
475  * @return key_flag
476  * @note: btstack_type 1
477  */
478 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){
479     return event[5];
480 }
481 
482 /**
483  * @brief Get field status from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
484  * @param event packet
485  * @return status
486  * @note: btstack_type 1
487  */
488 static inline uint8_t hci_event_read_remote_version_information_complete_get_status(const uint8_t * event){
489     return event[2];
490 }
491 /**
492  * @brief Get field connection_handle from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
493  * @param event packet
494  * @return connection_handle
495  * @note: btstack_type 2
496  */
497 static inline uint16_t hci_event_read_remote_version_information_complete_get_connection_handle(const uint8_t * event){
498     return little_endian_read_16(event, 3);
499 }
500 /**
501  * @brief Get field version from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
502  * @param event packet
503  * @return version
504  * @note: btstack_type 1
505  */
506 static inline uint8_t hci_event_read_remote_version_information_complete_get_version(const uint8_t * event){
507     return event[5];
508 }
509 /**
510  * @brief Get field manufacturer_name from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
511  * @param event packet
512  * @return manufacturer_name
513  * @note: btstack_type 2
514  */
515 static inline uint16_t hci_event_read_remote_version_information_complete_get_manufacturer_name(const uint8_t * event){
516     return little_endian_read_16(event, 6);
517 }
518 /**
519  * @brief Get field subversion from event HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
520  * @param event packet
521  * @return subversion
522  * @note: btstack_type 2
523  */
524 static inline uint16_t hci_event_read_remote_version_information_complete_get_subversion(const uint8_t * event){
525     return little_endian_read_16(event, 8);
526 }
527 
528 /**
529  * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_COMPLETE
530  * @param event packet
531  * @return num_hci_command_packets
532  * @note: btstack_type 1
533  */
534 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){
535     return event[2];
536 }
537 /**
538  * @brief Get field command_opcode from event HCI_EVENT_COMMAND_COMPLETE
539  * @param event packet
540  * @return command_opcode
541  * @note: btstack_type 2
542  */
543 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){
544     return little_endian_read_16(event, 3);
545 }
546 /**
547  * @brief Get field return_parameters from event HCI_EVENT_COMMAND_COMPLETE
548  * @param event packet
549  * @return return_parameters
550  * @note: btstack_type R
551  */
552 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){
553     return &event[5];
554 }
555 
556 /**
557  * @brief Get field status from event HCI_EVENT_COMMAND_STATUS
558  * @param event packet
559  * @return status
560  * @note: btstack_type 1
561  */
562 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){
563     return event[2];
564 }
565 /**
566  * @brief Get field num_hci_command_packets from event HCI_EVENT_COMMAND_STATUS
567  * @param event packet
568  * @return num_hci_command_packets
569  * @note: btstack_type 1
570  */
571 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){
572     return event[3];
573 }
574 /**
575  * @brief Get field command_opcode from event HCI_EVENT_COMMAND_STATUS
576  * @param event packet
577  * @return command_opcode
578  * @note: btstack_type 2
579  */
580 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){
581     return little_endian_read_16(event, 4);
582 }
583 
584 /**
585  * @brief Get field hardware_code from event HCI_EVENT_HARDWARE_ERROR
586  * @param event packet
587  * @return hardware_code
588  * @note: btstack_type 1
589  */
590 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){
591     return event[2];
592 }
593 
594 /**
595  * @brief Get field status from event HCI_EVENT_ROLE_CHANGE
596  * @param event packet
597  * @return status
598  * @note: btstack_type 1
599  */
600 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){
601     return event[2];
602 }
603 /**
604  * @brief Get field bd_addr from event HCI_EVENT_ROLE_CHANGE
605  * @param event packet
606  * @param Pointer to storage for bd_addr
607  * @note: btstack_type B
608  */
609 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
610     reverse_bd_addr(&event[3], bd_addr);
611 }
612 /**
613  * @brief Get field role from event HCI_EVENT_ROLE_CHANGE
614  * @param event packet
615  * @return role
616  * @note: btstack_type 1
617  */
618 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){
619     return event[9];
620 }
621 
622 /**
623  * @brief Get field status from event HCI_EVENT_MODE_CHANGE
624  * @param event packet
625  * @return status
626  * @note: btstack_type 1
627  */
628 static inline uint8_t hci_event_mode_change_get_status(const uint8_t * event){
629     return event[2];
630 }
631 /**
632  * @brief Get field handle from event HCI_EVENT_MODE_CHANGE
633  * @param event packet
634  * @return handle
635  * @note: btstack_type H
636  */
637 static inline hci_con_handle_t hci_event_mode_change_get_handle(const uint8_t * event){
638     return little_endian_read_16(event, 3);
639 }
640 /**
641  * @brief Get field mode from event HCI_EVENT_MODE_CHANGE
642  * @param event packet
643  * @return mode
644  * @note: btstack_type 1
645  */
646 static inline uint8_t hci_event_mode_change_get_mode(const uint8_t * event){
647     return event[5];
648 }
649 /**
650  * @brief Get field interval from event HCI_EVENT_MODE_CHANGE
651  * @param event packet
652  * @return interval
653  * @note: btstack_type 2
654  */
655 static inline uint16_t hci_event_mode_change_get_interval(const uint8_t * event){
656     return little_endian_read_16(event, 6);
657 }
658 
659 /**
660  * @brief Get field bd_addr from event HCI_EVENT_PIN_CODE_REQUEST
661  * @param event packet
662  * @param Pointer to storage for bd_addr
663  * @note: btstack_type B
664  */
665 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
666     reverse_bd_addr(&event[2], bd_addr);
667 }
668 
669 /**
670  * @brief Get field bd_addr from event HCI_EVENT_LINK_KEY_REQUEST
671  * @param event packet
672  * @param Pointer to storage for bd_addr
673  * @note: btstack_type B
674  */
675 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
676     reverse_bd_addr(&event[2], bd_addr);
677 }
678 
679 /**
680  * @brief Get field link_type from event HCI_EVENT_DATA_BUFFER_OVERFLOW
681  * @param event packet
682  * @return link_type
683  * @note: btstack_type 1
684  */
685 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){
686     return event[2];
687 }
688 
689 /**
690  * @brief Get field handle from event HCI_EVENT_MAX_SLOTS_CHANGED
691  * @param event packet
692  * @return handle
693  * @note: btstack_type H
694  */
695 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){
696     return little_endian_read_16(event, 2);
697 }
698 /**
699  * @brief Get field lmp_max_slots from event HCI_EVENT_MAX_SLOTS_CHANGED
700  * @param event packet
701  * @return lmp_max_slots
702  * @note: btstack_type 1
703  */
704 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){
705     return event[4];
706 }
707 
708 /**
709  * @brief Get field status from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
710  * @param event packet
711  * @return status
712  * @note: btstack_type 1
713  */
714 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){
715     return event[2];
716 }
717 /**
718  * @brief Get field handle from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
719  * @param event packet
720  * @return handle
721  * @note: btstack_type H
722  */
723 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){
724     return little_endian_read_16(event, 3);
725 }
726 /**
727  * @brief Get field clock_offset from event HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
728  * @param event packet
729  * @return clock_offset
730  * @note: btstack_type 2
731  */
732 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){
733     return little_endian_read_16(event, 5);
734 }
735 
736 /**
737  * @brief Get field status from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
738  * @param event packet
739  * @return status
740  * @note: btstack_type 1
741  */
742 static inline uint8_t hci_event_connection_packet_type_changed_get_status(const uint8_t * event){
743     return event[2];
744 }
745 /**
746  * @brief Get field handle from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
747  * @param event packet
748  * @return handle
749  * @note: btstack_type H
750  */
751 static inline hci_con_handle_t hci_event_connection_packet_type_changed_get_handle(const uint8_t * event){
752     return little_endian_read_16(event, 3);
753 }
754 /**
755  * @brief Get field packet_types from event HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
756  * @param event packet
757  * @return packet_types
758  * @note: btstack_type 2
759  */
760 static inline uint16_t hci_event_connection_packet_type_changed_get_packet_types(const uint8_t * event){
761     return little_endian_read_16(event, 5);
762 }
763 
764 /**
765  * @brief Get field num_responses from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI
766  * @param event packet
767  * @return num_responses
768  * @note: btstack_type 1
769  */
770 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){
771     return event[2];
772 }
773 /**
774  * @brief Get field bd_addr from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI
775  * @param event packet
776  * @param Pointer to storage for bd_addr
777  * @note: btstack_type B
778  */
779 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
780     reverse_bd_addr(&event[3], bd_addr);
781 }
782 /**
783  * @brief Get field page_scan_repetition_mode from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI
784  * @param event packet
785  * @return page_scan_repetition_mode
786  * @note: btstack_type 1
787  */
788 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){
789     return event[9];
790 }
791 /**
792  * @brief Get field reserved from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI
793  * @param event packet
794  * @return reserved
795  * @note: btstack_type 1
796  */
797 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){
798     return event[10];
799 }
800 /**
801  * @brief Get field class_of_device from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI
802  * @param event packet
803  * @return class_of_device
804  * @note: btstack_type 3
805  */
806 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){
807     return little_endian_read_24(event, 11);
808 }
809 /**
810  * @brief Get field clock_offset from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI
811  * @param event packet
812  * @return clock_offset
813  * @note: btstack_type 2
814  */
815 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){
816     return little_endian_read_16(event, 14);
817 }
818 /**
819  * @brief Get field rssi from event HCI_EVENT_INQUIRY_RESULT_WITH_RSSI
820  * @param event packet
821  * @return rssi
822  * @note: btstack_type 1
823  */
824 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){
825     return event[16];
826 }
827 
828 /**
829  * @brief Get field status from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
830  * @param event packet
831  * @return status
832  * @note: btstack_type 1
833  */
834 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){
835     return event[2];
836 }
837 /**
838  * @brief Get field handle from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
839  * @param event packet
840  * @return handle
841  * @note: btstack_type H
842  */
843 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){
844     return little_endian_read_16(event, 3);
845 }
846 /**
847  * @brief Get field bd_addr from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
848  * @param event packet
849  * @param Pointer to storage for bd_addr
850  * @note: btstack_type B
851  */
852 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
853     reverse_bd_addr(&event[5], bd_addr);
854 }
855 /**
856  * @brief Get field link_type from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
857  * @param event packet
858  * @return link_type
859  * @note: btstack_type 1
860  */
861 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){
862     return event[11];
863 }
864 /**
865  * @brief Get field transmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
866  * @param event packet
867  * @return transmission_interval
868  * @note: btstack_type 1
869  */
870 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){
871     return event[12];
872 }
873 /**
874  * @brief Get field retransmission_interval from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
875  * @param event packet
876  * @return retransmission_interval
877  * @note: btstack_type 1
878  */
879 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){
880     return event[13];
881 }
882 /**
883  * @brief Get field rx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
884  * @param event packet
885  * @return rx_packet_length
886  * @note: btstack_type 2
887  */
888 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){
889     return little_endian_read_16(event, 14);
890 }
891 /**
892  * @brief Get field tx_packet_length from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
893  * @param event packet
894  * @return tx_packet_length
895  * @note: btstack_type 2
896  */
897 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){
898     return little_endian_read_16(event, 16);
899 }
900 /**
901  * @brief Get field air_mode from event HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE
902  * @param event packet
903  * @return air_mode
904  * @note: btstack_type 1
905  */
906 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){
907     return event[18];
908 }
909 
910 /**
911  * @brief Get field num_responses from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE
912  * @param event packet
913  * @return num_responses
914  * @note: btstack_type 1
915  */
916 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){
917     return event[2];
918 }
919 /**
920  * @brief Get field bd_addr from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE
921  * @param event packet
922  * @param Pointer to storage for bd_addr
923  * @note: btstack_type B
924  */
925 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
926     reverse_bd_addr(&event[3], bd_addr);
927 }
928 /**
929  * @brief Get field page_scan_repetition_mode from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE
930  * @param event packet
931  * @return page_scan_repetition_mode
932  * @note: btstack_type 1
933  */
934 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){
935     return event[9];
936 }
937 /**
938  * @brief Get field reserved from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE
939  * @param event packet
940  * @return reserved
941  * @note: btstack_type 1
942  */
943 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){
944     return event[10];
945 }
946 /**
947  * @brief Get field class_of_device from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE
948  * @param event packet
949  * @return class_of_device
950  * @note: btstack_type 3
951  */
952 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){
953     return little_endian_read_24(event, 11);
954 }
955 /**
956  * @brief Get field clock_offset from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE
957  * @param event packet
958  * @return clock_offset
959  * @note: btstack_type 2
960  */
961 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){
962     return little_endian_read_16(event, 14);
963 }
964 /**
965  * @brief Get field rssi from event HCI_EVENT_EXTENDED_INQUIRY_RESPONSE
966  * @param event packet
967  * @return rssi
968  * @note: btstack_type 1
969  */
970 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){
971     return event[16];
972 }
973 
974 /**
975  * @brief Get field status from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE
976  * @param event packet
977  * @return status
978  * @note: btstack_type 1
979  */
980 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){
981     return event[2];
982 }
983 /**
984  * @brief Get field handle from event HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE
985  * @param event packet
986  * @return handle
987  * @note: btstack_type H
988  */
989 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){
990     return little_endian_read_16(event, 3);
991 }
992 
993 /**
994  * @brief Get field bd_addr from event HCI_EVENT_USER_CONFIRMATION_REQUEST
995  * @param event packet
996  * @param Pointer to storage for bd_addr
997  * @note: btstack_type B
998  */
999 static inline void hci_event_user_confirmation_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1000     reverse_bd_addr(&event[2], bd_addr);
1001 }
1002 /**
1003  * @brief Get field numeric_value from event HCI_EVENT_USER_CONFIRMATION_REQUEST
1004  * @param event packet
1005  * @return numeric_value
1006  * @note: btstack_type 4
1007  */
1008 static inline uint32_t hci_event_user_confirmation_request_get_numeric_value(const uint8_t * event){
1009     return little_endian_read_32(event, 8);
1010 }
1011 
1012 /**
1013  * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_REQUEST
1014  * @param event packet
1015  * @param Pointer to storage for bd_addr
1016  * @note: btstack_type B
1017  */
1018 static inline void hci_event_user_passkey_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1019     reverse_bd_addr(&event[2], bd_addr);
1020 }
1021 
1022 /**
1023  * @brief Get field bd_addr from event HCI_EVENT_REMOTE_OOB_DATA_REQUEST
1024  * @param event packet
1025  * @param Pointer to storage for bd_addr
1026  * @note: btstack_type B
1027  */
1028 static inline void hci_event_remote_oob_data_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1029     reverse_bd_addr(&event[2], bd_addr);
1030 }
1031 
1032 /**
1033  * @brief Get field status from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE
1034  * @param event packet
1035  * @return status
1036  * @note: btstack_type 1
1037  */
1038 static inline uint8_t hci_event_simple_pairing_complete_get_status(const uint8_t * event){
1039     return event[2];
1040 }
1041 /**
1042  * @brief Get field bd_addr from event HCI_EVENT_SIMPLE_PAIRING_COMPLETE
1043  * @param event packet
1044  * @param Pointer to storage for bd_addr
1045  * @note: btstack_type B
1046  */
1047 static inline void hci_event_simple_pairing_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1048     reverse_bd_addr(&event[3], bd_addr);
1049 }
1050 
1051 /**
1052  * @brief Get field state from event BTSTACK_EVENT_STATE
1053  * @param event packet
1054  * @return state
1055  * @note: btstack_type 1
1056  */
1057 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){
1058     return event[2];
1059 }
1060 
1061 /**
1062  * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED
1063  * @param event packet
1064  * @return number_connections
1065  * @note: btstack_type 1
1066  */
1067 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){
1068     return event[2];
1069 }
1070 
1071 
1072 /**
1073  * @brief Get field discoverable from event BTSTACK_EVENT_DISCOVERABLE_ENABLED
1074  * @param event packet
1075  * @return discoverable
1076  * @note: btstack_type 1
1077  */
1078 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){
1079     return event[2];
1080 }
1081 
1082 /**
1083  * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE
1084  * @param event packet
1085  * @return active
1086  * @note: btstack_type 1
1087  */
1088 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){
1089     return event[2];
1090 }
1091 
1092 /**
1093  * @brief Get field handle from event HCI_EVENT_SCO_CAN_SEND_NOW
1094  * @param event packet
1095  * @param Pointer to storage for handle
1096  * @note: btstack_type B
1097  */
1098 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){
1099     reverse_bd_addr(&event[2], handle);
1100 }
1101 
1102 /**
1103  * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED
1104  * @param event packet
1105  * @return status
1106  * @note: btstack_type 1
1107  */
1108 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
1109     return event[2];
1110 }
1111 /**
1112  * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED
1113  * @param event packet
1114  * @param Pointer to storage for address
1115  * @note: btstack_type B
1116  */
1117 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
1118     reverse_bd_addr(&event[3], address);
1119 }
1120 /**
1121  * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED
1122  * @param event packet
1123  * @return handle
1124  * @note: btstack_type H
1125  */
1126 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
1127     return little_endian_read_16(event, 9);
1128 }
1129 /**
1130  * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED
1131  * @param event packet
1132  * @return psm
1133  * @note: btstack_type 2
1134  */
1135 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
1136     return little_endian_read_16(event, 11);
1137 }
1138 /**
1139  * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED
1140  * @param event packet
1141  * @return local_cid
1142  * @note: btstack_type 2
1143  */
1144 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){
1145     return little_endian_read_16(event, 13);
1146 }
1147 /**
1148  * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED
1149  * @param event packet
1150  * @return remote_cid
1151  * @note: btstack_type 2
1152  */
1153 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
1154     return little_endian_read_16(event, 15);
1155 }
1156 /**
1157  * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED
1158  * @param event packet
1159  * @return local_mtu
1160  * @note: btstack_type 2
1161  */
1162 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
1163     return little_endian_read_16(event, 17);
1164 }
1165 /**
1166  * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED
1167  * @param event packet
1168  * @return remote_mtu
1169  * @note: btstack_type 2
1170  */
1171 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
1172     return little_endian_read_16(event, 19);
1173 }
1174 /**
1175  * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED
1176  * @param event packet
1177  * @return flush_timeout
1178  * @note: btstack_type 2
1179  */
1180 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
1181     return little_endian_read_16(event, 21);
1182 }
1183 /**
1184  * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED
1185  * @param event packet
1186  * @return incoming
1187  * @note: btstack_type 1
1188  */
1189 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){
1190     return event[23];
1191 }
1192 /**
1193  * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED
1194  * @param event packet
1195  * @return mode
1196  * @note: btstack_type 1
1197  */
1198 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){
1199     return event[24];
1200 }
1201 /**
1202  * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED
1203  * @param event packet
1204  * @return fcs
1205  * @note: btstack_type 1
1206  */
1207 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){
1208     return event[25];
1209 }
1210 
1211 /**
1212  * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED
1213  * @param event packet
1214  * @return local_cid
1215  * @note: btstack_type 2
1216  */
1217 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
1218     return little_endian_read_16(event, 2);
1219 }
1220 
1221 /**
1222  * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION
1223  * @param event packet
1224  * @param Pointer to storage for address
1225  * @note: btstack_type B
1226  */
1227 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
1228     reverse_bd_addr(&event[2], address);
1229 }
1230 /**
1231  * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION
1232  * @param event packet
1233  * @return handle
1234  * @note: btstack_type H
1235  */
1236 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
1237     return little_endian_read_16(event, 8);
1238 }
1239 /**
1240  * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION
1241  * @param event packet
1242  * @return psm
1243  * @note: btstack_type 2
1244  */
1245 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
1246     return little_endian_read_16(event, 10);
1247 }
1248 /**
1249  * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION
1250  * @param event packet
1251  * @return local_cid
1252  * @note: btstack_type 2
1253  */
1254 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
1255     return little_endian_read_16(event, 12);
1256 }
1257 /**
1258  * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION
1259  * @param event packet
1260  * @return remote_cid
1261  * @note: btstack_type 2
1262  */
1263 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
1264     return little_endian_read_16(event, 14);
1265 }
1266 
1267 /**
1268  * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1269  * @param event packet
1270  * @return handle
1271  * @note: btstack_type H
1272  */
1273 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
1274     return little_endian_read_16(event, 2);
1275 }
1276 /**
1277  * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1278  * @param event packet
1279  * @return interval_min
1280  * @note: btstack_type 2
1281  */
1282 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
1283     return little_endian_read_16(event, 4);
1284 }
1285 /**
1286  * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1287  * @param event packet
1288  * @return interval_max
1289  * @note: btstack_type 2
1290  */
1291 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
1292     return little_endian_read_16(event, 6);
1293 }
1294 /**
1295  * @brief Get field latencey from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1296  * @param event packet
1297  * @return latencey
1298  * @note: btstack_type 2
1299  */
1300 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
1301     return little_endian_read_16(event, 8);
1302 }
1303 /**
1304  * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1305  * @param event packet
1306  * @return timeout_multiplier
1307  * @note: btstack_type 2
1308  */
1309 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
1310     return little_endian_read_16(event, 10);
1311 }
1312 
1313 /**
1314  * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE
1315  * @param event packet
1316  * @return handle
1317  * @note: btstack_type H
1318  */
1319 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
1320     return little_endian_read_16(event, 2);
1321 }
1322 /**
1323  * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE
1324  * @param event packet
1325  * @return result
1326  * @note: btstack_type 2
1327  */
1328 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){
1329     return little_endian_read_16(event, 4);
1330 }
1331 
1332 /**
1333  * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW
1334  * @param event packet
1335  * @return local_cid
1336  * @note: btstack_type 2
1337  */
1338 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
1339     return little_endian_read_16(event, 2);
1340 }
1341 
1342 /**
1343  * @brief Get field address_type from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1344  * @param event packet
1345  * @return address_type
1346  * @note: btstack_type 1
1347  */
1348 static inline uint8_t l2cap_event_le_incoming_connection_get_address_type(const uint8_t * event){
1349     return event[2];
1350 }
1351 /**
1352  * @brief Get field address from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1353  * @param event packet
1354  * @param Pointer to storage for address
1355  * @note: btstack_type B
1356  */
1357 static inline void l2cap_event_le_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
1358     reverse_bd_addr(&event[3], address);
1359 }
1360 /**
1361  * @brief Get field handle from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1362  * @param event packet
1363  * @return handle
1364  * @note: btstack_type H
1365  */
1366 static inline hci_con_handle_t l2cap_event_le_incoming_connection_get_handle(const uint8_t * event){
1367     return little_endian_read_16(event, 9);
1368 }
1369 /**
1370  * @brief Get field psm from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1371  * @param event packet
1372  * @return psm
1373  * @note: btstack_type 2
1374  */
1375 static inline uint16_t l2cap_event_le_incoming_connection_get_psm(const uint8_t * event){
1376     return little_endian_read_16(event, 11);
1377 }
1378 /**
1379  * @brief Get field local_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1380  * @param event packet
1381  * @return local_cid
1382  * @note: btstack_type 2
1383  */
1384 static inline uint16_t l2cap_event_le_incoming_connection_get_local_cid(const uint8_t * event){
1385     return little_endian_read_16(event, 13);
1386 }
1387 /**
1388  * @brief Get field remote_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1389  * @param event packet
1390  * @return remote_cid
1391  * @note: btstack_type 2
1392  */
1393 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_cid(const uint8_t * event){
1394     return little_endian_read_16(event, 15);
1395 }
1396 /**
1397  * @brief Get field remote_mtu from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1398  * @param event packet
1399  * @return remote_mtu
1400  * @note: btstack_type 2
1401  */
1402 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_mtu(const uint8_t * event){
1403     return little_endian_read_16(event, 17);
1404 }
1405 
1406 /**
1407  * @brief Get field status from event L2CAP_EVENT_LE_CHANNEL_OPENED
1408  * @param event packet
1409  * @return status
1410  * @note: btstack_type 1
1411  */
1412 static inline uint8_t l2cap_event_le_channel_opened_get_status(const uint8_t * event){
1413     return event[2];
1414 }
1415 /**
1416  * @brief Get field address_type from event L2CAP_EVENT_LE_CHANNEL_OPENED
1417  * @param event packet
1418  * @return address_type
1419  * @note: btstack_type 1
1420  */
1421 static inline uint8_t l2cap_event_le_channel_opened_get_address_type(const uint8_t * event){
1422     return event[3];
1423 }
1424 /**
1425  * @brief Get field address from event L2CAP_EVENT_LE_CHANNEL_OPENED
1426  * @param event packet
1427  * @param Pointer to storage for address
1428  * @note: btstack_type B
1429  */
1430 static inline void l2cap_event_le_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
1431     reverse_bd_addr(&event[4], address);
1432 }
1433 /**
1434  * @brief Get field handle from event L2CAP_EVENT_LE_CHANNEL_OPENED
1435  * @param event packet
1436  * @return handle
1437  * @note: btstack_type H
1438  */
1439 static inline hci_con_handle_t l2cap_event_le_channel_opened_get_handle(const uint8_t * event){
1440     return little_endian_read_16(event, 10);
1441 }
1442 /**
1443  * @brief Get field incoming from event L2CAP_EVENT_LE_CHANNEL_OPENED
1444  * @param event packet
1445  * @return incoming
1446  * @note: btstack_type 1
1447  */
1448 static inline uint8_t l2cap_event_le_channel_opened_get_incoming(const uint8_t * event){
1449     return event[12];
1450 }
1451 /**
1452  * @brief Get field psm from event L2CAP_EVENT_LE_CHANNEL_OPENED
1453  * @param event packet
1454  * @return psm
1455  * @note: btstack_type 2
1456  */
1457 static inline uint16_t l2cap_event_le_channel_opened_get_psm(const uint8_t * event){
1458     return little_endian_read_16(event, 13);
1459 }
1460 /**
1461  * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED
1462  * @param event packet
1463  * @return local_cid
1464  * @note: btstack_type 2
1465  */
1466 static inline uint16_t l2cap_event_le_channel_opened_get_local_cid(const uint8_t * event){
1467     return little_endian_read_16(event, 15);
1468 }
1469 /**
1470  * @brief Get field remote_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED
1471  * @param event packet
1472  * @return remote_cid
1473  * @note: btstack_type 2
1474  */
1475 static inline uint16_t l2cap_event_le_channel_opened_get_remote_cid(const uint8_t * event){
1476     return little_endian_read_16(event, 17);
1477 }
1478 /**
1479  * @brief Get field local_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED
1480  * @param event packet
1481  * @return local_mtu
1482  * @note: btstack_type 2
1483  */
1484 static inline uint16_t l2cap_event_le_channel_opened_get_local_mtu(const uint8_t * event){
1485     return little_endian_read_16(event, 19);
1486 }
1487 /**
1488  * @brief Get field remote_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED
1489  * @param event packet
1490  * @return remote_mtu
1491  * @note: btstack_type 2
1492  */
1493 static inline uint16_t l2cap_event_le_channel_opened_get_remote_mtu(const uint8_t * event){
1494     return little_endian_read_16(event, 21);
1495 }
1496 
1497 /**
1498  * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_CLOSED
1499  * @param event packet
1500  * @return local_cid
1501  * @note: btstack_type 2
1502  */
1503 static inline uint16_t l2cap_event_le_channel_closed_get_local_cid(const uint8_t * event){
1504     return little_endian_read_16(event, 2);
1505 }
1506 
1507 /**
1508  * @brief Get field local_cid from event L2CAP_EVENT_LE_CAN_SEND_NOW
1509  * @param event packet
1510  * @return local_cid
1511  * @note: btstack_type 2
1512  */
1513 static inline uint16_t l2cap_event_le_can_send_now_get_local_cid(const uint8_t * event){
1514     return little_endian_read_16(event, 2);
1515 }
1516 
1517 /**
1518  * @brief Get field local_cid from event L2CAP_EVENT_LE_PACKET_SENT
1519  * @param event packet
1520  * @return local_cid
1521  * @note: btstack_type 2
1522  */
1523 static inline uint16_t l2cap_event_le_packet_sent_get_local_cid(const uint8_t * event){
1524     return little_endian_read_16(event, 2);
1525 }
1526 
1527 /**
1528  * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED
1529  * @param event packet
1530  * @return local_cid
1531  * @note: btstack_type 2
1532  */
1533 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){
1534     return little_endian_read_16(event, 2);
1535 }
1536 
1537 /**
1538  * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED
1539  * @param event packet
1540  * @return status
1541  * @note: btstack_type 1
1542  */
1543 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){
1544     return event[2];
1545 }
1546 /**
1547  * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED
1548  * @param event packet
1549  * @param Pointer to storage for bd_addr
1550  * @note: btstack_type B
1551  */
1552 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1553     reverse_bd_addr(&event[3], bd_addr);
1554 }
1555 /**
1556  * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED
1557  * @param event packet
1558  * @return con_handle
1559  * @note: btstack_type 2
1560  */
1561 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){
1562     return little_endian_read_16(event, 9);
1563 }
1564 /**
1565  * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED
1566  * @param event packet
1567  * @return server_channel
1568  * @note: btstack_type 1
1569  */
1570 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){
1571     return event[11];
1572 }
1573 /**
1574  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED
1575  * @param event packet
1576  * @return rfcomm_cid
1577  * @note: btstack_type 2
1578  */
1579 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){
1580     return little_endian_read_16(event, 12);
1581 }
1582 /**
1583  * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED
1584  * @param event packet
1585  * @return max_frame_size
1586  * @note: btstack_type 2
1587  */
1588 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){
1589     return little_endian_read_16(event, 14);
1590 }
1591 /**
1592  * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED
1593  * @param event packet
1594  * @return incoming
1595  * @note: btstack_type 1
1596  */
1597 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){
1598     return event[16];
1599 }
1600 
1601 /**
1602  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED
1603  * @param event packet
1604  * @return rfcomm_cid
1605  * @note: btstack_type 2
1606  */
1607 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
1608     return little_endian_read_16(event, 2);
1609 }
1610 
1611 /**
1612  * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION
1613  * @param event packet
1614  * @param Pointer to storage for bd_addr
1615  * @note: btstack_type B
1616  */
1617 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1618     reverse_bd_addr(&event[2], bd_addr);
1619 }
1620 /**
1621  * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION
1622  * @param event packet
1623  * @return server_channel
1624  * @note: btstack_type 1
1625  */
1626 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
1627     return event[8];
1628 }
1629 /**
1630  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION
1631  * @param event packet
1632  * @return rfcomm_cid
1633  * @note: btstack_type 2
1634  */
1635 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
1636     return little_endian_read_16(event, 9);
1637 }
1638 
1639 /**
1640  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS
1641  * @param event packet
1642  * @return rfcomm_cid
1643  * @note: btstack_type 2
1644  */
1645 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
1646     return little_endian_read_16(event, 2);
1647 }
1648 /**
1649  * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS
1650  * @param event packet
1651  * @return line_status
1652  * @note: btstack_type 1
1653  */
1654 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
1655     return event[4];
1656 }
1657 
1658 /**
1659  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS
1660  * @param event packet
1661  * @return rfcomm_cid
1662  * @note: btstack_type 2
1663  */
1664 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
1665     return little_endian_read_16(event, 2);
1666 }
1667 /**
1668  * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS
1669  * @param event packet
1670  * @return modem_status
1671  * @note: btstack_type 1
1672  */
1673 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
1674     return event[4];
1675 }
1676 
1677 /**
1678  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW
1679  * @param event packet
1680  * @return rfcomm_cid
1681  * @note: btstack_type 2
1682  */
1683 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){
1684     return little_endian_read_16(event, 2);
1685 }
1686 
1687 /**
1688  * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE
1689  * @param event packet
1690  * @return status
1691  * @note: btstack_type 1
1692  */
1693 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
1694     return event[2];
1695 }
1696 
1697 /**
1698  * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE
1699  * @param event packet
1700  * @return rfcomm_channel
1701  * @note: btstack_type 1
1702  */
1703 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
1704     return event[2];
1705 }
1706 /**
1707  * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE
1708  * @param event packet
1709  * @return name
1710  * @note: btstack_type T
1711  */
1712 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
1713     return (const char *) &event[3];
1714 }
1715 
1716 /**
1717  * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1718  * @param event packet
1719  * @return record_id
1720  * @note: btstack_type 2
1721  */
1722 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
1723     return little_endian_read_16(event, 2);
1724 }
1725 /**
1726  * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1727  * @param event packet
1728  * @return attribute_id
1729  * @note: btstack_type 2
1730  */
1731 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
1732     return little_endian_read_16(event, 4);
1733 }
1734 /**
1735  * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1736  * @param event packet
1737  * @return attribute_length
1738  * @note: btstack_type 2
1739  */
1740 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
1741     return little_endian_read_16(event, 6);
1742 }
1743 /**
1744  * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1745  * @param event packet
1746  * @return data_offset
1747  * @note: btstack_type 2
1748  */
1749 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
1750     return little_endian_read_16(event, 8);
1751 }
1752 /**
1753  * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1754  * @param event packet
1755  * @return data
1756  * @note: btstack_type 1
1757  */
1758 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
1759     return event[10];
1760 }
1761 
1762 /**
1763  * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1764  * @param event packet
1765  * @return record_id
1766  * @note: btstack_type 2
1767  */
1768 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
1769     return little_endian_read_16(event, 2);
1770 }
1771 /**
1772  * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1773  * @param event packet
1774  * @return attribute_id
1775  * @note: btstack_type 2
1776  */
1777 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
1778     return little_endian_read_16(event, 4);
1779 }
1780 /**
1781  * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1782  * @param event packet
1783  * @return attribute_length
1784  * @note: btstack_type L
1785  */
1786 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
1787     return little_endian_read_16(event, 6);
1788 }
1789 /**
1790  * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1791  * @param event packet
1792  * @return attribute_value
1793  * @note: btstack_type V
1794  */
1795 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
1796     return &event[8];
1797 }
1798 
1799 /**
1800  * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE
1801  * @param event packet
1802  * @return total_count
1803  * @note: btstack_type 2
1804  */
1805 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
1806     return little_endian_read_16(event, 2);
1807 }
1808 /**
1809  * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE
1810  * @param event packet
1811  * @return record_index
1812  * @note: btstack_type 2
1813  */
1814 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
1815     return little_endian_read_16(event, 4);
1816 }
1817 /**
1818  * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE
1819  * @param event packet
1820  * @return record_handle
1821  * @note: btstack_type 4
1822  */
1823 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
1824     return little_endian_read_32(event, 6);
1825 }
1826 
1827 #ifdef ENABLE_BLE
1828 /**
1829  * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE
1830  * @param event packet
1831  * @return handle
1832  * @note: btstack_type H
1833  */
1834 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){
1835     return little_endian_read_16(event, 2);
1836 }
1837 /**
1838  * @brief Get field status from event GATT_EVENT_QUERY_COMPLETE
1839  * @param event packet
1840  * @return status
1841  * @note: btstack_type 1
1842  */
1843 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){
1844     return event[4];
1845 }
1846 #endif
1847 
1848 #ifdef ENABLE_BLE
1849 /**
1850  * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT
1851  * @param event packet
1852  * @return handle
1853  * @note: btstack_type H
1854  */
1855 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){
1856     return little_endian_read_16(event, 2);
1857 }
1858 /**
1859  * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT
1860  * @param event packet
1861  * @param Pointer to storage for service
1862  * @note: btstack_type X
1863  */
1864 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1865     gatt_client_deserialize_service(event, 4, service);
1866 }
1867 #endif
1868 
1869 #ifdef ENABLE_BLE
1870 /**
1871  * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT
1872  * @param event packet
1873  * @return handle
1874  * @note: btstack_type H
1875  */
1876 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){
1877     return little_endian_read_16(event, 2);
1878 }
1879 /**
1880  * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT
1881  * @param event packet
1882  * @param Pointer to storage for characteristic
1883  * @note: btstack_type Y
1884  */
1885 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){
1886     gatt_client_deserialize_characteristic(event, 4, characteristic);
1887 }
1888 #endif
1889 
1890 #ifdef ENABLE_BLE
1891 /**
1892  * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT
1893  * @param event packet
1894  * @return handle
1895  * @note: btstack_type H
1896  */
1897 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){
1898     return little_endian_read_16(event, 2);
1899 }
1900 /**
1901  * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT
1902  * @param event packet
1903  * @return include_handle
1904  * @note: btstack_type 2
1905  */
1906 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){
1907     return little_endian_read_16(event, 4);
1908 }
1909 /**
1910  * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT
1911  * @param event packet
1912  * @param Pointer to storage for service
1913  * @note: btstack_type X
1914  */
1915 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1916     gatt_client_deserialize_service(event, 6, service);
1917 }
1918 #endif
1919 
1920 #ifdef ENABLE_BLE
1921 /**
1922  * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT
1923  * @param event packet
1924  * @return handle
1925  * @note: btstack_type H
1926  */
1927 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){
1928     return little_endian_read_16(event, 2);
1929 }
1930 /**
1931  * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT
1932  * @param event packet
1933  * @param Pointer to storage for characteristic_descriptor
1934  * @note: btstack_type Z
1935  */
1936 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){
1937     gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor);
1938 }
1939 #endif
1940 
1941 #ifdef ENABLE_BLE
1942 /**
1943  * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT
1944  * @param event packet
1945  * @return handle
1946  * @note: btstack_type H
1947  */
1948 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){
1949     return little_endian_read_16(event, 2);
1950 }
1951 /**
1952  * @brief Get field value_handle from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT
1953  * @param event packet
1954  * @return value_handle
1955  * @note: btstack_type 2
1956  */
1957 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1958     return little_endian_read_16(event, 4);
1959 }
1960 /**
1961  * @brief Get field value_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT
1962  * @param event packet
1963  * @return value_length
1964  * @note: btstack_type L
1965  */
1966 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){
1967     return little_endian_read_16(event, 6);
1968 }
1969 /**
1970  * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT
1971  * @param event packet
1972  * @return value
1973  * @note: btstack_type V
1974  */
1975 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){
1976     return &event[8];
1977 }
1978 #endif
1979 
1980 #ifdef ENABLE_BLE
1981 /**
1982  * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
1983  * @param event packet
1984  * @return handle
1985  * @note: btstack_type H
1986  */
1987 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){
1988     return little_endian_read_16(event, 2);
1989 }
1990 /**
1991  * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
1992  * @param event packet
1993  * @return value_handle
1994  * @note: btstack_type 2
1995  */
1996 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1997     return little_endian_read_16(event, 4);
1998 }
1999 /**
2000  * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2001  * @param event packet
2002  * @return value_offset
2003  * @note: btstack_type 2
2004  */
2005 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){
2006     return little_endian_read_16(event, 6);
2007 }
2008 /**
2009  * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2010  * @param event packet
2011  * @return value_length
2012  * @note: btstack_type L
2013  */
2014 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){
2015     return little_endian_read_16(event, 8);
2016 }
2017 /**
2018  * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2019  * @param event packet
2020  * @return value
2021  * @note: btstack_type V
2022  */
2023 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){
2024     return &event[10];
2025 }
2026 #endif
2027 
2028 #ifdef ENABLE_BLE
2029 /**
2030  * @brief Get field handle from event GATT_EVENT_NOTIFICATION
2031  * @param event packet
2032  * @return handle
2033  * @note: btstack_type H
2034  */
2035 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){
2036     return little_endian_read_16(event, 2);
2037 }
2038 /**
2039  * @brief Get field value_handle from event GATT_EVENT_NOTIFICATION
2040  * @param event packet
2041  * @return value_handle
2042  * @note: btstack_type 2
2043  */
2044 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){
2045     return little_endian_read_16(event, 4);
2046 }
2047 /**
2048  * @brief Get field value_length from event GATT_EVENT_NOTIFICATION
2049  * @param event packet
2050  * @return value_length
2051  * @note: btstack_type L
2052  */
2053 static inline uint16_t gatt_event_notification_get_value_length(const uint8_t * event){
2054     return little_endian_read_16(event, 6);
2055 }
2056 /**
2057  * @brief Get field value from event GATT_EVENT_NOTIFICATION
2058  * @param event packet
2059  * @return value
2060  * @note: btstack_type V
2061  */
2062 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){
2063     return &event[8];
2064 }
2065 #endif
2066 
2067 #ifdef ENABLE_BLE
2068 /**
2069  * @brief Get field handle from event GATT_EVENT_INDICATION
2070  * @param event packet
2071  * @return handle
2072  * @note: btstack_type H
2073  */
2074 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){
2075     return little_endian_read_16(event, 2);
2076 }
2077 /**
2078  * @brief Get field value_handle from event GATT_EVENT_INDICATION
2079  * @param event packet
2080  * @return value_handle
2081  * @note: btstack_type 2
2082  */
2083 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){
2084     return little_endian_read_16(event, 4);
2085 }
2086 /**
2087  * @brief Get field value_length from event GATT_EVENT_INDICATION
2088  * @param event packet
2089  * @return value_length
2090  * @note: btstack_type L
2091  */
2092 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){
2093     return little_endian_read_16(event, 6);
2094 }
2095 /**
2096  * @brief Get field value from event GATT_EVENT_INDICATION
2097  * @param event packet
2098  * @return value
2099  * @note: btstack_type V
2100  */
2101 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){
2102     return &event[8];
2103 }
2104 #endif
2105 
2106 #ifdef ENABLE_BLE
2107 /**
2108  * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2109  * @param event packet
2110  * @return handle
2111  * @note: btstack_type H
2112  */
2113 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
2114     return little_endian_read_16(event, 2);
2115 }
2116 /**
2117  * @brief Get field descriptor_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2118  * @param event packet
2119  * @return descriptor_handle
2120  * @note: btstack_type 2
2121  */
2122 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){
2123     return little_endian_read_16(event, 4);
2124 }
2125 /**
2126  * @brief Get field descriptor_length from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2127  * @param event packet
2128  * @return descriptor_length
2129  * @note: btstack_type L
2130  */
2131 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
2132     return little_endian_read_16(event, 6);
2133 }
2134 /**
2135  * @brief Get field descriptor from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2136  * @param event packet
2137  * @return descriptor
2138  * @note: btstack_type V
2139  */
2140 static inline const uint8_t * gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
2141     return &event[8];
2142 }
2143 #endif
2144 
2145 #ifdef ENABLE_BLE
2146 /**
2147  * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2148  * @param event packet
2149  * @return handle
2150  * @note: btstack_type H
2151  */
2152 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
2153     return little_endian_read_16(event, 2);
2154 }
2155 /**
2156  * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2157  * @param event packet
2158  * @return descriptor_offset
2159  * @note: btstack_type 2
2160  */
2161 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){
2162     return little_endian_read_16(event, 4);
2163 }
2164 /**
2165  * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2166  * @param event packet
2167  * @return descriptor_length
2168  * @note: btstack_type L
2169  */
2170 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
2171     return little_endian_read_16(event, 6);
2172 }
2173 /**
2174  * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2175  * @param event packet
2176  * @return descriptor
2177  * @note: btstack_type V
2178  */
2179 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
2180     return &event[8];
2181 }
2182 #endif
2183 
2184 #ifdef ENABLE_BLE
2185 /**
2186  * @brief Get field handle from event GATT_EVENT_MTU
2187  * @param event packet
2188  * @return handle
2189  * @note: btstack_type H
2190  */
2191 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){
2192     return little_endian_read_16(event, 2);
2193 }
2194 /**
2195  * @brief Get field MTU from event GATT_EVENT_MTU
2196  * @param event packet
2197  * @return MTU
2198  * @note: btstack_type 2
2199  */
2200 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){
2201     return little_endian_read_16(event, 4);
2202 }
2203 #endif
2204 
2205 #ifdef ENABLE_BLE
2206 /**
2207  * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE
2208  * @param event packet
2209  * @return handle
2210  * @note: btstack_type H
2211  */
2212 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){
2213     return little_endian_read_16(event, 2);
2214 }
2215 #endif
2216 
2217 /**
2218  * @brief Get field address_type from event ATT_EVENT_CONNECTED
2219  * @param event packet
2220  * @return address_type
2221  * @note: btstack_type 1
2222  */
2223 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){
2224     return event[2];
2225 }
2226 /**
2227  * @brief Get field address from event ATT_EVENT_CONNECTED
2228  * @param event packet
2229  * @param Pointer to storage for address
2230  * @note: btstack_type B
2231  */
2232 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){
2233     reverse_bd_addr(&event[3], address);
2234 }
2235 /**
2236  * @brief Get field handle from event ATT_EVENT_CONNECTED
2237  * @param event packet
2238  * @return handle
2239  * @note: btstack_type H
2240  */
2241 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){
2242     return little_endian_read_16(event, 9);
2243 }
2244 
2245 /**
2246  * @brief Get field handle from event ATT_EVENT_DISCONNECTED
2247  * @param event packet
2248  * @return handle
2249  * @note: btstack_type H
2250  */
2251 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){
2252     return little_endian_read_16(event, 2);
2253 }
2254 
2255 /**
2256  * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE
2257  * @param event packet
2258  * @return handle
2259  * @note: btstack_type H
2260  */
2261 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){
2262     return little_endian_read_16(event, 2);
2263 }
2264 /**
2265  * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE
2266  * @param event packet
2267  * @return MTU
2268  * @note: btstack_type 2
2269  */
2270 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){
2271     return little_endian_read_16(event, 4);
2272 }
2273 
2274 /**
2275  * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE
2276  * @param event packet
2277  * @return status
2278  * @note: btstack_type 1
2279  */
2280 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){
2281     return event[2];
2282 }
2283 /**
2284  * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE
2285  * @param event packet
2286  * @return conn_handle
2287  * @note: btstack_type H
2288  */
2289 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){
2290     return little_endian_read_16(event, 3);
2291 }
2292 /**
2293  * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE
2294  * @param event packet
2295  * @return attribute_handle
2296  * @note: btstack_type 2
2297  */
2298 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){
2299     return little_endian_read_16(event, 5);
2300 }
2301 
2302 
2303 /**
2304  * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED
2305  * @param event packet
2306  * @return status
2307  * @note: btstack_type 1
2308  */
2309 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){
2310     return event[2];
2311 }
2312 /**
2313  * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED
2314  * @param event packet
2315  * @return service_uuid
2316  * @note: btstack_type 2
2317  */
2318 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){
2319     return little_endian_read_16(event, 3);
2320 }
2321 
2322 /**
2323  * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED
2324  * @param event packet
2325  * @return status
2326  * @note: btstack_type 1
2327  */
2328 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){
2329     return event[2];
2330 }
2331 /**
2332  * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED
2333  * @param event packet
2334  * @return bnep_cid
2335  * @note: btstack_type 2
2336  */
2337 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){
2338     return little_endian_read_16(event, 3);
2339 }
2340 /**
2341  * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED
2342  * @param event packet
2343  * @return source_uuid
2344  * @note: btstack_type 2
2345  */
2346 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){
2347     return little_endian_read_16(event, 5);
2348 }
2349 /**
2350  * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED
2351  * @param event packet
2352  * @return destination_uuid
2353  * @note: btstack_type 2
2354  */
2355 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){
2356     return little_endian_read_16(event, 7);
2357 }
2358 /**
2359  * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED
2360  * @param event packet
2361  * @return mtu
2362  * @note: btstack_type 2
2363  */
2364 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){
2365     return little_endian_read_16(event, 9);
2366 }
2367 /**
2368  * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED
2369  * @param event packet
2370  * @param Pointer to storage for remote_address
2371  * @note: btstack_type B
2372  */
2373 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2374     reverse_bd_addr(&event[11], remote_address);
2375 }
2376 /**
2377  * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED
2378  * @param event packet
2379  * @return con_handle
2380  * @note: btstack_type H
2381  */
2382 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){
2383     return little_endian_read_16(event, 17);
2384 }
2385 
2386 /**
2387  * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED
2388  * @param event packet
2389  * @return bnep_cid
2390  * @note: btstack_type 2
2391  */
2392 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){
2393     return little_endian_read_16(event, 2);
2394 }
2395 /**
2396  * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED
2397  * @param event packet
2398  * @return source_uuid
2399  * @note: btstack_type 2
2400  */
2401 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){
2402     return little_endian_read_16(event, 4);
2403 }
2404 /**
2405  * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED
2406  * @param event packet
2407  * @return destination_uuid
2408  * @note: btstack_type 2
2409  */
2410 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){
2411     return little_endian_read_16(event, 6);
2412 }
2413 /**
2414  * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED
2415  * @param event packet
2416  * @param Pointer to storage for remote_address
2417  * @note: btstack_type B
2418  */
2419 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2420     reverse_bd_addr(&event[8], remote_address);
2421 }
2422 
2423 /**
2424  * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT
2425  * @param event packet
2426  * @return bnep_cid
2427  * @note: btstack_type 2
2428  */
2429 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){
2430     return little_endian_read_16(event, 2);
2431 }
2432 /**
2433  * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT
2434  * @param event packet
2435  * @return source_uuid
2436  * @note: btstack_type 2
2437  */
2438 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){
2439     return little_endian_read_16(event, 4);
2440 }
2441 /**
2442  * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT
2443  * @param event packet
2444  * @return destination_uuid
2445  * @note: btstack_type 2
2446  */
2447 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){
2448     return little_endian_read_16(event, 6);
2449 }
2450 /**
2451  * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT
2452  * @param event packet
2453  * @param Pointer to storage for remote_address
2454  * @note: btstack_type B
2455  */
2456 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2457     reverse_bd_addr(&event[8], remote_address);
2458 }
2459 /**
2460  * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT
2461  * @param event packet
2462  * @return channel_state
2463  * @note: btstack_type 1
2464  */
2465 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){
2466     return event[14];
2467 }
2468 
2469 /**
2470  * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW
2471  * @param event packet
2472  * @return bnep_cid
2473  * @note: btstack_type 2
2474  */
2475 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){
2476     return little_endian_read_16(event, 2);
2477 }
2478 /**
2479  * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW
2480  * @param event packet
2481  * @return source_uuid
2482  * @note: btstack_type 2
2483  */
2484 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){
2485     return little_endian_read_16(event, 4);
2486 }
2487 /**
2488  * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW
2489  * @param event packet
2490  * @return destination_uuid
2491  * @note: btstack_type 2
2492  */
2493 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){
2494     return little_endian_read_16(event, 6);
2495 }
2496 /**
2497  * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW
2498  * @param event packet
2499  * @param Pointer to storage for remote_address
2500  * @note: btstack_type B
2501  */
2502 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2503     reverse_bd_addr(&event[8], remote_address);
2504 }
2505 
2506 #ifdef ENABLE_BLE
2507 /**
2508  * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST
2509  * @param event packet
2510  * @return handle
2511  * @note: btstack_type H
2512  */
2513 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
2514     return little_endian_read_16(event, 2);
2515 }
2516 /**
2517  * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST
2518  * @param event packet
2519  * @return addr_type
2520  * @note: btstack_type 1
2521  */
2522 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
2523     return event[4];
2524 }
2525 /**
2526  * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST
2527  * @param event packet
2528  * @param Pointer to storage for address
2529  * @note: btstack_type B
2530  */
2531 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
2532     reverse_bd_addr(&event[5], address);
2533 }
2534 #endif
2535 
2536 #ifdef ENABLE_BLE
2537 /**
2538  * @brief Get field handle from event SM_EVENT_JUST_WORKS_CANCEL
2539  * @param event packet
2540  * @return handle
2541  * @note: btstack_type H
2542  */
2543 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
2544     return little_endian_read_16(event, 2);
2545 }
2546 /**
2547  * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_CANCEL
2548  * @param event packet
2549  * @return addr_type
2550  * @note: btstack_type 1
2551  */
2552 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
2553     return event[4];
2554 }
2555 /**
2556  * @brief Get field address from event SM_EVENT_JUST_WORKS_CANCEL
2557  * @param event packet
2558  * @param Pointer to storage for address
2559  * @note: btstack_type B
2560  */
2561 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
2562     reverse_bd_addr(&event[5], address);
2563 }
2564 #endif
2565 
2566 #ifdef ENABLE_BLE
2567 /**
2568  * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2569  * @param event packet
2570  * @return handle
2571  * @note: btstack_type H
2572  */
2573 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){
2574     return little_endian_read_16(event, 2);
2575 }
2576 /**
2577  * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2578  * @param event packet
2579  * @return addr_type
2580  * @note: btstack_type 1
2581  */
2582 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
2583     return event[4];
2584 }
2585 /**
2586  * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2587  * @param event packet
2588  * @param Pointer to storage for address
2589  * @note: btstack_type B
2590  */
2591 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
2592     reverse_bd_addr(&event[5], address);
2593 }
2594 /**
2595  * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2596  * @param event packet
2597  * @return passkey
2598  * @note: btstack_type 4
2599  */
2600 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
2601     return little_endian_read_32(event, 11);
2602 }
2603 #endif
2604 
2605 #ifdef ENABLE_BLE
2606 /**
2607  * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2608  * @param event packet
2609  * @return handle
2610  * @note: btstack_type H
2611  */
2612 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
2613     return little_endian_read_16(event, 2);
2614 }
2615 /**
2616  * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2617  * @param event packet
2618  * @return addr_type
2619  * @note: btstack_type 1
2620  */
2621 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
2622     return event[4];
2623 }
2624 /**
2625  * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2626  * @param event packet
2627  * @param Pointer to storage for address
2628  * @note: btstack_type B
2629  */
2630 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
2631     reverse_bd_addr(&event[5], address);
2632 }
2633 #endif
2634 
2635 #ifdef ENABLE_BLE
2636 /**
2637  * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER
2638  * @param event packet
2639  * @return handle
2640  * @note: btstack_type H
2641  */
2642 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
2643     return little_endian_read_16(event, 2);
2644 }
2645 /**
2646  * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER
2647  * @param event packet
2648  * @return addr_type
2649  * @note: btstack_type 1
2650  */
2651 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
2652     return event[4];
2653 }
2654 /**
2655  * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER
2656  * @param event packet
2657  * @param Pointer to storage for address
2658  * @note: btstack_type B
2659  */
2660 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
2661     reverse_bd_addr(&event[5], address);
2662 }
2663 #endif
2664 
2665 #ifdef ENABLE_BLE
2666 /**
2667  * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_CANCEL
2668  * @param event packet
2669  * @return handle
2670  * @note: btstack_type H
2671  */
2672 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
2673     return little_endian_read_16(event, 2);
2674 }
2675 /**
2676  * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_CANCEL
2677  * @param event packet
2678  * @return addr_type
2679  * @note: btstack_type 1
2680  */
2681 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
2682     return event[4];
2683 }
2684 /**
2685  * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_CANCEL
2686  * @param event packet
2687  * @param Pointer to storage for address
2688  * @note: btstack_type B
2689  */
2690 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
2691     reverse_bd_addr(&event[5], address);
2692 }
2693 #endif
2694 
2695 #ifdef ENABLE_BLE
2696 /**
2697  * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2698  * @param event packet
2699  * @return handle
2700  * @note: btstack_type H
2701  */
2702 static inline hci_con_handle_t sm_event_numeric_comparison_request_get_handle(const uint8_t * event){
2703     return little_endian_read_16(event, 2);
2704 }
2705 /**
2706  * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2707  * @param event packet
2708  * @return addr_type
2709  * @note: btstack_type 1
2710  */
2711 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){
2712     return event[4];
2713 }
2714 /**
2715  * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2716  * @param event packet
2717  * @param Pointer to storage for address
2718  * @note: btstack_type B
2719  */
2720 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){
2721     reverse_bd_addr(&event[5], address);
2722 }
2723 /**
2724  * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2725  * @param event packet
2726  * @return passkey
2727  * @note: btstack_type 4
2728  */
2729 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){
2730     return little_endian_read_32(event, 11);
2731 }
2732 #endif
2733 
2734 #ifdef ENABLE_BLE
2735 /**
2736  * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_CANCEL
2737  * @param event packet
2738  * @return handle
2739  * @note: btstack_type H
2740  */
2741 static inline hci_con_handle_t sm_event_numeric_comparison_cancel_get_handle(const uint8_t * event){
2742     return little_endian_read_16(event, 2);
2743 }
2744 /**
2745  * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_CANCEL
2746  * @param event packet
2747  * @return addr_type
2748  * @note: btstack_type 1
2749  */
2750 static inline uint8_t sm_event_numeric_comparison_cancel_get_addr_type(const uint8_t * event){
2751     return event[4];
2752 }
2753 /**
2754  * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_CANCEL
2755  * @param event packet
2756  * @param Pointer to storage for address
2757  * @note: btstack_type B
2758  */
2759 static inline void sm_event_numeric_comparison_cancel_get_address(const uint8_t * event, bd_addr_t address){
2760     reverse_bd_addr(&event[5], address);
2761 }
2762 #endif
2763 
2764 #ifdef ENABLE_BLE
2765 /**
2766  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2767  * @param event packet
2768  * @return handle
2769  * @note: btstack_type H
2770  */
2771 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
2772     return little_endian_read_16(event, 2);
2773 }
2774 /**
2775  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2776  * @param event packet
2777  * @return addr_type
2778  * @note: btstack_type 1
2779  */
2780 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
2781     return event[4];
2782 }
2783 /**
2784  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2785  * @param event packet
2786  * @param Pointer to storage for address
2787  * @note: btstack_type B
2788  */
2789 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
2790     reverse_bd_addr(&event[5], address);
2791 }
2792 #endif
2793 
2794 #ifdef ENABLE_BLE
2795 /**
2796  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2797  * @param event packet
2798  * @return handle
2799  * @note: btstack_type H
2800  */
2801 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
2802     return little_endian_read_16(event, 2);
2803 }
2804 /**
2805  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2806  * @param event packet
2807  * @return addr_type
2808  * @note: btstack_type 1
2809  */
2810 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
2811     return event[4];
2812 }
2813 /**
2814  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2815  * @param event packet
2816  * @param Pointer to storage for address
2817  * @note: btstack_type B
2818  */
2819 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
2820     reverse_bd_addr(&event[5], address);
2821 }
2822 #endif
2823 
2824 #ifdef ENABLE_BLE
2825 /**
2826  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2827  * @param event packet
2828  * @return handle
2829  * @note: btstack_type H
2830  */
2831 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
2832     return little_endian_read_16(event, 2);
2833 }
2834 /**
2835  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2836  * @param event packet
2837  * @return addr_type
2838  * @note: btstack_type 1
2839  */
2840 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
2841     return event[4];
2842 }
2843 /**
2844  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2845  * @param event packet
2846  * @param Pointer to storage for address
2847  * @note: btstack_type B
2848  */
2849 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
2850     reverse_bd_addr(&event[5], address);
2851 }
2852 /**
2853  * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2854  * @param event packet
2855  * @return identity_addr_type
2856  * @note: btstack_type 1
2857  */
2858 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){
2859     return event[11];
2860 }
2861 /**
2862  * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2863  * @param event packet
2864  * @param Pointer to storage for identity_address
2865  * @note: btstack_type B
2866  */
2867 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){
2868     reverse_bd_addr(&event[12], identity_address);
2869 }
2870 /**
2871  * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2872  * @param event packet
2873  * @return index
2874  * @note: btstack_type 2
2875  */
2876 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){
2877     return little_endian_read_16(event, 18);
2878 }
2879 #endif
2880 
2881 #ifdef ENABLE_BLE
2882 /**
2883  * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST
2884  * @param event packet
2885  * @return handle
2886  * @note: btstack_type H
2887  */
2888 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
2889     return little_endian_read_16(event, 2);
2890 }
2891 /**
2892  * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST
2893  * @param event packet
2894  * @return addr_type
2895  * @note: btstack_type 1
2896  */
2897 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
2898     return event[4];
2899 }
2900 /**
2901  * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST
2902  * @param event packet
2903  * @param Pointer to storage for address
2904  * @note: btstack_type B
2905  */
2906 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
2907     reverse_bd_addr(&event[5], address);
2908 }
2909 #endif
2910 
2911 #ifdef ENABLE_BLE
2912 /**
2913  * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT
2914  * @param event packet
2915  * @return handle
2916  * @note: btstack_type H
2917  */
2918 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
2919     return little_endian_read_16(event, 2);
2920 }
2921 /**
2922  * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT
2923  * @param event packet
2924  * @return addr_type
2925  * @note: btstack_type 1
2926  */
2927 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
2928     return event[4];
2929 }
2930 /**
2931  * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT
2932  * @param event packet
2933  * @param Pointer to storage for address
2934  * @note: btstack_type B
2935  */
2936 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
2937     reverse_bd_addr(&event[5], address);
2938 }
2939 /**
2940  * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT
2941  * @param event packet
2942  * @return authorization_result
2943  * @note: btstack_type 1
2944  */
2945 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
2946     return event[11];
2947 }
2948 #endif
2949 
2950 #ifdef ENABLE_BLE
2951 /**
2952  * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION
2953  * @param event packet
2954  * @return handle
2955  * @note: btstack_type H
2956  */
2957 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){
2958     return little_endian_read_16(event, 2);
2959 }
2960 /**
2961  * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION
2962  * @param event packet
2963  * @return action
2964  * @note: btstack_type 1
2965  */
2966 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){
2967     return event[4];
2968 }
2969 #endif
2970 
2971 #ifdef ENABLE_BLE
2972 /**
2973  * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED
2974  * @param event packet
2975  * @return handle
2976  * @note: btstack_type H
2977  */
2978 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){
2979     return little_endian_read_16(event, 2);
2980 }
2981 /**
2982  * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED
2983  * @param event packet
2984  * @return addr_type
2985  * @note: btstack_type 1
2986  */
2987 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){
2988     return event[4];
2989 }
2990 /**
2991  * @brief Get field address from event SM_EVENT_IDENTITY_CREATED
2992  * @param event packet
2993  * @param Pointer to storage for address
2994  * @note: btstack_type B
2995  */
2996 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){
2997     reverse_bd_addr(&event[5], address);
2998 }
2999 /**
3000  * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED
3001  * @param event packet
3002  * @return identity_addr_type
3003  * @note: btstack_type 1
3004  */
3005 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){
3006     return event[11];
3007 }
3008 /**
3009  * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED
3010  * @param event packet
3011  * @param Pointer to storage for identity_address
3012  * @note: btstack_type B
3013  */
3014 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){
3015     reverse_bd_addr(&event[12], identity_address);
3016 }
3017 /**
3018  * @brief Get field index from event SM_EVENT_IDENTITY_CREATED
3019  * @param event packet
3020  * @return index
3021  * @note: btstack_type 2
3022  */
3023 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){
3024     return little_endian_read_16(event, 18);
3025 }
3026 #endif
3027 
3028 #ifdef ENABLE_BLE
3029 /**
3030  * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE
3031  * @param event packet
3032  * @return handle
3033  * @note: btstack_type H
3034  */
3035 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){
3036     return little_endian_read_16(event, 2);
3037 }
3038 /**
3039  * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE
3040  * @param event packet
3041  * @return addr_type
3042  * @note: btstack_type 1
3043  */
3044 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){
3045     return event[4];
3046 }
3047 /**
3048  * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE
3049  * @param event packet
3050  * @param Pointer to storage for address
3051  * @note: btstack_type B
3052  */
3053 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){
3054     reverse_bd_addr(&event[5], address);
3055 }
3056 /**
3057  * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE
3058  * @param event packet
3059  * @return status
3060  * @note: btstack_type 1
3061  */
3062 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){
3063     return event[11];
3064 }
3065 /**
3066  * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE
3067  * @param event packet
3068  * @return reason
3069  * @note: btstack_type 1
3070  */
3071 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){
3072     return event[12];
3073 }
3074 #endif
3075 
3076 /**
3077  * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL
3078  * @param event packet
3079  * @return handle
3080  * @note: btstack_type H
3081  */
3082 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){
3083     return little_endian_read_16(event, 2);
3084 }
3085 /**
3086  * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL
3087  * @param event packet
3088  * @return security_level
3089  * @note: btstack_type 1
3090  */
3091 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){
3092     return event[4];
3093 }
3094 
3095 /**
3096  * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED
3097  * @param event packet
3098  * @return status
3099  * @note: btstack_type 1
3100  */
3101 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){
3102     return event[2];
3103 }
3104 /**
3105  * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED
3106  * @param event packet
3107  * @param Pointer to storage for address
3108  * @note: btstack_type B
3109  */
3110 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){
3111     reverse_bd_addr(&event[3], address);
3112 }
3113 
3114 /**
3115  * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT
3116  * @param event packet
3117  * @return advertising_event_type
3118  * @note: btstack_type 1
3119  */
3120 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){
3121     return event[2];
3122 }
3123 /**
3124  * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT
3125  * @param event packet
3126  * @return address_type
3127  * @note: btstack_type 1
3128  */
3129 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){
3130     return event[3];
3131 }
3132 /**
3133  * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT
3134  * @param event packet
3135  * @param Pointer to storage for address
3136  * @note: btstack_type B
3137  */
3138 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){
3139     reverse_bd_addr(&event[4], address);
3140 }
3141 /**
3142  * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT
3143  * @param event packet
3144  * @return rssi
3145  * @note: btstack_type 1
3146  */
3147 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){
3148     return event[10];
3149 }
3150 /**
3151  * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT
3152  * @param event packet
3153  * @return data_length
3154  * @note: btstack_type J
3155  */
3156 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){
3157     return event[11];
3158 }
3159 /**
3160  * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT
3161  * @param event packet
3162  * @return data
3163  * @note: btstack_type V
3164  */
3165 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){
3166     return &event[12];
3167 }
3168 
3169 /**
3170  * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT
3171  * @param event packet
3172  * @param Pointer to storage for bd_addr
3173  * @note: btstack_type B
3174  */
3175 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3176     reverse_bd_addr(&event[2], bd_addr);
3177 }
3178 /**
3179  * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT
3180  * @param event packet
3181  * @return page_scan_repetition_mode
3182  * @note: btstack_type 1
3183  */
3184 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){
3185     return event[8];
3186 }
3187 /**
3188  * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT
3189  * @param event packet
3190  * @return class_of_device
3191  * @note: btstack_type 3
3192  */
3193 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){
3194     return little_endian_read_24(event, 9);
3195 }
3196 /**
3197  * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT
3198  * @param event packet
3199  * @return clock_offset
3200  * @note: btstack_type 2
3201  */
3202 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){
3203     return little_endian_read_16(event, 12);
3204 }
3205 /**
3206  * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT
3207  * @param event packet
3208  * @return rssi_available
3209  * @note: btstack_type 1
3210  */
3211 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){
3212     return event[14];
3213 }
3214 /**
3215  * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT
3216  * @param event packet
3217  * @return rssi
3218  * @note: btstack_type 1
3219  */
3220 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){
3221     return event[15];
3222 }
3223 /**
3224  * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT
3225  * @param event packet
3226  * @return name_available
3227  * @note: btstack_type 1
3228  */
3229 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){
3230     return event[16];
3231 }
3232 /**
3233  * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT
3234  * @param event packet
3235  * @return name_len
3236  * @note: btstack_type J
3237  */
3238 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){
3239     return event[17];
3240 }
3241 /**
3242  * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT
3243  * @param event packet
3244  * @return name
3245  * @note: btstack_type V
3246  */
3247 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){
3248     return &event[18];
3249 }
3250 
3251 /**
3252  * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE
3253  * @param event packet
3254  * @return status
3255  * @note: btstack_type 1
3256  */
3257 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){
3258     return event[2];
3259 }
3260 
3261 /**
3262  * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3263  * @param event packet
3264  * @return status
3265  * @note: btstack_type 1
3266  */
3267 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){
3268     return event[3];
3269 }
3270 /**
3271  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3272  * @param event packet
3273  * @return connection_handle
3274  * @note: btstack_type H
3275  */
3276 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){
3277     return little_endian_read_16(event, 4);
3278 }
3279 /**
3280  * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3281  * @param event packet
3282  * @return role
3283  * @note: btstack_type 1
3284  */
3285 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){
3286     return event[6];
3287 }
3288 /**
3289  * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3290  * @param event packet
3291  * @return peer_address_type
3292  * @note: btstack_type 1
3293  */
3294 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){
3295     return event[7];
3296 }
3297 /**
3298  * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3299  * @param event packet
3300  * @param Pointer to storage for peer_address
3301  * @note: btstack_type B
3302  */
3303 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){
3304     reverse_bd_addr(&event[8], peer_address);
3305 }
3306 /**
3307  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3308  * @param event packet
3309  * @return conn_interval
3310  * @note: btstack_type 2
3311  */
3312 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){
3313     return little_endian_read_16(event, 14);
3314 }
3315 /**
3316  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3317  * @param event packet
3318  * @return conn_latency
3319  * @note: btstack_type 2
3320  */
3321 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){
3322     return little_endian_read_16(event, 16);
3323 }
3324 /**
3325  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3326  * @param event packet
3327  * @return supervision_timeout
3328  * @note: btstack_type 2
3329  */
3330 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){
3331     return little_endian_read_16(event, 18);
3332 }
3333 /**
3334  * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3335  * @param event packet
3336  * @return master_clock_accuracy
3337  * @note: btstack_type 1
3338  */
3339 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){
3340     return event[20];
3341 }
3342 
3343 /**
3344  * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3345  * @param event packet
3346  * @return status
3347  * @note: btstack_type 1
3348  */
3349 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){
3350     return event[3];
3351 }
3352 /**
3353  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3354  * @param event packet
3355  * @return connection_handle
3356  * @note: btstack_type H
3357  */
3358 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){
3359     return little_endian_read_16(event, 4);
3360 }
3361 /**
3362  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3363  * @param event packet
3364  * @return conn_interval
3365  * @note: btstack_type 2
3366  */
3367 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){
3368     return little_endian_read_16(event, 6);
3369 }
3370 /**
3371  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3372  * @param event packet
3373  * @return conn_latency
3374  * @note: btstack_type 2
3375  */
3376 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){
3377     return little_endian_read_16(event, 8);
3378 }
3379 /**
3380  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3381  * @param event packet
3382  * @return supervision_timeout
3383  * @note: btstack_type 2
3384  */
3385 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){
3386     return little_endian_read_16(event, 10);
3387 }
3388 
3389 /**
3390  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3391  * @param event packet
3392  * @return connection_handle
3393  * @note: btstack_type H
3394  */
3395 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){
3396     return little_endian_read_16(event, 3);
3397 }
3398 /**
3399  * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3400  * @param event packet
3401  * @return random_number
3402  * @note: btstack_type D
3403  */
3404 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){
3405     return (const uint8_t *) &event[5];
3406 }
3407 /**
3408  * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3409  * @param event packet
3410  * @return encryption_diversifier
3411  * @note: btstack_type 2
3412  */
3413 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){
3414     return little_endian_read_16(event, 13);
3415 }
3416 
3417 /**
3418  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3419  * @param event packet
3420  * @return connection_handle
3421  * @note: btstack_type H
3422  */
3423 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){
3424     return little_endian_read_16(event, 3);
3425 }
3426 /**
3427  * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3428  * @param event packet
3429  * @return random_number
3430  * @note: btstack_type D
3431  */
3432 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){
3433     return (const uint8_t *) &event[5];
3434 }
3435 /**
3436  * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3437  * @param event packet
3438  * @return encryption_diversifier
3439  * @note: btstack_type 2
3440  */
3441 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){
3442     return little_endian_read_16(event, 13);
3443 }
3444 
3445 /**
3446  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3447  * @param event packet
3448  * @return connection_handle
3449  * @note: btstack_type H
3450  */
3451 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){
3452     return little_endian_read_16(event, 3);
3453 }
3454 /**
3455  * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3456  * @param event packet
3457  * @return interval_min
3458  * @note: btstack_type 2
3459  */
3460 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){
3461     return little_endian_read_16(event, 5);
3462 }
3463 /**
3464  * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3465  * @param event packet
3466  * @return interval_max
3467  * @note: btstack_type 2
3468  */
3469 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){
3470     return little_endian_read_16(event, 7);
3471 }
3472 /**
3473  * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3474  * @param event packet
3475  * @return latency
3476  * @note: btstack_type 2
3477  */
3478 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){
3479     return little_endian_read_16(event, 9);
3480 }
3481 /**
3482  * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3483  * @param event packet
3484  * @return timeout
3485  * @note: btstack_type 2
3486  */
3487 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){
3488     return little_endian_read_16(event, 11);
3489 }
3490 
3491 /**
3492  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3493  * @param event packet
3494  * @return connection_handle
3495  * @note: btstack_type H
3496  */
3497 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){
3498     return little_endian_read_16(event, 3);
3499 }
3500 /**
3501  * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3502  * @param event packet
3503  * @return max_tx_octets
3504  * @note: btstack_type 2
3505  */
3506 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){
3507     return little_endian_read_16(event, 5);
3508 }
3509 /**
3510  * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3511  * @param event packet
3512  * @return max_tx_time
3513  * @note: btstack_type 2
3514  */
3515 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){
3516     return little_endian_read_16(event, 7);
3517 }
3518 /**
3519  * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3520  * @param event packet
3521  * @return max_rx_octets
3522  * @note: btstack_type 2
3523  */
3524 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){
3525     return little_endian_read_16(event, 9);
3526 }
3527 /**
3528  * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3529  * @param event packet
3530  * @return max_rx_time
3531  * @note: btstack_type 2
3532  */
3533 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){
3534     return little_endian_read_16(event, 11);
3535 }
3536 
3537 /**
3538  * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3539  * @param event packet
3540  * @return status
3541  * @note: btstack_type 1
3542  */
3543 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){
3544     return event[3];
3545 }
3546 /**
3547  * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3548  * @param event packet
3549  * @param Pointer to storage for dhkey_x
3550  * @note: btstack_type Q
3551  */
3552 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){
3553     reverse_bytes(&event[4], dhkey_x, 32);
3554 }
3555 /**
3556  * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3557  * @param event packet
3558  * @param Pointer to storage for dhkey_y
3559  * @note: btstack_type Q
3560  */
3561 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){
3562     reverse_bytes(&event[36], dhkey_y, 32);
3563 }
3564 
3565 /**
3566  * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE
3567  * @param event packet
3568  * @return status
3569  * @note: btstack_type 1
3570  */
3571 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){
3572     return event[3];
3573 }
3574 /**
3575  * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE
3576  * @param event packet
3577  * @param Pointer to storage for dhkey
3578  * @note: btstack_type Q
3579  */
3580 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){
3581     reverse_bytes(&event[4], dhkey, 32);
3582 }
3583 
3584 /**
3585  * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3586  * @param event packet
3587  * @return status
3588  * @note: btstack_type 1
3589  */
3590 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){
3591     return event[3];
3592 }
3593 /**
3594  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3595  * @param event packet
3596  * @return connection_handle
3597  * @note: btstack_type H
3598  */
3599 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){
3600     return little_endian_read_16(event, 4);
3601 }
3602 /**
3603  * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3604  * @param event packet
3605  * @return role
3606  * @note: btstack_type 1
3607  */
3608 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){
3609     return event[6];
3610 }
3611 /**
3612  * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3613  * @param event packet
3614  * @return peer_address_type
3615  * @note: btstack_type 1
3616  */
3617 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){
3618     return event[7];
3619 }
3620 /**
3621  * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3622  * @param event packet
3623  * @param Pointer to storage for perr_addresss
3624  * @note: btstack_type B
3625  */
3626 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){
3627     reverse_bd_addr(&event[8], perr_addresss);
3628 }
3629 /**
3630  * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3631  * @param event packet
3632  * @param Pointer to storage for local_resolvable_private_addres
3633  * @note: btstack_type B
3634  */
3635 static inline void hci_subevent_le_enhanced_connection_complete_get_local_resolvable_private_addres(const uint8_t * event, bd_addr_t local_resolvable_private_addres){
3636     reverse_bd_addr(&event[14], local_resolvable_private_addres);
3637 }
3638 /**
3639  * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3640  * @param event packet
3641  * @param Pointer to storage for peer_resolvable_private_addres
3642  * @note: btstack_type B
3643  */
3644 static inline void hci_subevent_le_enhanced_connection_complete_get_peer_resolvable_private_addres(const uint8_t * event, bd_addr_t peer_resolvable_private_addres){
3645     reverse_bd_addr(&event[20], peer_resolvable_private_addres);
3646 }
3647 /**
3648  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3649  * @param event packet
3650  * @return conn_interval
3651  * @note: btstack_type 2
3652  */
3653 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){
3654     return little_endian_read_16(event, 26);
3655 }
3656 /**
3657  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3658  * @param event packet
3659  * @return conn_latency
3660  * @note: btstack_type 2
3661  */
3662 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){
3663     return little_endian_read_16(event, 28);
3664 }
3665 /**
3666  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3667  * @param event packet
3668  * @return supervision_timeout
3669  * @note: btstack_type 2
3670  */
3671 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){
3672     return little_endian_read_16(event, 30);
3673 }
3674 /**
3675  * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3676  * @param event packet
3677  * @return master_clock_accuracy
3678  * @note: btstack_type 1
3679  */
3680 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){
3681     return event[32];
3682 }
3683 
3684 /**
3685  * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE
3686  * @param event packet
3687  * @return status
3688  * @note: btstack_type 1
3689  */
3690 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){
3691     return event[3];
3692 }
3693 
3694 /**
3695  * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE
3696  * @param event packet
3697  * @return status
3698  * @note: btstack_type 1
3699  */
3700 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){
3701     return event[3];
3702 }
3703 
3704 /**
3705  * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE
3706  * @param event packet
3707  * @return status
3708  * @note: btstack_type 1
3709  */
3710 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){
3711     return event[3];
3712 }
3713 /**
3714  * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE
3715  * @param event packet
3716  * @return handle
3717  * @note: btstack_type H
3718  */
3719 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){
3720     return little_endian_read_16(event, 4);
3721 }
3722 
3723 /**
3724  * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE
3725  * @param event packet
3726  * @return status
3727  * @note: btstack_type 1
3728  */
3729 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){
3730     return event[3];
3731 }
3732 
3733 
3734 /**
3735  * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED
3736  * @param event packet
3737  * @return gain
3738  * @note: btstack_type 1
3739  */
3740 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){
3741     return event[3];
3742 }
3743 
3744 /**
3745  * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED
3746  * @param event packet
3747  * @return gain
3748  * @note: btstack_type 1
3749  */
3750 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){
3751     return event[3];
3752 }
3753 
3754 /**
3755  * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND
3756  * @param event packet
3757  * @return value_length
3758  * @note: btstack_type J
3759  */
3760 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){
3761     return event[3];
3762 }
3763 /**
3764  * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND
3765  * @param event packet
3766  * @return value
3767  * @note: btstack_type V
3768  */
3769 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){
3770     return &event[4];
3771 }
3772 
3773 /**
3774  * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION
3775  * @param event packet
3776  * @return value_length
3777  * @note: btstack_type J
3778  */
3779 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){
3780     return event[3];
3781 }
3782 /**
3783  * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION
3784  * @param event packet
3785  * @return value
3786  * @note: btstack_type V
3787  */
3788 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){
3789     return &event[4];
3790 }
3791 
3792 /**
3793  * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3794  * @param event packet
3795  * @return status
3796  * @note: btstack_type 1
3797  */
3798 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){
3799     return event[3];
3800 }
3801 /**
3802  * @brief Get field con_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3803  * @param event packet
3804  * @return con_handle
3805  * @note: btstack_type H
3806  */
3807 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_con_handle(const uint8_t * event){
3808     return little_endian_read_16(event, 4);
3809 }
3810 /**
3811  * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3812  * @param event packet
3813  * @param Pointer to storage for bd_addr
3814  * @note: btstack_type B
3815  */
3816 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3817     reverse_bd_addr(&event[6], bd_addr);
3818 }
3819 
3820 
3821 /**
3822  * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3823  * @param event packet
3824  * @return status
3825  * @note: btstack_type 1
3826  */
3827 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){
3828     return event[3];
3829 }
3830 /**
3831  * @brief Get field handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3832  * @param event packet
3833  * @return handle
3834  * @note: btstack_type H
3835  */
3836 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_handle(const uint8_t * event){
3837     return little_endian_read_16(event, 4);
3838 }
3839 /**
3840  * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3841  * @param event packet
3842  * @param Pointer to storage for bd_addr
3843  * @note: btstack_type B
3844  */
3845 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3846     reverse_bd_addr(&event[6], bd_addr);
3847 }
3848 /**
3849  * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3850  * @param event packet
3851  * @return negotiated_codec
3852  * @note: btstack_type 1
3853  */
3854 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){
3855     return event[12];
3856 }
3857 
3858 
3859 /**
3860  * @brief Get field status from event HFP_SUBEVENT_COMPLETE
3861  * @param event packet
3862  * @return status
3863  * @note: btstack_type 1
3864  */
3865 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){
3866     return event[3];
3867 }
3868 
3869 /**
3870  * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3871  * @param event packet
3872  * @return indicator_index
3873  * @note: btstack_type 1
3874  */
3875 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){
3876     return event[3];
3877 }
3878 /**
3879  * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3880  * @param event packet
3881  * @return indicator_status
3882  * @note: btstack_type 1
3883  */
3884 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){
3885     return event[4];
3886 }
3887 /**
3888  * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3889  * @param event packet
3890  * @return indicator_min_range
3891  * @note: btstack_type 1
3892  */
3893 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){
3894     return event[5];
3895 }
3896 /**
3897  * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3898  * @param event packet
3899  * @return indicator_max_range
3900  * @note: btstack_type 1
3901  */
3902 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){
3903     return event[6];
3904 }
3905 /**
3906  * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3907  * @param event packet
3908  * @return indicator_mandatory
3909  * @note: btstack_type 1
3910  */
3911 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){
3912     return event[7];
3913 }
3914 /**
3915  * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3916  * @param event packet
3917  * @return indicator_enabled
3918  * @note: btstack_type 1
3919  */
3920 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){
3921     return event[8];
3922 }
3923 /**
3924  * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3925  * @param event packet
3926  * @return indicator_status_changed
3927  * @note: btstack_type 1
3928  */
3929 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){
3930     return event[9];
3931 }
3932 /**
3933  * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3934  * @param event packet
3935  * @return indicator_name
3936  * @note: btstack_type T
3937  */
3938 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){
3939     return (const char *) &event[10];
3940 }
3941 
3942 /**
3943  * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
3944  * @param event packet
3945  * @return network_operator_mode
3946  * @note: btstack_type 1
3947  */
3948 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){
3949     return event[3];
3950 }
3951 /**
3952  * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
3953  * @param event packet
3954  * @return network_operator_format
3955  * @note: btstack_type 1
3956  */
3957 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){
3958     return event[4];
3959 }
3960 /**
3961  * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
3962  * @param event packet
3963  * @return network_operator_name
3964  * @note: btstack_type T
3965  */
3966 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){
3967     return (const char *) &event[5];
3968 }
3969 
3970 /**
3971  * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR
3972  * @param event packet
3973  * @return error
3974  * @note: btstack_type 1
3975  */
3976 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){
3977     return event[3];
3978 }
3979 
3980 
3981 
3982 
3983 /**
3984  * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER
3985  * @param event packet
3986  * @return number
3987  * @note: btstack_type T
3988  */
3989 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){
3990     return (const char *) &event[3];
3991 }
3992 
3993 
3994 /**
3995  * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG
3996  * @param event packet
3997  * @return number
3998  * @note: btstack_type T
3999  */
4000 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){
4001     return (const char *) &event[3];
4002 }
4003 
4004 /**
4005  * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES
4006  * @param event packet
4007  * @return dtmf
4008  * @note: btstack_type T
4009  */
4010 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){
4011     return (const char *) &event[3];
4012 }
4013 
4014 
4015 
4016 
4017 /**
4018  * @brief Get field status from event HFP_SUBEVENT_SPEAKER_VOLUME
4019  * @param event packet
4020  * @return status
4021  * @note: btstack_type 1
4022  */
4023 static inline uint8_t hfp_subevent_speaker_volume_get_status(const uint8_t * event){
4024     return event[3];
4025 }
4026 /**
4027  * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME
4028  * @param event packet
4029  * @return gain
4030  * @note: btstack_type 1
4031  */
4032 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){
4033     return event[4];
4034 }
4035 
4036 /**
4037  * @brief Get field status from event HFP_SUBEVENT_MICROPHONE_VOLUME
4038  * @param event packet
4039  * @return status
4040  * @note: btstack_type 1
4041  */
4042 static inline uint8_t hfp_subevent_microphone_volume_get_status(const uint8_t * event){
4043     return event[3];
4044 }
4045 /**
4046  * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME
4047  * @param event packet
4048  * @return gain
4049  * @note: btstack_type 1
4050  */
4051 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){
4052     return event[4];
4053 }
4054 
4055 /**
4056  * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION
4057  * @param event packet
4058  * @return type
4059  * @note: btstack_type 1
4060  */
4061 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){
4062     return event[3];
4063 }
4064 /**
4065  * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION
4066  * @param event packet
4067  * @return number
4068  * @note: btstack_type T
4069  */
4070 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){
4071     return (const char *) &event[4];
4072 }
4073 
4074 /**
4075  * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION
4076  * @param event packet
4077  * @return type
4078  * @note: btstack_type 1
4079  */
4080 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){
4081     return event[3];
4082 }
4083 /**
4084  * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION
4085  * @param event packet
4086  * @return number
4087  * @note: btstack_type T
4088  */
4089 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){
4090     return (const char *) &event[4];
4091 }
4092 
4093 /**
4094  * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4095  * @param event packet
4096  * @return clcc_idx
4097  * @note: btstack_type 1
4098  */
4099 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){
4100     return event[3];
4101 }
4102 /**
4103  * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4104  * @param event packet
4105  * @return clcc_dir
4106  * @note: btstack_type 1
4107  */
4108 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){
4109     return event[4];
4110 }
4111 /**
4112  * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4113  * @param event packet
4114  * @return clcc_status
4115  * @note: btstack_type 1
4116  */
4117 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){
4118     return event[5];
4119 }
4120 /**
4121  * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4122  * @param event packet
4123  * @return clcc_mode
4124  * @note: btstack_type 1
4125  */
4126 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){
4127     return event[6];
4128 }
4129 /**
4130  * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4131  * @param event packet
4132  * @return clcc_mpty
4133  * @note: btstack_type 1
4134  */
4135 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){
4136     return event[7];
4137 }
4138 /**
4139  * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4140  * @param event packet
4141  * @return bnip_type
4142  * @note: btstack_type 1
4143  */
4144 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){
4145     return event[8];
4146 }
4147 /**
4148  * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4149  * @param event packet
4150  * @return bnip_number
4151  * @note: btstack_type T
4152  */
4153 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){
4154     return (const char *) &event[9];
4155 }
4156 
4157 /**
4158  * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4159  * @param event packet
4160  * @return status
4161  * @note: btstack_type 1
4162  */
4163 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){
4164     return event[3];
4165 }
4166 /**
4167  * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4168  * @param event packet
4169  * @return bnip_type
4170  * @note: btstack_type 1
4171  */
4172 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){
4173     return event[4];
4174 }
4175 /**
4176  * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4177  * @param event packet
4178  * @return bnip_number
4179  * @note: btstack_type T
4180  */
4181 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){
4182     return (const char *) &event[5];
4183 }
4184 
4185 /**
4186  * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS
4187  * @param event packet
4188  * @return value
4189  * @note: btstack_type T
4190  */
4191 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){
4192     return (const char *) &event[3];
4193 }
4194 
4195 #ifdef ENABLE_BLE
4196 /**
4197  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED
4198  * @param event packet
4199  * @return handle
4200  * @note: btstack_type H
4201  */
4202 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){
4203     return little_endian_read_16(event, 3);
4204 }
4205 #endif
4206 
4207 #ifdef ENABLE_BLE
4208 /**
4209  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4210  * @param event packet
4211  * @return handle
4212  * @note: btstack_type H
4213  */
4214 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){
4215     return little_endian_read_16(event, 3);
4216 }
4217 /**
4218  * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4219  * @param event packet
4220  * @return attribute_id
4221  * @note: btstack_type 2
4222  */
4223 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){
4224     return little_endian_read_16(event, 5);
4225 }
4226 /**
4227  * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4228  * @param event packet
4229  * @return text
4230  * @note: btstack_type T
4231  */
4232 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){
4233     return (const char *) &event[7];
4234 }
4235 #endif
4236 
4237 #ifdef ENABLE_BLE
4238 /**
4239  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED
4240  * @param event packet
4241  * @return handle
4242  * @note: btstack_type H
4243  */
4244 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){
4245     return little_endian_read_16(event, 3);
4246 }
4247 #endif
4248 
4249 /**
4250  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4251  * @param event packet
4252  * @return avdtp_cid
4253  * @note: btstack_type 2
4254  */
4255 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){
4256     return little_endian_read_16(event, 3);
4257 }
4258 /**
4259  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4260  * @param event packet
4261  * @return local_seid
4262  * @note: btstack_type 1
4263  */
4264 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){
4265     return event[5];
4266 }
4267 /**
4268  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4269  * @param event packet
4270  * @return signal_identifier
4271  * @note: btstack_type 1
4272  */
4273 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){
4274     return event[6];
4275 }
4276 
4277 /**
4278  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT
4279  * @param event packet
4280  * @return avdtp_cid
4281  * @note: btstack_type 2
4282  */
4283 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){
4284     return little_endian_read_16(event, 3);
4285 }
4286 /**
4287  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT
4288  * @param event packet
4289  * @return local_seid
4290  * @note: btstack_type 1
4291  */
4292 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){
4293     return event[5];
4294 }
4295 /**
4296  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT
4297  * @param event packet
4298  * @return signal_identifier
4299  * @note: btstack_type 1
4300  */
4301 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){
4302     return event[6];
4303 }
4304 
4305 /**
4306  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4307  * @param event packet
4308  * @return avdtp_cid
4309  * @note: btstack_type 2
4310  */
4311 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){
4312     return little_endian_read_16(event, 3);
4313 }
4314 /**
4315  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4316  * @param event packet
4317  * @return local_seid
4318  * @note: btstack_type 1
4319  */
4320 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){
4321     return event[5];
4322 }
4323 /**
4324  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4325  * @param event packet
4326  * @return signal_identifier
4327  * @note: btstack_type 1
4328  */
4329 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){
4330     return event[6];
4331 }
4332 
4333 /**
4334  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4335  * @param event packet
4336  * @return avdtp_cid
4337  * @note: btstack_type 2
4338  */
4339 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){
4340     return little_endian_read_16(event, 3);
4341 }
4342 /**
4343  * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4344  * @param event packet
4345  * @param Pointer to storage for bd_addr
4346  * @note: btstack_type B
4347  */
4348 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
4349     reverse_bd_addr(&event[5], bd_addr);
4350 }
4351 /**
4352  * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4353  * @param event packet
4354  * @return status
4355  * @note: btstack_type 1
4356  */
4357 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){
4358     return event[11];
4359 }
4360 
4361 /**
4362  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED
4363  * @param event packet
4364  * @return avdtp_cid
4365  * @note: btstack_type 2
4366  */
4367 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){
4368     return little_endian_read_16(event, 3);
4369 }
4370 
4371 /**
4372  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4373  * @param event packet
4374  * @return avdtp_cid
4375  * @note: btstack_type 2
4376  */
4377 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){
4378     return little_endian_read_16(event, 3);
4379 }
4380 /**
4381  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4382  * @param event packet
4383  * @return remote_seid
4384  * @note: btstack_type 1
4385  */
4386 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){
4387     return event[5];
4388 }
4389 /**
4390  * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4391  * @param event packet
4392  * @return in_use
4393  * @note: btstack_type 1
4394  */
4395 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){
4396     return event[6];
4397 }
4398 /**
4399  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4400  * @param event packet
4401  * @return media_type
4402  * @note: btstack_type 1
4403  */
4404 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){
4405     return event[7];
4406 }
4407 /**
4408  * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4409  * @param event packet
4410  * @return sep_type
4411  * @note: btstack_type 1
4412  */
4413 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){
4414     return event[8];
4415 }
4416 
4417 /**
4418  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4419  * @param event packet
4420  * @return avdtp_cid
4421  * @note: btstack_type 2
4422  */
4423 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){
4424     return little_endian_read_16(event, 3);
4425 }
4426 /**
4427  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4428  * @param event packet
4429  * @return local_seid
4430  * @note: btstack_type 1
4431  */
4432 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_local_seid(const uint8_t * event){
4433     return event[5];
4434 }
4435 /**
4436  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4437  * @param event packet
4438  * @return remote_seid
4439  * @note: btstack_type 1
4440  */
4441 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){
4442     return event[6];
4443 }
4444 /**
4445  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4446  * @param event packet
4447  * @return media_type
4448  * @note: btstack_type 1
4449  */
4450 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){
4451     return event[7];
4452 }
4453 /**
4454  * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4455  * @param event packet
4456  * @return sampling_frequency_bitmap
4457  * @note: btstack_type 1
4458  */
4459 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){
4460     return event[8];
4461 }
4462 /**
4463  * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4464  * @param event packet
4465  * @return channel_mode_bitmap
4466  * @note: btstack_type 1
4467  */
4468 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){
4469     return event[9];
4470 }
4471 /**
4472  * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4473  * @param event packet
4474  * @return block_length_bitmap
4475  * @note: btstack_type 1
4476  */
4477 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){
4478     return event[10];
4479 }
4480 /**
4481  * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4482  * @param event packet
4483  * @return subbands_bitmap
4484  * @note: btstack_type 1
4485  */
4486 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){
4487     return event[11];
4488 }
4489 /**
4490  * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4491  * @param event packet
4492  * @return allocation_method_bitmap
4493  * @note: btstack_type 1
4494  */
4495 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){
4496     return event[12];
4497 }
4498 /**
4499  * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4500  * @param event packet
4501  * @return min_bitpool_value
4502  * @note: btstack_type 1
4503  */
4504 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){
4505     return event[13];
4506 }
4507 /**
4508  * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4509  * @param event packet
4510  * @return max_bitpool_value
4511  * @note: btstack_type 1
4512  */
4513 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){
4514     return event[14];
4515 }
4516 
4517 /**
4518  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4519  * @param event packet
4520  * @return avdtp_cid
4521  * @note: btstack_type 2
4522  */
4523 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){
4524     return little_endian_read_16(event, 3);
4525 }
4526 /**
4527  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4528  * @param event packet
4529  * @return local_seid
4530  * @note: btstack_type 1
4531  */
4532 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_local_seid(const uint8_t * event){
4533     return event[5];
4534 }
4535 /**
4536  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4537  * @param event packet
4538  * @return remote_seid
4539  * @note: btstack_type 1
4540  */
4541 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){
4542     return event[6];
4543 }
4544 /**
4545  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4546  * @param event packet
4547  * @return media_type
4548  * @note: btstack_type 1
4549  */
4550 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){
4551     return event[7];
4552 }
4553 /**
4554  * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4555  * @param event packet
4556  * @return media_codec_type
4557  * @note: btstack_type 2
4558  */
4559 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){
4560     return little_endian_read_16(event, 8);
4561 }
4562 /**
4563  * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4564  * @param event packet
4565  * @return media_codec_information_len
4566  * @note: btstack_type L
4567  */
4568 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){
4569     return little_endian_read_16(event, 10);
4570 }
4571 /**
4572  * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4573  * @param event packet
4574  * @return media_codec_information
4575  * @note: btstack_type V
4576  */
4577 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){
4578     return &event[12];
4579 }
4580 
4581 /**
4582  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4583  * @param event packet
4584  * @return avdtp_cid
4585  * @note: btstack_type 2
4586  */
4587 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){
4588     return little_endian_read_16(event, 3);
4589 }
4590 /**
4591  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4592  * @param event packet
4593  * @return local_seid
4594  * @note: btstack_type 1
4595  */
4596 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_local_seid(const uint8_t * event){
4597     return event[5];
4598 }
4599 /**
4600  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4601  * @param event packet
4602  * @return remote_seid
4603  * @note: btstack_type 1
4604  */
4605 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){
4606     return event[6];
4607 }
4608 
4609 /**
4610  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4611  * @param event packet
4612  * @return avdtp_cid
4613  * @note: btstack_type 2
4614  */
4615 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){
4616     return little_endian_read_16(event, 3);
4617 }
4618 /**
4619  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4620  * @param event packet
4621  * @return local_seid
4622  * @note: btstack_type 1
4623  */
4624 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_local_seid(const uint8_t * event){
4625     return event[5];
4626 }
4627 /**
4628  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4629  * @param event packet
4630  * @return remote_seid
4631  * @note: btstack_type 1
4632  */
4633 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){
4634     return event[6];
4635 }
4636 
4637 /**
4638  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4639  * @param event packet
4640  * @return avdtp_cid
4641  * @note: btstack_type 2
4642  */
4643 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){
4644     return little_endian_read_16(event, 3);
4645 }
4646 /**
4647  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4648  * @param event packet
4649  * @return local_seid
4650  * @note: btstack_type 1
4651  */
4652 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_local_seid(const uint8_t * event){
4653     return event[5];
4654 }
4655 /**
4656  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4657  * @param event packet
4658  * @return remote_seid
4659  * @note: btstack_type 1
4660  */
4661 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){
4662     return event[6];
4663 }
4664 /**
4665  * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4666  * @param event packet
4667  * @return recovery_type
4668  * @note: btstack_type 1
4669  */
4670 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){
4671     return event[7];
4672 }
4673 /**
4674  * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4675  * @param event packet
4676  * @return maximum_recovery_window_size
4677  * @note: btstack_type 1
4678  */
4679 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){
4680     return event[8];
4681 }
4682 /**
4683  * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4684  * @param event packet
4685  * @return maximum_number_media_packets
4686  * @note: btstack_type 1
4687  */
4688 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){
4689     return event[9];
4690 }
4691 
4692 /**
4693  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4694  * @param event packet
4695  * @return avdtp_cid
4696  * @note: btstack_type 2
4697  */
4698 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){
4699     return little_endian_read_16(event, 3);
4700 }
4701 /**
4702  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4703  * @param event packet
4704  * @return local_seid
4705  * @note: btstack_type 1
4706  */
4707 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_local_seid(const uint8_t * event){
4708     return event[5];
4709 }
4710 /**
4711  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4712  * @param event packet
4713  * @return remote_seid
4714  * @note: btstack_type 1
4715  */
4716 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){
4717     return event[6];
4718 }
4719 /**
4720  * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4721  * @param event packet
4722  * @return cp_type
4723  * @note: btstack_type 2
4724  */
4725 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){
4726     return little_endian_read_16(event, 7);
4727 }
4728 /**
4729  * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4730  * @param event packet
4731  * @return cp_type_value_len
4732  * @note: btstack_type L
4733  */
4734 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){
4735     return little_endian_read_16(event, 9);
4736 }
4737 /**
4738  * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4739  * @param event packet
4740  * @return cp_type_value
4741  * @note: btstack_type V
4742  */
4743 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){
4744     return &event[11];
4745 }
4746 
4747 /**
4748  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4749  * @param event packet
4750  * @return avdtp_cid
4751  * @note: btstack_type 2
4752  */
4753 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){
4754     return little_endian_read_16(event, 3);
4755 }
4756 /**
4757  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4758  * @param event packet
4759  * @return local_seid
4760  * @note: btstack_type 1
4761  */
4762 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_local_seid(const uint8_t * event){
4763     return event[5];
4764 }
4765 /**
4766  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4767  * @param event packet
4768  * @return remote_seid
4769  * @note: btstack_type 1
4770  */
4771 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){
4772     return event[6];
4773 }
4774 /**
4775  * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4776  * @param event packet
4777  * @return fragmentation
4778  * @note: btstack_type 1
4779  */
4780 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){
4781     return event[7];
4782 }
4783 /**
4784  * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4785  * @param event packet
4786  * @return transport_identifiers_num
4787  * @note: btstack_type 1
4788  */
4789 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){
4790     return event[8];
4791 }
4792 /**
4793  * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4794  * @param event packet
4795  * @return transport_session_identifier_1
4796  * @note: btstack_type 1
4797  */
4798 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){
4799     return event[9];
4800 }
4801 /**
4802  * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4803  * @param event packet
4804  * @return transport_session_identifier_2
4805  * @note: btstack_type 1
4806  */
4807 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){
4808     return event[10];
4809 }
4810 /**
4811  * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4812  * @param event packet
4813  * @return transport_session_identifier_3
4814  * @note: btstack_type 1
4815  */
4816 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){
4817     return event[11];
4818 }
4819 /**
4820  * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4821  * @param event packet
4822  * @return tcid_1
4823  * @note: btstack_type 1
4824  */
4825 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){
4826     return event[12];
4827 }
4828 /**
4829  * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4830  * @param event packet
4831  * @return tcid_2
4832  * @note: btstack_type 1
4833  */
4834 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){
4835     return event[13];
4836 }
4837 /**
4838  * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4839  * @param event packet
4840  * @return tcid_3
4841  * @note: btstack_type 1
4842  */
4843 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){
4844     return event[14];
4845 }
4846 
4847 /**
4848  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4849  * @param event packet
4850  * @return avdtp_cid
4851  * @note: btstack_type 2
4852  */
4853 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){
4854     return little_endian_read_16(event, 3);
4855 }
4856 /**
4857  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4858  * @param event packet
4859  * @return local_seid
4860  * @note: btstack_type 1
4861  */
4862 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){
4863     return event[5];
4864 }
4865 /**
4866  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4867  * @param event packet
4868  * @return remote_seid
4869  * @note: btstack_type 1
4870  */
4871 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){
4872     return event[6];
4873 }
4874 
4875 /**
4876  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4877  * @param event packet
4878  * @return avdtp_cid
4879  * @note: btstack_type 2
4880  */
4881 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){
4882     return little_endian_read_16(event, 3);
4883 }
4884 /**
4885  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4886  * @param event packet
4887  * @return local_seid
4888  * @note: btstack_type 1
4889  */
4890 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_local_seid(const uint8_t * event){
4891     return event[5];
4892 }
4893 /**
4894  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4895  * @param event packet
4896  * @return remote_seid
4897  * @note: btstack_type 1
4898  */
4899 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){
4900     return event[6];
4901 }
4902 /**
4903  * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4904  * @param event packet
4905  * @return back_ch
4906  * @note: btstack_type 1
4907  */
4908 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){
4909     return event[7];
4910 }
4911 /**
4912  * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4913  * @param event packet
4914  * @return media
4915  * @note: btstack_type 1
4916  */
4917 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){
4918     return event[8];
4919 }
4920 /**
4921  * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4922  * @param event packet
4923  * @return recovery
4924  * @note: btstack_type 1
4925  */
4926 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){
4927     return event[9];
4928 }
4929 
4930 /**
4931  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4932  * @param event packet
4933  * @return avdtp_cid
4934  * @note: btstack_type 2
4935  */
4936 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){
4937     return little_endian_read_16(event, 3);
4938 }
4939 /**
4940  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4941  * @param event packet
4942  * @return local_seid
4943  * @note: btstack_type 1
4944  */
4945 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){
4946     return event[5];
4947 }
4948 /**
4949  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4950  * @param event packet
4951  * @return remote_seid
4952  * @note: btstack_type 1
4953  */
4954 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){
4955     return event[6];
4956 }
4957 /**
4958  * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4959  * @param event packet
4960  * @return reconfigure
4961  * @note: btstack_type 1
4962  */
4963 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){
4964     return event[7];
4965 }
4966 /**
4967  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4968  * @param event packet
4969  * @return media_type
4970  * @note: btstack_type 1
4971  */
4972 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){
4973     return event[8];
4974 }
4975 /**
4976  * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4977  * @param event packet
4978  * @return sampling_frequency
4979  * @note: btstack_type 2
4980  */
4981 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){
4982     return little_endian_read_16(event, 9);
4983 }
4984 /**
4985  * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4986  * @param event packet
4987  * @return channel_mode
4988  * @note: btstack_type 1
4989  */
4990 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){
4991     return event[11];
4992 }
4993 /**
4994  * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4995  * @param event packet
4996  * @return num_channels
4997  * @note: btstack_type 1
4998  */
4999 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){
5000     return event[12];
5001 }
5002 /**
5003  * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5004  * @param event packet
5005  * @return block_length
5006  * @note: btstack_type 1
5007  */
5008 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){
5009     return event[13];
5010 }
5011 /**
5012  * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5013  * @param event packet
5014  * @return subbands
5015  * @note: btstack_type 1
5016  */
5017 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){
5018     return event[14];
5019 }
5020 /**
5021  * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5022  * @param event packet
5023  * @return allocation_method
5024  * @note: btstack_type 1
5025  */
5026 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){
5027     return event[15];
5028 }
5029 /**
5030  * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5031  * @param event packet
5032  * @return min_bitpool_value
5033  * @note: btstack_type 1
5034  */
5035 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){
5036     return event[16];
5037 }
5038 /**
5039  * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5040  * @param event packet
5041  * @return max_bitpool_value
5042  * @note: btstack_type 1
5043  */
5044 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){
5045     return event[17];
5046 }
5047 
5048 /**
5049  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5050  * @param event packet
5051  * @return avdtp_cid
5052  * @note: btstack_type 2
5053  */
5054 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){
5055     return little_endian_read_16(event, 3);
5056 }
5057 /**
5058  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5059  * @param event packet
5060  * @return local_seid
5061  * @note: btstack_type 1
5062  */
5063 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){
5064     return event[5];
5065 }
5066 /**
5067  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5068  * @param event packet
5069  * @return remote_seid
5070  * @note: btstack_type 1
5071  */
5072 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){
5073     return event[6];
5074 }
5075 /**
5076  * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5077  * @param event packet
5078  * @return reconfigure
5079  * @note: btstack_type 1
5080  */
5081 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){
5082     return event[7];
5083 }
5084 /**
5085  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5086  * @param event packet
5087  * @return media_type
5088  * @note: btstack_type 1
5089  */
5090 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){
5091     return event[8];
5092 }
5093 /**
5094  * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5095  * @param event packet
5096  * @return media_codec_type
5097  * @note: btstack_type 2
5098  */
5099 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){
5100     return little_endian_read_16(event, 9);
5101 }
5102 /**
5103  * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5104  * @param event packet
5105  * @return media_codec_information_len
5106  * @note: btstack_type L
5107  */
5108 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){
5109     return little_endian_read_16(event, 11);
5110 }
5111 /**
5112  * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5113  * @param event packet
5114  * @return media_codec_information
5115  * @note: btstack_type V
5116  */
5117 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){
5118     return &event[13];
5119 }
5120 
5121 /**
5122  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5123  * @param event packet
5124  * @return avdtp_cid
5125  * @note: btstack_type 2
5126  */
5127 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){
5128     return little_endian_read_16(event, 3);
5129 }
5130 /**
5131  * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5132  * @param event packet
5133  * @param Pointer to storage for bd_addr
5134  * @note: btstack_type B
5135  */
5136 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5137     reverse_bd_addr(&event[5], bd_addr);
5138 }
5139 /**
5140  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5141  * @param event packet
5142  * @return local_seid
5143  * @note: btstack_type 1
5144  */
5145 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){
5146     return event[11];
5147 }
5148 /**
5149  * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5150  * @param event packet
5151  * @return remote_seid
5152  * @note: btstack_type 1
5153  */
5154 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){
5155     return event[12];
5156 }
5157 /**
5158  * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5159  * @param event packet
5160  * @return status
5161  * @note: btstack_type 1
5162  */
5163 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){
5164     return event[13];
5165 }
5166 
5167 /**
5168  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED
5169  * @param event packet
5170  * @return avdtp_cid
5171  * @note: btstack_type 2
5172  */
5173 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){
5174     return little_endian_read_16(event, 3);
5175 }
5176 /**
5177  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED
5178  * @param event packet
5179  * @return local_seid
5180  * @note: btstack_type 1
5181  */
5182 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){
5183     return event[5];
5184 }
5185 
5186 /**
5187  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5188  * @param event packet
5189  * @return avdtp_cid
5190  * @note: btstack_type 2
5191  */
5192 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){
5193     return little_endian_read_16(event, 3);
5194 }
5195 /**
5196  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5197  * @param event packet
5198  * @return local_seid
5199  * @note: btstack_type 1
5200  */
5201 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){
5202     return event[5];
5203 }
5204 /**
5205  * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5206  * @param event packet
5207  * @return sequence_number
5208  * @note: btstack_type 2
5209  */
5210 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){
5211     return little_endian_read_16(event, 6);
5212 }
5213 
5214 /**
5215  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE
5216  * @param event packet
5217  * @return avdtp_cid
5218  * @note: btstack_type 2
5219  */
5220 static inline uint16_t avdtp_subevent_signaling_capability_done_get_avdtp_cid(const uint8_t * event){
5221     return little_endian_read_16(event, 3);
5222 }
5223 /**
5224  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE
5225  * @param event packet
5226  * @return local_seid
5227  * @note: btstack_type 1
5228  */
5229 static inline uint8_t avdtp_subevent_signaling_capability_done_get_local_seid(const uint8_t * event){
5230     return event[5];
5231 }
5232 /**
5233  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITY_DONE
5234  * @param event packet
5235  * @return remote_seid
5236  * @note: btstack_type 1
5237  */
5238 static inline uint8_t avdtp_subevent_signaling_capability_done_get_remote_seid(const uint8_t * event){
5239     return event[6];
5240 }
5241 
5242 /**
5243  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE
5244  * @param event packet
5245  * @return avdtp_cid
5246  * @note: btstack_type 2
5247  */
5248 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){
5249     return little_endian_read_16(event, 3);
5250 }
5251 
5252 /**
5253  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5254  * @param event packet
5255  * @return a2dp_cid
5256  * @note: btstack_type 2
5257  */
5258 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){
5259     return little_endian_read_16(event, 3);
5260 }
5261 /**
5262  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5263  * @param event packet
5264  * @return local_seid
5265  * @note: btstack_type 1
5266  */
5267 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){
5268     return event[5];
5269 }
5270 
5271 /**
5272  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5273  * @param event packet
5274  * @return a2dp_cid
5275  * @note: btstack_type 2
5276  */
5277 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){
5278     return little_endian_read_16(event, 3);
5279 }
5280 /**
5281  * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5282  * @param event packet
5283  * @return int_seid
5284  * @note: btstack_type 1
5285  */
5286 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_int_seid(const uint8_t * event){
5287     return event[5];
5288 }
5289 /**
5290  * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5291  * @param event packet
5292  * @return acp_seid
5293  * @note: btstack_type 1
5294  */
5295 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_acp_seid(const uint8_t * event){
5296     return event[6];
5297 }
5298 /**
5299  * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5300  * @param event packet
5301  * @return reconfigure
5302  * @note: btstack_type 1
5303  */
5304 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){
5305     return event[7];
5306 }
5307 /**
5308  * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5309  * @param event packet
5310  * @return media_type
5311  * @note: btstack_type 1
5312  */
5313 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){
5314     return event[8];
5315 }
5316 /**
5317  * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5318  * @param event packet
5319  * @return sampling_frequency
5320  * @note: btstack_type 2
5321  */
5322 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){
5323     return little_endian_read_16(event, 9);
5324 }
5325 /**
5326  * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5327  * @param event packet
5328  * @return channel_mode
5329  * @note: btstack_type 1
5330  */
5331 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){
5332     return event[11];
5333 }
5334 /**
5335  * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5336  * @param event packet
5337  * @return num_channels
5338  * @note: btstack_type 1
5339  */
5340 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){
5341     return event[12];
5342 }
5343 /**
5344  * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5345  * @param event packet
5346  * @return block_length
5347  * @note: btstack_type 1
5348  */
5349 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){
5350     return event[13];
5351 }
5352 /**
5353  * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5354  * @param event packet
5355  * @return subbands
5356  * @note: btstack_type 1
5357  */
5358 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){
5359     return event[14];
5360 }
5361 /**
5362  * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5363  * @param event packet
5364  * @return allocation_method
5365  * @note: btstack_type 1
5366  */
5367 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){
5368     return event[15];
5369 }
5370 /**
5371  * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5372  * @param event packet
5373  * @return min_bitpool_value
5374  * @note: btstack_type 1
5375  */
5376 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){
5377     return event[16];
5378 }
5379 /**
5380  * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5381  * @param event packet
5382  * @return max_bitpool_value
5383  * @note: btstack_type 1
5384  */
5385 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){
5386     return event[17];
5387 }
5388 
5389 /**
5390  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5391  * @param event packet
5392  * @return a2dp_cid
5393  * @note: btstack_type 2
5394  */
5395 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){
5396     return little_endian_read_16(event, 3);
5397 }
5398 /**
5399  * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5400  * @param event packet
5401  * @return int_seid
5402  * @note: btstack_type 1
5403  */
5404 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_int_seid(const uint8_t * event){
5405     return event[5];
5406 }
5407 /**
5408  * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5409  * @param event packet
5410  * @return acp_seid
5411  * @note: btstack_type 1
5412  */
5413 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_acp_seid(const uint8_t * event){
5414     return event[6];
5415 }
5416 /**
5417  * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5418  * @param event packet
5419  * @return reconfigure
5420  * @note: btstack_type 1
5421  */
5422 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){
5423     return event[7];
5424 }
5425 /**
5426  * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5427  * @param event packet
5428  * @return media_type
5429  * @note: btstack_type 1
5430  */
5431 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){
5432     return event[8];
5433 }
5434 /**
5435  * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5436  * @param event packet
5437  * @return media_codec_type
5438  * @note: btstack_type 2
5439  */
5440 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){
5441     return little_endian_read_16(event, 9);
5442 }
5443 /**
5444  * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5445  * @param event packet
5446  * @return media_codec_information_len
5447  * @note: btstack_type L
5448  */
5449 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){
5450     return little_endian_read_16(event, 11);
5451 }
5452 /**
5453  * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5454  * @param event packet
5455  * @return media_codec_information
5456  * @note: btstack_type V
5457  */
5458 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){
5459     return &event[13];
5460 }
5461 
5462 /**
5463  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5464  * @param event packet
5465  * @return a2dp_cid
5466  * @note: btstack_type 2
5467  */
5468 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){
5469     return little_endian_read_16(event, 3);
5470 }
5471 /**
5472  * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5473  * @param event packet
5474  * @param Pointer to storage for bd_addr
5475  * @note: btstack_type B
5476  */
5477 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5478     reverse_bd_addr(&event[5], bd_addr);
5479 }
5480 /**
5481  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5482  * @param event packet
5483  * @return local_seid
5484  * @note: btstack_type 1
5485  */
5486 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){
5487     return event[11];
5488 }
5489 /**
5490  * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5491  * @param event packet
5492  * @return remote_seid
5493  * @note: btstack_type 1
5494  */
5495 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){
5496     return event[12];
5497 }
5498 /**
5499  * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5500  * @param event packet
5501  * @return status
5502  * @note: btstack_type 1
5503  */
5504 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){
5505     return event[13];
5506 }
5507 
5508 /**
5509  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED
5510  * @param event packet
5511  * @return a2dp_cid
5512  * @note: btstack_type 2
5513  */
5514 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){
5515     return little_endian_read_16(event, 3);
5516 }
5517 /**
5518  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED
5519  * @param event packet
5520  * @return local_seid
5521  * @note: btstack_type 1
5522  */
5523 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){
5524     return event[5];
5525 }
5526 
5527 /**
5528  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED
5529  * @param event packet
5530  * @return a2dp_cid
5531  * @note: btstack_type 2
5532  */
5533 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){
5534     return little_endian_read_16(event, 3);
5535 }
5536 /**
5537  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED
5538  * @param event packet
5539  * @return local_seid
5540  * @note: btstack_type 1
5541  */
5542 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){
5543     return event[5];
5544 }
5545 
5546 /**
5547  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED
5548  * @param event packet
5549  * @return a2dp_cid
5550  * @note: btstack_type 2
5551  */
5552 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){
5553     return little_endian_read_16(event, 3);
5554 }
5555 /**
5556  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED
5557  * @param event packet
5558  * @return local_seid
5559  * @note: btstack_type 1
5560  */
5561 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){
5562     return event[5];
5563 }
5564 
5565 /**
5566  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED
5567  * @param event packet
5568  * @return a2dp_cid
5569  * @note: btstack_type 2
5570  */
5571 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){
5572     return little_endian_read_16(event, 3);
5573 }
5574 /**
5575  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED
5576  * @param event packet
5577  * @return local_seid
5578  * @note: btstack_type 1
5579  */
5580 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){
5581     return event[5];
5582 }
5583 
5584 /**
5585  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5586  * @param event packet
5587  * @return a2dp_cid
5588  * @note: btstack_type 2
5589  */
5590 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){
5591     return little_endian_read_16(event, 3);
5592 }
5593 /**
5594  * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5595  * @param event packet
5596  * @return local_seid
5597  * @note: btstack_type 1
5598  */
5599 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){
5600     return event[5];
5601 }
5602 /**
5603  * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5604  * @param event packet
5605  * @return signal_identifier
5606  * @note: btstack_type 1
5607  */
5608 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){
5609     return event[6];
5610 }
5611 
5612 /**
5613  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED
5614  * @param event packet
5615  * @return a2dp_cid
5616  * @note: btstack_type 2
5617  */
5618 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){
5619     return little_endian_read_16(event, 3);
5620 }
5621 /**
5622  * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED
5623  * @param event packet
5624  * @return local_seid
5625  * @note: btstack_type 1
5626  */
5627 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){
5628     return event[5];
5629 }
5630 /**
5631  * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED
5632  * @param event packet
5633  * @return signal_identifier
5634  * @note: btstack_type 1
5635  */
5636 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){
5637     return event[6];
5638 }
5639 
5640 /**
5641  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5642  * @param event packet
5643  * @return a2dp_cid
5644  * @note: btstack_type 2
5645  */
5646 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){
5647     return little_endian_read_16(event, 3);
5648 }
5649 /**
5650  * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5651  * @param event packet
5652  * @param Pointer to storage for bd_addr
5653  * @note: btstack_type B
5654  */
5655 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5656     reverse_bd_addr(&event[5], bd_addr);
5657 }
5658 /**
5659  * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5660  * @param event packet
5661  * @return status
5662  * @note: btstack_type 1
5663  */
5664 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){
5665     return event[11];
5666 }
5667 
5668 /**
5669  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED
5670  * @param event packet
5671  * @return a2dp_cid
5672  * @note: btstack_type 2
5673  */
5674 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){
5675     return little_endian_read_16(event, 3);
5676 }
5677 
5678 /**
5679  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5680  * @param event packet
5681  * @return a2dp_cid
5682  * @note: btstack_type 2
5683  */
5684 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){
5685     return little_endian_read_16(event, 3);
5686 }
5687 /**
5688  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5689  * @param event packet
5690  * @return local_seid
5691  * @note: btstack_type 1
5692  */
5693 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){
5694     return event[5];
5695 }
5696 /**
5697  * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5698  * @param event packet
5699  * @return status
5700  * @note: btstack_type 1
5701  */
5702 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){
5703     return event[6];
5704 }
5705 
5706 /**
5707  * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
5708  * @param event packet
5709  * @return status
5710  * @note: btstack_type 1
5711  */
5712 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){
5713     return event[3];
5714 }
5715 /**
5716  * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
5717  * @param event packet
5718  * @param Pointer to storage for bd_addr
5719  * @note: btstack_type B
5720  */
5721 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5722     reverse_bd_addr(&event[4], bd_addr);
5723 }
5724 /**
5725  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
5726  * @param event packet
5727  * @return avrcp_cid
5728  * @note: btstack_type 2
5729  */
5730 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){
5731     return little_endian_read_16(event, 10);
5732 }
5733 
5734 /**
5735  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED
5736  * @param event packet
5737  * @return avrcp_cid
5738  * @note: btstack_type 2
5739  */
5740 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){
5741     return little_endian_read_16(event, 3);
5742 }
5743 
5744 /**
5745  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
5746  * @param event packet
5747  * @return avrcp_cid
5748  * @note: btstack_type 2
5749  */
5750 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){
5751     return little_endian_read_16(event, 3);
5752 }
5753 /**
5754  * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
5755  * @param event packet
5756  * @return command_type
5757  * @note: btstack_type 1
5758  */
5759 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){
5760     return event[5];
5761 }
5762 /**
5763  * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
5764  * @param event packet
5765  * @return repeat_mode
5766  * @note: btstack_type 1
5767  */
5768 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){
5769     return event[6];
5770 }
5771 /**
5772  * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
5773  * @param event packet
5774  * @return shuffle_mode
5775  * @note: btstack_type 1
5776  */
5777 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){
5778     return event[7];
5779 }
5780 
5781 /**
5782  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS
5783  * @param event packet
5784  * @return avrcp_cid
5785  * @note: btstack_type 2
5786  */
5787 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){
5788     return little_endian_read_16(event, 3);
5789 }
5790 /**
5791  * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS
5792  * @param event packet
5793  * @return command_type
5794  * @note: btstack_type 1
5795  */
5796 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){
5797     return event[5];
5798 }
5799 /**
5800  * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS
5801  * @param event packet
5802  * @return song_length
5803  * @note: btstack_type 4
5804  */
5805 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){
5806     return little_endian_read_32(event, 6);
5807 }
5808 /**
5809  * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS
5810  * @param event packet
5811  * @return song_position
5812  * @note: btstack_type 4
5813  */
5814 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){
5815     return little_endian_read_32(event, 10);
5816 }
5817 /**
5818  * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS
5819  * @param event packet
5820  * @return play_status
5821  * @note: btstack_type 1
5822  */
5823 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){
5824     return event[14];
5825 }
5826 
5827 /**
5828  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5829  * @param event packet
5830  * @return avrcp_cid
5831  * @note: btstack_type 2
5832  */
5833 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){
5834     return little_endian_read_16(event, 3);
5835 }
5836 /**
5837  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5838  * @param event packet
5839  * @return command_type
5840  * @note: btstack_type 1
5841  */
5842 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){
5843     return event[5];
5844 }
5845 /**
5846  * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5847  * @param event packet
5848  * @return play_status
5849  * @note: btstack_type 1
5850  */
5851 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){
5852     return event[6];
5853 }
5854 
5855 /**
5856  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED
5857  * @param event packet
5858  * @return avrcp_cid
5859  * @note: btstack_type 2
5860  */
5861 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){
5862     return little_endian_read_16(event, 3);
5863 }
5864 /**
5865  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED
5866  * @param event packet
5867  * @return command_type
5868  * @note: btstack_type 1
5869  */
5870 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){
5871     return event[5];
5872 }
5873 
5874 /**
5875  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED
5876  * @param event packet
5877  * @return avrcp_cid
5878  * @note: btstack_type 2
5879  */
5880 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){
5881     return little_endian_read_16(event, 3);
5882 }
5883 /**
5884  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED
5885  * @param event packet
5886  * @return command_type
5887  * @note: btstack_type 1
5888  */
5889 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){
5890     return event[5];
5891 }
5892 
5893 /**
5894  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED
5895  * @param event packet
5896  * @return avrcp_cid
5897  * @note: btstack_type 2
5898  */
5899 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){
5900     return little_endian_read_16(event, 3);
5901 }
5902 /**
5903  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED
5904  * @param event packet
5905  * @return command_type
5906  * @note: btstack_type 1
5907  */
5908 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){
5909     return event[5];
5910 }
5911 
5912 /**
5913  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
5914  * @param event packet
5915  * @return avrcp_cid
5916  * @note: btstack_type 2
5917  */
5918 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){
5919     return little_endian_read_16(event, 3);
5920 }
5921 /**
5922  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
5923  * @param event packet
5924  * @return command_type
5925  * @note: btstack_type 1
5926  */
5927 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){
5928     return event[5];
5929 }
5930 /**
5931  * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
5932  * @param event packet
5933  * @return absolute_volume
5934  * @note: btstack_type 1
5935  */
5936 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){
5937     return event[6];
5938 }
5939 
5940 /**
5941  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
5942  * @param event packet
5943  * @return avrcp_cid
5944  * @note: btstack_type 2
5945  */
5946 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){
5947     return little_endian_read_16(event, 3);
5948 }
5949 /**
5950  * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
5951  * @param event packet
5952  * @return command_type
5953  * @note: btstack_type 1
5954  */
5955 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){
5956     return event[5];
5957 }
5958 /**
5959  * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
5960  * @param event packet
5961  * @return absolute_volume
5962  * @note: btstack_type 1
5963  */
5964 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){
5965     return event[6];
5966 }
5967 
5968 /**
5969  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
5970  * @param event packet
5971  * @return avrcp_cid
5972  * @note: btstack_type 2
5973  */
5974 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){
5975     return little_endian_read_16(event, 3);
5976 }
5977 /**
5978  * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
5979  * @param event packet
5980  * @return command_type
5981  * @note: btstack_type 1
5982  */
5983 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){
5984     return event[5];
5985 }
5986 /**
5987  * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
5988  * @param event packet
5989  * @return notification_id
5990  * @note: btstack_type 1
5991  */
5992 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){
5993     return event[6];
5994 }
5995 
5996 /**
5997  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START
5998  * @param event packet
5999  * @return avrcp_cid
6000  * @note: btstack_type 2
6001  */
6002 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){
6003     return little_endian_read_16(event, 3);
6004 }
6005 /**
6006  * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START
6007  * @param event packet
6008  * @return command_type
6009  * @note: btstack_type 1
6010  */
6011 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){
6012     return event[5];
6013 }
6014 /**
6015  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START
6016  * @param event packet
6017  * @return operation_id
6018  * @note: btstack_type 1
6019  */
6020 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){
6021     return event[6];
6022 }
6023 
6024 /**
6025  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6026  * @param event packet
6027  * @return avrcp_cid
6028  * @note: btstack_type 2
6029  */
6030 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){
6031     return little_endian_read_16(event, 3);
6032 }
6033 /**
6034  * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6035  * @param event packet
6036  * @return command_type
6037  * @note: btstack_type 1
6038  */
6039 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){
6040     return event[5];
6041 }
6042 /**
6043  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6044  * @param event packet
6045  * @return operation_id
6046  * @note: btstack_type 1
6047  */
6048 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){
6049     return event[6];
6050 }
6051 
6052 /**
6053  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE
6054  * @param event packet
6055  * @return avrcp_cid
6056  * @note: btstack_type 2
6057  */
6058 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){
6059     return little_endian_read_16(event, 3);
6060 }
6061 /**
6062  * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE
6063  * @param event packet
6064  * @return command_type
6065  * @note: btstack_type 1
6066  */
6067 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){
6068     return event[5];
6069 }
6070 
6071 /**
6072  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY
6073  * @param event packet
6074  * @return avrcp_cid
6075  * @note: btstack_type 2
6076  */
6077 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){
6078     return little_endian_read_16(event, 3);
6079 }
6080 
6081 /**
6082  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY
6083  * @param event packet
6084  * @return avrcp_cid
6085  * @note: btstack_type 2
6086  */
6087 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){
6088     return little_endian_read_16(event, 3);
6089 }
6090 
6091 /**
6092  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY
6093  * @param event packet
6094  * @return avrcp_cid
6095  * @note: btstack_type 2
6096  */
6097 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){
6098     return little_endian_read_16(event, 3);
6099 }
6100 
6101 /**
6102  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION
6103  * @param event packet
6104  * @return avrcp_cid
6105  * @note: btstack_type 2
6106  */
6107 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){
6108     return little_endian_read_16(event, 3);
6109 }
6110 /**
6111  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION
6112  * @param event packet
6113  * @return operation_id
6114  * @note: btstack_type 1
6115  */
6116 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){
6117     return event[5];
6118 }
6119 /**
6120  * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION
6121  * @param event packet
6122  * @return operands_length
6123  * @note: btstack_type 1
6124  */
6125 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){
6126     return event[6];
6127 }
6128 /**
6129  * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION
6130  * @param event packet
6131  * @return operand
6132  * @note: btstack_type 1
6133  */
6134 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){
6135     return event[7];
6136 }
6137 
6138 /**
6139  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6140  * @param event packet
6141  * @return avrcp_cid
6142  * @note: btstack_type 2
6143  */
6144 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){
6145     return little_endian_read_16(event, 3);
6146 }
6147 /**
6148  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6149  * @param event packet
6150  * @return command_type
6151  * @note: btstack_type 1
6152  */
6153 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){
6154     return event[5];
6155 }
6156 /**
6157  * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6158  * @param event packet
6159  * @return track
6160  * @note: btstack_type 1
6161  */
6162 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){
6163     return event[6];
6164 }
6165 
6166 /**
6167  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6168  * @param event packet
6169  * @return avrcp_cid
6170  * @note: btstack_type 2
6171  */
6172 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){
6173     return little_endian_read_16(event, 3);
6174 }
6175 /**
6176  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6177  * @param event packet
6178  * @return command_type
6179  * @note: btstack_type 1
6180  */
6181 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){
6182     return event[5];
6183 }
6184 /**
6185  * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6186  * @param event packet
6187  * @return total_tracks
6188  * @note: btstack_type 1
6189  */
6190 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){
6191     return event[6];
6192 }
6193 
6194 /**
6195  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6196  * @param event packet
6197  * @return avrcp_cid
6198  * @note: btstack_type 2
6199  */
6200 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){
6201     return little_endian_read_16(event, 3);
6202 }
6203 /**
6204  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6205  * @param event packet
6206  * @return command_type
6207  * @note: btstack_type 1
6208  */
6209 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){
6210     return event[5];
6211 }
6212 /**
6213  * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6214  * @param event packet
6215  * @return song_length
6216  * @note: btstack_type 4
6217  */
6218 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){
6219     return little_endian_read_32(event, 6);
6220 }
6221 
6222 /**
6223  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6224  * @param event packet
6225  * @return avrcp_cid
6226  * @note: btstack_type 2
6227  */
6228 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){
6229     return little_endian_read_16(event, 3);
6230 }
6231 /**
6232  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6233  * @param event packet
6234  * @return command_type
6235  * @note: btstack_type 1
6236  */
6237 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){
6238     return event[5];
6239 }
6240 /**
6241  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6242  * @param event packet
6243  * @return value_len
6244  * @note: btstack_type J
6245  */
6246 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){
6247     return event[6];
6248 }
6249 /**
6250  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6251  * @param event packet
6252  * @return value
6253  * @note: btstack_type V
6254  */
6255 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){
6256     return &event[7];
6257 }
6258 
6259 /**
6260  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6261  * @param event packet
6262  * @return avrcp_cid
6263  * @note: btstack_type 2
6264  */
6265 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){
6266     return little_endian_read_16(event, 3);
6267 }
6268 /**
6269  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6270  * @param event packet
6271  * @return command_type
6272  * @note: btstack_type 1
6273  */
6274 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){
6275     return event[5];
6276 }
6277 /**
6278  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6279  * @param event packet
6280  * @return value_len
6281  * @note: btstack_type J
6282  */
6283 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){
6284     return event[6];
6285 }
6286 /**
6287  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6288  * @param event packet
6289  * @return value
6290  * @note: btstack_type V
6291  */
6292 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){
6293     return &event[7];
6294 }
6295 
6296 /**
6297  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6298  * @param event packet
6299  * @return avrcp_cid
6300  * @note: btstack_type 2
6301  */
6302 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){
6303     return little_endian_read_16(event, 3);
6304 }
6305 /**
6306  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6307  * @param event packet
6308  * @return command_type
6309  * @note: btstack_type 1
6310  */
6311 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){
6312     return event[5];
6313 }
6314 /**
6315  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6316  * @param event packet
6317  * @return value_len
6318  * @note: btstack_type J
6319  */
6320 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){
6321     return event[6];
6322 }
6323 /**
6324  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6325  * @param event packet
6326  * @return value
6327  * @note: btstack_type V
6328  */
6329 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){
6330     return &event[7];
6331 }
6332 
6333 /**
6334  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6335  * @param event packet
6336  * @return avrcp_cid
6337  * @note: btstack_type 2
6338  */
6339 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){
6340     return little_endian_read_16(event, 3);
6341 }
6342 /**
6343  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6344  * @param event packet
6345  * @return command_type
6346  * @note: btstack_type 1
6347  */
6348 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){
6349     return event[5];
6350 }
6351 /**
6352  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6353  * @param event packet
6354  * @return value_len
6355  * @note: btstack_type J
6356  */
6357 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){
6358     return event[6];
6359 }
6360 /**
6361  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6362  * @param event packet
6363  * @return value
6364  * @note: btstack_type V
6365  */
6366 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){
6367     return &event[7];
6368 }
6369 
6370 /**
6371  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6372  * @param event packet
6373  * @return avrcp_cid
6374  * @note: btstack_type 2
6375  */
6376 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){
6377     return little_endian_read_16(event, 3);
6378 }
6379 /**
6380  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6381  * @param event packet
6382  * @return command_type
6383  * @note: btstack_type 1
6384  */
6385 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){
6386     return event[5];
6387 }
6388 /**
6389  * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6390  * @param event packet
6391  * @return status
6392  * @note: btstack_type 1
6393  */
6394 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){
6395     return event[6];
6396 }
6397 
6398 /**
6399  * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION
6400  * @param event packet
6401  * @param Pointer to storage for bd_addr
6402  * @note: btstack_type B
6403  */
6404 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6405     reverse_bd_addr(&event[3], bd_addr);
6406 }
6407 /**
6408  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION
6409  * @param event packet
6410  * @return browsing_cid
6411  * @note: btstack_type 2
6412  */
6413 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){
6414     return little_endian_read_16(event, 9);
6415 }
6416 
6417 /**
6418  * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6419  * @param event packet
6420  * @return status
6421  * @note: btstack_type 1
6422  */
6423 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){
6424     return event[3];
6425 }
6426 /**
6427  * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6428  * @param event packet
6429  * @param Pointer to storage for bd_addr
6430  * @note: btstack_type B
6431  */
6432 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6433     reverse_bd_addr(&event[4], bd_addr);
6434 }
6435 /**
6436  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6437  * @param event packet
6438  * @return browsing_cid
6439  * @note: btstack_type 2
6440  */
6441 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){
6442     return little_endian_read_16(event, 10);
6443 }
6444 
6445 /**
6446  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED
6447  * @param event packet
6448  * @return browsing_cid
6449  * @note: btstack_type 2
6450  */
6451 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){
6452     return little_endian_read_16(event, 3);
6453 }
6454 
6455 /**
6456  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE
6457  * @param event packet
6458  * @return browsing_cid
6459  * @note: btstack_type 2
6460  */
6461 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){
6462     return little_endian_read_16(event, 3);
6463 }
6464 /**
6465  * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE
6466  * @param event packet
6467  * @return uid_counter
6468  * @note: btstack_type 2
6469  */
6470 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){
6471     return little_endian_read_16(event, 5);
6472 }
6473 /**
6474  * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE
6475  * @param event packet
6476  * @return browsing_status
6477  * @note: btstack_type 1
6478  */
6479 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){
6480     return event[7];
6481 }
6482 /**
6483  * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE
6484  * @param event packet
6485  * @return bluetooth_status
6486  * @note: btstack_type 1
6487  */
6488 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){
6489     return event[8];
6490 }
6491 
6492 /**
6493  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
6494  * @param event packet
6495  * @return browsing_cid
6496  * @note: btstack_type 2
6497  */
6498 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){
6499     return little_endian_read_16(event, 3);
6500 }
6501 /**
6502  * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
6503  * @param event packet
6504  * @return scope
6505  * @note: btstack_type 1
6506  */
6507 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){
6508     return event[5];
6509 }
6510 /**
6511  * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
6512  * @param event packet
6513  * @return attr_bitmap
6514  * @note: btstack_type 4
6515  */
6516 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){
6517     return little_endian_read_32(event, 6);
6518 }
6519 
6520 /**
6521  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS
6522  * @param event packet
6523  * @return browsing_cid
6524  * @note: btstack_type 2
6525  */
6526 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){
6527     return little_endian_read_16(event, 3);
6528 }
6529 /**
6530  * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS
6531  * @param event packet
6532  * @return scope
6533  * @note: btstack_type 1
6534  */
6535 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){
6536     return event[5];
6537 }
6538 
6539 /**
6540  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6541  * @param event packet
6542  * @return avrcp_cid
6543  * @note: btstack_type 2
6544  */
6545 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){
6546     return little_endian_read_16(event, 3);
6547 }
6548 /**
6549  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6550  * @param event packet
6551  * @return command_type
6552  * @note: btstack_type 1
6553  */
6554 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){
6555     return event[5];
6556 }
6557 /**
6558  * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6559  * @param event packet
6560  * @return playback_position_ms
6561  * @note: btstack_type 4
6562  */
6563 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){
6564     return little_endian_read_32(event, 6);
6565 }
6566 
6567 /**
6568  * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED
6569  * @param event packet
6570  * @return goep_cid
6571  * @note: btstack_type 2
6572  */
6573 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){
6574     return little_endian_read_16(event, 3);
6575 }
6576 /**
6577  * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED
6578  * @param event packet
6579  * @return status
6580  * @note: btstack_type 1
6581  */
6582 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){
6583     return event[5];
6584 }
6585 /**
6586  * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED
6587  * @param event packet
6588  * @param Pointer to storage for bd_addr
6589  * @note: btstack_type B
6590  */
6591 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6592     reverse_bd_addr(&event[6], bd_addr);
6593 }
6594 /**
6595  * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED
6596  * @param event packet
6597  * @return con_handle
6598  * @note: btstack_type H
6599  */
6600 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){
6601     return little_endian_read_16(event, 12);
6602 }
6603 /**
6604  * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED
6605  * @param event packet
6606  * @return incoming
6607  * @note: btstack_type 1
6608  */
6609 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){
6610     return event[14];
6611 }
6612 
6613 /**
6614  * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED
6615  * @param event packet
6616  * @return goep_cid
6617  * @note: btstack_type 2
6618  */
6619 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){
6620     return little_endian_read_16(event, 3);
6621 }
6622 
6623 /**
6624  * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW
6625  * @param event packet
6626  * @return goep_cid
6627  * @note: btstack_type 2
6628  */
6629 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){
6630     return little_endian_read_16(event, 3);
6631 }
6632 
6633 /**
6634  * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED
6635  * @param event packet
6636  * @return pbap_cid
6637  * @note: btstack_type 2
6638  */
6639 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){
6640     return little_endian_read_16(event, 3);
6641 }
6642 /**
6643  * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED
6644  * @param event packet
6645  * @return status
6646  * @note: btstack_type 1
6647  */
6648 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){
6649     return event[5];
6650 }
6651 /**
6652  * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED
6653  * @param event packet
6654  * @param Pointer to storage for bd_addr
6655  * @note: btstack_type B
6656  */
6657 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6658     reverse_bd_addr(&event[6], bd_addr);
6659 }
6660 /**
6661  * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED
6662  * @param event packet
6663  * @return con_handle
6664  * @note: btstack_type H
6665  */
6666 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){
6667     return little_endian_read_16(event, 12);
6668 }
6669 /**
6670  * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED
6671  * @param event packet
6672  * @return incoming
6673  * @note: btstack_type 1
6674  */
6675 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){
6676     return event[14];
6677 }
6678 
6679 /**
6680  * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED
6681  * @param event packet
6682  * @return goep_cid
6683  * @note: btstack_type 2
6684  */
6685 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){
6686     return little_endian_read_16(event, 3);
6687 }
6688 
6689 /**
6690  * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED
6691  * @param event packet
6692  * @return goep_cid
6693  * @note: btstack_type 2
6694  */
6695 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){
6696     return little_endian_read_16(event, 3);
6697 }
6698 /**
6699  * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED
6700  * @param event packet
6701  * @return status
6702  * @note: btstack_type 1
6703  */
6704 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){
6705     return event[5];
6706 }
6707 
6708 /**
6709  * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE
6710  * @param event packet
6711  * @return goep_cid
6712  * @note: btstack_type 2
6713  */
6714 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){
6715     return little_endian_read_16(event, 3);
6716 }
6717 /**
6718  * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE
6719  * @param event packet
6720  * @return status
6721  * @note: btstack_type 1
6722  */
6723 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){
6724     return event[5];
6725 }
6726 /**
6727  * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE
6728  * @param event packet
6729  * @return phoneboook_size
6730  * @note: btstack_type 2
6731  */
6732 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){
6733     return little_endian_read_16(event, 6);
6734 }
6735 
6736 /**
6737  * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
6738  * @param event packet
6739  * @return goep_cid
6740  * @note: btstack_type 2
6741  */
6742 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){
6743     return little_endian_read_16(event, 3);
6744 }
6745 /**
6746  * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
6747  * @param event packet
6748  * @return user_id_required
6749  * @note: btstack_type 1
6750  */
6751 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){
6752     return event[5];
6753 }
6754 /**
6755  * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
6756  * @param event packet
6757  * @return full_access
6758  * @note: btstack_type 1
6759  */
6760 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){
6761     return event[6];
6762 }
6763 
6764 /**
6765  * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT
6766  * @param event packet
6767  * @return goep_cid
6768  * @note: btstack_type 2
6769  */
6770 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){
6771     return little_endian_read_16(event, 3);
6772 }
6773 /**
6774  * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT
6775  * @param event packet
6776  * @return name_len
6777  * @note: btstack_type J
6778  */
6779 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){
6780     return event[5];
6781 }
6782 /**
6783  * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT
6784  * @param event packet
6785  * @return name
6786  * @note: btstack_type V
6787  */
6788 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){
6789     return &event[6];
6790 }
6791 /**
6792  * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT
6793  * @param event packet
6794  * @return handle_len
6795  * @note: btstack_type J
6796  */
6797 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){
6798     return event[6 + event[5]];
6799 }
6800 /**
6801  * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT
6802  * @param event packet
6803  * @return handle
6804  * @note: btstack_type V
6805  */
6806 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){
6807     return &event[6 + event[5] + 1];
6808 }
6809 
6810 /**
6811  * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED
6812  * @param event packet
6813  * @return hid_cid
6814  * @note: btstack_type 2
6815  */
6816 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){
6817     return little_endian_read_16(event, 3);
6818 }
6819 /**
6820  * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED
6821  * @param event packet
6822  * @return status
6823  * @note: btstack_type 1
6824  */
6825 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){
6826     return event[5];
6827 }
6828 /**
6829  * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED
6830  * @param event packet
6831  * @param Pointer to storage for bd_addr
6832  * @note: btstack_type B
6833  */
6834 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6835     reverse_bd_addr(&event[6], bd_addr);
6836 }
6837 /**
6838  * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED
6839  * @param event packet
6840  * @return con_handle
6841  * @note: btstack_type H
6842  */
6843 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){
6844     return little_endian_read_16(event, 12);
6845 }
6846 /**
6847  * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED
6848  * @param event packet
6849  * @return incoming
6850  * @note: btstack_type 1
6851  */
6852 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){
6853     return event[14];
6854 }
6855 
6856 /**
6857  * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED
6858  * @param event packet
6859  * @return hid_cid
6860  * @note: btstack_type 2
6861  */
6862 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){
6863     return little_endian_read_16(event, 3);
6864 }
6865 
6866 /**
6867  * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW
6868  * @param event packet
6869  * @return hid_cid
6870  * @note: btstack_type 2
6871  */
6872 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){
6873     return little_endian_read_16(event, 3);
6874 }
6875 
6876 /**
6877  * @brief Get field con_handle from event HID_SUBEVENT_SUSPEND
6878  * @param event packet
6879  * @return con_handle
6880  * @note: btstack_type 2
6881  */
6882 static inline uint16_t hid_subevent_suspend_get_con_handle(const uint8_t * event){
6883     return little_endian_read_16(event, 3);
6884 }
6885 
6886 /**
6887  * @brief Get field con_handle from event HID_SUBEVENT_EXIT_SUSPEND
6888  * @param event packet
6889  * @return con_handle
6890  * @note: btstack_type 2
6891  */
6892 static inline uint16_t hid_subevent_exit_suspend_get_con_handle(const uint8_t * event){
6893     return little_endian_read_16(event, 3);
6894 }
6895 
6896 /**
6897  * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW
6898  * @param event packet
6899  * @return con_handle
6900  * @note: btstack_type 2
6901  */
6902 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){
6903     return little_endian_read_16(event, 3);
6904 }
6905 
6906 /**
6907  * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE
6908  * @param event packet
6909  * @return con_handle
6910  * @note: btstack_type 2
6911  */
6912 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){
6913     return little_endian_read_16(event, 3);
6914 }
6915 /**
6916  * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE
6917  * @param event packet
6918  * @return protocol_mode
6919  * @note: btstack_type 1
6920  */
6921 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){
6922     return event[5];
6923 }
6924 
6925 /**
6926  * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE
6927  * @param event packet
6928  * @return con_handle
6929  * @note: btstack_type 2
6930  */
6931 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){
6932     return little_endian_read_16(event, 3);
6933 }
6934 /**
6935  * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE
6936  * @param event packet
6937  * @return enable
6938  * @note: btstack_type 1
6939  */
6940 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){
6941     return event[5];
6942 }
6943 
6944 /**
6945  * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE
6946  * @param event packet
6947  * @return con_handle
6948  * @note: btstack_type 2
6949  */
6950 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){
6951     return little_endian_read_16(event, 3);
6952 }
6953 /**
6954  * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE
6955  * @param event packet
6956  * @return enable
6957  * @note: btstack_type 1
6958  */
6959 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){
6960     return event[5];
6961 }
6962 
6963 /**
6964  * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE
6965  * @param event packet
6966  * @return con_handle
6967  * @note: btstack_type 2
6968  */
6969 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){
6970     return little_endian_read_16(event, 3);
6971 }
6972 /**
6973  * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE
6974  * @param event packet
6975  * @return enable
6976  * @note: btstack_type 1
6977  */
6978 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){
6979     return event[5];
6980 }
6981 
6982 /**
6983  * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE
6984  * @param event packet
6985  * @return con_handle
6986  * @note: btstack_type 2
6987  */
6988 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){
6989     return little_endian_read_16(event, 3);
6990 }
6991 /**
6992  * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE
6993  * @param event packet
6994  * @return enable
6995  * @note: btstack_type 1
6996  */
6997 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){
6998     return event[5];
6999 }
7000 
7001 /**
7002  * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE
7003  * @param event packet
7004  * @return con_handle
7005  * @note: btstack_type 2
7006  */
7007 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){
7008     return little_endian_read_16(event, 3);
7009 }
7010 /**
7011  * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE
7012  * @param event packet
7013  * @return enable
7014  * @note: btstack_type 1
7015  */
7016 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){
7017     return event[5];
7018 }
7019 
7020 /**
7021  * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND
7022  * @param event packet
7023  * @return con_handle
7024  * @note: btstack_type 2
7025  */
7026 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){
7027     return little_endian_read_16(event, 3);
7028 }
7029 
7030 /**
7031  * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND
7032  * @param event packet
7033  * @return con_handle
7034  * @note: btstack_type 2
7035  */
7036 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){
7037     return little_endian_read_16(event, 3);
7038 }
7039 
7040 /**
7041  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7042  * @param event packet
7043  * @return con_handle
7044  * @note: btstack_type 2
7045  */
7046 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){
7047     return little_endian_read_16(event, 3);
7048 }
7049 /**
7050  * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7051  * @param event packet
7052  * @return measurement_type
7053  * @note: btstack_type 1
7054  */
7055 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){
7056     return event[5];
7057 }
7058 /**
7059  * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7060  * @param event packet
7061  * @return is_enhanced
7062  * @note: btstack_type 1
7063  */
7064 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){
7065     return event[6];
7066 }
7067 
7068 /**
7069  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START
7070  * @param event packet
7071  * @return con_handle
7072  * @note: btstack_type 2
7073  */
7074 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){
7075     return little_endian_read_16(event, 3);
7076 }
7077 
7078 /**
7079  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP
7080  * @param event packet
7081  * @return con_handle
7082  * @note: btstack_type 2
7083  */
7084 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){
7085     return little_endian_read_16(event, 3);
7086 }
7087 
7088 /**
7089  * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED
7090  * @param event packet
7091  * @return map_cid
7092  * @note: btstack_type 2
7093  */
7094 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){
7095     return little_endian_read_16(event, 3);
7096 }
7097 /**
7098  * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED
7099  * @param event packet
7100  * @return status
7101  * @note: btstack_type 1
7102  */
7103 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){
7104     return event[5];
7105 }
7106 /**
7107  * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED
7108  * @param event packet
7109  * @param Pointer to storage for bd_addr
7110  * @note: btstack_type B
7111  */
7112 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
7113     reverse_bd_addr(&event[6], bd_addr);
7114 }
7115 /**
7116  * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED
7117  * @param event packet
7118  * @return con_handle
7119  * @note: btstack_type H
7120  */
7121 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){
7122     return little_endian_read_16(event, 12);
7123 }
7124 /**
7125  * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED
7126  * @param event packet
7127  * @return incoming
7128  * @note: btstack_type 1
7129  */
7130 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){
7131     return event[14];
7132 }
7133 
7134 /**
7135  * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED
7136  * @param event packet
7137  * @return map_cid
7138  * @note: btstack_type 2
7139  */
7140 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){
7141     return little_endian_read_16(event, 3);
7142 }
7143 
7144 /**
7145  * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED
7146  * @param event packet
7147  * @return map_cid
7148  * @note: btstack_type 2
7149  */
7150 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){
7151     return little_endian_read_16(event, 3);
7152 }
7153 /**
7154  * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED
7155  * @param event packet
7156  * @return status
7157  * @note: btstack_type 1
7158  */
7159 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){
7160     return event[5];
7161 }
7162 
7163 /**
7164  * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7165  * @param event packet
7166  * @return map_cid
7167  * @note: btstack_type 2
7168  */
7169 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){
7170     return little_endian_read_16(event, 3);
7171 }
7172 /**
7173  * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7174  * @param event packet
7175  * @return name_len
7176  * @note: btstack_type L
7177  */
7178 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){
7179     return little_endian_read_16(event, 5);
7180 }
7181 /**
7182  * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7183  * @param event packet
7184  * @return name
7185  * @note: btstack_type V
7186  */
7187 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){
7188     return &event[7];
7189 }
7190 
7191 /**
7192  * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM
7193  * @param event packet
7194  * @return map_cid
7195  * @note: btstack_type 2
7196  */
7197 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){
7198     return little_endian_read_16(event, 3);
7199 }
7200 /**
7201  * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM
7202  * @param event packet
7203  * @return handle
7204  * @note: btstack_type D
7205  */
7206 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){
7207     return (const uint8_t *) &event[5];
7208 }
7209 
7210 /**
7211  * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE
7212  * @param event packet
7213  * @return map_cid
7214  * @note: btstack_type 2
7215  */
7216 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){
7217     return little_endian_read_16(event, 3);
7218 }
7219 
7220 
7221 /**
7222  * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT
7223  * @param event packet
7224  * @return status
7225  * @note: btstack_type 1
7226  */
7227 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){
7228     return event[3];
7229 }
7230 
7231 /**
7232  * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7233  * @param event packet
7234  * @return status
7235  * @note: btstack_type 1
7236  */
7237 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){
7238     return event[3];
7239 }
7240 /**
7241  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7242  * @param event packet
7243  * @return pb_transport_cid
7244  * @note: btstack_type 2
7245  */
7246 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){
7247     return little_endian_read_16(event, 4);
7248 }
7249 /**
7250  * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7251  * @param event packet
7252  * @return pb_type
7253  * @note: btstack_type 1
7254  */
7255 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){
7256     return event[6];
7257 }
7258 
7259 /**
7260  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED
7261  * @param event packet
7262  * @return pb_transport_cid
7263  * @note: btstack_type 1
7264  */
7265 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){
7266     return event[3];
7267 }
7268 /**
7269  * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED
7270  * @param event packet
7271  * @return reason
7272  * @note: btstack_type 2
7273  */
7274 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){
7275     return little_endian_read_16(event, 4);
7276 }
7277 
7278 /**
7279  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER
7280  * @param event packet
7281  * @return pb_transport_cid
7282  * @note: btstack_type 2
7283  */
7284 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){
7285     return little_endian_read_16(event, 3);
7286 }
7287 /**
7288  * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER
7289  * @param event packet
7290  * @return attention_time
7291  * @note: btstack_type 1
7292  */
7293 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){
7294     return event[5];
7295 }
7296 
7297 /**
7298  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB
7299  * @param event packet
7300  * @return pb_transport_cid
7301  * @note: btstack_type 2
7302  */
7303 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7304     return little_endian_read_16(event, 3);
7305 }
7306 
7307 /**
7308  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB
7309  * @param event packet
7310  * @return pb_transport_cid
7311  * @note: btstack_type 2
7312  */
7313 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7314     return little_endian_read_16(event, 3);
7315 }
7316 
7317 /**
7318  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST
7319  * @param event packet
7320  * @return pb_transport_cid
7321  * @note: btstack_type 2
7322  */
7323 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){
7324     return little_endian_read_16(event, 3);
7325 }
7326 
7327 /**
7328  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB
7329  * @param event packet
7330  * @return pb_transport_cid
7331  * @note: btstack_type 2
7332  */
7333 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){
7334     return little_endian_read_16(event, 3);
7335 }
7336 /**
7337  * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB
7338  * @param event packet
7339  * @return output_oob
7340  * @note: btstack_type 4
7341  */
7342 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){
7343     return little_endian_read_32(event, 5);
7344 }
7345 
7346 /**
7347  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB
7348  * @param event packet
7349  * @return pb_transport_cid
7350  * @note: btstack_type 2
7351  */
7352 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){
7353     return little_endian_read_16(event, 3);
7354 }
7355 
7356 /**
7357  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB
7358  * @param event packet
7359  * @return pb_transport_cid
7360  * @note: btstack_type 2
7361  */
7362 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7363     return little_endian_read_16(event, 3);
7364 }
7365 
7366 /**
7367  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB
7368  * @param event packet
7369  * @return pb_transport_cid
7370  * @note: btstack_type 2
7371  */
7372 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7373     return little_endian_read_16(event, 3);
7374 }
7375 
7376 /**
7377  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST
7378  * @param event packet
7379  * @return pb_transport_cid
7380  * @note: btstack_type 2
7381  */
7382 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){
7383     return little_endian_read_16(event, 3);
7384 }
7385 
7386 /**
7387  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB
7388  * @param event packet
7389  * @return pb_transport_cid
7390  * @note: btstack_type 2
7391  */
7392 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){
7393     return little_endian_read_16(event, 3);
7394 }
7395 /**
7396  * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB
7397  * @param event packet
7398  * @return output_oob
7399  * @note: btstack_type 4
7400  */
7401 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){
7402     return little_endian_read_32(event, 5);
7403 }
7404 
7405 /**
7406  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB
7407  * @param event packet
7408  * @return pb_transport_cid
7409  * @note: btstack_type 2
7410  */
7411 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){
7412     return little_endian_read_16(event, 3);
7413 }
7414 
7415 /**
7416  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7417  * @param event packet
7418  * @return pb_transport_cid
7419  * @note: btstack_type 2
7420  */
7421 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){
7422     return little_endian_read_16(event, 3);
7423 }
7424 /**
7425  * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7426  * @param event packet
7427  * @return num_elements
7428  * @note: btstack_type 1
7429  */
7430 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){
7431     return event[5];
7432 }
7433 /**
7434  * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7435  * @param event packet
7436  * @return algorithms
7437  * @note: btstack_type 2
7438  */
7439 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){
7440     return little_endian_read_16(event, 6);
7441 }
7442 /**
7443  * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7444  * @param event packet
7445  * @return public_key
7446  * @note: btstack_type 1
7447  */
7448 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){
7449     return event[8];
7450 }
7451 /**
7452  * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7453  * @param event packet
7454  * @return static_oob_type
7455  * @note: btstack_type 1
7456  */
7457 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){
7458     return event[9];
7459 }
7460 /**
7461  * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7462  * @param event packet
7463  * @return output_oob_size
7464  * @note: btstack_type 1
7465  */
7466 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){
7467     return event[10];
7468 }
7469 /**
7470  * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7471  * @param event packet
7472  * @return output_oob_action
7473  * @note: btstack_type 2
7474  */
7475 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){
7476     return little_endian_read_16(event, 11);
7477 }
7478 /**
7479  * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7480  * @param event packet
7481  * @return input_oob_size
7482  * @note: btstack_type 1
7483  */
7484 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){
7485     return event[13];
7486 }
7487 /**
7488  * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7489  * @param event packet
7490  * @return input_oob_action
7491  * @note: btstack_type 2
7492  */
7493 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){
7494     return little_endian_read_16(event, 14);
7495 }
7496 
7497 /**
7498  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE
7499  * @param event packet
7500  * @return pb_transport_cid
7501  * @note: btstack_type 2
7502  */
7503 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){
7504     return little_endian_read_16(event, 3);
7505 }
7506 
7507 /**
7508  * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER
7509  * @param event packet
7510  * @return attention_time
7511  * @note: btstack_type 1
7512  */
7513 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){
7514     return event[3];
7515 }
7516 
7517 /**
7518  * @brief Get field status from event MESH_SUBEVENT_PROXY_CONNECTED
7519  * @param event packet
7520  * @return status
7521  * @note: btstack_type 1
7522  */
7523 static inline uint8_t mesh_subevent_proxy_connected_get_status(const uint8_t * event){
7524     return event[3];
7525 }
7526 /**
7527  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED
7528  * @param event packet
7529  * @return con_handle
7530  * @note: btstack_type H
7531  */
7532 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){
7533     return little_endian_read_16(event, 4);
7534 }
7535 
7536 /**
7537  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT
7538  * @param event packet
7539  * @return con_handle
7540  * @note: btstack_type H
7541  */
7542 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){
7543     return little_endian_read_16(event, 3);
7544 }
7545 
7546 /**
7547  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED
7548  * @param event packet
7549  * @return con_handle
7550  * @note: btstack_type H
7551  */
7552 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){
7553     return little_endian_read_16(event, 3);
7554 }
7555 
7556 /**
7557  * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT
7558  * @param event packet
7559  * @return con_handle
7560  * @note: btstack_type H
7561  */
7562 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){
7563     return little_endian_read_16(event, 3);
7564 }
7565 
7566 /**
7567  * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7568  * @param event packet
7569  * @return element_index
7570  * @note: btstack_type 1
7571  */
7572 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){
7573     return event[3];
7574 }
7575 /**
7576  * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7577  * @param event packet
7578  * @return model_identifier
7579  * @note: btstack_type 4
7580  */
7581 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){
7582     return little_endian_read_32(event, 4);
7583 }
7584 /**
7585  * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7586  * @param event packet
7587  * @return state_identifier
7588  * @note: btstack_type 4
7589  */
7590 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){
7591     return little_endian_read_32(event, 8);
7592 }
7593 /**
7594  * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7595  * @param event packet
7596  * @return reason
7597  * @note: btstack_type 1
7598  */
7599 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){
7600     return event[12];
7601 }
7602 /**
7603  * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7604  * @param event packet
7605  * @return value
7606  * @note: btstack_type 1
7607  */
7608 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){
7609     return event[13];
7610 }
7611 
7612 /**
7613  * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16
7614  * @param event packet
7615  * @return element_index
7616  * @note: btstack_type 1
7617  */
7618 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){
7619     return event[3];
7620 }
7621 /**
7622  * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16
7623  * @param event packet
7624  * @return model_identifier
7625  * @note: btstack_type 4
7626  */
7627 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){
7628     return little_endian_read_32(event, 4);
7629 }
7630 /**
7631  * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16
7632  * @param event packet
7633  * @return state_identifier
7634  * @note: btstack_type 4
7635  */
7636 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){
7637     return little_endian_read_32(event, 8);
7638 }
7639 /**
7640  * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16
7641  * @param event packet
7642  * @return reason
7643  * @note: btstack_type 1
7644  */
7645 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){
7646     return event[12];
7647 }
7648 /**
7649  * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16
7650  * @param event packet
7651  * @return value
7652  * @note: btstack_type 2
7653  */
7654 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){
7655     return little_endian_read_16(event, 13);
7656 }
7657 
7658 /**
7659  * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7660  * @param event packet
7661  * @return element_index
7662  * @note: btstack_type 1
7663  */
7664 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){
7665     return event[3];
7666 }
7667 /**
7668  * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7669  * @param event packet
7670  * @return model_identifier
7671  * @note: btstack_type 4
7672  */
7673 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){
7674     return little_endian_read_32(event, 4);
7675 }
7676 /**
7677  * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7678  * @param event packet
7679  * @return opcode
7680  * @note: btstack_type 4
7681  */
7682 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){
7683     return little_endian_read_32(event, 8);
7684 }
7685 /**
7686  * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7687  * @param event packet
7688  * @return dest
7689  * @note: btstack_type 2
7690  */
7691 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){
7692     return little_endian_read_16(event, 12);
7693 }
7694 
7695 /**
7696  * @brief Get field element_index from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS
7697  * @param event packet
7698  * @return element_index
7699  * @note: btstack_type 1
7700  */
7701 static inline uint8_t mesh_subevent_generic_on_off_status_get_element_index(const uint8_t * event){
7702     return event[3];
7703 }
7704 /**
7705  * @brief Get field model_identifier from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS
7706  * @param event packet
7707  * @return model_identifier
7708  * @note: btstack_type 4
7709  */
7710 static inline uint32_t mesh_subevent_generic_on_off_status_get_model_identifier(const uint8_t * event){
7711     return little_endian_read_32(event, 4);
7712 }
7713 /**
7714  * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS
7715  * @param event packet
7716  * @return present_value
7717  * @note: btstack_type 1
7718  */
7719 static inline uint8_t mesh_subevent_generic_on_off_status_get_present_value(const uint8_t * event){
7720     return event[8];
7721 }
7722 /**
7723  * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS
7724  * @param event packet
7725  * @return target_value
7726  * @note: btstack_type 1
7727  */
7728 static inline uint8_t mesh_subevent_generic_on_off_status_get_target_value(const uint8_t * event){
7729     return event[9];
7730 }
7731 /**
7732  * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF_STATUS
7733  * @param event packet
7734  * @return remaining_time_ms
7735  * @note: btstack_type 4
7736  */
7737 static inline uint32_t mesh_subevent_generic_on_off_status_get_remaining_time_ms(const uint8_t * event){
7738     return little_endian_read_32(event, 10);
7739 }
7740 
7741 /**
7742  * @brief Get field element_index from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS
7743  * @param event packet
7744  * @return element_index
7745  * @note: btstack_type 1
7746  */
7747 static inline uint8_t mesh_subevent_generic_level_status_get_element_index(const uint8_t * event){
7748     return event[3];
7749 }
7750 /**
7751  * @brief Get field model_identifier from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS
7752  * @param event packet
7753  * @return model_identifier
7754  * @note: btstack_type 4
7755  */
7756 static inline uint32_t mesh_subevent_generic_level_status_get_model_identifier(const uint8_t * event){
7757     return little_endian_read_32(event, 4);
7758 }
7759 /**
7760  * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS
7761  * @param event packet
7762  * @return present_value
7763  * @note: btstack_type 2
7764  */
7765 static inline uint16_t mesh_subevent_generic_level_status_get_present_value(const uint8_t * event){
7766     return little_endian_read_16(event, 8);
7767 }
7768 /**
7769  * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS
7770  * @param event packet
7771  * @return target_value
7772  * @note: btstack_type 2
7773  */
7774 static inline uint16_t mesh_subevent_generic_level_status_get_target_value(const uint8_t * event){
7775     return little_endian_read_16(event, 10);
7776 }
7777 /**
7778  * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL_STATUS
7779  * @param event packet
7780  * @return remaining_time_ms
7781  * @note: btstack_type 4
7782  */
7783 static inline uint32_t mesh_subevent_generic_level_status_get_remaining_time_ms(const uint8_t * event){
7784     return little_endian_read_32(event, 12);
7785 }
7786 
7787 /**
7788  * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_CLEAR_REGISTERED_FAULTS
7789  * @param event packet
7790  * @return element_index
7791  * @note: btstack_type 1
7792  */
7793 static inline uint8_t mesh_subevent_health_clear_registered_faults_get_element_index(const uint8_t * event){
7794     return event[3];
7795 }
7796 /**
7797  * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_CLEAR_REGISTERED_FAULTS
7798  * @param event packet
7799  * @return company_id
7800  * @note: btstack_type 2
7801  */
7802 static inline uint16_t mesh_subevent_health_clear_registered_faults_get_company_id(const uint8_t * event){
7803     return little_endian_read_16(event, 4);
7804 }
7805 
7806 /**
7807  * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
7808  * @param event packet
7809  * @return element_index
7810  * @note: btstack_type 1
7811  */
7812 static inline uint8_t mesh_subevent_health_perform_test_get_element_index(const uint8_t * event){
7813     return event[3];
7814 }
7815 /**
7816  * @brief Get field model_identifier from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
7817  * @param event packet
7818  * @return model_identifier
7819  * @note: btstack_type 4
7820  */
7821 static inline uint32_t mesh_subevent_health_perform_test_get_model_identifier(const uint8_t * event){
7822     return little_endian_read_32(event, 4);
7823 }
7824 /**
7825  * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
7826  * @param event packet
7827  * @return dest
7828  * @note: btstack_type 2
7829  */
7830 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){
7831     return little_endian_read_16(event, 8);
7832 }
7833 /**
7834  * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
7835  * @param event packet
7836  * @return netkey_index
7837  * @note: btstack_type 2
7838  */
7839 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){
7840     return little_endian_read_16(event, 10);
7841 }
7842 /**
7843  * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
7844  * @param event packet
7845  * @return appkey_index
7846  * @note: btstack_type 2
7847  */
7848 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){
7849     return little_endian_read_16(event, 12);
7850 }
7851 /**
7852  * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
7853  * @param event packet
7854  * @return company_id
7855  * @note: btstack_type 2
7856  */
7857 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){
7858     return little_endian_read_16(event, 14);
7859 }
7860 /**
7861  * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
7862  * @param event packet
7863  * @return test_id
7864  * @note: btstack_type 1
7865  */
7866 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){
7867     return event[16];
7868 }
7869 
7870 /**
7871  * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_FAST_PERIOD_DIVISOR_CHANGED
7872  * @param event packet
7873  * @return element_index
7874  * @note: btstack_type 1
7875  */
7876 static inline uint8_t mesh_subevent_health_fast_period_divisor_changed_get_element_index(const uint8_t * event){
7877     return event[3];
7878 }
7879 /**
7880  * @brief Get field fast_period_divisor from event MESH_SUBEVENT_HEALTH_FAST_PERIOD_DIVISOR_CHANGED
7881  * @param event packet
7882  * @return fast_period_divisor
7883  * @note: btstack_type 1
7884  */
7885 static inline uint8_t mesh_subevent_health_fast_period_divisor_changed_get_fast_period_divisor(const uint8_t * event){
7886     return event[4];
7887 }
7888 
7889 /**
7890  * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED
7891  * @param event packet
7892  * @return element_index
7893  * @note: btstack_type 1
7894  */
7895 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){
7896     return event[3];
7897 }
7898 
7899 
7900 
7901 /* API_END */
7902 
7903 #if defined __cplusplus
7904 }
7905 #endif
7906 
7907 #endif // BTSTACK_EVENT_H
7908