xref: /btstack/src/btstack_event.h (revision 8613e0eb5b9621b90c6c50e3d739bfa544af1c63)
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_bytes(&event[3], bd_addr, 6);
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_bytes(&event[5], bd_addr, 6);
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_bytes(&event[2], bd_addr, 6);
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_bytes(&event[3], bd_addr, 6);
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_bytes(&event[3], bd_addr, 6);
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_bytes(&event[2], bd_addr, 6);
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_bytes(&event[2], bd_addr, 6);
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_bytes(&event[3], bd_addr, 6);
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_bytes(&event[5], bd_addr, 6);
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_bytes(&event[3], bd_addr, 6);
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_bytes(&event[2], bd_addr, 6);
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_bytes(&event[2], bd_addr, 6);
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_bytes(&event[2], bd_addr, 6);
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_bytes(&event[3], bd_addr, 6);
1049 }
1050 
1051 /**
1052  * @brief Get field bd_addr from event HCI_EVENT_USER_PASSKEY_NOTIFICATION
1053  * @param event packet
1054  * @param Pointer to storage for bd_addr
1055  * @note: btstack_type B
1056  */
1057 static inline void hci_event_user_passkey_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1058     reverse_bytes(&event[2], bd_addr, 6);
1059 }
1060 /**
1061  * @brief Get field numeric_value from event HCI_EVENT_USER_PASSKEY_NOTIFICATION
1062  * @param event packet
1063  * @return numeric_value
1064  * @note: btstack_type 4
1065  */
1066 static inline uint32_t hci_event_user_passkey_notification_get_numeric_value(const uint8_t * event){
1067     return little_endian_read_32(event, 8);
1068 }
1069 
1070 /**
1071  * @brief Get field bd_addr from event HCI_EVENT_KEYPRESS_NOTIFICATION
1072  * @param event packet
1073  * @param Pointer to storage for bd_addr
1074  * @note: btstack_type B
1075  */
1076 static inline void hci_event_keypress_notification_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1077     reverse_bytes(&event[2], bd_addr, 6);
1078 }
1079 /**
1080  * @brief Get field notification_type from event HCI_EVENT_KEYPRESS_NOTIFICATION
1081  * @param event packet
1082  * @return notification_type
1083  * @note: btstack_type 1
1084  */
1085 static inline uint8_t hci_event_keypress_notification_get_notification_type(const uint8_t * event){
1086     return event[8];
1087 }
1088 
1089 /**
1090  * @brief Get field state from event BTSTACK_EVENT_STATE
1091  * @param event packet
1092  * @return state
1093  * @note: btstack_type 1
1094  */
1095 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){
1096     return event[2];
1097 }
1098 
1099 /**
1100  * @brief Get field number_connections from event BTSTACK_EVENT_NR_CONNECTIONS_CHANGED
1101  * @param event packet
1102  * @return number_connections
1103  * @note: btstack_type 1
1104  */
1105 static inline uint8_t btstack_event_nr_connections_changed_get_number_connections(const uint8_t * event){
1106     return event[2];
1107 }
1108 
1109 
1110 /**
1111  * @brief Get field discoverable from event BTSTACK_EVENT_DISCOVERABLE_ENABLED
1112  * @param event packet
1113  * @return discoverable
1114  * @note: btstack_type 1
1115  */
1116 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){
1117     return event[2];
1118 }
1119 
1120 /**
1121  * @brief Get field active from event HCI_EVENT_TRANSPORT_SLEEP_MODE
1122  * @param event packet
1123  * @return active
1124  * @note: btstack_type 1
1125  */
1126 static inline uint8_t hci_event_transport_sleep_mode_get_active(const uint8_t * event){
1127     return event[2];
1128 }
1129 
1130 /**
1131  * @brief Get field handle from event HCI_EVENT_SCO_CAN_SEND_NOW
1132  * @param event packet
1133  * @param Pointer to storage for handle
1134  * @note: btstack_type B
1135  */
1136 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){
1137     reverse_bytes(&event[2], handle, 6);
1138 }
1139 
1140 /**
1141  * @brief Get field status from event L2CAP_EVENT_CHANNEL_OPENED
1142  * @param event packet
1143  * @return status
1144  * @note: btstack_type 1
1145  */
1146 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
1147     return event[2];
1148 }
1149 /**
1150  * @brief Get field address from event L2CAP_EVENT_CHANNEL_OPENED
1151  * @param event packet
1152  * @param Pointer to storage for address
1153  * @note: btstack_type B
1154  */
1155 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
1156     reverse_bytes(&event[3], address, 6);
1157 }
1158 /**
1159  * @brief Get field handle from event L2CAP_EVENT_CHANNEL_OPENED
1160  * @param event packet
1161  * @return handle
1162  * @note: btstack_type H
1163  */
1164 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
1165     return little_endian_read_16(event, 9);
1166 }
1167 /**
1168  * @brief Get field psm from event L2CAP_EVENT_CHANNEL_OPENED
1169  * @param event packet
1170  * @return psm
1171  * @note: btstack_type 2
1172  */
1173 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
1174     return little_endian_read_16(event, 11);
1175 }
1176 /**
1177  * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_OPENED
1178  * @param event packet
1179  * @return local_cid
1180  * @note: btstack_type 2
1181  */
1182 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){
1183     return little_endian_read_16(event, 13);
1184 }
1185 /**
1186  * @brief Get field remote_cid from event L2CAP_EVENT_CHANNEL_OPENED
1187  * @param event packet
1188  * @return remote_cid
1189  * @note: btstack_type 2
1190  */
1191 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
1192     return little_endian_read_16(event, 15);
1193 }
1194 /**
1195  * @brief Get field local_mtu from event L2CAP_EVENT_CHANNEL_OPENED
1196  * @param event packet
1197  * @return local_mtu
1198  * @note: btstack_type 2
1199  */
1200 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
1201     return little_endian_read_16(event, 17);
1202 }
1203 /**
1204  * @brief Get field remote_mtu from event L2CAP_EVENT_CHANNEL_OPENED
1205  * @param event packet
1206  * @return remote_mtu
1207  * @note: btstack_type 2
1208  */
1209 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
1210     return little_endian_read_16(event, 19);
1211 }
1212 /**
1213  * @brief Get field flush_timeout from event L2CAP_EVENT_CHANNEL_OPENED
1214  * @param event packet
1215  * @return flush_timeout
1216  * @note: btstack_type 2
1217  */
1218 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
1219     return little_endian_read_16(event, 21);
1220 }
1221 /**
1222  * @brief Get field incoming from event L2CAP_EVENT_CHANNEL_OPENED
1223  * @param event packet
1224  * @return incoming
1225  * @note: btstack_type 1
1226  */
1227 static inline uint8_t l2cap_event_channel_opened_get_incoming(const uint8_t * event){
1228     return event[23];
1229 }
1230 /**
1231  * @brief Get field mode from event L2CAP_EVENT_CHANNEL_OPENED
1232  * @param event packet
1233  * @return mode
1234  * @note: btstack_type 1
1235  */
1236 static inline uint8_t l2cap_event_channel_opened_get_mode(const uint8_t * event){
1237     return event[24];
1238 }
1239 /**
1240  * @brief Get field fcs from event L2CAP_EVENT_CHANNEL_OPENED
1241  * @param event packet
1242  * @return fcs
1243  * @note: btstack_type 1
1244  */
1245 static inline uint8_t l2cap_event_channel_opened_get_fcs(const uint8_t * event){
1246     return event[25];
1247 }
1248 
1249 /**
1250  * @brief Get field local_cid from event L2CAP_EVENT_CHANNEL_CLOSED
1251  * @param event packet
1252  * @return local_cid
1253  * @note: btstack_type 2
1254  */
1255 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
1256     return little_endian_read_16(event, 2);
1257 }
1258 
1259 /**
1260  * @brief Get field address from event L2CAP_EVENT_INCOMING_CONNECTION
1261  * @param event packet
1262  * @param Pointer to storage for address
1263  * @note: btstack_type B
1264  */
1265 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
1266     reverse_bytes(&event[2], address, 6);
1267 }
1268 /**
1269  * @brief Get field handle from event L2CAP_EVENT_INCOMING_CONNECTION
1270  * @param event packet
1271  * @return handle
1272  * @note: btstack_type H
1273  */
1274 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
1275     return little_endian_read_16(event, 8);
1276 }
1277 /**
1278  * @brief Get field psm from event L2CAP_EVENT_INCOMING_CONNECTION
1279  * @param event packet
1280  * @return psm
1281  * @note: btstack_type 2
1282  */
1283 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
1284     return little_endian_read_16(event, 10);
1285 }
1286 /**
1287  * @brief Get field local_cid from event L2CAP_EVENT_INCOMING_CONNECTION
1288  * @param event packet
1289  * @return local_cid
1290  * @note: btstack_type 2
1291  */
1292 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
1293     return little_endian_read_16(event, 12);
1294 }
1295 /**
1296  * @brief Get field remote_cid from event L2CAP_EVENT_INCOMING_CONNECTION
1297  * @param event packet
1298  * @return remote_cid
1299  * @note: btstack_type 2
1300  */
1301 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
1302     return little_endian_read_16(event, 14);
1303 }
1304 
1305 /**
1306  * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1307  * @param event packet
1308  * @return handle
1309  * @note: btstack_type H
1310  */
1311 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
1312     return little_endian_read_16(event, 2);
1313 }
1314 /**
1315  * @brief Get field interval_min from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1316  * @param event packet
1317  * @return interval_min
1318  * @note: btstack_type 2
1319  */
1320 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
1321     return little_endian_read_16(event, 4);
1322 }
1323 /**
1324  * @brief Get field interval_max from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1325  * @param event packet
1326  * @return interval_max
1327  * @note: btstack_type 2
1328  */
1329 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
1330     return little_endian_read_16(event, 6);
1331 }
1332 /**
1333  * @brief Get field latencey from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1334  * @param event packet
1335  * @return latencey
1336  * @note: btstack_type 2
1337  */
1338 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
1339     return little_endian_read_16(event, 8);
1340 }
1341 /**
1342  * @brief Get field timeout_multiplier from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST
1343  * @param event packet
1344  * @return timeout_multiplier
1345  * @note: btstack_type 2
1346  */
1347 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
1348     return little_endian_read_16(event, 10);
1349 }
1350 
1351 /**
1352  * @brief Get field handle from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE
1353  * @param event packet
1354  * @return handle
1355  * @note: btstack_type H
1356  */
1357 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
1358     return little_endian_read_16(event, 2);
1359 }
1360 /**
1361  * @brief Get field result from event L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE
1362  * @param event packet
1363  * @return result
1364  * @note: btstack_type 2
1365  */
1366 static inline uint16_t l2cap_event_connection_parameter_update_response_get_result(const uint8_t * event){
1367     return little_endian_read_16(event, 4);
1368 }
1369 
1370 /**
1371  * @brief Get field local_cid from event L2CAP_EVENT_CAN_SEND_NOW
1372  * @param event packet
1373  * @return local_cid
1374  * @note: btstack_type 2
1375  */
1376 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
1377     return little_endian_read_16(event, 2);
1378 }
1379 
1380 /**
1381  * @brief Get field address_type from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1382  * @param event packet
1383  * @return address_type
1384  * @note: btstack_type 1
1385  */
1386 static inline uint8_t l2cap_event_le_incoming_connection_get_address_type(const uint8_t * event){
1387     return event[2];
1388 }
1389 /**
1390  * @brief Get field address from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1391  * @param event packet
1392  * @param Pointer to storage for address
1393  * @note: btstack_type B
1394  */
1395 static inline void l2cap_event_le_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
1396     reverse_bytes(&event[3], address, 6);
1397 }
1398 /**
1399  * @brief Get field handle from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1400  * @param event packet
1401  * @return handle
1402  * @note: btstack_type H
1403  */
1404 static inline hci_con_handle_t l2cap_event_le_incoming_connection_get_handle(const uint8_t * event){
1405     return little_endian_read_16(event, 9);
1406 }
1407 /**
1408  * @brief Get field psm from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1409  * @param event packet
1410  * @return psm
1411  * @note: btstack_type 2
1412  */
1413 static inline uint16_t l2cap_event_le_incoming_connection_get_psm(const uint8_t * event){
1414     return little_endian_read_16(event, 11);
1415 }
1416 /**
1417  * @brief Get field local_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1418  * @param event packet
1419  * @return local_cid
1420  * @note: btstack_type 2
1421  */
1422 static inline uint16_t l2cap_event_le_incoming_connection_get_local_cid(const uint8_t * event){
1423     return little_endian_read_16(event, 13);
1424 }
1425 /**
1426  * @brief Get field remote_cid from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1427  * @param event packet
1428  * @return remote_cid
1429  * @note: btstack_type 2
1430  */
1431 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_cid(const uint8_t * event){
1432     return little_endian_read_16(event, 15);
1433 }
1434 /**
1435  * @brief Get field remote_mtu from event L2CAP_EVENT_LE_INCOMING_CONNECTION
1436  * @param event packet
1437  * @return remote_mtu
1438  * @note: btstack_type 2
1439  */
1440 static inline uint16_t l2cap_event_le_incoming_connection_get_remote_mtu(const uint8_t * event){
1441     return little_endian_read_16(event, 17);
1442 }
1443 
1444 /**
1445  * @brief Get field status from event L2CAP_EVENT_LE_CHANNEL_OPENED
1446  * @param event packet
1447  * @return status
1448  * @note: btstack_type 1
1449  */
1450 static inline uint8_t l2cap_event_le_channel_opened_get_status(const uint8_t * event){
1451     return event[2];
1452 }
1453 /**
1454  * @brief Get field address_type from event L2CAP_EVENT_LE_CHANNEL_OPENED
1455  * @param event packet
1456  * @return address_type
1457  * @note: btstack_type 1
1458  */
1459 static inline uint8_t l2cap_event_le_channel_opened_get_address_type(const uint8_t * event){
1460     return event[3];
1461 }
1462 /**
1463  * @brief Get field address from event L2CAP_EVENT_LE_CHANNEL_OPENED
1464  * @param event packet
1465  * @param Pointer to storage for address
1466  * @note: btstack_type B
1467  */
1468 static inline void l2cap_event_le_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
1469     reverse_bytes(&event[4], address, 6);
1470 }
1471 /**
1472  * @brief Get field handle from event L2CAP_EVENT_LE_CHANNEL_OPENED
1473  * @param event packet
1474  * @return handle
1475  * @note: btstack_type H
1476  */
1477 static inline hci_con_handle_t l2cap_event_le_channel_opened_get_handle(const uint8_t * event){
1478     return little_endian_read_16(event, 10);
1479 }
1480 /**
1481  * @brief Get field incoming from event L2CAP_EVENT_LE_CHANNEL_OPENED
1482  * @param event packet
1483  * @return incoming
1484  * @note: btstack_type 1
1485  */
1486 static inline uint8_t l2cap_event_le_channel_opened_get_incoming(const uint8_t * event){
1487     return event[12];
1488 }
1489 /**
1490  * @brief Get field psm from event L2CAP_EVENT_LE_CHANNEL_OPENED
1491  * @param event packet
1492  * @return psm
1493  * @note: btstack_type 2
1494  */
1495 static inline uint16_t l2cap_event_le_channel_opened_get_psm(const uint8_t * event){
1496     return little_endian_read_16(event, 13);
1497 }
1498 /**
1499  * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED
1500  * @param event packet
1501  * @return local_cid
1502  * @note: btstack_type 2
1503  */
1504 static inline uint16_t l2cap_event_le_channel_opened_get_local_cid(const uint8_t * event){
1505     return little_endian_read_16(event, 15);
1506 }
1507 /**
1508  * @brief Get field remote_cid from event L2CAP_EVENT_LE_CHANNEL_OPENED
1509  * @param event packet
1510  * @return remote_cid
1511  * @note: btstack_type 2
1512  */
1513 static inline uint16_t l2cap_event_le_channel_opened_get_remote_cid(const uint8_t * event){
1514     return little_endian_read_16(event, 17);
1515 }
1516 /**
1517  * @brief Get field local_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED
1518  * @param event packet
1519  * @return local_mtu
1520  * @note: btstack_type 2
1521  */
1522 static inline uint16_t l2cap_event_le_channel_opened_get_local_mtu(const uint8_t * event){
1523     return little_endian_read_16(event, 19);
1524 }
1525 /**
1526  * @brief Get field remote_mtu from event L2CAP_EVENT_LE_CHANNEL_OPENED
1527  * @param event packet
1528  * @return remote_mtu
1529  * @note: btstack_type 2
1530  */
1531 static inline uint16_t l2cap_event_le_channel_opened_get_remote_mtu(const uint8_t * event){
1532     return little_endian_read_16(event, 21);
1533 }
1534 
1535 /**
1536  * @brief Get field local_cid from event L2CAP_EVENT_LE_CHANNEL_CLOSED
1537  * @param event packet
1538  * @return local_cid
1539  * @note: btstack_type 2
1540  */
1541 static inline uint16_t l2cap_event_le_channel_closed_get_local_cid(const uint8_t * event){
1542     return little_endian_read_16(event, 2);
1543 }
1544 
1545 /**
1546  * @brief Get field local_cid from event L2CAP_EVENT_LE_CAN_SEND_NOW
1547  * @param event packet
1548  * @return local_cid
1549  * @note: btstack_type 2
1550  */
1551 static inline uint16_t l2cap_event_le_can_send_now_get_local_cid(const uint8_t * event){
1552     return little_endian_read_16(event, 2);
1553 }
1554 
1555 /**
1556  * @brief Get field local_cid from event L2CAP_EVENT_LE_PACKET_SENT
1557  * @param event packet
1558  * @return local_cid
1559  * @note: btstack_type 2
1560  */
1561 static inline uint16_t l2cap_event_le_packet_sent_get_local_cid(const uint8_t * event){
1562     return little_endian_read_16(event, 2);
1563 }
1564 
1565 /**
1566  * @brief Get field local_cid from event L2CAP_EVENT_ERTM_BUFFER_RELEASED
1567  * @param event packet
1568  * @return local_cid
1569  * @note: btstack_type 2
1570  */
1571 static inline uint16_t l2cap_event_ertm_buffer_released_get_local_cid(const uint8_t * event){
1572     return little_endian_read_16(event, 2);
1573 }
1574 
1575 
1576 /**
1577  * @brief Get field status from event RFCOMM_EVENT_CHANNEL_OPENED
1578  * @param event packet
1579  * @return status
1580  * @note: btstack_type 1
1581  */
1582 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){
1583     return event[2];
1584 }
1585 /**
1586  * @brief Get field bd_addr from event RFCOMM_EVENT_CHANNEL_OPENED
1587  * @param event packet
1588  * @param Pointer to storage for bd_addr
1589  * @note: btstack_type B
1590  */
1591 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1592     reverse_bytes(&event[3], bd_addr, 6);
1593 }
1594 /**
1595  * @brief Get field con_handle from event RFCOMM_EVENT_CHANNEL_OPENED
1596  * @param event packet
1597  * @return con_handle
1598  * @note: btstack_type 2
1599  */
1600 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){
1601     return little_endian_read_16(event, 9);
1602 }
1603 /**
1604  * @brief Get field server_channel from event RFCOMM_EVENT_CHANNEL_OPENED
1605  * @param event packet
1606  * @return server_channel
1607  * @note: btstack_type 1
1608  */
1609 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){
1610     return event[11];
1611 }
1612 /**
1613  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_OPENED
1614  * @param event packet
1615  * @return rfcomm_cid
1616  * @note: btstack_type 2
1617  */
1618 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){
1619     return little_endian_read_16(event, 12);
1620 }
1621 /**
1622  * @brief Get field max_frame_size from event RFCOMM_EVENT_CHANNEL_OPENED
1623  * @param event packet
1624  * @return max_frame_size
1625  * @note: btstack_type 2
1626  */
1627 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){
1628     return little_endian_read_16(event, 14);
1629 }
1630 /**
1631  * @brief Get field incoming from event RFCOMM_EVENT_CHANNEL_OPENED
1632  * @param event packet
1633  * @return incoming
1634  * @note: btstack_type 1
1635  */
1636 static inline uint8_t rfcomm_event_channel_opened_get_incoming(const uint8_t * event){
1637     return event[16];
1638 }
1639 
1640 /**
1641  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CHANNEL_CLOSED
1642  * @param event packet
1643  * @return rfcomm_cid
1644  * @note: btstack_type 2
1645  */
1646 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
1647     return little_endian_read_16(event, 2);
1648 }
1649 
1650 /**
1651  * @brief Get field bd_addr from event RFCOMM_EVENT_INCOMING_CONNECTION
1652  * @param event packet
1653  * @param Pointer to storage for bd_addr
1654  * @note: btstack_type B
1655  */
1656 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1657     reverse_bytes(&event[2], bd_addr, 6);
1658 }
1659 /**
1660  * @brief Get field server_channel from event RFCOMM_EVENT_INCOMING_CONNECTION
1661  * @param event packet
1662  * @return server_channel
1663  * @note: btstack_type 1
1664  */
1665 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
1666     return event[8];
1667 }
1668 /**
1669  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_INCOMING_CONNECTION
1670  * @param event packet
1671  * @return rfcomm_cid
1672  * @note: btstack_type 2
1673  */
1674 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
1675     return little_endian_read_16(event, 9);
1676 }
1677 
1678 /**
1679  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_LINE_STATUS
1680  * @param event packet
1681  * @return rfcomm_cid
1682  * @note: btstack_type 2
1683  */
1684 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
1685     return little_endian_read_16(event, 2);
1686 }
1687 /**
1688  * @brief Get field line_status from event RFCOMM_EVENT_REMOTE_LINE_STATUS
1689  * @param event packet
1690  * @return line_status
1691  * @note: btstack_type 1
1692  */
1693 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
1694     return event[4];
1695 }
1696 
1697 /**
1698  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_REMOTE_MODEM_STATUS
1699  * @param event packet
1700  * @return rfcomm_cid
1701  * @note: btstack_type 2
1702  */
1703 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
1704     return little_endian_read_16(event, 2);
1705 }
1706 /**
1707  * @brief Get field modem_status from event RFCOMM_EVENT_REMOTE_MODEM_STATUS
1708  * @param event packet
1709  * @return modem_status
1710  * @note: btstack_type 1
1711  */
1712 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
1713     return event[4];
1714 }
1715 
1716 /**
1717  * @brief Get field rfcomm_cid from event RFCOMM_EVENT_CAN_SEND_NOW
1718  * @param event packet
1719  * @return rfcomm_cid
1720  * @note: btstack_type 2
1721  */
1722 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){
1723     return little_endian_read_16(event, 2);
1724 }
1725 
1726 /**
1727  * @brief Get field status from event SDP_EVENT_QUERY_COMPLETE
1728  * @param event packet
1729  * @return status
1730  * @note: btstack_type 1
1731  */
1732 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
1733     return event[2];
1734 }
1735 
1736 /**
1737  * @brief Get field rfcomm_channel from event SDP_EVENT_QUERY_RFCOMM_SERVICE
1738  * @param event packet
1739  * @return rfcomm_channel
1740  * @note: btstack_type 1
1741  */
1742 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
1743     return event[2];
1744 }
1745 /**
1746  * @brief Get field name from event SDP_EVENT_QUERY_RFCOMM_SERVICE
1747  * @param event packet
1748  * @return name
1749  * @note: btstack_type T
1750  */
1751 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
1752     return (const char *) &event[3];
1753 }
1754 
1755 /**
1756  * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1757  * @param event packet
1758  * @return record_id
1759  * @note: btstack_type 2
1760  */
1761 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
1762     return little_endian_read_16(event, 2);
1763 }
1764 /**
1765  * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1766  * @param event packet
1767  * @return attribute_id
1768  * @note: btstack_type 2
1769  */
1770 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
1771     return little_endian_read_16(event, 4);
1772 }
1773 /**
1774  * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1775  * @param event packet
1776  * @return attribute_length
1777  * @note: btstack_type 2
1778  */
1779 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
1780     return little_endian_read_16(event, 6);
1781 }
1782 /**
1783  * @brief Get field data_offset from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1784  * @param event packet
1785  * @return data_offset
1786  * @note: btstack_type 2
1787  */
1788 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
1789     return little_endian_read_16(event, 8);
1790 }
1791 /**
1792  * @brief Get field data from event SDP_EVENT_QUERY_ATTRIBUTE_BYTE
1793  * @param event packet
1794  * @return data
1795  * @note: btstack_type 1
1796  */
1797 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
1798     return event[10];
1799 }
1800 
1801 /**
1802  * @brief Get field record_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1803  * @param event packet
1804  * @return record_id
1805  * @note: btstack_type 2
1806  */
1807 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
1808     return little_endian_read_16(event, 2);
1809 }
1810 /**
1811  * @brief Get field attribute_id from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1812  * @param event packet
1813  * @return attribute_id
1814  * @note: btstack_type 2
1815  */
1816 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
1817     return little_endian_read_16(event, 4);
1818 }
1819 /**
1820  * @brief Get field attribute_length from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1821  * @param event packet
1822  * @return attribute_length
1823  * @note: btstack_type L
1824  */
1825 static inline uint16_t sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
1826     return little_endian_read_16(event, 6);
1827 }
1828 /**
1829  * @brief Get field attribute_value from event SDP_EVENT_QUERY_ATTRIBUTE_VALUE
1830  * @param event packet
1831  * @return attribute_value
1832  * @note: btstack_type V
1833  */
1834 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
1835     return &event[8];
1836 }
1837 
1838 /**
1839  * @brief Get field total_count from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE
1840  * @param event packet
1841  * @return total_count
1842  * @note: btstack_type 2
1843  */
1844 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
1845     return little_endian_read_16(event, 2);
1846 }
1847 /**
1848  * @brief Get field record_index from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE
1849  * @param event packet
1850  * @return record_index
1851  * @note: btstack_type 2
1852  */
1853 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
1854     return little_endian_read_16(event, 4);
1855 }
1856 /**
1857  * @brief Get field record_handle from event SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE
1858  * @param event packet
1859  * @return record_handle
1860  * @note: btstack_type 4
1861  */
1862 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
1863     return little_endian_read_32(event, 6);
1864 }
1865 
1866 #ifdef ENABLE_BLE
1867 /**
1868  * @brief Get field handle from event GATT_EVENT_QUERY_COMPLETE
1869  * @param event packet
1870  * @return handle
1871  * @note: btstack_type H
1872  */
1873 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){
1874     return little_endian_read_16(event, 2);
1875 }
1876 /**
1877  * @brief Get field att_status from event GATT_EVENT_QUERY_COMPLETE
1878  * @param event packet
1879  * @return att_status
1880  * @note: btstack_type 1
1881  */
1882 static inline uint8_t gatt_event_query_complete_get_att_status(const uint8_t * event){
1883     return event[4];
1884 }
1885 #endif
1886 
1887 #ifdef ENABLE_BLE
1888 /**
1889  * @brief Get field handle from event GATT_EVENT_SERVICE_QUERY_RESULT
1890  * @param event packet
1891  * @return handle
1892  * @note: btstack_type H
1893  */
1894 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){
1895     return little_endian_read_16(event, 2);
1896 }
1897 /**
1898  * @brief Get field service from event GATT_EVENT_SERVICE_QUERY_RESULT
1899  * @param event packet
1900  * @param Pointer to storage for service
1901  * @note: btstack_type X
1902  */
1903 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1904     gatt_client_deserialize_service(event, 4, service);
1905 }
1906 #endif
1907 
1908 #ifdef ENABLE_BLE
1909 /**
1910  * @brief Get field handle from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT
1911  * @param event packet
1912  * @return handle
1913  * @note: btstack_type H
1914  */
1915 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){
1916     return little_endian_read_16(event, 2);
1917 }
1918 /**
1919  * @brief Get field characteristic from event GATT_EVENT_CHARACTERISTIC_QUERY_RESULT
1920  * @param event packet
1921  * @param Pointer to storage for characteristic
1922  * @note: btstack_type Y
1923  */
1924 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){
1925     gatt_client_deserialize_characteristic(event, 4, characteristic);
1926 }
1927 #endif
1928 
1929 #ifdef ENABLE_BLE
1930 /**
1931  * @brief Get field handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT
1932  * @param event packet
1933  * @return handle
1934  * @note: btstack_type H
1935  */
1936 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){
1937     return little_endian_read_16(event, 2);
1938 }
1939 /**
1940  * @brief Get field include_handle from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT
1941  * @param event packet
1942  * @return include_handle
1943  * @note: btstack_type 2
1944  */
1945 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){
1946     return little_endian_read_16(event, 4);
1947 }
1948 /**
1949  * @brief Get field service from event GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT
1950  * @param event packet
1951  * @param Pointer to storage for service
1952  * @note: btstack_type X
1953  */
1954 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1955     gatt_client_deserialize_service(event, 6, service);
1956 }
1957 #endif
1958 
1959 #ifdef ENABLE_BLE
1960 /**
1961  * @brief Get field handle from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT
1962  * @param event packet
1963  * @return handle
1964  * @note: btstack_type H
1965  */
1966 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){
1967     return little_endian_read_16(event, 2);
1968 }
1969 /**
1970  * @brief Get field characteristic_descriptor from event GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT
1971  * @param event packet
1972  * @param Pointer to storage for characteristic_descriptor
1973  * @note: btstack_type Z
1974  */
1975 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){
1976     gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor);
1977 }
1978 #endif
1979 
1980 #ifdef ENABLE_BLE
1981 /**
1982  * @brief Get field handle from event GATT_EVENT_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_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_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_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_length from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT
2001  * @param event packet
2002  * @return value_length
2003  * @note: btstack_type L
2004  */
2005 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){
2006     return little_endian_read_16(event, 6);
2007 }
2008 /**
2009  * @brief Get field value from event GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT
2010  * @param event packet
2011  * @return value
2012  * @note: btstack_type V
2013  */
2014 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){
2015     return &event[8];
2016 }
2017 #endif
2018 
2019 #ifdef ENABLE_BLE
2020 /**
2021  * @brief Get field handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2022  * @param event packet
2023  * @return handle
2024  * @note: btstack_type H
2025  */
2026 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){
2027     return little_endian_read_16(event, 2);
2028 }
2029 /**
2030  * @brief Get field value_handle from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2031  * @param event packet
2032  * @return value_handle
2033  * @note: btstack_type 2
2034  */
2035 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){
2036     return little_endian_read_16(event, 4);
2037 }
2038 /**
2039  * @brief Get field value_offset from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2040  * @param event packet
2041  * @return value_offset
2042  * @note: btstack_type 2
2043  */
2044 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){
2045     return little_endian_read_16(event, 6);
2046 }
2047 /**
2048  * @brief Get field value_length from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2049  * @param event packet
2050  * @return value_length
2051  * @note: btstack_type L
2052  */
2053 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){
2054     return little_endian_read_16(event, 8);
2055 }
2056 /**
2057  * @brief Get field value from event GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT
2058  * @param event packet
2059  * @return value
2060  * @note: btstack_type V
2061  */
2062 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){
2063     return &event[10];
2064 }
2065 #endif
2066 
2067 #ifdef ENABLE_BLE
2068 /**
2069  * @brief Get field handle from event GATT_EVENT_NOTIFICATION
2070  * @param event packet
2071  * @return handle
2072  * @note: btstack_type H
2073  */
2074 static inline hci_con_handle_t gatt_event_notification_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_NOTIFICATION
2079  * @param event packet
2080  * @return value_handle
2081  * @note: btstack_type 2
2082  */
2083 static inline uint16_t gatt_event_notification_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_NOTIFICATION
2088  * @param event packet
2089  * @return value_length
2090  * @note: btstack_type L
2091  */
2092 static inline uint16_t gatt_event_notification_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_NOTIFICATION
2097  * @param event packet
2098  * @return value
2099  * @note: btstack_type V
2100  */
2101 static inline const uint8_t * gatt_event_notification_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_INDICATION
2109  * @param event packet
2110  * @return handle
2111  * @note: btstack_type H
2112  */
2113 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){
2114     return little_endian_read_16(event, 2);
2115 }
2116 /**
2117  * @brief Get field value_handle from event GATT_EVENT_INDICATION
2118  * @param event packet
2119  * @return value_handle
2120  * @note: btstack_type 2
2121  */
2122 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){
2123     return little_endian_read_16(event, 4);
2124 }
2125 /**
2126  * @brief Get field value_length from event GATT_EVENT_INDICATION
2127  * @param event packet
2128  * @return value_length
2129  * @note: btstack_type L
2130  */
2131 static inline uint16_t gatt_event_indication_get_value_length(const uint8_t * event){
2132     return little_endian_read_16(event, 6);
2133 }
2134 /**
2135  * @brief Get field value from event GATT_EVENT_INDICATION
2136  * @param event packet
2137  * @return value
2138  * @note: btstack_type V
2139  */
2140 static inline const uint8_t * gatt_event_indication_get_value(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_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_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_handle from event GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2157  * @param event packet
2158  * @return descriptor_handle
2159  * @note: btstack_type 2
2160  */
2161 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){
2162     return little_endian_read_16(event, 4);
2163 }
2164 /**
2165  * @brief Get field descriptor_length from event GATT_EVENT_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_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_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_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_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2187  * @param event packet
2188  * @return handle
2189  * @note: btstack_type H
2190  */
2191 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
2192     return little_endian_read_16(event, 2);
2193 }
2194 /**
2195  * @brief Get field descriptor_offset from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2196  * @param event packet
2197  * @return descriptor_offset
2198  * @note: btstack_type 2
2199  */
2200 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){
2201     return little_endian_read_16(event, 4);
2202 }
2203 /**
2204  * @brief Get field descriptor_length from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2205  * @param event packet
2206  * @return descriptor_length
2207  * @note: btstack_type L
2208  */
2209 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
2210     return little_endian_read_16(event, 6);
2211 }
2212 /**
2213  * @brief Get field descriptor from event GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT
2214  * @param event packet
2215  * @return descriptor
2216  * @note: btstack_type V
2217  */
2218 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
2219     return &event[8];
2220 }
2221 #endif
2222 
2223 #ifdef ENABLE_BLE
2224 /**
2225  * @brief Get field handle from event GATT_EVENT_MTU
2226  * @param event packet
2227  * @return handle
2228  * @note: btstack_type H
2229  */
2230 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){
2231     return little_endian_read_16(event, 2);
2232 }
2233 /**
2234  * @brief Get field MTU from event GATT_EVENT_MTU
2235  * @param event packet
2236  * @return MTU
2237  * @note: btstack_type 2
2238  */
2239 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){
2240     return little_endian_read_16(event, 4);
2241 }
2242 #endif
2243 
2244 #ifdef ENABLE_BLE
2245 /**
2246  * @brief Get field handle from event GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE
2247  * @param event packet
2248  * @return handle
2249  * @note: btstack_type H
2250  */
2251 static inline hci_con_handle_t gatt_event_can_write_without_response_get_handle(const uint8_t * event){
2252     return little_endian_read_16(event, 2);
2253 }
2254 #endif
2255 
2256 /**
2257  * @brief Get field address_type from event ATT_EVENT_CONNECTED
2258  * @param event packet
2259  * @return address_type
2260  * @note: btstack_type 1
2261  */
2262 static inline uint8_t att_event_connected_get_address_type(const uint8_t * event){
2263     return event[2];
2264 }
2265 /**
2266  * @brief Get field address from event ATT_EVENT_CONNECTED
2267  * @param event packet
2268  * @param Pointer to storage for address
2269  * @note: btstack_type B
2270  */
2271 static inline void att_event_connected_get_address(const uint8_t * event, bd_addr_t address){
2272     reverse_bytes(&event[3], address, 6);
2273 }
2274 /**
2275  * @brief Get field handle from event ATT_EVENT_CONNECTED
2276  * @param event packet
2277  * @return handle
2278  * @note: btstack_type H
2279  */
2280 static inline hci_con_handle_t att_event_connected_get_handle(const uint8_t * event){
2281     return little_endian_read_16(event, 9);
2282 }
2283 
2284 /**
2285  * @brief Get field handle from event ATT_EVENT_DISCONNECTED
2286  * @param event packet
2287  * @return handle
2288  * @note: btstack_type H
2289  */
2290 static inline hci_con_handle_t att_event_disconnected_get_handle(const uint8_t * event){
2291     return little_endian_read_16(event, 2);
2292 }
2293 
2294 /**
2295  * @brief Get field handle from event ATT_EVENT_MTU_EXCHANGE_COMPLETE
2296  * @param event packet
2297  * @return handle
2298  * @note: btstack_type H
2299  */
2300 static inline hci_con_handle_t att_event_mtu_exchange_complete_get_handle(const uint8_t * event){
2301     return little_endian_read_16(event, 2);
2302 }
2303 /**
2304  * @brief Get field MTU from event ATT_EVENT_MTU_EXCHANGE_COMPLETE
2305  * @param event packet
2306  * @return MTU
2307  * @note: btstack_type 2
2308  */
2309 static inline uint16_t att_event_mtu_exchange_complete_get_MTU(const uint8_t * event){
2310     return little_endian_read_16(event, 4);
2311 }
2312 
2313 /**
2314  * @brief Get field status from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE
2315  * @param event packet
2316  * @return status
2317  * @note: btstack_type 1
2318  */
2319 static inline uint8_t att_event_handle_value_indication_complete_get_status(const uint8_t * event){
2320     return event[2];
2321 }
2322 /**
2323  * @brief Get field conn_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE
2324  * @param event packet
2325  * @return conn_handle
2326  * @note: btstack_type H
2327  */
2328 static inline hci_con_handle_t att_event_handle_value_indication_complete_get_conn_handle(const uint8_t * event){
2329     return little_endian_read_16(event, 3);
2330 }
2331 /**
2332  * @brief Get field attribute_handle from event ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE
2333  * @param event packet
2334  * @return attribute_handle
2335  * @note: btstack_type 2
2336  */
2337 static inline uint16_t att_event_handle_value_indication_complete_get_attribute_handle(const uint8_t * event){
2338     return little_endian_read_16(event, 5);
2339 }
2340 
2341 
2342 /**
2343  * @brief Get field status from event BNEP_EVENT_SERVICE_REGISTERED
2344  * @param event packet
2345  * @return status
2346  * @note: btstack_type 1
2347  */
2348 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){
2349     return event[2];
2350 }
2351 /**
2352  * @brief Get field service_uuid from event BNEP_EVENT_SERVICE_REGISTERED
2353  * @param event packet
2354  * @return service_uuid
2355  * @note: btstack_type 2
2356  */
2357 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){
2358     return little_endian_read_16(event, 3);
2359 }
2360 
2361 /**
2362  * @brief Get field status from event BNEP_EVENT_CHANNEL_OPENED
2363  * @param event packet
2364  * @return status
2365  * @note: btstack_type 1
2366  */
2367 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){
2368     return event[2];
2369 }
2370 /**
2371  * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_OPENED
2372  * @param event packet
2373  * @return bnep_cid
2374  * @note: btstack_type 2
2375  */
2376 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){
2377     return little_endian_read_16(event, 3);
2378 }
2379 /**
2380  * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_OPENED
2381  * @param event packet
2382  * @return source_uuid
2383  * @note: btstack_type 2
2384  */
2385 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){
2386     return little_endian_read_16(event, 5);
2387 }
2388 /**
2389  * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_OPENED
2390  * @param event packet
2391  * @return destination_uuid
2392  * @note: btstack_type 2
2393  */
2394 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){
2395     return little_endian_read_16(event, 7);
2396 }
2397 /**
2398  * @brief Get field mtu from event BNEP_EVENT_CHANNEL_OPENED
2399  * @param event packet
2400  * @return mtu
2401  * @note: btstack_type 2
2402  */
2403 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){
2404     return little_endian_read_16(event, 9);
2405 }
2406 /**
2407  * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_OPENED
2408  * @param event packet
2409  * @param Pointer to storage for remote_address
2410  * @note: btstack_type B
2411  */
2412 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2413     reverse_bytes(&event[11], remote_address, 6);
2414 }
2415 /**
2416  * @brief Get field con_handle from event BNEP_EVENT_CHANNEL_OPENED
2417  * @param event packet
2418  * @return con_handle
2419  * @note: btstack_type H
2420  */
2421 static inline hci_con_handle_t bnep_event_channel_opened_get_con_handle(const uint8_t * event){
2422     return little_endian_read_16(event, 17);
2423 }
2424 
2425 /**
2426  * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_CLOSED
2427  * @param event packet
2428  * @return bnep_cid
2429  * @note: btstack_type 2
2430  */
2431 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){
2432     return little_endian_read_16(event, 2);
2433 }
2434 /**
2435  * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_CLOSED
2436  * @param event packet
2437  * @return source_uuid
2438  * @note: btstack_type 2
2439  */
2440 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){
2441     return little_endian_read_16(event, 4);
2442 }
2443 /**
2444  * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_CLOSED
2445  * @param event packet
2446  * @return destination_uuid
2447  * @note: btstack_type 2
2448  */
2449 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){
2450     return little_endian_read_16(event, 6);
2451 }
2452 /**
2453  * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_CLOSED
2454  * @param event packet
2455  * @param Pointer to storage for remote_address
2456  * @note: btstack_type B
2457  */
2458 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2459     reverse_bytes(&event[8], remote_address, 6);
2460 }
2461 
2462 /**
2463  * @brief Get field bnep_cid from event BNEP_EVENT_CHANNEL_TIMEOUT
2464  * @param event packet
2465  * @return bnep_cid
2466  * @note: btstack_type 2
2467  */
2468 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){
2469     return little_endian_read_16(event, 2);
2470 }
2471 /**
2472  * @brief Get field source_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT
2473  * @param event packet
2474  * @return source_uuid
2475  * @note: btstack_type 2
2476  */
2477 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){
2478     return little_endian_read_16(event, 4);
2479 }
2480 /**
2481  * @brief Get field destination_uuid from event BNEP_EVENT_CHANNEL_TIMEOUT
2482  * @param event packet
2483  * @return destination_uuid
2484  * @note: btstack_type 2
2485  */
2486 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){
2487     return little_endian_read_16(event, 6);
2488 }
2489 /**
2490  * @brief Get field remote_address from event BNEP_EVENT_CHANNEL_TIMEOUT
2491  * @param event packet
2492  * @param Pointer to storage for remote_address
2493  * @note: btstack_type B
2494  */
2495 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2496     reverse_bytes(&event[8], remote_address, 6);
2497 }
2498 /**
2499  * @brief Get field channel_state from event BNEP_EVENT_CHANNEL_TIMEOUT
2500  * @param event packet
2501  * @return channel_state
2502  * @note: btstack_type 1
2503  */
2504 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){
2505     return event[14];
2506 }
2507 
2508 /**
2509  * @brief Get field bnep_cid from event BNEP_EVENT_CAN_SEND_NOW
2510  * @param event packet
2511  * @return bnep_cid
2512  * @note: btstack_type 2
2513  */
2514 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){
2515     return little_endian_read_16(event, 2);
2516 }
2517 /**
2518  * @brief Get field source_uuid from event BNEP_EVENT_CAN_SEND_NOW
2519  * @param event packet
2520  * @return source_uuid
2521  * @note: btstack_type 2
2522  */
2523 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){
2524     return little_endian_read_16(event, 4);
2525 }
2526 /**
2527  * @brief Get field destination_uuid from event BNEP_EVENT_CAN_SEND_NOW
2528  * @param event packet
2529  * @return destination_uuid
2530  * @note: btstack_type 2
2531  */
2532 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){
2533     return little_endian_read_16(event, 6);
2534 }
2535 /**
2536  * @brief Get field remote_address from event BNEP_EVENT_CAN_SEND_NOW
2537  * @param event packet
2538  * @param Pointer to storage for remote_address
2539  * @note: btstack_type B
2540  */
2541 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
2542     reverse_bytes(&event[8], remote_address, 6);
2543 }
2544 
2545 #ifdef ENABLE_BLE
2546 /**
2547  * @brief Get field handle from event SM_EVENT_JUST_WORKS_REQUEST
2548  * @param event packet
2549  * @return handle
2550  * @note: btstack_type H
2551  */
2552 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
2553     return little_endian_read_16(event, 2);
2554 }
2555 /**
2556  * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_REQUEST
2557  * @param event packet
2558  * @return addr_type
2559  * @note: btstack_type 1
2560  */
2561 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
2562     return event[4];
2563 }
2564 /**
2565  * @brief Get field address from event SM_EVENT_JUST_WORKS_REQUEST
2566  * @param event packet
2567  * @param Pointer to storage for address
2568  * @note: btstack_type B
2569  */
2570 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
2571     reverse_bytes(&event[5], address, 6);
2572 }
2573 #endif
2574 
2575 #ifdef ENABLE_BLE
2576 /**
2577  * @brief Get field handle from event SM_EVENT_JUST_WORKS_CANCEL
2578  * @param event packet
2579  * @return handle
2580  * @note: btstack_type H
2581  */
2582 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
2583     return little_endian_read_16(event, 2);
2584 }
2585 /**
2586  * @brief Get field addr_type from event SM_EVENT_JUST_WORKS_CANCEL
2587  * @param event packet
2588  * @return addr_type
2589  * @note: btstack_type 1
2590  */
2591 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
2592     return event[4];
2593 }
2594 /**
2595  * @brief Get field address from event SM_EVENT_JUST_WORKS_CANCEL
2596  * @param event packet
2597  * @param Pointer to storage for address
2598  * @note: btstack_type B
2599  */
2600 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
2601     reverse_bytes(&event[5], address, 6);
2602 }
2603 #endif
2604 
2605 #ifdef ENABLE_BLE
2606 /**
2607  * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2608  * @param event packet
2609  * @return handle
2610  * @note: btstack_type H
2611  */
2612 static inline hci_con_handle_t sm_event_passkey_display_number_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_NUMBER
2617  * @param event packet
2618  * @return addr_type
2619  * @note: btstack_type 1
2620  */
2621 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
2622     return event[4];
2623 }
2624 /**
2625  * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
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_number_get_address(const uint8_t * event, bd_addr_t address){
2631     reverse_bytes(&event[5], address, 6);
2632 }
2633 /**
2634  * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2635  * @param event packet
2636  * @return passkey
2637  * @note: btstack_type 4
2638  */
2639 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
2640     return little_endian_read_32(event, 11);
2641 }
2642 #endif
2643 
2644 #ifdef ENABLE_BLE
2645 /**
2646  * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2647  * @param event packet
2648  * @return handle
2649  * @note: btstack_type H
2650  */
2651 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
2652     return little_endian_read_16(event, 2);
2653 }
2654 /**
2655  * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2656  * @param event packet
2657  * @return addr_type
2658  * @note: btstack_type 1
2659  */
2660 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
2661     return event[4];
2662 }
2663 /**
2664  * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2665  * @param event packet
2666  * @param Pointer to storage for address
2667  * @note: btstack_type B
2668  */
2669 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
2670     reverse_bytes(&event[5], address, 6);
2671 }
2672 #endif
2673 
2674 #ifdef ENABLE_BLE
2675 /**
2676  * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER
2677  * @param event packet
2678  * @return handle
2679  * @note: btstack_type H
2680  */
2681 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
2682     return little_endian_read_16(event, 2);
2683 }
2684 /**
2685  * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_NUMBER
2686  * @param event packet
2687  * @return addr_type
2688  * @note: btstack_type 1
2689  */
2690 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
2691     return event[4];
2692 }
2693 /**
2694  * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER
2695  * @param event packet
2696  * @param Pointer to storage for address
2697  * @note: btstack_type B
2698  */
2699 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
2700     reverse_bytes(&event[5], address, 6);
2701 }
2702 #endif
2703 
2704 #ifdef ENABLE_BLE
2705 /**
2706  * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_CANCEL
2707  * @param event packet
2708  * @return handle
2709  * @note: btstack_type H
2710  */
2711 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
2712     return little_endian_read_16(event, 2);
2713 }
2714 /**
2715  * @brief Get field addr_type from event SM_EVENT_PASSKEY_INPUT_CANCEL
2716  * @param event packet
2717  * @return addr_type
2718  * @note: btstack_type 1
2719  */
2720 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
2721     return event[4];
2722 }
2723 /**
2724  * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_CANCEL
2725  * @param event packet
2726  * @param Pointer to storage for address
2727  * @note: btstack_type B
2728  */
2729 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
2730     reverse_bytes(&event[5], address, 6);
2731 }
2732 #endif
2733 
2734 #ifdef ENABLE_BLE
2735 /**
2736  * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2737  * @param event packet
2738  * @return handle
2739  * @note: btstack_type H
2740  */
2741 static inline hci_con_handle_t sm_event_numeric_comparison_request_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_REQUEST
2746  * @param event packet
2747  * @return addr_type
2748  * @note: btstack_type 1
2749  */
2750 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){
2751     return event[4];
2752 }
2753 /**
2754  * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
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_request_get_address(const uint8_t * event, bd_addr_t address){
2760     reverse_bytes(&event[5], address, 6);
2761 }
2762 /**
2763  * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2764  * @param event packet
2765  * @return passkey
2766  * @note: btstack_type 4
2767  */
2768 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){
2769     return little_endian_read_32(event, 11);
2770 }
2771 #endif
2772 
2773 #ifdef ENABLE_BLE
2774 /**
2775  * @brief Get field handle from event SM_EVENT_NUMERIC_COMPARISON_CANCEL
2776  * @param event packet
2777  * @return handle
2778  * @note: btstack_type H
2779  */
2780 static inline hci_con_handle_t sm_event_numeric_comparison_cancel_get_handle(const uint8_t * event){
2781     return little_endian_read_16(event, 2);
2782 }
2783 /**
2784  * @brief Get field addr_type from event SM_EVENT_NUMERIC_COMPARISON_CANCEL
2785  * @param event packet
2786  * @return addr_type
2787  * @note: btstack_type 1
2788  */
2789 static inline uint8_t sm_event_numeric_comparison_cancel_get_addr_type(const uint8_t * event){
2790     return event[4];
2791 }
2792 /**
2793  * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_CANCEL
2794  * @param event packet
2795  * @param Pointer to storage for address
2796  * @note: btstack_type B
2797  */
2798 static inline void sm_event_numeric_comparison_cancel_get_address(const uint8_t * event, bd_addr_t address){
2799     reverse_bytes(&event[5], address, 6);
2800 }
2801 #endif
2802 
2803 #ifdef ENABLE_BLE
2804 /**
2805  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2806  * @param event packet
2807  * @return handle
2808  * @note: btstack_type H
2809  */
2810 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
2811     return little_endian_read_16(event, 2);
2812 }
2813 /**
2814  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2815  * @param event packet
2816  * @return addr_type
2817  * @note: btstack_type 1
2818  */
2819 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
2820     return event[4];
2821 }
2822 /**
2823  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2824  * @param event packet
2825  * @param Pointer to storage for address
2826  * @note: btstack_type B
2827  */
2828 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
2829     reverse_bytes(&event[5], address, 6);
2830 }
2831 #endif
2832 
2833 #ifdef ENABLE_BLE
2834 /**
2835  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2836  * @param event packet
2837  * @return handle
2838  * @note: btstack_type H
2839  */
2840 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
2841     return little_endian_read_16(event, 2);
2842 }
2843 /**
2844  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2845  * @param event packet
2846  * @return addr_type
2847  * @note: btstack_type 1
2848  */
2849 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
2850     return event[4];
2851 }
2852 /**
2853  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2854  * @param event packet
2855  * @param Pointer to storage for address
2856  * @note: btstack_type B
2857  */
2858 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
2859     reverse_bytes(&event[5], address, 6);
2860 }
2861 #endif
2862 
2863 #ifdef ENABLE_BLE
2864 /**
2865  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2866  * @param event packet
2867  * @return handle
2868  * @note: btstack_type H
2869  */
2870 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
2871     return little_endian_read_16(event, 2);
2872 }
2873 /**
2874  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2875  * @param event packet
2876  * @return addr_type
2877  * @note: btstack_type 1
2878  */
2879 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
2880     return event[4];
2881 }
2882 /**
2883  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2884  * @param event packet
2885  * @param Pointer to storage for address
2886  * @note: btstack_type B
2887  */
2888 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
2889     reverse_bytes(&event[5], address, 6);
2890 }
2891 /**
2892  * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2893  * @param event packet
2894  * @return identity_addr_type
2895  * @note: btstack_type 1
2896  */
2897 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){
2898     return event[11];
2899 }
2900 /**
2901  * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2902  * @param event packet
2903  * @param Pointer to storage for identity_address
2904  * @note: btstack_type B
2905  */
2906 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){
2907     reverse_bytes(&event[12], identity_address, 6);
2908 }
2909 /**
2910  * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2911  * @param event packet
2912  * @return index
2913  * @note: btstack_type 2
2914  */
2915 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){
2916     return little_endian_read_16(event, 18);
2917 }
2918 #endif
2919 
2920 #ifdef ENABLE_BLE
2921 /**
2922  * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST
2923  * @param event packet
2924  * @return handle
2925  * @note: btstack_type H
2926  */
2927 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
2928     return little_endian_read_16(event, 2);
2929 }
2930 /**
2931  * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST
2932  * @param event packet
2933  * @return addr_type
2934  * @note: btstack_type 1
2935  */
2936 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
2937     return event[4];
2938 }
2939 /**
2940  * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST
2941  * @param event packet
2942  * @param Pointer to storage for address
2943  * @note: btstack_type B
2944  */
2945 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
2946     reverse_bytes(&event[5], address, 6);
2947 }
2948 #endif
2949 
2950 #ifdef ENABLE_BLE
2951 /**
2952  * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT
2953  * @param event packet
2954  * @return handle
2955  * @note: btstack_type H
2956  */
2957 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
2958     return little_endian_read_16(event, 2);
2959 }
2960 /**
2961  * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT
2962  * @param event packet
2963  * @return addr_type
2964  * @note: btstack_type 1
2965  */
2966 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
2967     return event[4];
2968 }
2969 /**
2970  * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT
2971  * @param event packet
2972  * @param Pointer to storage for address
2973  * @note: btstack_type B
2974  */
2975 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
2976     reverse_bytes(&event[5], address, 6);
2977 }
2978 /**
2979  * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT
2980  * @param event packet
2981  * @return authorization_result
2982  * @note: btstack_type 1
2983  */
2984 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
2985     return event[11];
2986 }
2987 #endif
2988 
2989 #ifdef ENABLE_BLE
2990 /**
2991  * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION
2992  * @param event packet
2993  * @return handle
2994  * @note: btstack_type H
2995  */
2996 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){
2997     return little_endian_read_16(event, 2);
2998 }
2999 /**
3000  * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION
3001  * @param event packet
3002  * @return action
3003  * @note: btstack_type 1
3004  */
3005 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){
3006     return event[4];
3007 }
3008 #endif
3009 
3010 #ifdef ENABLE_BLE
3011 /**
3012  * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED
3013  * @param event packet
3014  * @return handle
3015  * @note: btstack_type H
3016  */
3017 static inline hci_con_handle_t sm_event_identity_created_get_handle(const uint8_t * event){
3018     return little_endian_read_16(event, 2);
3019 }
3020 /**
3021  * @brief Get field addr_type from event SM_EVENT_IDENTITY_CREATED
3022  * @param event packet
3023  * @return addr_type
3024  * @note: btstack_type 1
3025  */
3026 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){
3027     return event[4];
3028 }
3029 /**
3030  * @brief Get field address from event SM_EVENT_IDENTITY_CREATED
3031  * @param event packet
3032  * @param Pointer to storage for address
3033  * @note: btstack_type B
3034  */
3035 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){
3036     reverse_bytes(&event[5], address, 6);
3037 }
3038 /**
3039  * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED
3040  * @param event packet
3041  * @return identity_addr_type
3042  * @note: btstack_type 1
3043  */
3044 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){
3045     return event[11];
3046 }
3047 /**
3048  * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED
3049  * @param event packet
3050  * @param Pointer to storage for identity_address
3051  * @note: btstack_type B
3052  */
3053 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){
3054     reverse_bytes(&event[12], identity_address, 6);
3055 }
3056 /**
3057  * @brief Get field index from event SM_EVENT_IDENTITY_CREATED
3058  * @param event packet
3059  * @return index
3060  * @note: btstack_type 2
3061  */
3062 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){
3063     return little_endian_read_16(event, 18);
3064 }
3065 #endif
3066 
3067 #ifdef ENABLE_BLE
3068 /**
3069  * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE
3070  * @param event packet
3071  * @return handle
3072  * @note: btstack_type H
3073  */
3074 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){
3075     return little_endian_read_16(event, 2);
3076 }
3077 /**
3078  * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE
3079  * @param event packet
3080  * @return addr_type
3081  * @note: btstack_type 1
3082  */
3083 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){
3084     return event[4];
3085 }
3086 /**
3087  * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE
3088  * @param event packet
3089  * @param Pointer to storage for address
3090  * @note: btstack_type B
3091  */
3092 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){
3093     reverse_bytes(&event[5], address, 6);
3094 }
3095 /**
3096  * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE
3097  * @param event packet
3098  * @return status
3099  * @note: btstack_type 1
3100  */
3101 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){
3102     return event[11];
3103 }
3104 /**
3105  * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE
3106  * @param event packet
3107  * @return reason
3108  * @note: btstack_type 1
3109  */
3110 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){
3111     return event[12];
3112 }
3113 #endif
3114 
3115 /**
3116  * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL
3117  * @param event packet
3118  * @return handle
3119  * @note: btstack_type H
3120  */
3121 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){
3122     return little_endian_read_16(event, 2);
3123 }
3124 /**
3125  * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL
3126  * @param event packet
3127  * @return security_level
3128  * @note: btstack_type 1
3129  */
3130 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){
3131     return event[4];
3132 }
3133 
3134 /**
3135  * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED
3136  * @param event packet
3137  * @return status
3138  * @note: btstack_type 1
3139  */
3140 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){
3141     return event[2];
3142 }
3143 /**
3144  * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED
3145  * @param event packet
3146  * @param Pointer to storage for address
3147  * @note: btstack_type B
3148  */
3149 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){
3150     reverse_bytes(&event[3], address, 6);
3151 }
3152 
3153 /**
3154  * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT
3155  * @param event packet
3156  * @return advertising_event_type
3157  * @note: btstack_type 1
3158  */
3159 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){
3160     return event[2];
3161 }
3162 /**
3163  * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT
3164  * @param event packet
3165  * @return address_type
3166  * @note: btstack_type 1
3167  */
3168 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){
3169     return event[3];
3170 }
3171 /**
3172  * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT
3173  * @param event packet
3174  * @param Pointer to storage for address
3175  * @note: btstack_type B
3176  */
3177 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){
3178     reverse_bytes(&event[4], address, 6);
3179 }
3180 /**
3181  * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT
3182  * @param event packet
3183  * @return rssi
3184  * @note: btstack_type 1
3185  */
3186 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){
3187     return event[10];
3188 }
3189 /**
3190  * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT
3191  * @param event packet
3192  * @return data_length
3193  * @note: btstack_type J
3194  */
3195 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){
3196     return event[11];
3197 }
3198 /**
3199  * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT
3200  * @param event packet
3201  * @return data
3202  * @note: btstack_type V
3203  */
3204 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){
3205     return &event[12];
3206 }
3207 
3208 /**
3209  * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT
3210  * @param event packet
3211  * @param Pointer to storage for bd_addr
3212  * @note: btstack_type B
3213  */
3214 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3215     reverse_bytes(&event[2], bd_addr, 6);
3216 }
3217 /**
3218  * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT
3219  * @param event packet
3220  * @return page_scan_repetition_mode
3221  * @note: btstack_type 1
3222  */
3223 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){
3224     return event[8];
3225 }
3226 /**
3227  * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT
3228  * @param event packet
3229  * @return class_of_device
3230  * @note: btstack_type 3
3231  */
3232 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){
3233     return little_endian_read_24(event, 9);
3234 }
3235 /**
3236  * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT
3237  * @param event packet
3238  * @return clock_offset
3239  * @note: btstack_type 2
3240  */
3241 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){
3242     return little_endian_read_16(event, 12);
3243 }
3244 /**
3245  * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT
3246  * @param event packet
3247  * @return rssi_available
3248  * @note: btstack_type 1
3249  */
3250 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){
3251     return event[14];
3252 }
3253 /**
3254  * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT
3255  * @param event packet
3256  * @return rssi
3257  * @note: btstack_type 1
3258  */
3259 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){
3260     return event[15];
3261 }
3262 /**
3263  * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT
3264  * @param event packet
3265  * @return name_available
3266  * @note: btstack_type 1
3267  */
3268 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){
3269     return event[16];
3270 }
3271 /**
3272  * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT
3273  * @param event packet
3274  * @return name_len
3275  * @note: btstack_type J
3276  */
3277 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){
3278     return event[17];
3279 }
3280 /**
3281  * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT
3282  * @param event packet
3283  * @return name
3284  * @note: btstack_type V
3285  */
3286 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){
3287     return &event[18];
3288 }
3289 
3290 /**
3291  * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE
3292  * @param event packet
3293  * @return status
3294  * @note: btstack_type 1
3295  */
3296 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){
3297     return event[2];
3298 }
3299 
3300 /**
3301  * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT
3302  * @param event packet
3303  * @return con_handle
3304  * @note: btstack_type H
3305  */
3306 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){
3307     return little_endian_read_16(event, 2);
3308 }
3309 /**
3310  * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT
3311  * @param event packet
3312  * @return rssi
3313  * @note: btstack_type 1
3314  */
3315 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){
3316     return event[4];
3317 }
3318 
3319 /**
3320  * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3321  * @param event packet
3322  * @return status
3323  * @note: btstack_type 1
3324  */
3325 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){
3326     return event[3];
3327 }
3328 /**
3329  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3330  * @param event packet
3331  * @return connection_handle
3332  * @note: btstack_type H
3333  */
3334 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){
3335     return little_endian_read_16(event, 4);
3336 }
3337 /**
3338  * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3339  * @param event packet
3340  * @return role
3341  * @note: btstack_type 1
3342  */
3343 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){
3344     return event[6];
3345 }
3346 /**
3347  * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3348  * @param event packet
3349  * @return peer_address_type
3350  * @note: btstack_type 1
3351  */
3352 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){
3353     return event[7];
3354 }
3355 /**
3356  * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3357  * @param event packet
3358  * @param Pointer to storage for peer_address
3359  * @note: btstack_type B
3360  */
3361 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){
3362     reverse_bytes(&event[8], peer_address, 6);
3363 }
3364 /**
3365  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3366  * @param event packet
3367  * @return conn_interval
3368  * @note: btstack_type 2
3369  */
3370 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){
3371     return little_endian_read_16(event, 14);
3372 }
3373 /**
3374  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3375  * @param event packet
3376  * @return conn_latency
3377  * @note: btstack_type 2
3378  */
3379 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){
3380     return little_endian_read_16(event, 16);
3381 }
3382 /**
3383  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3384  * @param event packet
3385  * @return supervision_timeout
3386  * @note: btstack_type 2
3387  */
3388 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){
3389     return little_endian_read_16(event, 18);
3390 }
3391 /**
3392  * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3393  * @param event packet
3394  * @return master_clock_accuracy
3395  * @note: btstack_type 1
3396  */
3397 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){
3398     return event[20];
3399 }
3400 
3401 /**
3402  * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3403  * @param event packet
3404  * @return status
3405  * @note: btstack_type 1
3406  */
3407 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){
3408     return event[3];
3409 }
3410 /**
3411  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3412  * @param event packet
3413  * @return connection_handle
3414  * @note: btstack_type H
3415  */
3416 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){
3417     return little_endian_read_16(event, 4);
3418 }
3419 /**
3420  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3421  * @param event packet
3422  * @return conn_interval
3423  * @note: btstack_type 2
3424  */
3425 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){
3426     return little_endian_read_16(event, 6);
3427 }
3428 /**
3429  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3430  * @param event packet
3431  * @return conn_latency
3432  * @note: btstack_type 2
3433  */
3434 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){
3435     return little_endian_read_16(event, 8);
3436 }
3437 /**
3438  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3439  * @param event packet
3440  * @return supervision_timeout
3441  * @note: btstack_type 2
3442  */
3443 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){
3444     return little_endian_read_16(event, 10);
3445 }
3446 
3447 /**
3448  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3449  * @param event packet
3450  * @return connection_handle
3451  * @note: btstack_type H
3452  */
3453 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){
3454     return little_endian_read_16(event, 3);
3455 }
3456 /**
3457  * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3458  * @param event packet
3459  * @return random_number
3460  * @note: btstack_type D
3461  */
3462 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){
3463     return (const uint8_t *) &event[5];
3464 }
3465 /**
3466  * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3467  * @param event packet
3468  * @return encryption_diversifier
3469  * @note: btstack_type 2
3470  */
3471 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){
3472     return little_endian_read_16(event, 13);
3473 }
3474 
3475 /**
3476  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3477  * @param event packet
3478  * @return connection_handle
3479  * @note: btstack_type H
3480  */
3481 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){
3482     return little_endian_read_16(event, 3);
3483 }
3484 /**
3485  * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3486  * @param event packet
3487  * @return random_number
3488  * @note: btstack_type D
3489  */
3490 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){
3491     return (const uint8_t *) &event[5];
3492 }
3493 /**
3494  * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3495  * @param event packet
3496  * @return encryption_diversifier
3497  * @note: btstack_type 2
3498  */
3499 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){
3500     return little_endian_read_16(event, 13);
3501 }
3502 
3503 /**
3504  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3505  * @param event packet
3506  * @return connection_handle
3507  * @note: btstack_type H
3508  */
3509 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){
3510     return little_endian_read_16(event, 3);
3511 }
3512 /**
3513  * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3514  * @param event packet
3515  * @return interval_min
3516  * @note: btstack_type 2
3517  */
3518 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){
3519     return little_endian_read_16(event, 5);
3520 }
3521 /**
3522  * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3523  * @param event packet
3524  * @return interval_max
3525  * @note: btstack_type 2
3526  */
3527 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){
3528     return little_endian_read_16(event, 7);
3529 }
3530 /**
3531  * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3532  * @param event packet
3533  * @return latency
3534  * @note: btstack_type 2
3535  */
3536 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){
3537     return little_endian_read_16(event, 9);
3538 }
3539 /**
3540  * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3541  * @param event packet
3542  * @return timeout
3543  * @note: btstack_type 2
3544  */
3545 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){
3546     return little_endian_read_16(event, 11);
3547 }
3548 
3549 /**
3550  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3551  * @param event packet
3552  * @return connection_handle
3553  * @note: btstack_type H
3554  */
3555 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){
3556     return little_endian_read_16(event, 3);
3557 }
3558 /**
3559  * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3560  * @param event packet
3561  * @return max_tx_octets
3562  * @note: btstack_type 2
3563  */
3564 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){
3565     return little_endian_read_16(event, 5);
3566 }
3567 /**
3568  * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3569  * @param event packet
3570  * @return max_tx_time
3571  * @note: btstack_type 2
3572  */
3573 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){
3574     return little_endian_read_16(event, 7);
3575 }
3576 /**
3577  * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3578  * @param event packet
3579  * @return max_rx_octets
3580  * @note: btstack_type 2
3581  */
3582 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){
3583     return little_endian_read_16(event, 9);
3584 }
3585 /**
3586  * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3587  * @param event packet
3588  * @return max_rx_time
3589  * @note: btstack_type 2
3590  */
3591 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){
3592     return little_endian_read_16(event, 11);
3593 }
3594 
3595 /**
3596  * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3597  * @param event packet
3598  * @return status
3599  * @note: btstack_type 1
3600  */
3601 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){
3602     return event[3];
3603 }
3604 /**
3605  * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3606  * @param event packet
3607  * @param Pointer to storage for dhkey_x
3608  * @note: btstack_type Q
3609  */
3610 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){
3611     reverse_bytes(&event[4], dhkey_x, 32);
3612 }
3613 /**
3614  * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3615  * @param event packet
3616  * @param Pointer to storage for dhkey_y
3617  * @note: btstack_type Q
3618  */
3619 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){
3620     reverse_bytes(&event[36], dhkey_y, 32);
3621 }
3622 
3623 /**
3624  * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE
3625  * @param event packet
3626  * @return status
3627  * @note: btstack_type 1
3628  */
3629 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){
3630     return event[3];
3631 }
3632 /**
3633  * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE
3634  * @param event packet
3635  * @param Pointer to storage for dhkey
3636  * @note: btstack_type Q
3637  */
3638 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){
3639     reverse_bytes(&event[4], dhkey, 32);
3640 }
3641 
3642 /**
3643  * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3644  * @param event packet
3645  * @return status
3646  * @note: btstack_type 1
3647  */
3648 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){
3649     return event[3];
3650 }
3651 /**
3652  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3653  * @param event packet
3654  * @return connection_handle
3655  * @note: btstack_type H
3656  */
3657 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){
3658     return little_endian_read_16(event, 4);
3659 }
3660 /**
3661  * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3662  * @param event packet
3663  * @return role
3664  * @note: btstack_type 1
3665  */
3666 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){
3667     return event[6];
3668 }
3669 /**
3670  * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3671  * @param event packet
3672  * @return peer_address_type
3673  * @note: btstack_type 1
3674  */
3675 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){
3676     return event[7];
3677 }
3678 /**
3679  * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3680  * @param event packet
3681  * @param Pointer to storage for perr_addresss
3682  * @note: btstack_type B
3683  */
3684 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){
3685     reverse_bytes(&event[8], perr_addresss, 6);
3686 }
3687 /**
3688  * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3689  * @param event packet
3690  * @param Pointer to storage for local_resolvable_private_addres
3691  * @note: btstack_type B
3692  */
3693 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){
3694     reverse_bytes(&event[14], local_resolvable_private_addres, 6);
3695 }
3696 /**
3697  * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3698  * @param event packet
3699  * @param Pointer to storage for peer_resolvable_private_addres
3700  * @note: btstack_type B
3701  */
3702 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){
3703     reverse_bytes(&event[20], peer_resolvable_private_addres, 6);
3704 }
3705 /**
3706  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3707  * @param event packet
3708  * @return conn_interval
3709  * @note: btstack_type 2
3710  */
3711 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){
3712     return little_endian_read_16(event, 26);
3713 }
3714 /**
3715  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3716  * @param event packet
3717  * @return conn_latency
3718  * @note: btstack_type 2
3719  */
3720 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){
3721     return little_endian_read_16(event, 28);
3722 }
3723 /**
3724  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3725  * @param event packet
3726  * @return supervision_timeout
3727  * @note: btstack_type 2
3728  */
3729 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){
3730     return little_endian_read_16(event, 30);
3731 }
3732 /**
3733  * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3734  * @param event packet
3735  * @return master_clock_accuracy
3736  * @note: btstack_type 1
3737  */
3738 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){
3739     return event[32];
3740 }
3741 
3742 /**
3743  * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE
3744  * @param event packet
3745  * @return status
3746  * @note: btstack_type 1
3747  */
3748 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){
3749     return event[3];
3750 }
3751 
3752 /**
3753  * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE
3754  * @param event packet
3755  * @return status
3756  * @note: btstack_type 1
3757  */
3758 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){
3759     return event[3];
3760 }
3761 
3762 /**
3763  * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE
3764  * @param event packet
3765  * @return status
3766  * @note: btstack_type 1
3767  */
3768 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){
3769     return event[3];
3770 }
3771 /**
3772  * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE
3773  * @param event packet
3774  * @return handle
3775  * @note: btstack_type H
3776  */
3777 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){
3778     return little_endian_read_16(event, 4);
3779 }
3780 
3781 /**
3782  * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE
3783  * @param event packet
3784  * @return status
3785  * @note: btstack_type 1
3786  */
3787 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){
3788     return event[3];
3789 }
3790 
3791 
3792 /**
3793  * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED
3794  * @param event packet
3795  * @return gain
3796  * @note: btstack_type 1
3797  */
3798 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){
3799     return event[3];
3800 }
3801 
3802 /**
3803  * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED
3804  * @param event packet
3805  * @return gain
3806  * @note: btstack_type 1
3807  */
3808 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){
3809     return event[3];
3810 }
3811 
3812 /**
3813  * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND
3814  * @param event packet
3815  * @return value_length
3816  * @note: btstack_type J
3817  */
3818 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){
3819     return event[3];
3820 }
3821 /**
3822  * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND
3823  * @param event packet
3824  * @return value
3825  * @note: btstack_type V
3826  */
3827 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){
3828     return &event[4];
3829 }
3830 
3831 /**
3832  * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION
3833  * @param event packet
3834  * @return value_length
3835  * @note: btstack_type J
3836  */
3837 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){
3838     return event[3];
3839 }
3840 /**
3841  * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION
3842  * @param event packet
3843  * @return value
3844  * @note: btstack_type V
3845  */
3846 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){
3847     return &event[4];
3848 }
3849 
3850 /**
3851  * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3852  * @param event packet
3853  * @return status
3854  * @note: btstack_type 1
3855  */
3856 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){
3857     return event[3];
3858 }
3859 /**
3860  * @brief Get field con_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3861  * @param event packet
3862  * @return con_handle
3863  * @note: btstack_type H
3864  */
3865 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_con_handle(const uint8_t * event){
3866     return little_endian_read_16(event, 4);
3867 }
3868 /**
3869  * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3870  * @param event packet
3871  * @param Pointer to storage for bd_addr
3872  * @note: btstack_type B
3873  */
3874 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3875     reverse_bytes(&event[6], bd_addr, 6);
3876 }
3877 
3878 
3879 /**
3880  * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3881  * @param event packet
3882  * @return status
3883  * @note: btstack_type 1
3884  */
3885 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){
3886     return event[3];
3887 }
3888 /**
3889  * @brief Get field handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3890  * @param event packet
3891  * @return handle
3892  * @note: btstack_type H
3893  */
3894 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_handle(const uint8_t * event){
3895     return little_endian_read_16(event, 4);
3896 }
3897 /**
3898  * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3899  * @param event packet
3900  * @param Pointer to storage for bd_addr
3901  * @note: btstack_type B
3902  */
3903 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3904     reverse_bytes(&event[6], bd_addr, 6);
3905 }
3906 /**
3907  * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3908  * @param event packet
3909  * @return negotiated_codec
3910  * @note: btstack_type 1
3911  */
3912 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){
3913     return event[12];
3914 }
3915 
3916 
3917 /**
3918  * @brief Get field status from event HFP_SUBEVENT_COMPLETE
3919  * @param event packet
3920  * @return status
3921  * @note: btstack_type 1
3922  */
3923 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){
3924     return event[3];
3925 }
3926 
3927 /**
3928  * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3929  * @param event packet
3930  * @return indicator_index
3931  * @note: btstack_type 1
3932  */
3933 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){
3934     return event[3];
3935 }
3936 /**
3937  * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3938  * @param event packet
3939  * @return indicator_status
3940  * @note: btstack_type 1
3941  */
3942 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){
3943     return event[4];
3944 }
3945 /**
3946  * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3947  * @param event packet
3948  * @return indicator_min_range
3949  * @note: btstack_type 1
3950  */
3951 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){
3952     return event[5];
3953 }
3954 /**
3955  * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3956  * @param event packet
3957  * @return indicator_max_range
3958  * @note: btstack_type 1
3959  */
3960 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){
3961     return event[6];
3962 }
3963 /**
3964  * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3965  * @param event packet
3966  * @return indicator_mandatory
3967  * @note: btstack_type 1
3968  */
3969 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){
3970     return event[7];
3971 }
3972 /**
3973  * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3974  * @param event packet
3975  * @return indicator_enabled
3976  * @note: btstack_type 1
3977  */
3978 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){
3979     return event[8];
3980 }
3981 /**
3982  * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3983  * @param event packet
3984  * @return indicator_status_changed
3985  * @note: btstack_type 1
3986  */
3987 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){
3988     return event[9];
3989 }
3990 /**
3991  * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3992  * @param event packet
3993  * @return indicator_name
3994  * @note: btstack_type T
3995  */
3996 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){
3997     return (const char *) &event[10];
3998 }
3999 
4000 /**
4001  * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
4002  * @param event packet
4003  * @return network_operator_mode
4004  * @note: btstack_type 1
4005  */
4006 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){
4007     return event[3];
4008 }
4009 /**
4010  * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
4011  * @param event packet
4012  * @return network_operator_format
4013  * @note: btstack_type 1
4014  */
4015 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){
4016     return event[4];
4017 }
4018 /**
4019  * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
4020  * @param event packet
4021  * @return network_operator_name
4022  * @note: btstack_type T
4023  */
4024 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){
4025     return (const char *) &event[5];
4026 }
4027 
4028 /**
4029  * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR
4030  * @param event packet
4031  * @return error
4032  * @note: btstack_type 1
4033  */
4034 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){
4035     return event[3];
4036 }
4037 
4038 
4039 
4040 
4041 /**
4042  * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER
4043  * @param event packet
4044  * @return number
4045  * @note: btstack_type T
4046  */
4047 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){
4048     return (const char *) &event[3];
4049 }
4050 
4051 
4052 /**
4053  * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG
4054  * @param event packet
4055  * @return number
4056  * @note: btstack_type T
4057  */
4058 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){
4059     return (const char *) &event[3];
4060 }
4061 
4062 /**
4063  * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES
4064  * @param event packet
4065  * @return dtmf
4066  * @note: btstack_type T
4067  */
4068 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){
4069     return (const char *) &event[3];
4070 }
4071 
4072 
4073 
4074 
4075 /**
4076  * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME
4077  * @param event packet
4078  * @return gain
4079  * @note: btstack_type 1
4080  */
4081 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){
4082     return event[3];
4083 }
4084 
4085 /**
4086  * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME
4087  * @param event packet
4088  * @return gain
4089  * @note: btstack_type 1
4090  */
4091 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){
4092     return event[3];
4093 }
4094 
4095 /**
4096  * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION
4097  * @param event packet
4098  * @return type
4099  * @note: btstack_type 1
4100  */
4101 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){
4102     return event[3];
4103 }
4104 /**
4105  * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION
4106  * @param event packet
4107  * @return number
4108  * @note: btstack_type T
4109  */
4110 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){
4111     return (const char *) &event[4];
4112 }
4113 
4114 /**
4115  * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION
4116  * @param event packet
4117  * @return type
4118  * @note: btstack_type 1
4119  */
4120 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){
4121     return event[3];
4122 }
4123 /**
4124  * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION
4125  * @param event packet
4126  * @return number
4127  * @note: btstack_type T
4128  */
4129 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){
4130     return (const char *) &event[4];
4131 }
4132 
4133 /**
4134  * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4135  * @param event packet
4136  * @return clcc_idx
4137  * @note: btstack_type 1
4138  */
4139 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){
4140     return event[3];
4141 }
4142 /**
4143  * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4144  * @param event packet
4145  * @return clcc_dir
4146  * @note: btstack_type 1
4147  */
4148 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){
4149     return event[4];
4150 }
4151 /**
4152  * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4153  * @param event packet
4154  * @return clcc_status
4155  * @note: btstack_type 1
4156  */
4157 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){
4158     return event[5];
4159 }
4160 /**
4161  * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4162  * @param event packet
4163  * @return clcc_mode
4164  * @note: btstack_type 1
4165  */
4166 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){
4167     return event[6];
4168 }
4169 /**
4170  * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4171  * @param event packet
4172  * @return clcc_mpty
4173  * @note: btstack_type 1
4174  */
4175 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){
4176     return event[7];
4177 }
4178 /**
4179  * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4180  * @param event packet
4181  * @return bnip_type
4182  * @note: btstack_type 1
4183  */
4184 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){
4185     return event[8];
4186 }
4187 /**
4188  * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4189  * @param event packet
4190  * @return bnip_number
4191  * @note: btstack_type T
4192  */
4193 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){
4194     return (const char *) &event[9];
4195 }
4196 
4197 /**
4198  * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4199  * @param event packet
4200  * @return status
4201  * @note: btstack_type 1
4202  */
4203 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){
4204     return event[3];
4205 }
4206 /**
4207  * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4208  * @param event packet
4209  * @return bnip_type
4210  * @note: btstack_type 1
4211  */
4212 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){
4213     return event[4];
4214 }
4215 /**
4216  * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4217  * @param event packet
4218  * @return bnip_number
4219  * @note: btstack_type T
4220  */
4221 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){
4222     return (const char *) &event[5];
4223 }
4224 
4225 /**
4226  * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS
4227  * @param event packet
4228  * @return value
4229  * @note: btstack_type T
4230  */
4231 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){
4232     return (const char *) &event[3];
4233 }
4234 
4235 #ifdef ENABLE_BLE
4236 /**
4237  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED
4238  * @param event packet
4239  * @return handle
4240  * @note: btstack_type H
4241  */
4242 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){
4243     return little_endian_read_16(event, 3);
4244 }
4245 #endif
4246 
4247 #ifdef ENABLE_BLE
4248 /**
4249  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4250  * @param event packet
4251  * @return handle
4252  * @note: btstack_type H
4253  */
4254 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){
4255     return little_endian_read_16(event, 3);
4256 }
4257 /**
4258  * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4259  * @param event packet
4260  * @return attribute_id
4261  * @note: btstack_type 2
4262  */
4263 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){
4264     return little_endian_read_16(event, 5);
4265 }
4266 /**
4267  * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4268  * @param event packet
4269  * @return text
4270  * @note: btstack_type T
4271  */
4272 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){
4273     return (const char *) &event[7];
4274 }
4275 #endif
4276 
4277 #ifdef ENABLE_BLE
4278 /**
4279  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED
4280  * @param event packet
4281  * @return handle
4282  * @note: btstack_type H
4283  */
4284 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){
4285     return little_endian_read_16(event, 3);
4286 }
4287 #endif
4288 
4289 /**
4290  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4291  * @param event packet
4292  * @return avdtp_cid
4293  * @note: btstack_type 2
4294  */
4295 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){
4296     return little_endian_read_16(event, 3);
4297 }
4298 /**
4299  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4300  * @param event packet
4301  * @return local_seid
4302  * @note: btstack_type 1
4303  */
4304 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){
4305     return event[5];
4306 }
4307 /**
4308  * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4309  * @param event packet
4310  * @return is_initiator
4311  * @note: btstack_type 1
4312  */
4313 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){
4314     return event[6];
4315 }
4316 /**
4317  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4318  * @param event packet
4319  * @return signal_identifier
4320  * @note: btstack_type 1
4321  */
4322 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){
4323     return event[7];
4324 }
4325 
4326 /**
4327  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT
4328  * @param event packet
4329  * @return avdtp_cid
4330  * @note: btstack_type 2
4331  */
4332 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){
4333     return little_endian_read_16(event, 3);
4334 }
4335 /**
4336  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT
4337  * @param event packet
4338  * @return local_seid
4339  * @note: btstack_type 1
4340  */
4341 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){
4342     return event[5];
4343 }
4344 /**
4345  * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT
4346  * @param event packet
4347  * @return is_initiator
4348  * @note: btstack_type 1
4349  */
4350 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){
4351     return event[6];
4352 }
4353 /**
4354  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT
4355  * @param event packet
4356  * @return signal_identifier
4357  * @note: btstack_type 1
4358  */
4359 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){
4360     return event[7];
4361 }
4362 
4363 /**
4364  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4365  * @param event packet
4366  * @return avdtp_cid
4367  * @note: btstack_type 2
4368  */
4369 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){
4370     return little_endian_read_16(event, 3);
4371 }
4372 /**
4373  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4374  * @param event packet
4375  * @return local_seid
4376  * @note: btstack_type 1
4377  */
4378 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){
4379     return event[5];
4380 }
4381 /**
4382  * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4383  * @param event packet
4384  * @return is_initiator
4385  * @note: btstack_type 1
4386  */
4387 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){
4388     return event[6];
4389 }
4390 /**
4391  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4392  * @param event packet
4393  * @return signal_identifier
4394  * @note: btstack_type 1
4395  */
4396 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){
4397     return event[7];
4398 }
4399 
4400 /**
4401  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4402  * @param event packet
4403  * @return avdtp_cid
4404  * @note: btstack_type 2
4405  */
4406 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){
4407     return little_endian_read_16(event, 3);
4408 }
4409 /**
4410  * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4411  * @param event packet
4412  * @param Pointer to storage for bd_addr
4413  * @note: btstack_type B
4414  */
4415 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
4416     reverse_bytes(&event[5], bd_addr, 6);
4417 }
4418 /**
4419  * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4420  * @param event packet
4421  * @return con_handle
4422  * @note: btstack_type 2
4423  */
4424 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){
4425     return little_endian_read_16(event, 11);
4426 }
4427 /**
4428  * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4429  * @param event packet
4430  * @return status
4431  * @note: btstack_type 1
4432  */
4433 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){
4434     return event[13];
4435 }
4436 
4437 /**
4438  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED
4439  * @param event packet
4440  * @return avdtp_cid
4441  * @note: btstack_type 2
4442  */
4443 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){
4444     return little_endian_read_16(event, 3);
4445 }
4446 
4447 /**
4448  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4449  * @param event packet
4450  * @return avdtp_cid
4451  * @note: btstack_type 2
4452  */
4453 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){
4454     return little_endian_read_16(event, 3);
4455 }
4456 /**
4457  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4458  * @param event packet
4459  * @return remote_seid
4460  * @note: btstack_type 1
4461  */
4462 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){
4463     return event[5];
4464 }
4465 /**
4466  * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4467  * @param event packet
4468  * @return in_use
4469  * @note: btstack_type 1
4470  */
4471 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){
4472     return event[6];
4473 }
4474 /**
4475  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4476  * @param event packet
4477  * @return media_type
4478  * @note: btstack_type 1
4479  */
4480 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){
4481     return event[7];
4482 }
4483 /**
4484  * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4485  * @param event packet
4486  * @return sep_type
4487  * @note: btstack_type 1
4488  */
4489 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){
4490     return event[8];
4491 }
4492 
4493 /**
4494  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4495  * @param event packet
4496  * @return avdtp_cid
4497  * @note: btstack_type 2
4498  */
4499 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){
4500     return little_endian_read_16(event, 3);
4501 }
4502 /**
4503  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4504  * @param event packet
4505  * @return local_seid
4506  * @note: btstack_type 1
4507  */
4508 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_local_seid(const uint8_t * event){
4509     return event[5];
4510 }
4511 /**
4512  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4513  * @param event packet
4514  * @return remote_seid
4515  * @note: btstack_type 1
4516  */
4517 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){
4518     return event[6];
4519 }
4520 /**
4521  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4522  * @param event packet
4523  * @return media_type
4524  * @note: btstack_type 1
4525  */
4526 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){
4527     return event[7];
4528 }
4529 /**
4530  * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4531  * @param event packet
4532  * @return sampling_frequency_bitmap
4533  * @note: btstack_type 1
4534  */
4535 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){
4536     return event[8];
4537 }
4538 /**
4539  * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4540  * @param event packet
4541  * @return channel_mode_bitmap
4542  * @note: btstack_type 1
4543  */
4544 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){
4545     return event[9];
4546 }
4547 /**
4548  * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4549  * @param event packet
4550  * @return block_length_bitmap
4551  * @note: btstack_type 1
4552  */
4553 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){
4554     return event[10];
4555 }
4556 /**
4557  * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4558  * @param event packet
4559  * @return subbands_bitmap
4560  * @note: btstack_type 1
4561  */
4562 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){
4563     return event[11];
4564 }
4565 /**
4566  * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4567  * @param event packet
4568  * @return allocation_method_bitmap
4569  * @note: btstack_type 1
4570  */
4571 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){
4572     return event[12];
4573 }
4574 /**
4575  * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4576  * @param event packet
4577  * @return min_bitpool_value
4578  * @note: btstack_type 1
4579  */
4580 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){
4581     return event[13];
4582 }
4583 /**
4584  * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4585  * @param event packet
4586  * @return max_bitpool_value
4587  * @note: btstack_type 1
4588  */
4589 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){
4590     return event[14];
4591 }
4592 
4593 /**
4594  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4595  * @param event packet
4596  * @return avdtp_cid
4597  * @note: btstack_type 2
4598  */
4599 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){
4600     return little_endian_read_16(event, 3);
4601 }
4602 /**
4603  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4604  * @param event packet
4605  * @return local_seid
4606  * @note: btstack_type 1
4607  */
4608 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_local_seid(const uint8_t * event){
4609     return event[5];
4610 }
4611 /**
4612  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4613  * @param event packet
4614  * @return remote_seid
4615  * @note: btstack_type 1
4616  */
4617 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){
4618     return event[6];
4619 }
4620 /**
4621  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4622  * @param event packet
4623  * @return media_type
4624  * @note: btstack_type 1
4625  */
4626 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){
4627     return event[7];
4628 }
4629 /**
4630  * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4631  * @param event packet
4632  * @return media_codec_type
4633  * @note: btstack_type 2
4634  */
4635 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){
4636     return little_endian_read_16(event, 8);
4637 }
4638 /**
4639  * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4640  * @param event packet
4641  * @return media_codec_information_len
4642  * @note: btstack_type L
4643  */
4644 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){
4645     return little_endian_read_16(event, 10);
4646 }
4647 /**
4648  * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4649  * @param event packet
4650  * @return media_codec_information
4651  * @note: btstack_type V
4652  */
4653 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){
4654     return &event[12];
4655 }
4656 
4657 /**
4658  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4659  * @param event packet
4660  * @return avdtp_cid
4661  * @note: btstack_type 2
4662  */
4663 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){
4664     return little_endian_read_16(event, 3);
4665 }
4666 /**
4667  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4668  * @param event packet
4669  * @return local_seid
4670  * @note: btstack_type 1
4671  */
4672 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_local_seid(const uint8_t * event){
4673     return event[5];
4674 }
4675 /**
4676  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4677  * @param event packet
4678  * @return remote_seid
4679  * @note: btstack_type 1
4680  */
4681 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){
4682     return event[6];
4683 }
4684 
4685 /**
4686  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4687  * @param event packet
4688  * @return avdtp_cid
4689  * @note: btstack_type 2
4690  */
4691 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){
4692     return little_endian_read_16(event, 3);
4693 }
4694 /**
4695  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4696  * @param event packet
4697  * @return local_seid
4698  * @note: btstack_type 1
4699  */
4700 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_local_seid(const uint8_t * event){
4701     return event[5];
4702 }
4703 /**
4704  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4705  * @param event packet
4706  * @return remote_seid
4707  * @note: btstack_type 1
4708  */
4709 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){
4710     return event[6];
4711 }
4712 
4713 /**
4714  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4715  * @param event packet
4716  * @return avdtp_cid
4717  * @note: btstack_type 2
4718  */
4719 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){
4720     return little_endian_read_16(event, 3);
4721 }
4722 /**
4723  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4724  * @param event packet
4725  * @return local_seid
4726  * @note: btstack_type 1
4727  */
4728 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_local_seid(const uint8_t * event){
4729     return event[5];
4730 }
4731 /**
4732  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4733  * @param event packet
4734  * @return remote_seid
4735  * @note: btstack_type 1
4736  */
4737 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){
4738     return event[6];
4739 }
4740 /**
4741  * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4742  * @param event packet
4743  * @return recovery_type
4744  * @note: btstack_type 1
4745  */
4746 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){
4747     return event[7];
4748 }
4749 /**
4750  * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4751  * @param event packet
4752  * @return maximum_recovery_window_size
4753  * @note: btstack_type 1
4754  */
4755 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){
4756     return event[8];
4757 }
4758 /**
4759  * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4760  * @param event packet
4761  * @return maximum_number_media_packets
4762  * @note: btstack_type 1
4763  */
4764 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){
4765     return event[9];
4766 }
4767 
4768 /**
4769  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4770  * @param event packet
4771  * @return avdtp_cid
4772  * @note: btstack_type 2
4773  */
4774 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){
4775     return little_endian_read_16(event, 3);
4776 }
4777 /**
4778  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4779  * @param event packet
4780  * @return local_seid
4781  * @note: btstack_type 1
4782  */
4783 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_local_seid(const uint8_t * event){
4784     return event[5];
4785 }
4786 /**
4787  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4788  * @param event packet
4789  * @return remote_seid
4790  * @note: btstack_type 1
4791  */
4792 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){
4793     return event[6];
4794 }
4795 /**
4796  * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4797  * @param event packet
4798  * @return cp_type
4799  * @note: btstack_type 2
4800  */
4801 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){
4802     return little_endian_read_16(event, 7);
4803 }
4804 /**
4805  * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4806  * @param event packet
4807  * @return cp_type_value_len
4808  * @note: btstack_type L
4809  */
4810 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){
4811     return little_endian_read_16(event, 9);
4812 }
4813 /**
4814  * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4815  * @param event packet
4816  * @return cp_type_value
4817  * @note: btstack_type V
4818  */
4819 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){
4820     return &event[11];
4821 }
4822 
4823 /**
4824  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4825  * @param event packet
4826  * @return avdtp_cid
4827  * @note: btstack_type 2
4828  */
4829 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){
4830     return little_endian_read_16(event, 3);
4831 }
4832 /**
4833  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4834  * @param event packet
4835  * @return local_seid
4836  * @note: btstack_type 1
4837  */
4838 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_local_seid(const uint8_t * event){
4839     return event[5];
4840 }
4841 /**
4842  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4843  * @param event packet
4844  * @return remote_seid
4845  * @note: btstack_type 1
4846  */
4847 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){
4848     return event[6];
4849 }
4850 /**
4851  * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4852  * @param event packet
4853  * @return fragmentation
4854  * @note: btstack_type 1
4855  */
4856 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){
4857     return event[7];
4858 }
4859 /**
4860  * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4861  * @param event packet
4862  * @return transport_identifiers_num
4863  * @note: btstack_type 1
4864  */
4865 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){
4866     return event[8];
4867 }
4868 /**
4869  * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4870  * @param event packet
4871  * @return transport_session_identifier_1
4872  * @note: btstack_type 1
4873  */
4874 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){
4875     return event[9];
4876 }
4877 /**
4878  * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4879  * @param event packet
4880  * @return transport_session_identifier_2
4881  * @note: btstack_type 1
4882  */
4883 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){
4884     return event[10];
4885 }
4886 /**
4887  * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4888  * @param event packet
4889  * @return transport_session_identifier_3
4890  * @note: btstack_type 1
4891  */
4892 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){
4893     return event[11];
4894 }
4895 /**
4896  * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4897  * @param event packet
4898  * @return tcid_1
4899  * @note: btstack_type 1
4900  */
4901 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){
4902     return event[12];
4903 }
4904 /**
4905  * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4906  * @param event packet
4907  * @return tcid_2
4908  * @note: btstack_type 1
4909  */
4910 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){
4911     return event[13];
4912 }
4913 /**
4914  * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4915  * @param event packet
4916  * @return tcid_3
4917  * @note: btstack_type 1
4918  */
4919 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){
4920     return event[14];
4921 }
4922 
4923 /**
4924  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4925  * @param event packet
4926  * @return avdtp_cid
4927  * @note: btstack_type 2
4928  */
4929 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){
4930     return little_endian_read_16(event, 3);
4931 }
4932 /**
4933  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4934  * @param event packet
4935  * @return local_seid
4936  * @note: btstack_type 1
4937  */
4938 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){
4939     return event[5];
4940 }
4941 /**
4942  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4943  * @param event packet
4944  * @return remote_seid
4945  * @note: btstack_type 1
4946  */
4947 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){
4948     return event[6];
4949 }
4950 
4951 /**
4952  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4953  * @param event packet
4954  * @return avdtp_cid
4955  * @note: btstack_type 2
4956  */
4957 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){
4958     return little_endian_read_16(event, 3);
4959 }
4960 /**
4961  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4962  * @param event packet
4963  * @return local_seid
4964  * @note: btstack_type 1
4965  */
4966 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_local_seid(const uint8_t * event){
4967     return event[5];
4968 }
4969 /**
4970  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4971  * @param event packet
4972  * @return remote_seid
4973  * @note: btstack_type 1
4974  */
4975 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){
4976     return event[6];
4977 }
4978 /**
4979  * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4980  * @param event packet
4981  * @return back_ch
4982  * @note: btstack_type 1
4983  */
4984 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){
4985     return event[7];
4986 }
4987 /**
4988  * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4989  * @param event packet
4990  * @return media
4991  * @note: btstack_type 1
4992  */
4993 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){
4994     return event[8];
4995 }
4996 /**
4997  * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4998  * @param event packet
4999  * @return recovery
5000  * @note: btstack_type 1
5001  */
5002 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){
5003     return event[9];
5004 }
5005 
5006 /**
5007  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5008  * @param event packet
5009  * @return avdtp_cid
5010  * @note: btstack_type 2
5011  */
5012 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){
5013     return little_endian_read_16(event, 3);
5014 }
5015 /**
5016  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5017  * @param event packet
5018  * @return local_seid
5019  * @note: btstack_type 1
5020  */
5021 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){
5022     return event[5];
5023 }
5024 /**
5025  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5026  * @param event packet
5027  * @return remote_seid
5028  * @note: btstack_type 1
5029  */
5030 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){
5031     return event[6];
5032 }
5033 /**
5034  * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5035  * @param event packet
5036  * @return reconfigure
5037  * @note: btstack_type 1
5038  */
5039 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){
5040     return event[7];
5041 }
5042 /**
5043  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5044  * @param event packet
5045  * @return media_type
5046  * @note: btstack_type 1
5047  */
5048 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){
5049     return event[8];
5050 }
5051 /**
5052  * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5053  * @param event packet
5054  * @return sampling_frequency
5055  * @note: btstack_type 2
5056  */
5057 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){
5058     return little_endian_read_16(event, 9);
5059 }
5060 /**
5061  * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5062  * @param event packet
5063  * @return channel_mode
5064  * @note: btstack_type 1
5065  */
5066 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){
5067     return event[11];
5068 }
5069 /**
5070  * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5071  * @param event packet
5072  * @return num_channels
5073  * @note: btstack_type 1
5074  */
5075 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){
5076     return event[12];
5077 }
5078 /**
5079  * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5080  * @param event packet
5081  * @return block_length
5082  * @note: btstack_type 1
5083  */
5084 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){
5085     return event[13];
5086 }
5087 /**
5088  * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5089  * @param event packet
5090  * @return subbands
5091  * @note: btstack_type 1
5092  */
5093 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){
5094     return event[14];
5095 }
5096 /**
5097  * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5098  * @param event packet
5099  * @return allocation_method
5100  * @note: btstack_type 1
5101  */
5102 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){
5103     return event[15];
5104 }
5105 /**
5106  * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5107  * @param event packet
5108  * @return min_bitpool_value
5109  * @note: btstack_type 1
5110  */
5111 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){
5112     return event[16];
5113 }
5114 /**
5115  * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5116  * @param event packet
5117  * @return max_bitpool_value
5118  * @note: btstack_type 1
5119  */
5120 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){
5121     return event[17];
5122 }
5123 
5124 /**
5125  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5126  * @param event packet
5127  * @return avdtp_cid
5128  * @note: btstack_type 2
5129  */
5130 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){
5131     return little_endian_read_16(event, 3);
5132 }
5133 /**
5134  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5135  * @param event packet
5136  * @return local_seid
5137  * @note: btstack_type 1
5138  */
5139 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){
5140     return event[5];
5141 }
5142 /**
5143  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5144  * @param event packet
5145  * @return remote_seid
5146  * @note: btstack_type 1
5147  */
5148 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){
5149     return event[6];
5150 }
5151 /**
5152  * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5153  * @param event packet
5154  * @return reconfigure
5155  * @note: btstack_type 1
5156  */
5157 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){
5158     return event[7];
5159 }
5160 /**
5161  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5162  * @param event packet
5163  * @return media_type
5164  * @note: btstack_type 1
5165  */
5166 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){
5167     return event[8];
5168 }
5169 /**
5170  * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5171  * @param event packet
5172  * @return media_codec_type
5173  * @note: btstack_type 2
5174  */
5175 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){
5176     return little_endian_read_16(event, 9);
5177 }
5178 /**
5179  * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5180  * @param event packet
5181  * @return media_codec_information_len
5182  * @note: btstack_type L
5183  */
5184 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){
5185     return little_endian_read_16(event, 11);
5186 }
5187 /**
5188  * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5189  * @param event packet
5190  * @return media_codec_information
5191  * @note: btstack_type V
5192  */
5193 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){
5194     return &event[13];
5195 }
5196 
5197 /**
5198  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5199  * @param event packet
5200  * @return avdtp_cid
5201  * @note: btstack_type 2
5202  */
5203 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){
5204     return little_endian_read_16(event, 3);
5205 }
5206 /**
5207  * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5208  * @param event packet
5209  * @param Pointer to storage for bd_addr
5210  * @note: btstack_type B
5211  */
5212 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5213     reverse_bytes(&event[5], bd_addr, 6);
5214 }
5215 /**
5216  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5217  * @param event packet
5218  * @return local_seid
5219  * @note: btstack_type 1
5220  */
5221 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){
5222     return event[11];
5223 }
5224 /**
5225  * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5226  * @param event packet
5227  * @return remote_seid
5228  * @note: btstack_type 1
5229  */
5230 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){
5231     return event[12];
5232 }
5233 /**
5234  * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5235  * @param event packet
5236  * @return status
5237  * @note: btstack_type 1
5238  */
5239 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){
5240     return event[13];
5241 }
5242 
5243 /**
5244  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED
5245  * @param event packet
5246  * @return avdtp_cid
5247  * @note: btstack_type 2
5248  */
5249 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){
5250     return little_endian_read_16(event, 3);
5251 }
5252 /**
5253  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED
5254  * @param event packet
5255  * @return local_seid
5256  * @note: btstack_type 1
5257  */
5258 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){
5259     return event[5];
5260 }
5261 
5262 /**
5263  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5264  * @param event packet
5265  * @return avdtp_cid
5266  * @note: btstack_type 2
5267  */
5268 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){
5269     return little_endian_read_16(event, 3);
5270 }
5271 /**
5272  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5273  * @param event packet
5274  * @return local_seid
5275  * @note: btstack_type 1
5276  */
5277 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){
5278     return event[5];
5279 }
5280 /**
5281  * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5282  * @param event packet
5283  * @return sequence_number
5284  * @note: btstack_type 2
5285  */
5286 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){
5287     return little_endian_read_16(event, 6);
5288 }
5289 
5290 /**
5291  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5292  * @param event packet
5293  * @return avdtp_cid
5294  * @note: btstack_type 2
5295  */
5296 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){
5297     return little_endian_read_16(event, 3);
5298 }
5299 /**
5300  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5301  * @param event packet
5302  * @return local_seid
5303  * @note: btstack_type 1
5304  */
5305 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){
5306     return event[5];
5307 }
5308 /**
5309  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5310  * @param event packet
5311  * @return remote_seid
5312  * @note: btstack_type 1
5313  */
5314 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){
5315     return event[6];
5316 }
5317 
5318 /**
5319  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE
5320  * @param event packet
5321  * @return avdtp_cid
5322  * @note: btstack_type 2
5323  */
5324 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){
5325     return little_endian_read_16(event, 3);
5326 }
5327 
5328 /**
5329  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT
5330  * @param event packet
5331  * @return avdtp_cid
5332  * @note: btstack_type 2
5333  */
5334 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){
5335     return little_endian_read_16(event, 3);
5336 }
5337 /**
5338  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT
5339  * @param event packet
5340  * @return local_seid
5341  * @note: btstack_type 1
5342  */
5343 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){
5344     return event[5];
5345 }
5346 /**
5347  * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT
5348  * @param event packet
5349  * @return delay_100us
5350  * @note: btstack_type 2
5351  */
5352 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){
5353     return little_endian_read_16(event, 6);
5354 }
5355 
5356 /**
5357  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5358  * @param event packet
5359  * @return a2dp_cid
5360  * @note: btstack_type 2
5361  */
5362 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){
5363     return little_endian_read_16(event, 3);
5364 }
5365 /**
5366  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5367  * @param event packet
5368  * @return local_seid
5369  * @note: btstack_type 1
5370  */
5371 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){
5372     return event[5];
5373 }
5374 
5375 /**
5376  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5377  * @param event packet
5378  * @return a2dp_cid
5379  * @note: btstack_type 2
5380  */
5381 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){
5382     return little_endian_read_16(event, 3);
5383 }
5384 /**
5385  * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5386  * @param event packet
5387  * @return int_seid
5388  * @note: btstack_type 1
5389  */
5390 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_int_seid(const uint8_t * event){
5391     return event[5];
5392 }
5393 /**
5394  * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5395  * @param event packet
5396  * @return acp_seid
5397  * @note: btstack_type 1
5398  */
5399 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_acp_seid(const uint8_t * event){
5400     return event[6];
5401 }
5402 /**
5403  * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5404  * @param event packet
5405  * @return reconfigure
5406  * @note: btstack_type 1
5407  */
5408 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){
5409     return event[7];
5410 }
5411 /**
5412  * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5413  * @param event packet
5414  * @return media_type
5415  * @note: btstack_type 1
5416  */
5417 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){
5418     return event[8];
5419 }
5420 /**
5421  * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5422  * @param event packet
5423  * @return sampling_frequency
5424  * @note: btstack_type 2
5425  */
5426 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){
5427     return little_endian_read_16(event, 9);
5428 }
5429 /**
5430  * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5431  * @param event packet
5432  * @return channel_mode
5433  * @note: btstack_type 1
5434  */
5435 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){
5436     return event[11];
5437 }
5438 /**
5439  * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5440  * @param event packet
5441  * @return num_channels
5442  * @note: btstack_type 1
5443  */
5444 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){
5445     return event[12];
5446 }
5447 /**
5448  * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5449  * @param event packet
5450  * @return block_length
5451  * @note: btstack_type 1
5452  */
5453 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){
5454     return event[13];
5455 }
5456 /**
5457  * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5458  * @param event packet
5459  * @return subbands
5460  * @note: btstack_type 1
5461  */
5462 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){
5463     return event[14];
5464 }
5465 /**
5466  * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5467  * @param event packet
5468  * @return allocation_method
5469  * @note: btstack_type 1
5470  */
5471 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){
5472     return event[15];
5473 }
5474 /**
5475  * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5476  * @param event packet
5477  * @return min_bitpool_value
5478  * @note: btstack_type 1
5479  */
5480 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){
5481     return event[16];
5482 }
5483 /**
5484  * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5485  * @param event packet
5486  * @return max_bitpool_value
5487  * @note: btstack_type 1
5488  */
5489 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){
5490     return event[17];
5491 }
5492 
5493 /**
5494  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5495  * @param event packet
5496  * @return a2dp_cid
5497  * @note: btstack_type 2
5498  */
5499 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){
5500     return little_endian_read_16(event, 3);
5501 }
5502 /**
5503  * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5504  * @param event packet
5505  * @return int_seid
5506  * @note: btstack_type 1
5507  */
5508 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_int_seid(const uint8_t * event){
5509     return event[5];
5510 }
5511 /**
5512  * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5513  * @param event packet
5514  * @return acp_seid
5515  * @note: btstack_type 1
5516  */
5517 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_acp_seid(const uint8_t * event){
5518     return event[6];
5519 }
5520 /**
5521  * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5522  * @param event packet
5523  * @return reconfigure
5524  * @note: btstack_type 1
5525  */
5526 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){
5527     return event[7];
5528 }
5529 /**
5530  * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5531  * @param event packet
5532  * @return media_type
5533  * @note: btstack_type 1
5534  */
5535 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){
5536     return event[8];
5537 }
5538 /**
5539  * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5540  * @param event packet
5541  * @return media_codec_type
5542  * @note: btstack_type 2
5543  */
5544 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){
5545     return little_endian_read_16(event, 9);
5546 }
5547 /**
5548  * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5549  * @param event packet
5550  * @return media_codec_information_len
5551  * @note: btstack_type L
5552  */
5553 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){
5554     return little_endian_read_16(event, 11);
5555 }
5556 /**
5557  * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5558  * @param event packet
5559  * @return media_codec_information
5560  * @note: btstack_type V
5561  */
5562 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){
5563     return &event[13];
5564 }
5565 
5566 /**
5567  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5568  * @param event packet
5569  * @return a2dp_cid
5570  * @note: btstack_type 2
5571  */
5572 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){
5573     return little_endian_read_16(event, 3);
5574 }
5575 /**
5576  * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5577  * @param event packet
5578  * @param Pointer to storage for bd_addr
5579  * @note: btstack_type B
5580  */
5581 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5582     reverse_bytes(&event[5], bd_addr, 6);
5583 }
5584 /**
5585  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5586  * @param event packet
5587  * @return local_seid
5588  * @note: btstack_type 1
5589  */
5590 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){
5591     return event[11];
5592 }
5593 /**
5594  * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5595  * @param event packet
5596  * @return remote_seid
5597  * @note: btstack_type 1
5598  */
5599 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){
5600     return event[12];
5601 }
5602 /**
5603  * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5604  * @param event packet
5605  * @return status
5606  * @note: btstack_type 1
5607  */
5608 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){
5609     return event[13];
5610 }
5611 
5612 /**
5613  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED
5614  * @param event packet
5615  * @return a2dp_cid
5616  * @note: btstack_type 2
5617  */
5618 static inline uint16_t a2dp_subevent_stream_started_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_STREAM_STARTED
5623  * @param event packet
5624  * @return local_seid
5625  * @note: btstack_type 1
5626  */
5627 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){
5628     return event[5];
5629 }
5630 
5631 /**
5632  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED
5633  * @param event packet
5634  * @return a2dp_cid
5635  * @note: btstack_type 2
5636  */
5637 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){
5638     return little_endian_read_16(event, 3);
5639 }
5640 /**
5641  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED
5642  * @param event packet
5643  * @return local_seid
5644  * @note: btstack_type 1
5645  */
5646 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){
5647     return event[5];
5648 }
5649 
5650 /**
5651  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED
5652  * @param event packet
5653  * @return a2dp_cid
5654  * @note: btstack_type 2
5655  */
5656 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){
5657     return little_endian_read_16(event, 3);
5658 }
5659 /**
5660  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED
5661  * @param event packet
5662  * @return local_seid
5663  * @note: btstack_type 1
5664  */
5665 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){
5666     return event[5];
5667 }
5668 
5669 /**
5670  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED
5671  * @param event packet
5672  * @return a2dp_cid
5673  * @note: btstack_type 2
5674  */
5675 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){
5676     return little_endian_read_16(event, 3);
5677 }
5678 /**
5679  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED
5680  * @param event packet
5681  * @return local_seid
5682  * @note: btstack_type 1
5683  */
5684 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){
5685     return event[5];
5686 }
5687 
5688 /**
5689  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5690  * @param event packet
5691  * @return a2dp_cid
5692  * @note: btstack_type 2
5693  */
5694 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){
5695     return little_endian_read_16(event, 3);
5696 }
5697 /**
5698  * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5699  * @param event packet
5700  * @return local_seid
5701  * @note: btstack_type 1
5702  */
5703 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){
5704     return event[5];
5705 }
5706 /**
5707  * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5708  * @param event packet
5709  * @return signal_identifier
5710  * @note: btstack_type 1
5711  */
5712 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){
5713     return event[6];
5714 }
5715 
5716 /**
5717  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED
5718  * @param event packet
5719  * @return a2dp_cid
5720  * @note: btstack_type 2
5721  */
5722 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){
5723     return little_endian_read_16(event, 3);
5724 }
5725 /**
5726  * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED
5727  * @param event packet
5728  * @return local_seid
5729  * @note: btstack_type 1
5730  */
5731 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){
5732     return event[5];
5733 }
5734 /**
5735  * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED
5736  * @param event packet
5737  * @return signal_identifier
5738  * @note: btstack_type 1
5739  */
5740 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){
5741     return event[6];
5742 }
5743 
5744 /**
5745  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5746  * @param event packet
5747  * @return a2dp_cid
5748  * @note: btstack_type 2
5749  */
5750 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){
5751     return little_endian_read_16(event, 3);
5752 }
5753 /**
5754  * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5755  * @param event packet
5756  * @param Pointer to storage for bd_addr
5757  * @note: btstack_type B
5758  */
5759 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5760     reverse_bytes(&event[5], bd_addr, 6);
5761 }
5762 /**
5763  * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5764  * @param event packet
5765  * @return con_handle
5766  * @note: btstack_type 2
5767  */
5768 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){
5769     return little_endian_read_16(event, 11);
5770 }
5771 /**
5772  * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5773  * @param event packet
5774  * @return status
5775  * @note: btstack_type 1
5776  */
5777 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){
5778     return event[13];
5779 }
5780 
5781 /**
5782  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED
5783  * @param event packet
5784  * @return a2dp_cid
5785  * @note: btstack_type 2
5786  */
5787 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){
5788     return little_endian_read_16(event, 3);
5789 }
5790 
5791 /**
5792  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5793  * @param event packet
5794  * @return a2dp_cid
5795  * @note: btstack_type 2
5796  */
5797 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){
5798     return little_endian_read_16(event, 3);
5799 }
5800 /**
5801  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5802  * @param event packet
5803  * @return local_seid
5804  * @note: btstack_type 1
5805  */
5806 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){
5807     return event[5];
5808 }
5809 /**
5810  * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5811  * @param event packet
5812  * @return status
5813  * @note: btstack_type 1
5814  */
5815 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){
5816     return event[6];
5817 }
5818 
5819 /**
5820  * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
5821  * @param event packet
5822  * @return avdtp_cid
5823  * @note: btstack_type 2
5824  */
5825 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){
5826     return little_endian_read_16(event, 3);
5827 }
5828 /**
5829  * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
5830  * @param event packet
5831  * @return local_seid
5832  * @note: btstack_type 1
5833  */
5834 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){
5835     return event[5];
5836 }
5837 /**
5838  * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
5839  * @param event packet
5840  * @return remote_seid
5841  * @note: btstack_type 1
5842  */
5843 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){
5844     return event[6];
5845 }
5846 
5847 /**
5848  * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT
5849  * @param event packet
5850  * @return avdtp_cid
5851  * @note: btstack_type 2
5852  */
5853 static inline uint16_t a2dp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){
5854     return little_endian_read_16(event, 3);
5855 }
5856 /**
5857  * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT
5858  * @param event packet
5859  * @return local_seid
5860  * @note: btstack_type 1
5861  */
5862 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){
5863     return event[5];
5864 }
5865 /**
5866  * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT
5867  * @param event packet
5868  * @return delay_100us
5869  * @note: btstack_type 2
5870  */
5871 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){
5872     return little_endian_read_16(event, 6);
5873 }
5874 
5875 /**
5876  * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5877  * @param event packet
5878  * @return avdtp_cid
5879  * @note: btstack_type 2
5880  */
5881 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){
5882     return little_endian_read_16(event, 3);
5883 }
5884 /**
5885  * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5886  * @param event packet
5887  * @return local_seid
5888  * @note: btstack_type 1
5889  */
5890 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){
5891     return event[5];
5892 }
5893 /**
5894  * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5895  * @param event packet
5896  * @return remote_seid
5897  * @note: btstack_type 1
5898  */
5899 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){
5900     return event[6];
5901 }
5902 
5903 /**
5904  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5905  * @param event packet
5906  * @return avrcp_cid
5907  * @note: btstack_type 2
5908  */
5909 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){
5910     return little_endian_read_16(event, 3);
5911 }
5912 /**
5913  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5914  * @param event packet
5915  * @return command_type
5916  * @note: btstack_type 1
5917  */
5918 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){
5919     return event[5];
5920 }
5921 /**
5922  * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5923  * @param event packet
5924  * @return play_status
5925  * @note: btstack_type 1
5926  */
5927 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){
5928     return event[6];
5929 }
5930 
5931 /**
5932  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED
5933  * @param event packet
5934  * @return avrcp_cid
5935  * @note: btstack_type 2
5936  */
5937 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){
5938     return little_endian_read_16(event, 3);
5939 }
5940 /**
5941  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED
5942  * @param event packet
5943  * @return command_type
5944  * @note: btstack_type 1
5945  */
5946 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){
5947     return event[5];
5948 }
5949 
5950 /**
5951  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END
5952  * @param event packet
5953  * @return avrcp_cid
5954  * @note: btstack_type 2
5955  */
5956 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){
5957     return little_endian_read_16(event, 3);
5958 }
5959 /**
5960  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END
5961  * @param event packet
5962  * @return command_type
5963  * @note: btstack_type 1
5964  */
5965 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){
5966     return event[5];
5967 }
5968 
5969 /**
5970  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START
5971  * @param event packet
5972  * @return avrcp_cid
5973  * @note: btstack_type 2
5974  */
5975 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){
5976     return little_endian_read_16(event, 3);
5977 }
5978 /**
5979  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START
5980  * @param event packet
5981  * @return command_type
5982  * @note: btstack_type 1
5983  */
5984 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){
5985     return event[5];
5986 }
5987 
5988 /**
5989  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED
5990  * @param event packet
5991  * @return avrcp_cid
5992  * @note: btstack_type 2
5993  */
5994 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){
5995     return little_endian_read_16(event, 3);
5996 }
5997 /**
5998  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED
5999  * @param event packet
6000  * @return command_type
6001  * @note: btstack_type 1
6002  */
6003 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){
6004     return event[5];
6005 }
6006 /**
6007  * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED
6008  * @param event packet
6009  * @return playback_position
6010  * @note: btstack_type 4
6011  */
6012 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){
6013     return little_endian_read_32(event, 6);
6014 }
6015 
6016 /**
6017  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED
6018  * @param event packet
6019  * @return avrcp_cid
6020  * @note: btstack_type 2
6021  */
6022 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){
6023     return little_endian_read_16(event, 3);
6024 }
6025 /**
6026  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED
6027  * @param event packet
6028  * @return command_type
6029  * @note: btstack_type 1
6030  */
6031 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){
6032     return event[5];
6033 }
6034 /**
6035  * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED
6036  * @param event packet
6037  * @return battery_status
6038  * @note: btstack_type 1
6039  */
6040 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){
6041     return event[6];
6042 }
6043 
6044 /**
6045  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED
6046  * @param event packet
6047  * @return avrcp_cid
6048  * @note: btstack_type 2
6049  */
6050 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){
6051     return little_endian_read_16(event, 3);
6052 }
6053 /**
6054  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED
6055  * @param event packet
6056  * @return command_type
6057  * @note: btstack_type 1
6058  */
6059 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){
6060     return event[5];
6061 }
6062 /**
6063  * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED
6064  * @param event packet
6065  * @return system_status
6066  * @note: btstack_type 1
6067  */
6068 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){
6069     return event[6];
6070 }
6071 
6072 /**
6073  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED
6074  * @param event packet
6075  * @return avrcp_cid
6076  * @note: btstack_type 2
6077  */
6078 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){
6079     return little_endian_read_16(event, 3);
6080 }
6081 /**
6082  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED
6083  * @param event packet
6084  * @return command_type
6085  * @note: btstack_type 1
6086  */
6087 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){
6088     return event[5];
6089 }
6090 
6091 /**
6092  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED
6093  * @param event packet
6094  * @return avrcp_cid
6095  * @note: btstack_type 2
6096  */
6097 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){
6098     return little_endian_read_16(event, 3);
6099 }
6100 /**
6101  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED
6102  * @param event packet
6103  * @return command_type
6104  * @note: btstack_type 1
6105  */
6106 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){
6107     return event[5];
6108 }
6109 
6110 /**
6111  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED
6112  * @param event packet
6113  * @return avrcp_cid
6114  * @note: btstack_type 2
6115  */
6116 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){
6117     return little_endian_read_16(event, 3);
6118 }
6119 /**
6120  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED
6121  * @param event packet
6122  * @return command_type
6123  * @note: btstack_type 1
6124  */
6125 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){
6126     return event[5];
6127 }
6128 /**
6129  * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED
6130  * @param event packet
6131  * @return uid_counter
6132  * @note: btstack_type 2
6133  */
6134 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){
6135     return little_endian_read_16(event, 6);
6136 }
6137 
6138 /**
6139  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
6140  * @param event packet
6141  * @return avrcp_cid
6142  * @note: btstack_type 2
6143  */
6144 static inline uint16_t avrcp_subevent_notification_volume_changed_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_NOTIFICATION_VOLUME_CHANGED
6149  * @param event packet
6150  * @return command_type
6151  * @note: btstack_type 1
6152  */
6153 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){
6154     return event[5];
6155 }
6156 /**
6157  * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
6158  * @param event packet
6159  * @return absolute_volume
6160  * @note: btstack_type 1
6161  */
6162 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){
6163     return event[6];
6164 }
6165 
6166 /**
6167  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
6168  * @param event packet
6169  * @return avrcp_cid
6170  * @note: btstack_type 2
6171  */
6172 static inline uint16_t avrcp_subevent_set_absolute_volume_response_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_SET_ABSOLUTE_VOLUME_RESPONSE
6177  * @param event packet
6178  * @return command_type
6179  * @note: btstack_type 1
6180  */
6181 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){
6182     return event[5];
6183 }
6184 /**
6185  * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
6186  * @param event packet
6187  * @return absolute_volume
6188  * @note: btstack_type 1
6189  */
6190 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){
6191     return event[6];
6192 }
6193 
6194 /**
6195  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
6196  * @param event packet
6197  * @return avrcp_cid
6198  * @note: btstack_type 2
6199  */
6200 static inline uint16_t avrcp_subevent_enable_notification_complete_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_ENABLE_NOTIFICATION_COMPLETE
6205  * @param event packet
6206  * @return command_type
6207  * @note: btstack_type 1
6208  */
6209 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){
6210     return event[5];
6211 }
6212 /**
6213  * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
6214  * @param event packet
6215  * @return notification_id
6216  * @note: btstack_type 1
6217  */
6218 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){
6219     return event[6];
6220 }
6221 
6222 /**
6223  * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6224  * @param event packet
6225  * @return status
6226  * @note: btstack_type 1
6227  */
6228 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){
6229     return event[3];
6230 }
6231 /**
6232  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6233  * @param event packet
6234  * @return avrcp_cid
6235  * @note: btstack_type 2
6236  */
6237 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){
6238     return little_endian_read_16(event, 4);
6239 }
6240 /**
6241  * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6242  * @param event packet
6243  * @param Pointer to storage for bd_addr
6244  * @note: btstack_type B
6245  */
6246 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6247     reverse_bytes(&event[6], bd_addr, 6);
6248 }
6249 /**
6250  * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6251  * @param event packet
6252  * @return con_handle
6253  * @note: btstack_type 2
6254  */
6255 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){
6256     return little_endian_read_16(event, 12);
6257 }
6258 
6259 /**
6260  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED
6261  * @param event packet
6262  * @return avrcp_cid
6263  * @note: btstack_type 2
6264  */
6265 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){
6266     return little_endian_read_16(event, 3);
6267 }
6268 
6269 /**
6270  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6271  * @param event packet
6272  * @return avrcp_cid
6273  * @note: btstack_type 2
6274  */
6275 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){
6276     return little_endian_read_16(event, 3);
6277 }
6278 /**
6279  * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6280  * @param event packet
6281  * @return command_type
6282  * @note: btstack_type 1
6283  */
6284 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){
6285     return event[5];
6286 }
6287 /**
6288  * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6289  * @param event packet
6290  * @return repeat_mode
6291  * @note: btstack_type 1
6292  */
6293 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){
6294     return event[6];
6295 }
6296 /**
6297  * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6298  * @param event packet
6299  * @return shuffle_mode
6300  * @note: btstack_type 1
6301  */
6302 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){
6303     return event[7];
6304 }
6305 
6306 /**
6307  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS
6308  * @param event packet
6309  * @return avrcp_cid
6310  * @note: btstack_type 2
6311  */
6312 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){
6313     return little_endian_read_16(event, 3);
6314 }
6315 /**
6316  * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS
6317  * @param event packet
6318  * @return command_type
6319  * @note: btstack_type 1
6320  */
6321 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){
6322     return event[5];
6323 }
6324 /**
6325  * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS
6326  * @param event packet
6327  * @return song_length
6328  * @note: btstack_type 4
6329  */
6330 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){
6331     return little_endian_read_32(event, 6);
6332 }
6333 /**
6334  * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS
6335  * @param event packet
6336  * @return song_position
6337  * @note: btstack_type 4
6338  */
6339 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){
6340     return little_endian_read_32(event, 10);
6341 }
6342 /**
6343  * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS
6344  * @param event packet
6345  * @return play_status
6346  * @note: btstack_type 1
6347  */
6348 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){
6349     return event[14];
6350 }
6351 
6352 /**
6353  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START
6354  * @param event packet
6355  * @return avrcp_cid
6356  * @note: btstack_type 2
6357  */
6358 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){
6359     return little_endian_read_16(event, 3);
6360 }
6361 /**
6362  * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START
6363  * @param event packet
6364  * @return command_type
6365  * @note: btstack_type 1
6366  */
6367 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){
6368     return event[5];
6369 }
6370 /**
6371  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START
6372  * @param event packet
6373  * @return operation_id
6374  * @note: btstack_type 1
6375  */
6376 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){
6377     return event[6];
6378 }
6379 
6380 /**
6381  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6382  * @param event packet
6383  * @return avrcp_cid
6384  * @note: btstack_type 2
6385  */
6386 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){
6387     return little_endian_read_16(event, 3);
6388 }
6389 /**
6390  * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6391  * @param event packet
6392  * @return command_type
6393  * @note: btstack_type 1
6394  */
6395 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){
6396     return event[5];
6397 }
6398 /**
6399  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6400  * @param event packet
6401  * @return operation_id
6402  * @note: btstack_type 1
6403  */
6404 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){
6405     return event[6];
6406 }
6407 
6408 /**
6409  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE
6410  * @param event packet
6411  * @return avrcp_cid
6412  * @note: btstack_type 2
6413  */
6414 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){
6415     return little_endian_read_16(event, 3);
6416 }
6417 /**
6418  * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE
6419  * @param event packet
6420  * @return command_type
6421  * @note: btstack_type 1
6422  */
6423 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){
6424     return event[5];
6425 }
6426 
6427 /**
6428  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY
6429  * @param event packet
6430  * @return avrcp_cid
6431  * @note: btstack_type 2
6432  */
6433 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){
6434     return little_endian_read_16(event, 3);
6435 }
6436 
6437 /**
6438  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY
6439  * @param event packet
6440  * @return avrcp_cid
6441  * @note: btstack_type 2
6442  */
6443 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){
6444     return little_endian_read_16(event, 3);
6445 }
6446 
6447 /**
6448  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY
6449  * @param event packet
6450  * @return avrcp_cid
6451  * @note: btstack_type 2
6452  */
6453 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){
6454     return little_endian_read_16(event, 3);
6455 }
6456 
6457 /**
6458  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION
6459  * @param event packet
6460  * @return avrcp_cid
6461  * @note: btstack_type 2
6462  */
6463 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){
6464     return little_endian_read_16(event, 3);
6465 }
6466 /**
6467  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION
6468  * @param event packet
6469  * @return operation_id
6470  * @note: btstack_type 1
6471  */
6472 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){
6473     return event[5];
6474 }
6475 /**
6476  * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION
6477  * @param event packet
6478  * @return operands_length
6479  * @note: btstack_type 1
6480  */
6481 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){
6482     return event[6];
6483 }
6484 /**
6485  * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION
6486  * @param event packet
6487  * @return operand
6488  * @note: btstack_type 1
6489  */
6490 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){
6491     return event[7];
6492 }
6493 
6494 /**
6495  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6496  * @param event packet
6497  * @return avrcp_cid
6498  * @note: btstack_type 2
6499  */
6500 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){
6501     return little_endian_read_16(event, 3);
6502 }
6503 /**
6504  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6505  * @param event packet
6506  * @return command_type
6507  * @note: btstack_type 1
6508  */
6509 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){
6510     return event[5];
6511 }
6512 /**
6513  * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6514  * @param event packet
6515  * @return track
6516  * @note: btstack_type 1
6517  */
6518 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){
6519     return event[6];
6520 }
6521 
6522 /**
6523  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6524  * @param event packet
6525  * @return avrcp_cid
6526  * @note: btstack_type 2
6527  */
6528 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){
6529     return little_endian_read_16(event, 3);
6530 }
6531 /**
6532  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6533  * @param event packet
6534  * @return command_type
6535  * @note: btstack_type 1
6536  */
6537 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){
6538     return event[5];
6539 }
6540 /**
6541  * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6542  * @param event packet
6543  * @return total_tracks
6544  * @note: btstack_type 1
6545  */
6546 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){
6547     return event[6];
6548 }
6549 
6550 /**
6551  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6552  * @param event packet
6553  * @return avrcp_cid
6554  * @note: btstack_type 2
6555  */
6556 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){
6557     return little_endian_read_16(event, 3);
6558 }
6559 /**
6560  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6561  * @param event packet
6562  * @return command_type
6563  * @note: btstack_type 1
6564  */
6565 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){
6566     return event[5];
6567 }
6568 /**
6569  * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6570  * @param event packet
6571  * @return song_length
6572  * @note: btstack_type 4
6573  */
6574 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){
6575     return little_endian_read_32(event, 6);
6576 }
6577 
6578 /**
6579  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6580  * @param event packet
6581  * @return avrcp_cid
6582  * @note: btstack_type 2
6583  */
6584 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){
6585     return little_endian_read_16(event, 3);
6586 }
6587 /**
6588  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6589  * @param event packet
6590  * @return command_type
6591  * @note: btstack_type 1
6592  */
6593 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){
6594     return event[5];
6595 }
6596 /**
6597  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6598  * @param event packet
6599  * @return value_len
6600  * @note: btstack_type J
6601  */
6602 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){
6603     return event[6];
6604 }
6605 /**
6606  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6607  * @param event packet
6608  * @return value
6609  * @note: btstack_type V
6610  */
6611 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){
6612     return &event[7];
6613 }
6614 
6615 /**
6616  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6617  * @param event packet
6618  * @return avrcp_cid
6619  * @note: btstack_type 2
6620  */
6621 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){
6622     return little_endian_read_16(event, 3);
6623 }
6624 /**
6625  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6626  * @param event packet
6627  * @return command_type
6628  * @note: btstack_type 1
6629  */
6630 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){
6631     return event[5];
6632 }
6633 /**
6634  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6635  * @param event packet
6636  * @return value_len
6637  * @note: btstack_type J
6638  */
6639 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){
6640     return event[6];
6641 }
6642 /**
6643  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6644  * @param event packet
6645  * @return value
6646  * @note: btstack_type V
6647  */
6648 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){
6649     return &event[7];
6650 }
6651 
6652 /**
6653  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6654  * @param event packet
6655  * @return avrcp_cid
6656  * @note: btstack_type 2
6657  */
6658 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){
6659     return little_endian_read_16(event, 3);
6660 }
6661 /**
6662  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6663  * @param event packet
6664  * @return command_type
6665  * @note: btstack_type 1
6666  */
6667 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){
6668     return event[5];
6669 }
6670 /**
6671  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6672  * @param event packet
6673  * @return value_len
6674  * @note: btstack_type J
6675  */
6676 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){
6677     return event[6];
6678 }
6679 /**
6680  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6681  * @param event packet
6682  * @return value
6683  * @note: btstack_type V
6684  */
6685 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){
6686     return &event[7];
6687 }
6688 
6689 /**
6690  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6691  * @param event packet
6692  * @return avrcp_cid
6693  * @note: btstack_type 2
6694  */
6695 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){
6696     return little_endian_read_16(event, 3);
6697 }
6698 /**
6699  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6700  * @param event packet
6701  * @return command_type
6702  * @note: btstack_type 1
6703  */
6704 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){
6705     return event[5];
6706 }
6707 /**
6708  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6709  * @param event packet
6710  * @return value_len
6711  * @note: btstack_type J
6712  */
6713 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){
6714     return event[6];
6715 }
6716 /**
6717  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6718  * @param event packet
6719  * @return value
6720  * @note: btstack_type V
6721  */
6722 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){
6723     return &event[7];
6724 }
6725 
6726 /**
6727  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6728  * @param event packet
6729  * @return avrcp_cid
6730  * @note: btstack_type 2
6731  */
6732 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){
6733     return little_endian_read_16(event, 3);
6734 }
6735 /**
6736  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6737  * @param event packet
6738  * @return command_type
6739  * @note: btstack_type 1
6740  */
6741 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){
6742     return event[5];
6743 }
6744 /**
6745  * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6746  * @param event packet
6747  * @return status
6748  * @note: btstack_type 1
6749  */
6750 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){
6751     return event[6];
6752 }
6753 
6754 /**
6755  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6756  * @param event packet
6757  * @return avrcp_cid
6758  * @note: btstack_type 2
6759  */
6760 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){
6761     return little_endian_read_16(event, 3);
6762 }
6763 /**
6764  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6765  * @param event packet
6766  * @return command_type
6767  * @note: btstack_type 1
6768  */
6769 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){
6770     return event[5];
6771 }
6772 /**
6773  * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6774  * @param event packet
6775  * @return playback_position_ms
6776  * @note: btstack_type 4
6777  */
6778 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){
6779     return little_endian_read_32(event, 6);
6780 }
6781 
6782 /**
6783  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6784  * @param event packet
6785  * @return avrcp_cid
6786  * @note: btstack_type 2
6787  */
6788 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){
6789     return little_endian_read_16(event, 3);
6790 }
6791 /**
6792  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6793  * @param event packet
6794  * @return command_type
6795  * @note: btstack_type 1
6796  */
6797 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){
6798     return event[5];
6799 }
6800 /**
6801  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6802  * @param event packet
6803  * @return status
6804  * @note: btstack_type 1
6805  */
6806 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){
6807     return event[6];
6808 }
6809 /**
6810  * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6811  * @param event packet
6812  * @return event_id
6813  * @note: btstack_type 1
6814  */
6815 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){
6816     return event[7];
6817 }
6818 
6819 /**
6820  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE
6821  * @param event packet
6822  * @return avrcp_cid
6823  * @note: btstack_type 2
6824  */
6825 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){
6826     return little_endian_read_16(event, 3);
6827 }
6828 /**
6829  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE
6830  * @param event packet
6831  * @return command_type
6832  * @note: btstack_type 1
6833  */
6834 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){
6835     return event[5];
6836 }
6837 /**
6838  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE
6839  * @param event packet
6840  * @return status
6841  * @note: btstack_type 1
6842  */
6843 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){
6844     return event[6];
6845 }
6846 
6847 /**
6848  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6849  * @param event packet
6850  * @return avrcp_cid
6851  * @note: btstack_type 2
6852  */
6853 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){
6854     return little_endian_read_16(event, 3);
6855 }
6856 /**
6857  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6858  * @param event packet
6859  * @return command_type
6860  * @note: btstack_type 1
6861  */
6862 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){
6863     return event[5];
6864 }
6865 /**
6866  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6867  * @param event packet
6868  * @return status
6869  * @note: btstack_type 1
6870  */
6871 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){
6872     return event[6];
6873 }
6874 /**
6875  * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6876  * @param event packet
6877  * @return company_id
6878  * @note: btstack_type 3
6879  */
6880 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){
6881     return little_endian_read_24(event, 7);
6882 }
6883 
6884 /**
6885  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE
6886  * @param event packet
6887  * @return avrcp_cid
6888  * @note: btstack_type 2
6889  */
6890 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){
6891     return little_endian_read_16(event, 3);
6892 }
6893 /**
6894  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE
6895  * @param event packet
6896  * @return command_type
6897  * @note: btstack_type 1
6898  */
6899 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){
6900     return event[5];
6901 }
6902 /**
6903  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE
6904  * @param event packet
6905  * @return status
6906  * @note: btstack_type 1
6907  */
6908 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){
6909     return event[6];
6910 }
6911 
6912 /**
6913  * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION
6914  * @param event packet
6915  * @param Pointer to storage for bd_addr
6916  * @note: btstack_type B
6917  */
6918 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6919     reverse_bytes(&event[3], bd_addr, 6);
6920 }
6921 /**
6922  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION
6923  * @param event packet
6924  * @return browsing_cid
6925  * @note: btstack_type 2
6926  */
6927 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){
6928     return little_endian_read_16(event, 9);
6929 }
6930 
6931 /**
6932  * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6933  * @param event packet
6934  * @return status
6935  * @note: btstack_type 1
6936  */
6937 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){
6938     return event[3];
6939 }
6940 /**
6941  * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6942  * @param event packet
6943  * @param Pointer to storage for bd_addr
6944  * @note: btstack_type B
6945  */
6946 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6947     reverse_bytes(&event[4], bd_addr, 6);
6948 }
6949 /**
6950  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6951  * @param event packet
6952  * @return browsing_cid
6953  * @note: btstack_type 2
6954  */
6955 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){
6956     return little_endian_read_16(event, 10);
6957 }
6958 
6959 /**
6960  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED
6961  * @param event packet
6962  * @return browsing_cid
6963  * @note: btstack_type 2
6964  */
6965 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){
6966     return little_endian_read_16(event, 3);
6967 }
6968 
6969 /**
6970  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE
6971  * @param event packet
6972  * @return browsing_cid
6973  * @note: btstack_type 2
6974  */
6975 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){
6976     return little_endian_read_16(event, 3);
6977 }
6978 /**
6979  * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE
6980  * @param event packet
6981  * @return uid_counter
6982  * @note: btstack_type 2
6983  */
6984 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){
6985     return little_endian_read_16(event, 5);
6986 }
6987 /**
6988  * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE
6989  * @param event packet
6990  * @return browsing_status
6991  * @note: btstack_type 1
6992  */
6993 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){
6994     return event[7];
6995 }
6996 /**
6997  * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE
6998  * @param event packet
6999  * @return bluetooth_status
7000  * @note: btstack_type 1
7001  */
7002 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){
7003     return event[8];
7004 }
7005 
7006 /**
7007  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
7008  * @param event packet
7009  * @return browsing_cid
7010  * @note: btstack_type 2
7011  */
7012 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){
7013     return little_endian_read_16(event, 3);
7014 }
7015 /**
7016  * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
7017  * @param event packet
7018  * @return scope
7019  * @note: btstack_type 1
7020  */
7021 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){
7022     return event[5];
7023 }
7024 /**
7025  * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
7026  * @param event packet
7027  * @return attr_bitmap
7028  * @note: btstack_type 4
7029  */
7030 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){
7031     return little_endian_read_32(event, 6);
7032 }
7033 
7034 /**
7035  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS
7036  * @param event packet
7037  * @return browsing_cid
7038  * @note: btstack_type 2
7039  */
7040 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){
7041     return little_endian_read_16(event, 3);
7042 }
7043 /**
7044  * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS
7045  * @param event packet
7046  * @return scope
7047  * @note: btstack_type 1
7048  */
7049 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){
7050     return event[5];
7051 }
7052 
7053 /**
7054  * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED
7055  * @param event packet
7056  * @return goep_cid
7057  * @note: btstack_type 2
7058  */
7059 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){
7060     return little_endian_read_16(event, 3);
7061 }
7062 /**
7063  * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED
7064  * @param event packet
7065  * @return status
7066  * @note: btstack_type 1
7067  */
7068 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){
7069     return event[5];
7070 }
7071 /**
7072  * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED
7073  * @param event packet
7074  * @param Pointer to storage for bd_addr
7075  * @note: btstack_type B
7076  */
7077 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
7078     reverse_bytes(&event[6], bd_addr, 6);
7079 }
7080 /**
7081  * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED
7082  * @param event packet
7083  * @return con_handle
7084  * @note: btstack_type H
7085  */
7086 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){
7087     return little_endian_read_16(event, 12);
7088 }
7089 /**
7090  * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED
7091  * @param event packet
7092  * @return incoming
7093  * @note: btstack_type 1
7094  */
7095 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){
7096     return event[14];
7097 }
7098 
7099 /**
7100  * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED
7101  * @param event packet
7102  * @return goep_cid
7103  * @note: btstack_type 2
7104  */
7105 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){
7106     return little_endian_read_16(event, 3);
7107 }
7108 
7109 /**
7110  * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW
7111  * @param event packet
7112  * @return goep_cid
7113  * @note: btstack_type 2
7114  */
7115 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){
7116     return little_endian_read_16(event, 3);
7117 }
7118 
7119 /**
7120  * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED
7121  * @param event packet
7122  * @return pbap_cid
7123  * @note: btstack_type 2
7124  */
7125 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){
7126     return little_endian_read_16(event, 3);
7127 }
7128 /**
7129  * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED
7130  * @param event packet
7131  * @return status
7132  * @note: btstack_type 1
7133  */
7134 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){
7135     return event[5];
7136 }
7137 /**
7138  * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED
7139  * @param event packet
7140  * @param Pointer to storage for bd_addr
7141  * @note: btstack_type B
7142  */
7143 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
7144     reverse_bytes(&event[6], bd_addr, 6);
7145 }
7146 /**
7147  * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED
7148  * @param event packet
7149  * @return con_handle
7150  * @note: btstack_type H
7151  */
7152 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){
7153     return little_endian_read_16(event, 12);
7154 }
7155 /**
7156  * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED
7157  * @param event packet
7158  * @return incoming
7159  * @note: btstack_type 1
7160  */
7161 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){
7162     return event[14];
7163 }
7164 
7165 /**
7166  * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED
7167  * @param event packet
7168  * @return goep_cid
7169  * @note: btstack_type 2
7170  */
7171 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){
7172     return little_endian_read_16(event, 3);
7173 }
7174 
7175 /**
7176  * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED
7177  * @param event packet
7178  * @return goep_cid
7179  * @note: btstack_type 2
7180  */
7181 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){
7182     return little_endian_read_16(event, 3);
7183 }
7184 /**
7185  * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED
7186  * @param event packet
7187  * @return status
7188  * @note: btstack_type 1
7189  */
7190 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){
7191     return event[5];
7192 }
7193 
7194 /**
7195  * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE
7196  * @param event packet
7197  * @return goep_cid
7198  * @note: btstack_type 2
7199  */
7200 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){
7201     return little_endian_read_16(event, 3);
7202 }
7203 /**
7204  * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE
7205  * @param event packet
7206  * @return status
7207  * @note: btstack_type 1
7208  */
7209 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){
7210     return event[5];
7211 }
7212 /**
7213  * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE
7214  * @param event packet
7215  * @return phoneboook_size
7216  * @note: btstack_type 2
7217  */
7218 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){
7219     return little_endian_read_16(event, 6);
7220 }
7221 
7222 /**
7223  * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
7224  * @param event packet
7225  * @return goep_cid
7226  * @note: btstack_type 2
7227  */
7228 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){
7229     return little_endian_read_16(event, 3);
7230 }
7231 /**
7232  * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
7233  * @param event packet
7234  * @return user_id_required
7235  * @note: btstack_type 1
7236  */
7237 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){
7238     return event[5];
7239 }
7240 /**
7241  * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
7242  * @param event packet
7243  * @return full_access
7244  * @note: btstack_type 1
7245  */
7246 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){
7247     return event[6];
7248 }
7249 
7250 /**
7251  * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT
7252  * @param event packet
7253  * @return goep_cid
7254  * @note: btstack_type 2
7255  */
7256 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){
7257     return little_endian_read_16(event, 3);
7258 }
7259 /**
7260  * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT
7261  * @param event packet
7262  * @return name_len
7263  * @note: btstack_type J
7264  */
7265 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){
7266     return event[5];
7267 }
7268 /**
7269  * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT
7270  * @param event packet
7271  * @return name
7272  * @note: btstack_type V
7273  */
7274 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){
7275     return &event[6];
7276 }
7277 /**
7278  * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT
7279  * @param event packet
7280  * @return handle_len
7281  * @note: btstack_type J
7282  */
7283 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){
7284     return event[6u + event[5]];
7285 }
7286 /**
7287  * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT
7288  * @param event packet
7289  * @return handle
7290  * @note: btstack_type V
7291  */
7292 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){
7293     return &event[6u + event[5] + 1u];
7294 }
7295 
7296 /**
7297  * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED
7298  * @param event packet
7299  * @return hid_cid
7300  * @note: btstack_type 2
7301  */
7302 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){
7303     return little_endian_read_16(event, 3);
7304 }
7305 /**
7306  * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED
7307  * @param event packet
7308  * @return status
7309  * @note: btstack_type 1
7310  */
7311 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){
7312     return event[5];
7313 }
7314 /**
7315  * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED
7316  * @param event packet
7317  * @param Pointer to storage for bd_addr
7318  * @note: btstack_type B
7319  */
7320 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
7321     reverse_bytes(&event[6], bd_addr, 6);
7322 }
7323 /**
7324  * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED
7325  * @param event packet
7326  * @return con_handle
7327  * @note: btstack_type H
7328  */
7329 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){
7330     return little_endian_read_16(event, 12);
7331 }
7332 /**
7333  * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED
7334  * @param event packet
7335  * @return incoming
7336  * @note: btstack_type 1
7337  */
7338 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){
7339     return event[14];
7340 }
7341 
7342 /**
7343  * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED
7344  * @param event packet
7345  * @return hid_cid
7346  * @note: btstack_type 2
7347  */
7348 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){
7349     return little_endian_read_16(event, 3);
7350 }
7351 
7352 /**
7353  * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW
7354  * @param event packet
7355  * @return hid_cid
7356  * @note: btstack_type 2
7357  */
7358 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){
7359     return little_endian_read_16(event, 3);
7360 }
7361 
7362 /**
7363  * @brief Get field con_handle from event HID_SUBEVENT_SUSPEND
7364  * @param event packet
7365  * @return con_handle
7366  * @note: btstack_type 2
7367  */
7368 static inline uint16_t hid_subevent_suspend_get_con_handle(const uint8_t * event){
7369     return little_endian_read_16(event, 3);
7370 }
7371 
7372 /**
7373  * @brief Get field con_handle from event HID_SUBEVENT_EXIT_SUSPEND
7374  * @param event packet
7375  * @return con_handle
7376  * @note: btstack_type 2
7377  */
7378 static inline uint16_t hid_subevent_exit_suspend_get_con_handle(const uint8_t * event){
7379     return little_endian_read_16(event, 3);
7380 }
7381 
7382 /**
7383  * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW
7384  * @param event packet
7385  * @return con_handle
7386  * @note: btstack_type 2
7387  */
7388 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){
7389     return little_endian_read_16(event, 3);
7390 }
7391 
7392 /**
7393  * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE
7394  * @param event packet
7395  * @return con_handle
7396  * @note: btstack_type 2
7397  */
7398 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){
7399     return little_endian_read_16(event, 3);
7400 }
7401 /**
7402  * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE
7403  * @param event packet
7404  * @return protocol_mode
7405  * @note: btstack_type 1
7406  */
7407 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){
7408     return event[5];
7409 }
7410 
7411 /**
7412  * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE
7413  * @param event packet
7414  * @return con_handle
7415  * @note: btstack_type 2
7416  */
7417 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){
7418     return little_endian_read_16(event, 3);
7419 }
7420 /**
7421  * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE
7422  * @param event packet
7423  * @return enable
7424  * @note: btstack_type 1
7425  */
7426 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){
7427     return event[5];
7428 }
7429 
7430 /**
7431  * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE
7432  * @param event packet
7433  * @return con_handle
7434  * @note: btstack_type 2
7435  */
7436 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){
7437     return little_endian_read_16(event, 3);
7438 }
7439 /**
7440  * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE
7441  * @param event packet
7442  * @return enable
7443  * @note: btstack_type 1
7444  */
7445 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){
7446     return event[5];
7447 }
7448 
7449 /**
7450  * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE
7451  * @param event packet
7452  * @return con_handle
7453  * @note: btstack_type 2
7454  */
7455 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){
7456     return little_endian_read_16(event, 3);
7457 }
7458 /**
7459  * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE
7460  * @param event packet
7461  * @return enable
7462  * @note: btstack_type 1
7463  */
7464 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){
7465     return event[5];
7466 }
7467 
7468 /**
7469  * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE
7470  * @param event packet
7471  * @return con_handle
7472  * @note: btstack_type 2
7473  */
7474 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){
7475     return little_endian_read_16(event, 3);
7476 }
7477 /**
7478  * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE
7479  * @param event packet
7480  * @return enable
7481  * @note: btstack_type 1
7482  */
7483 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){
7484     return event[5];
7485 }
7486 
7487 /**
7488  * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE
7489  * @param event packet
7490  * @return con_handle
7491  * @note: btstack_type 2
7492  */
7493 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){
7494     return little_endian_read_16(event, 3);
7495 }
7496 /**
7497  * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE
7498  * @param event packet
7499  * @return enable
7500  * @note: btstack_type 1
7501  */
7502 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){
7503     return event[5];
7504 }
7505 
7506 /**
7507  * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND
7508  * @param event packet
7509  * @return con_handle
7510  * @note: btstack_type 2
7511  */
7512 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){
7513     return little_endian_read_16(event, 3);
7514 }
7515 
7516 /**
7517  * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND
7518  * @param event packet
7519  * @return con_handle
7520  * @note: btstack_type 2
7521  */
7522 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){
7523     return little_endian_read_16(event, 3);
7524 }
7525 
7526 /**
7527  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7528  * @param event packet
7529  * @return con_handle
7530  * @note: btstack_type 2
7531  */
7532 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){
7533     return little_endian_read_16(event, 3);
7534 }
7535 /**
7536  * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7537  * @param event packet
7538  * @return measurement_type
7539  * @note: btstack_type 1
7540  */
7541 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){
7542     return event[5];
7543 }
7544 /**
7545  * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7546  * @param event packet
7547  * @return is_enhanced
7548  * @note: btstack_type 1
7549  */
7550 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){
7551     return event[6];
7552 }
7553 
7554 /**
7555  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START
7556  * @param event packet
7557  * @return con_handle
7558  * @note: btstack_type 2
7559  */
7560 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){
7561     return little_endian_read_16(event, 3);
7562 }
7563 
7564 /**
7565  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP
7566  * @param event packet
7567  * @return con_handle
7568  * @note: btstack_type 2
7569  */
7570 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){
7571     return little_endian_read_16(event, 3);
7572 }
7573 
7574 /**
7575  * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED
7576  * @param event packet
7577  * @return map_cid
7578  * @note: btstack_type 2
7579  */
7580 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){
7581     return little_endian_read_16(event, 3);
7582 }
7583 /**
7584  * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED
7585  * @param event packet
7586  * @return status
7587  * @note: btstack_type 1
7588  */
7589 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){
7590     return event[5];
7591 }
7592 /**
7593  * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED
7594  * @param event packet
7595  * @param Pointer to storage for bd_addr
7596  * @note: btstack_type B
7597  */
7598 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
7599     reverse_bytes(&event[6], bd_addr, 6);
7600 }
7601 /**
7602  * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED
7603  * @param event packet
7604  * @return con_handle
7605  * @note: btstack_type H
7606  */
7607 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){
7608     return little_endian_read_16(event, 12);
7609 }
7610 /**
7611  * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED
7612  * @param event packet
7613  * @return incoming
7614  * @note: btstack_type 1
7615  */
7616 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){
7617     return event[14];
7618 }
7619 
7620 /**
7621  * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED
7622  * @param event packet
7623  * @return map_cid
7624  * @note: btstack_type 2
7625  */
7626 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){
7627     return little_endian_read_16(event, 3);
7628 }
7629 
7630 /**
7631  * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED
7632  * @param event packet
7633  * @return map_cid
7634  * @note: btstack_type 2
7635  */
7636 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){
7637     return little_endian_read_16(event, 3);
7638 }
7639 /**
7640  * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED
7641  * @param event packet
7642  * @return status
7643  * @note: btstack_type 1
7644  */
7645 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){
7646     return event[5];
7647 }
7648 
7649 /**
7650  * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7651  * @param event packet
7652  * @return map_cid
7653  * @note: btstack_type 2
7654  */
7655 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){
7656     return little_endian_read_16(event, 3);
7657 }
7658 /**
7659  * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7660  * @param event packet
7661  * @return name_len
7662  * @note: btstack_type L
7663  */
7664 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){
7665     return little_endian_read_16(event, 5);
7666 }
7667 /**
7668  * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7669  * @param event packet
7670  * @return name
7671  * @note: btstack_type V
7672  */
7673 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){
7674     return &event[7];
7675 }
7676 
7677 /**
7678  * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM
7679  * @param event packet
7680  * @return map_cid
7681  * @note: btstack_type 2
7682  */
7683 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){
7684     return little_endian_read_16(event, 3);
7685 }
7686 /**
7687  * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM
7688  * @param event packet
7689  * @return handle
7690  * @note: btstack_type D
7691  */
7692 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){
7693     return (const uint8_t *) &event[5];
7694 }
7695 
7696 /**
7697  * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE
7698  * @param event packet
7699  * @return map_cid
7700  * @note: btstack_type 2
7701  */
7702 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){
7703     return little_endian_read_16(event, 3);
7704 }
7705 
7706 
7707 /**
7708  * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT
7709  * @param event packet
7710  * @return status
7711  * @note: btstack_type 1
7712  */
7713 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){
7714     return event[3];
7715 }
7716 
7717 /**
7718  * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7719  * @param event packet
7720  * @return status
7721  * @note: btstack_type 1
7722  */
7723 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){
7724     return event[3];
7725 }
7726 /**
7727  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7728  * @param event packet
7729  * @return pb_transport_cid
7730  * @note: btstack_type 2
7731  */
7732 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){
7733     return little_endian_read_16(event, 4);
7734 }
7735 /**
7736  * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7737  * @param event packet
7738  * @return pb_type
7739  * @note: btstack_type 1
7740  */
7741 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){
7742     return event[6];
7743 }
7744 
7745 /**
7746  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED
7747  * @param event packet
7748  * @return pb_transport_cid
7749  * @note: btstack_type 1
7750  */
7751 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){
7752     return event[3];
7753 }
7754 /**
7755  * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED
7756  * @param event packet
7757  * @return reason
7758  * @note: btstack_type 2
7759  */
7760 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){
7761     return little_endian_read_16(event, 4);
7762 }
7763 
7764 /**
7765  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER
7766  * @param event packet
7767  * @return pb_transport_cid
7768  * @note: btstack_type 2
7769  */
7770 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){
7771     return little_endian_read_16(event, 3);
7772 }
7773 /**
7774  * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER
7775  * @param event packet
7776  * @return attention_time
7777  * @note: btstack_type 1
7778  */
7779 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){
7780     return event[5];
7781 }
7782 
7783 /**
7784  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB
7785  * @param event packet
7786  * @return pb_transport_cid
7787  * @note: btstack_type 2
7788  */
7789 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7790     return little_endian_read_16(event, 3);
7791 }
7792 
7793 /**
7794  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB
7795  * @param event packet
7796  * @return pb_transport_cid
7797  * @note: btstack_type 2
7798  */
7799 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7800     return little_endian_read_16(event, 3);
7801 }
7802 
7803 /**
7804  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST
7805  * @param event packet
7806  * @return pb_transport_cid
7807  * @note: btstack_type 2
7808  */
7809 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){
7810     return little_endian_read_16(event, 3);
7811 }
7812 
7813 /**
7814  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB
7815  * @param event packet
7816  * @return pb_transport_cid
7817  * @note: btstack_type 2
7818  */
7819 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){
7820     return little_endian_read_16(event, 3);
7821 }
7822 /**
7823  * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB
7824  * @param event packet
7825  * @return output_oob
7826  * @note: btstack_type 4
7827  */
7828 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){
7829     return little_endian_read_32(event, 5);
7830 }
7831 
7832 /**
7833  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB
7834  * @param event packet
7835  * @return pb_transport_cid
7836  * @note: btstack_type 2
7837  */
7838 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){
7839     return little_endian_read_16(event, 3);
7840 }
7841 
7842 /**
7843  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB
7844  * @param event packet
7845  * @return pb_transport_cid
7846  * @note: btstack_type 2
7847  */
7848 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7849     return little_endian_read_16(event, 3);
7850 }
7851 
7852 /**
7853  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB
7854  * @param event packet
7855  * @return pb_transport_cid
7856  * @note: btstack_type 2
7857  */
7858 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7859     return little_endian_read_16(event, 3);
7860 }
7861 
7862 /**
7863  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST
7864  * @param event packet
7865  * @return pb_transport_cid
7866  * @note: btstack_type 2
7867  */
7868 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){
7869     return little_endian_read_16(event, 3);
7870 }
7871 
7872 /**
7873  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB
7874  * @param event packet
7875  * @return pb_transport_cid
7876  * @note: btstack_type 2
7877  */
7878 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){
7879     return little_endian_read_16(event, 3);
7880 }
7881 /**
7882  * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB
7883  * @param event packet
7884  * @return output_oob
7885  * @note: btstack_type 4
7886  */
7887 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){
7888     return little_endian_read_32(event, 5);
7889 }
7890 
7891 /**
7892  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB
7893  * @param event packet
7894  * @return pb_transport_cid
7895  * @note: btstack_type 2
7896  */
7897 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){
7898     return little_endian_read_16(event, 3);
7899 }
7900 
7901 /**
7902  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7903  * @param event packet
7904  * @return pb_transport_cid
7905  * @note: btstack_type 2
7906  */
7907 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){
7908     return little_endian_read_16(event, 3);
7909 }
7910 /**
7911  * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7912  * @param event packet
7913  * @return num_elements
7914  * @note: btstack_type 1
7915  */
7916 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){
7917     return event[5];
7918 }
7919 /**
7920  * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7921  * @param event packet
7922  * @return algorithms
7923  * @note: btstack_type 2
7924  */
7925 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){
7926     return little_endian_read_16(event, 6);
7927 }
7928 /**
7929  * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7930  * @param event packet
7931  * @return public_key
7932  * @note: btstack_type 1
7933  */
7934 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){
7935     return event[8];
7936 }
7937 /**
7938  * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7939  * @param event packet
7940  * @return static_oob_type
7941  * @note: btstack_type 1
7942  */
7943 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){
7944     return event[9];
7945 }
7946 /**
7947  * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7948  * @param event packet
7949  * @return output_oob_size
7950  * @note: btstack_type 1
7951  */
7952 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){
7953     return event[10];
7954 }
7955 /**
7956  * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7957  * @param event packet
7958  * @return output_oob_action
7959  * @note: btstack_type 2
7960  */
7961 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){
7962     return little_endian_read_16(event, 11);
7963 }
7964 /**
7965  * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7966  * @param event packet
7967  * @return input_oob_size
7968  * @note: btstack_type 1
7969  */
7970 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){
7971     return event[13];
7972 }
7973 /**
7974  * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7975  * @param event packet
7976  * @return input_oob_action
7977  * @note: btstack_type 2
7978  */
7979 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){
7980     return little_endian_read_16(event, 14);
7981 }
7982 
7983 /**
7984  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE
7985  * @param event packet
7986  * @return pb_transport_cid
7987  * @note: btstack_type 2
7988  */
7989 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){
7990     return little_endian_read_16(event, 3);
7991 }
7992 
7993 /**
7994  * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER
7995  * @param event packet
7996  * @return attention_time
7997  * @note: btstack_type 1
7998  */
7999 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){
8000     return event[3];
8001 }
8002 
8003 /**
8004  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED
8005  * @param event packet
8006  * @return con_handle
8007  * @note: btstack_type H
8008  */
8009 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){
8010     return little_endian_read_16(event, 3);
8011 }
8012 
8013 /**
8014  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT
8015  * @param event packet
8016  * @return con_handle
8017  * @note: btstack_type H
8018  */
8019 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){
8020     return little_endian_read_16(event, 3);
8021 }
8022 
8023 /**
8024  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED
8025  * @param event packet
8026  * @return con_handle
8027  * @note: btstack_type H
8028  */
8029 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){
8030     return little_endian_read_16(event, 3);
8031 }
8032 
8033 /**
8034  * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT
8035  * @param event packet
8036  * @return con_handle
8037  * @note: btstack_type H
8038  */
8039 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){
8040     return little_endian_read_16(event, 3);
8041 }
8042 
8043 /**
8044  * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL
8045  * @param event packet
8046  * @return element_index
8047  * @note: btstack_type 1
8048  */
8049 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){
8050     return event[3];
8051 }
8052 /**
8053  * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL
8054  * @param event packet
8055  * @return model_identifier
8056  * @note: btstack_type 4
8057  */
8058 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){
8059     return little_endian_read_32(event, 4);
8060 }
8061 /**
8062  * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL
8063  * @param event packet
8064  * @return state_identifier
8065  * @note: btstack_type 4
8066  */
8067 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){
8068     return little_endian_read_32(event, 8);
8069 }
8070 /**
8071  * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL
8072  * @param event packet
8073  * @return reason
8074  * @note: btstack_type 1
8075  */
8076 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){
8077     return event[12];
8078 }
8079 /**
8080  * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL
8081  * @param event packet
8082  * @return value
8083  * @note: btstack_type 1
8084  */
8085 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){
8086     return event[13];
8087 }
8088 
8089 /**
8090  * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16
8091  * @param event packet
8092  * @return element_index
8093  * @note: btstack_type 1
8094  */
8095 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){
8096     return event[3];
8097 }
8098 /**
8099  * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16
8100  * @param event packet
8101  * @return model_identifier
8102  * @note: btstack_type 4
8103  */
8104 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){
8105     return little_endian_read_32(event, 4);
8106 }
8107 /**
8108  * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16
8109  * @param event packet
8110  * @return state_identifier
8111  * @note: btstack_type 4
8112  */
8113 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){
8114     return little_endian_read_32(event, 8);
8115 }
8116 /**
8117  * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16
8118  * @param event packet
8119  * @return reason
8120  * @note: btstack_type 1
8121  */
8122 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){
8123     return event[12];
8124 }
8125 /**
8126  * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16
8127  * @param event packet
8128  * @return value
8129  * @note: btstack_type 2
8130  */
8131 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){
8132     return little_endian_read_16(event, 13);
8133 }
8134 
8135 /**
8136  * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
8137  * @param event packet
8138  * @return element_index
8139  * @note: btstack_type 1
8140  */
8141 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){
8142     return event[3];
8143 }
8144 /**
8145  * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
8146  * @param event packet
8147  * @return model_identifier
8148  * @note: btstack_type 4
8149  */
8150 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){
8151     return little_endian_read_32(event, 4);
8152 }
8153 /**
8154  * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
8155  * @param event packet
8156  * @return opcode
8157  * @note: btstack_type 4
8158  */
8159 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){
8160     return little_endian_read_32(event, 8);
8161 }
8162 /**
8163  * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
8164  * @param event packet
8165  * @return dest
8166  * @note: btstack_type 2
8167  */
8168 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){
8169     return little_endian_read_16(event, 12);
8170 }
8171 
8172 /**
8173  * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF
8174  * @param event packet
8175  * @return dest
8176  * @note: btstack_type 2
8177  */
8178 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){
8179     return little_endian_read_16(event, 3);
8180 }
8181 /**
8182  * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF
8183  * @param event packet
8184  * @return status
8185  * @note: btstack_type 1
8186  */
8187 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){
8188     return event[5];
8189 }
8190 /**
8191  * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF
8192  * @param event packet
8193  * @return present_value
8194  * @note: btstack_type 1
8195  */
8196 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){
8197     return event[6];
8198 }
8199 /**
8200  * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF
8201  * @param event packet
8202  * @return target_value
8203  * @note: btstack_type 1
8204  */
8205 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){
8206     return event[7];
8207 }
8208 /**
8209  * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF
8210  * @param event packet
8211  * @return remaining_time_ms
8212  * @note: btstack_type 4
8213  */
8214 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){
8215     return little_endian_read_32(event, 8);
8216 }
8217 
8218 /**
8219  * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL
8220  * @param event packet
8221  * @return dest
8222  * @note: btstack_type 2
8223  */
8224 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){
8225     return little_endian_read_16(event, 3);
8226 }
8227 /**
8228  * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL
8229  * @param event packet
8230  * @return status
8231  * @note: btstack_type 1
8232  */
8233 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){
8234     return event[5];
8235 }
8236 /**
8237  * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL
8238  * @param event packet
8239  * @return present_value
8240  * @note: btstack_type 2
8241  */
8242 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){
8243     return little_endian_read_16(event, 6);
8244 }
8245 /**
8246  * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL
8247  * @param event packet
8248  * @return target_value
8249  * @note: btstack_type 2
8250  */
8251 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){
8252     return little_endian_read_16(event, 8);
8253 }
8254 /**
8255  * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL
8256  * @param event packet
8257  * @return remaining_time_ms
8258  * @note: btstack_type 4
8259  */
8260 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){
8261     return little_endian_read_32(event, 10);
8262 }
8263 
8264 /**
8265  * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8266  * @param event packet
8267  * @return dest
8268  * @note: btstack_type 2
8269  */
8270 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){
8271     return little_endian_read_16(event, 3);
8272 }
8273 /**
8274  * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8275  * @param event packet
8276  * @return netkey_index
8277  * @note: btstack_type 2
8278  */
8279 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){
8280     return little_endian_read_16(event, 5);
8281 }
8282 /**
8283  * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8284  * @param event packet
8285  * @return appkey_index
8286  * @note: btstack_type 2
8287  */
8288 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){
8289     return little_endian_read_16(event, 7);
8290 }
8291 /**
8292  * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8293  * @param event packet
8294  * @return company_id
8295  * @note: btstack_type 2
8296  */
8297 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){
8298     return little_endian_read_16(event, 9);
8299 }
8300 /**
8301  * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8302  * @param event packet
8303  * @return test_id
8304  * @note: btstack_type 1
8305  */
8306 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){
8307     return event[11];
8308 }
8309 /**
8310  * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8311  * @param event packet
8312  * @return acknowledged
8313  * @note: btstack_type 1
8314  */
8315 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){
8316     return event[12];
8317 }
8318 
8319 /**
8320  * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED
8321  * @param event packet
8322  * @return element_index
8323  * @note: btstack_type 1
8324  */
8325 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){
8326     return event[3];
8327 }
8328 
8329 /**
8330  * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME
8331  * @param event packet
8332  * @return dest
8333  * @note: btstack_type 2
8334  */
8335 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){
8336     return little_endian_read_16(event, 3);
8337 }
8338 /**
8339  * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME
8340  * @param event packet
8341  * @return status
8342  * @note: btstack_type 1
8343  */
8344 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){
8345     return event[5];
8346 }
8347 /**
8348  * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME
8349  * @param event packet
8350  * @return transition_time_gdtt
8351  * @note: btstack_type 1
8352  */
8353 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){
8354     return event[6];
8355 }
8356 
8357 /**
8358  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON
8359  * @param event packet
8360  * @return dest
8361  * @note: btstack_type 2
8362  */
8363 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){
8364     return little_endian_read_16(event, 3);
8365 }
8366 /**
8367  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON
8368  * @param event packet
8369  * @return foundation_status
8370  * @note: btstack_type 1
8371  */
8372 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){
8373     return event[5];
8374 }
8375 /**
8376  * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON
8377  * @param event packet
8378  * @return secure_network_beacon_state
8379  * @note: btstack_type 1
8380  */
8381 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){
8382     return event[6];
8383 }
8384 
8385 /**
8386  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL
8387  * @param event packet
8388  * @return dest
8389  * @note: btstack_type 2
8390  */
8391 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){
8392     return little_endian_read_16(event, 3);
8393 }
8394 /**
8395  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL
8396  * @param event packet
8397  * @return foundation_status
8398  * @note: btstack_type 1
8399  */
8400 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){
8401     return event[5];
8402 }
8403 /**
8404  * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL
8405  * @param event packet
8406  * @return default_ttl
8407  * @note: btstack_type 1
8408  */
8409 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){
8410     return event[6];
8411 }
8412 
8413 /**
8414  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY
8415  * @param event packet
8416  * @return dest
8417  * @note: btstack_type 2
8418  */
8419 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){
8420     return little_endian_read_16(event, 3);
8421 }
8422 /**
8423  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY
8424  * @param event packet
8425  * @return foundation_status
8426  * @note: btstack_type 1
8427  */
8428 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){
8429     return event[5];
8430 }
8431 /**
8432  * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY
8433  * @param event packet
8434  * @return gatt_proxy_state
8435  * @note: btstack_type 1
8436  */
8437 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){
8438     return event[6];
8439 }
8440 
8441 /**
8442  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY
8443  * @param event packet
8444  * @return dest
8445  * @note: btstack_type 2
8446  */
8447 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){
8448     return little_endian_read_16(event, 3);
8449 }
8450 /**
8451  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY
8452  * @param event packet
8453  * @return foundation_status
8454  * @note: btstack_type 1
8455  */
8456 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){
8457     return event[5];
8458 }
8459 /**
8460  * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY
8461  * @param event packet
8462  * @return relay
8463  * @note: btstack_type 1
8464  */
8465 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){
8466     return event[6];
8467 }
8468 /**
8469  * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY
8470  * @param event packet
8471  * @return retransmit_count
8472  * @note: btstack_type 1
8473  */
8474 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){
8475     return event[7];
8476 }
8477 /**
8478  * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY
8479  * @param event packet
8480  * @return retransmit_interval_ms
8481  * @note: btstack_type 1
8482  */
8483 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){
8484     return event[8];
8485 }
8486 
8487 /**
8488  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8489  * @param event packet
8490  * @return dest
8491  * @note: btstack_type 2
8492  */
8493 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){
8494     return little_endian_read_16(event, 3);
8495 }
8496 /**
8497  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8498  * @param event packet
8499  * @return foundation_status
8500  * @note: btstack_type 1
8501  */
8502 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){
8503     return event[5];
8504 }
8505 /**
8506  * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8507  * @param event packet
8508  * @return publish_address
8509  * @note: btstack_type 2
8510  */
8511 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){
8512     return little_endian_read_16(event, 6);
8513 }
8514 /**
8515  * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8516  * @param event packet
8517  * @return appkey_index
8518  * @note: btstack_type 2
8519  */
8520 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){
8521     return little_endian_read_16(event, 8);
8522 }
8523 /**
8524  * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8525  * @param event packet
8526  * @return credential_flag
8527  * @note: btstack_type 1
8528  */
8529 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){
8530     return event[10];
8531 }
8532 /**
8533  * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8534  * @param event packet
8535  * @return publish_ttl
8536  * @note: btstack_type 1
8537  */
8538 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){
8539     return event[11];
8540 }
8541 /**
8542  * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8543  * @param event packet
8544  * @return publish_period
8545  * @note: btstack_type 1
8546  */
8547 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){
8548     return event[12];
8549 }
8550 /**
8551  * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8552  * @param event packet
8553  * @return publish_retransmit_count
8554  * @note: btstack_type 1
8555  */
8556 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){
8557     return event[13];
8558 }
8559 /**
8560  * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8561  * @param event packet
8562  * @return publish_retransmit_interval_steps
8563  * @note: btstack_type 1
8564  */
8565 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){
8566     return event[14];
8567 }
8568 /**
8569  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8570  * @param event packet
8571  * @return model_identifier
8572  * @note: btstack_type 4
8573  */
8574 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){
8575     return little_endian_read_32(event, 15);
8576 }
8577 
8578 /**
8579  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8580  * @param event packet
8581  * @return dest
8582  * @note: btstack_type 2
8583  */
8584 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){
8585     return little_endian_read_16(event, 3);
8586 }
8587 /**
8588  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8589  * @param event packet
8590  * @return foundation_status
8591  * @note: btstack_type 1
8592  */
8593 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){
8594     return event[5];
8595 }
8596 /**
8597  * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8598  * @param event packet
8599  * @return address
8600  * @note: btstack_type 2
8601  */
8602 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){
8603     return little_endian_read_16(event, 6);
8604 }
8605 /**
8606  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8607  * @param event packet
8608  * @return model_identifier
8609  * @note: btstack_type 4
8610  */
8611 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){
8612     return little_endian_read_32(event, 8);
8613 }
8614 
8615 /**
8616  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8617  * @param event packet
8618  * @return dest
8619  * @note: btstack_type 2
8620  */
8621 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){
8622     return little_endian_read_16(event, 3);
8623 }
8624 /**
8625  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8626  * @param event packet
8627  * @return foundation_status
8628  * @note: btstack_type 1
8629  */
8630 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){
8631     return event[5];
8632 }
8633 /**
8634  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8635  * @param event packet
8636  * @return model_identifier
8637  * @note: btstack_type 4
8638  */
8639 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){
8640     return little_endian_read_32(event, 6);
8641 }
8642 /**
8643  * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8644  * @param event packet
8645  * @return num_subscription_addresses
8646  * @note: btstack_type 1
8647  */
8648 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){
8649     return event[10];
8650 }
8651 /**
8652  * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8653  * @param event packet
8654  * @return subscription_address_pos
8655  * @note: btstack_type 1
8656  */
8657 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){
8658     return event[11];
8659 }
8660 /**
8661  * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8662  * @param event packet
8663  * @return subscription_address_item
8664  * @note: btstack_type 2
8665  */
8666 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){
8667     return little_endian_read_16(event, 12);
8668 }
8669 
8670 /**
8671  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX
8672  * @param event packet
8673  * @return dest
8674  * @note: btstack_type 2
8675  */
8676 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){
8677     return little_endian_read_16(event, 3);
8678 }
8679 /**
8680  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX
8681  * @param event packet
8682  * @return foundation_status
8683  * @note: btstack_type 1
8684  */
8685 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){
8686     return event[5];
8687 }
8688 
8689 /**
8690  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8691  * @param event packet
8692  * @return dest
8693  * @note: btstack_type 2
8694  */
8695 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){
8696     return little_endian_read_16(event, 3);
8697 }
8698 /**
8699  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8700  * @param event packet
8701  * @return foundation_status
8702  * @note: btstack_type 1
8703  */
8704 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){
8705     return event[5];
8706 }
8707 /**
8708  * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8709  * @param event packet
8710  * @return num_netkey_indexes
8711  * @note: btstack_type 1
8712  */
8713 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){
8714     return event[6];
8715 }
8716 /**
8717  * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8718  * @param event packet
8719  * @return netkey_index_pos
8720  * @note: btstack_type 1
8721  */
8722 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){
8723     return event[7];
8724 }
8725 /**
8726  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8727  * @param event packet
8728  * @return netkey_index_item
8729  * @note: btstack_type 2
8730  */
8731 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){
8732     return little_endian_read_16(event, 8);
8733 }
8734 
8735 /**
8736  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8737  * @param event packet
8738  * @return dest
8739  * @note: btstack_type 2
8740  */
8741 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){
8742     return little_endian_read_16(event, 3);
8743 }
8744 /**
8745  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8746  * @param event packet
8747  * @return foundation_status
8748  * @note: btstack_type 1
8749  */
8750 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){
8751     return event[5];
8752 }
8753 /**
8754  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8755  * @param event packet
8756  * @return netkey_index_item
8757  * @note: btstack_type 2
8758  */
8759 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){
8760     return little_endian_read_16(event, 6);
8761 }
8762 /**
8763  * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8764  * @param event packet
8765  * @return appkey_index_item
8766  * @note: btstack_type 2
8767  */
8768 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){
8769     return little_endian_read_16(event, 8);
8770 }
8771 
8772 /**
8773  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8774  * @param event packet
8775  * @return dest
8776  * @note: btstack_type 2
8777  */
8778 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){
8779     return little_endian_read_16(event, 3);
8780 }
8781 /**
8782  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8783  * @param event packet
8784  * @return foundation_status
8785  * @note: btstack_type 1
8786  */
8787 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){
8788     return event[5];
8789 }
8790 /**
8791  * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8792  * @param event packet
8793  * @return netkey_index
8794  * @note: btstack_type 2
8795  */
8796 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){
8797     return little_endian_read_16(event, 6);
8798 }
8799 /**
8800  * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8801  * @param event packet
8802  * @return num_appkey_indexes
8803  * @note: btstack_type 1
8804  */
8805 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){
8806     return event[8];
8807 }
8808 /**
8809  * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8810  * @param event packet
8811  * @return appkey_index_pos
8812  * @note: btstack_type 1
8813  */
8814 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){
8815     return event[9];
8816 }
8817 /**
8818  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8819  * @param event packet
8820  * @return netkey_index_item
8821  * @note: btstack_type 2
8822  */
8823 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){
8824     return little_endian_read_16(event, 10);
8825 }
8826 /**
8827  * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8828  * @param event packet
8829  * @return appkey_index_item
8830  * @note: btstack_type 2
8831  */
8832 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){
8833     return little_endian_read_16(event, 12);
8834 }
8835 
8836 /**
8837  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8838  * @param event packet
8839  * @return dest
8840  * @note: btstack_type 2
8841  */
8842 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){
8843     return little_endian_read_16(event, 3);
8844 }
8845 /**
8846  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8847  * @param event packet
8848  * @return foundation_status
8849  * @note: btstack_type 1
8850  */
8851 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){
8852     return event[5];
8853 }
8854 /**
8855  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8856  * @param event packet
8857  * @return netkey_index_item
8858  * @note: btstack_type 2
8859  */
8860 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){
8861     return little_endian_read_16(event, 6);
8862 }
8863 /**
8864  * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8865  * @param event packet
8866  * @return identity_status
8867  * @note: btstack_type 1
8868  */
8869 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){
8870     return event[8];
8871 }
8872 
8873 /**
8874  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8875  * @param event packet
8876  * @return dest
8877  * @note: btstack_type 2
8878  */
8879 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){
8880     return little_endian_read_16(event, 3);
8881 }
8882 /**
8883  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8884  * @param event packet
8885  * @return foundation_status
8886  * @note: btstack_type 1
8887  */
8888 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){
8889     return event[5];
8890 }
8891 /**
8892  * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8893  * @param event packet
8894  * @return appkey_index
8895  * @note: btstack_type 2
8896  */
8897 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){
8898     return little_endian_read_16(event, 6);
8899 }
8900 /**
8901  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8902  * @param event packet
8903  * @return model_identifier
8904  * @note: btstack_type 4
8905  */
8906 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){
8907     return little_endian_read_32(event, 8);
8908 }
8909 
8910 /**
8911  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8912  * @param event packet
8913  * @return dest
8914  * @note: btstack_type 2
8915  */
8916 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){
8917     return little_endian_read_16(event, 3);
8918 }
8919 /**
8920  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8921  * @param event packet
8922  * @return foundation_status
8923  * @note: btstack_type 1
8924  */
8925 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){
8926     return event[5];
8927 }
8928 /**
8929  * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8930  * @param event packet
8931  * @return model_id
8932  * @note: btstack_type 4
8933  */
8934 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){
8935     return little_endian_read_32(event, 6);
8936 }
8937 /**
8938  * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8939  * @param event packet
8940  * @return num_appkey_indexes
8941  * @note: btstack_type 1
8942  */
8943 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){
8944     return event[10];
8945 }
8946 /**
8947  * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8948  * @param event packet
8949  * @return appkey_index_pos
8950  * @note: btstack_type 1
8951  */
8952 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){
8953     return event[11];
8954 }
8955 /**
8956  * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8957  * @param event packet
8958  * @return appkey_index_item
8959  * @note: btstack_type 2
8960  */
8961 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){
8962     return little_endian_read_16(event, 12);
8963 }
8964 
8965 /**
8966  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET
8967  * @param event packet
8968  * @return dest
8969  * @note: btstack_type 2
8970  */
8971 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){
8972     return little_endian_read_16(event, 3);
8973 }
8974 /**
8975  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET
8976  * @param event packet
8977  * @return foundation_status
8978  * @note: btstack_type 1
8979  */
8980 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){
8981     return event[5];
8982 }
8983 
8984 /**
8985  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND
8986  * @param event packet
8987  * @return dest
8988  * @note: btstack_type 2
8989  */
8990 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){
8991     return little_endian_read_16(event, 3);
8992 }
8993 /**
8994  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND
8995  * @param event packet
8996  * @return foundation_status
8997  * @note: btstack_type 1
8998  */
8999 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){
9000     return event[5];
9001 }
9002 /**
9003  * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND
9004  * @param event packet
9005  * @return friend_state
9006  * @note: btstack_type 1
9007  */
9008 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){
9009     return event[6];
9010 }
9011 
9012 /**
9013  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
9014  * @param event packet
9015  * @return dest
9016  * @note: btstack_type 2
9017  */
9018 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){
9019     return little_endian_read_16(event, 3);
9020 }
9021 /**
9022  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
9023  * @param event packet
9024  * @return foundation_status
9025  * @note: btstack_type 1
9026  */
9027 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){
9028     return event[5];
9029 }
9030 /**
9031  * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
9032  * @param event packet
9033  * @return netkey_index
9034  * @note: btstack_type 2
9035  */
9036 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){
9037     return little_endian_read_16(event, 6);
9038 }
9039 /**
9040  * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
9041  * @param event packet
9042  * @return phase
9043  * @note: btstack_type 1
9044  */
9045 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){
9046     return event[8];
9047 }
9048 
9049 /**
9050  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9051  * @param event packet
9052  * @return dest
9053  * @note: btstack_type 2
9054  */
9055 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){
9056     return little_endian_read_16(event, 3);
9057 }
9058 /**
9059  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9060  * @param event packet
9061  * @return foundation_status
9062  * @note: btstack_type 1
9063  */
9064 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){
9065     return event[5];
9066 }
9067 /**
9068  * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9069  * @param event packet
9070  * @return heartbeat_destination
9071  * @note: btstack_type 2
9072  */
9073 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){
9074     return little_endian_read_16(event, 6);
9075 }
9076 /**
9077  * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9078  * @param event packet
9079  * @return count_S
9080  * @note: btstack_type 2
9081  */
9082 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){
9083     return little_endian_read_16(event, 8);
9084 }
9085 /**
9086  * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9087  * @param event packet
9088  * @return period_S
9089  * @note: btstack_type 2
9090  */
9091 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){
9092     return little_endian_read_16(event, 10);
9093 }
9094 /**
9095  * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9096  * @param event packet
9097  * @return ttl
9098  * @note: btstack_type 1
9099  */
9100 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){
9101     return event[12];
9102 }
9103 /**
9104  * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9105  * @param event packet
9106  * @return features
9107  * @note: btstack_type 2
9108  */
9109 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){
9110     return little_endian_read_16(event, 13);
9111 }
9112 /**
9113  * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
9114  * @param event packet
9115  * @return netkey_index
9116  * @note: btstack_type 2
9117  */
9118 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){
9119     return little_endian_read_16(event, 15);
9120 }
9121 
9122 /**
9123  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9124  * @param event packet
9125  * @return dest
9126  * @note: btstack_type 2
9127  */
9128 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){
9129     return little_endian_read_16(event, 3);
9130 }
9131 /**
9132  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9133  * @param event packet
9134  * @return foundation_status
9135  * @note: btstack_type 1
9136  */
9137 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){
9138     return event[5];
9139 }
9140 /**
9141  * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9142  * @param event packet
9143  * @return heartbeat_destination
9144  * @note: btstack_type 2
9145  */
9146 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){
9147     return little_endian_read_16(event, 6);
9148 }
9149 /**
9150  * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9151  * @param event packet
9152  * @return heartbeat_source
9153  * @note: btstack_type 2
9154  */
9155 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){
9156     return little_endian_read_16(event, 8);
9157 }
9158 /**
9159  * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9160  * @param event packet
9161  * @return count_S
9162  * @note: btstack_type 2
9163  */
9164 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){
9165     return little_endian_read_16(event, 10);
9166 }
9167 /**
9168  * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9169  * @param event packet
9170  * @return period_S
9171  * @note: btstack_type 2
9172  */
9173 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){
9174     return little_endian_read_16(event, 12);
9175 }
9176 /**
9177  * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9178  * @param event packet
9179  * @return min_hops
9180  * @note: btstack_type 1
9181  */
9182 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){
9183     return event[14];
9184 }
9185 /**
9186  * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9187  * @param event packet
9188  * @return max_hops
9189  * @note: btstack_type 1
9190  */
9191 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){
9192     return event[15];
9193 }
9194 
9195 /**
9196  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9197  * @param event packet
9198  * @return dest
9199  * @note: btstack_type 2
9200  */
9201 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){
9202     return little_endian_read_16(event, 3);
9203 }
9204 /**
9205  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9206  * @param event packet
9207  * @return foundation_status
9208  * @note: btstack_type 1
9209  */
9210 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){
9211     return event[5];
9212 }
9213 /**
9214  * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9215  * @param event packet
9216  * @return lpn_address
9217  * @note: btstack_type 2
9218  */
9219 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){
9220     return little_endian_read_16(event, 6);
9221 }
9222 /**
9223  * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9224  * @param event packet
9225  * @return poll_timeout
9226  * @note: btstack_type 3
9227  */
9228 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){
9229     return little_endian_read_24(event, 8);
9230 }
9231 
9232 /**
9233  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9234  * @param event packet
9235  * @return dest
9236  * @note: btstack_type 2
9237  */
9238 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){
9239     return little_endian_read_16(event, 3);
9240 }
9241 /**
9242  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9243  * @param event packet
9244  * @return foundation_status
9245  * @note: btstack_type 1
9246  */
9247 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){
9248     return event[5];
9249 }
9250 /**
9251  * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9252  * @param event packet
9253  * @return transmit_count
9254  * @note: btstack_type 1
9255  */
9256 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){
9257     return event[6];
9258 }
9259 /**
9260  * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9261  * @param event packet
9262  * @return transmit_interval_steps_ms
9263  * @note: btstack_type 2
9264  */
9265 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){
9266     return little_endian_read_16(event, 7);
9267 }
9268 
9269 
9270 
9271 /* API_END */
9272 
9273 #if defined __cplusplus
9274 }
9275 #endif
9276 
9277 #endif // BTSTACK_EVENT_H
9278