xref: /btstack/src/btstack_event.h (revision 12a574e5127df5d48a19aab85d86bb7687c2e7a0)
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_PASSKEY_DISPLAY_NUMBER
2578  * @param event packet
2579  * @return handle
2580  * @note: btstack_type H
2581  */
2582 static inline hci_con_handle_t sm_event_passkey_display_number_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_PASSKEY_DISPLAY_NUMBER
2587  * @param event packet
2588  * @return addr_type
2589  * @note: btstack_type 1
2590  */
2591 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
2592     return event[4];
2593 }
2594 /**
2595  * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2596  * @param event packet
2597  * @param Pointer to storage for address
2598  * @note: btstack_type B
2599  */
2600 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
2601     reverse_bytes(&event[5], address, 6);
2602 }
2603 /**
2604  * @brief Get field passkey from event SM_EVENT_PASSKEY_DISPLAY_NUMBER
2605  * @param event packet
2606  * @return passkey
2607  * @note: btstack_type 4
2608  */
2609 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
2610     return little_endian_read_32(event, 11);
2611 }
2612 #endif
2613 
2614 #ifdef ENABLE_BLE
2615 /**
2616  * @brief Get field handle from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2617  * @param event packet
2618  * @return handle
2619  * @note: btstack_type H
2620  */
2621 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
2622     return little_endian_read_16(event, 2);
2623 }
2624 /**
2625  * @brief Get field addr_type from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2626  * @param event packet
2627  * @return addr_type
2628  * @note: btstack_type 1
2629  */
2630 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
2631     return event[4];
2632 }
2633 /**
2634  * @brief Get field address from event SM_EVENT_PASSKEY_DISPLAY_CANCEL
2635  * @param event packet
2636  * @param Pointer to storage for address
2637  * @note: btstack_type B
2638  */
2639 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
2640     reverse_bytes(&event[5], address, 6);
2641 }
2642 #endif
2643 
2644 #ifdef ENABLE_BLE
2645 /**
2646  * @brief Get field handle from event SM_EVENT_PASSKEY_INPUT_NUMBER
2647  * @param event packet
2648  * @return handle
2649  * @note: btstack_type H
2650  */
2651 static inline hci_con_handle_t sm_event_passkey_input_number_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_INPUT_NUMBER
2656  * @param event packet
2657  * @return addr_type
2658  * @note: btstack_type 1
2659  */
2660 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
2661     return event[4];
2662 }
2663 /**
2664  * @brief Get field address from event SM_EVENT_PASSKEY_INPUT_NUMBER
2665  * @param event packet
2666  * @param Pointer to storage for address
2667  * @note: btstack_type B
2668  */
2669 static inline void sm_event_passkey_input_number_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_NUMERIC_COMPARISON_REQUEST
2677  * @param event packet
2678  * @return handle
2679  * @note: btstack_type H
2680  */
2681 static inline hci_con_handle_t sm_event_numeric_comparison_request_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_NUMERIC_COMPARISON_REQUEST
2686  * @param event packet
2687  * @return addr_type
2688  * @note: btstack_type 1
2689  */
2690 static inline uint8_t sm_event_numeric_comparison_request_get_addr_type(const uint8_t * event){
2691     return event[4];
2692 }
2693 /**
2694  * @brief Get field address from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2695  * @param event packet
2696  * @param Pointer to storage for address
2697  * @note: btstack_type B
2698  */
2699 static inline void sm_event_numeric_comparison_request_get_address(const uint8_t * event, bd_addr_t address){
2700     reverse_bytes(&event[5], address, 6);
2701 }
2702 /**
2703  * @brief Get field passkey from event SM_EVENT_NUMERIC_COMPARISON_REQUEST
2704  * @param event packet
2705  * @return passkey
2706  * @note: btstack_type 4
2707  */
2708 static inline uint32_t sm_event_numeric_comparison_request_get_passkey(const uint8_t * event){
2709     return little_endian_read_32(event, 11);
2710 }
2711 #endif
2712 
2713 #ifdef ENABLE_BLE
2714 /**
2715  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2716  * @param event packet
2717  * @return handle
2718  * @note: btstack_type H
2719  */
2720 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
2721     return little_endian_read_16(event, 2);
2722 }
2723 /**
2724  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2725  * @param event packet
2726  * @return addr_type
2727  * @note: btstack_type 1
2728  */
2729 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
2730     return event[4];
2731 }
2732 /**
2733  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_STARTED
2734  * @param event packet
2735  * @param Pointer to storage for address
2736  * @note: btstack_type B
2737  */
2738 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
2739     reverse_bytes(&event[5], address, 6);
2740 }
2741 #endif
2742 
2743 #ifdef ENABLE_BLE
2744 /**
2745  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2746  * @param event packet
2747  * @return handle
2748  * @note: btstack_type H
2749  */
2750 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
2751     return little_endian_read_16(event, 2);
2752 }
2753 /**
2754  * @brief Get field addr_type from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2755  * @param event packet
2756  * @return addr_type
2757  * @note: btstack_type 1
2758  */
2759 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
2760     return event[4];
2761 }
2762 /**
2763  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_FAILED
2764  * @param event packet
2765  * @param Pointer to storage for address
2766  * @note: btstack_type B
2767  */
2768 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
2769     reverse_bytes(&event[5], address, 6);
2770 }
2771 #endif
2772 
2773 #ifdef ENABLE_BLE
2774 /**
2775  * @brief Get field handle from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2776  * @param event packet
2777  * @return handle
2778  * @note: btstack_type H
2779  */
2780 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_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_IDENTITY_RESOLVING_SUCCEEDED
2785  * @param event packet
2786  * @return addr_type
2787  * @note: btstack_type 1
2788  */
2789 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
2790     return event[4];
2791 }
2792 /**
2793  * @brief Get field address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2794  * @param event packet
2795  * @param Pointer to storage for address
2796  * @note: btstack_type B
2797  */
2798 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
2799     reverse_bytes(&event[5], address, 6);
2800 }
2801 /**
2802  * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2803  * @param event packet
2804  * @return identity_addr_type
2805  * @note: btstack_type 1
2806  */
2807 static inline uint8_t sm_event_identity_resolving_succeeded_get_identity_addr_type(const uint8_t * event){
2808     return event[11];
2809 }
2810 /**
2811  * @brief Get field identity_address from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2812  * @param event packet
2813  * @param Pointer to storage for identity_address
2814  * @note: btstack_type B
2815  */
2816 static inline void sm_event_identity_resolving_succeeded_get_identity_address(const uint8_t * event, bd_addr_t identity_address){
2817     reverse_bytes(&event[12], identity_address, 6);
2818 }
2819 /**
2820  * @brief Get field index from event SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED
2821  * @param event packet
2822  * @return index
2823  * @note: btstack_type 2
2824  */
2825 static inline uint16_t sm_event_identity_resolving_succeeded_get_index(const uint8_t * event){
2826     return little_endian_read_16(event, 18);
2827 }
2828 #endif
2829 
2830 #ifdef ENABLE_BLE
2831 /**
2832  * @brief Get field handle from event SM_EVENT_AUTHORIZATION_REQUEST
2833  * @param event packet
2834  * @return handle
2835  * @note: btstack_type H
2836  */
2837 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
2838     return little_endian_read_16(event, 2);
2839 }
2840 /**
2841  * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_REQUEST
2842  * @param event packet
2843  * @return addr_type
2844  * @note: btstack_type 1
2845  */
2846 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
2847     return event[4];
2848 }
2849 /**
2850  * @brief Get field address from event SM_EVENT_AUTHORIZATION_REQUEST
2851  * @param event packet
2852  * @param Pointer to storage for address
2853  * @note: btstack_type B
2854  */
2855 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
2856     reverse_bytes(&event[5], address, 6);
2857 }
2858 #endif
2859 
2860 #ifdef ENABLE_BLE
2861 /**
2862  * @brief Get field handle from event SM_EVENT_AUTHORIZATION_RESULT
2863  * @param event packet
2864  * @return handle
2865  * @note: btstack_type H
2866  */
2867 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
2868     return little_endian_read_16(event, 2);
2869 }
2870 /**
2871  * @brief Get field addr_type from event SM_EVENT_AUTHORIZATION_RESULT
2872  * @param event packet
2873  * @return addr_type
2874  * @note: btstack_type 1
2875  */
2876 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
2877     return event[4];
2878 }
2879 /**
2880  * @brief Get field address from event SM_EVENT_AUTHORIZATION_RESULT
2881  * @param event packet
2882  * @param Pointer to storage for address
2883  * @note: btstack_type B
2884  */
2885 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
2886     reverse_bytes(&event[5], address, 6);
2887 }
2888 /**
2889  * @brief Get field authorization_result from event SM_EVENT_AUTHORIZATION_RESULT
2890  * @param event packet
2891  * @return authorization_result
2892  * @note: btstack_type 1
2893  */
2894 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
2895     return event[11];
2896 }
2897 #endif
2898 
2899 #ifdef ENABLE_BLE
2900 /**
2901  * @brief Get field handle from event SM_EVENT_KEYPRESS_NOTIFICATION
2902  * @param event packet
2903  * @return handle
2904  * @note: btstack_type H
2905  */
2906 static inline hci_con_handle_t sm_event_keypress_notification_get_handle(const uint8_t * event){
2907     return little_endian_read_16(event, 2);
2908 }
2909 /**
2910  * @brief Get field action from event SM_EVENT_KEYPRESS_NOTIFICATION
2911  * @param event packet
2912  * @return action
2913  * @note: btstack_type 1
2914  */
2915 static inline uint8_t sm_event_keypress_notification_get_action(const uint8_t * event){
2916     return event[4];
2917 }
2918 #endif
2919 
2920 #ifdef ENABLE_BLE
2921 /**
2922  * @brief Get field handle from event SM_EVENT_IDENTITY_CREATED
2923  * @param event packet
2924  * @return handle
2925  * @note: btstack_type H
2926  */
2927 static inline hci_con_handle_t sm_event_identity_created_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_IDENTITY_CREATED
2932  * @param event packet
2933  * @return addr_type
2934  * @note: btstack_type 1
2935  */
2936 static inline uint8_t sm_event_identity_created_get_addr_type(const uint8_t * event){
2937     return event[4];
2938 }
2939 /**
2940  * @brief Get field address from event SM_EVENT_IDENTITY_CREATED
2941  * @param event packet
2942  * @param Pointer to storage for address
2943  * @note: btstack_type B
2944  */
2945 static inline void sm_event_identity_created_get_address(const uint8_t * event, bd_addr_t address){
2946     reverse_bytes(&event[5], address, 6);
2947 }
2948 /**
2949  * @brief Get field identity_addr_type from event SM_EVENT_IDENTITY_CREATED
2950  * @param event packet
2951  * @return identity_addr_type
2952  * @note: btstack_type 1
2953  */
2954 static inline uint8_t sm_event_identity_created_get_identity_addr_type(const uint8_t * event){
2955     return event[11];
2956 }
2957 /**
2958  * @brief Get field identity_address from event SM_EVENT_IDENTITY_CREATED
2959  * @param event packet
2960  * @param Pointer to storage for identity_address
2961  * @note: btstack_type B
2962  */
2963 static inline void sm_event_identity_created_get_identity_address(const uint8_t * event, bd_addr_t identity_address){
2964     reverse_bytes(&event[12], identity_address, 6);
2965 }
2966 /**
2967  * @brief Get field index from event SM_EVENT_IDENTITY_CREATED
2968  * @param event packet
2969  * @return index
2970  * @note: btstack_type 2
2971  */
2972 static inline uint16_t sm_event_identity_created_get_index(const uint8_t * event){
2973     return little_endian_read_16(event, 18);
2974 }
2975 #endif
2976 
2977 #ifdef ENABLE_BLE
2978 /**
2979  * @brief Get field handle from event SM_EVENT_PAIRING_COMPLETE
2980  * @param event packet
2981  * @return handle
2982  * @note: btstack_type H
2983  */
2984 static inline hci_con_handle_t sm_event_pairing_complete_get_handle(const uint8_t * event){
2985     return little_endian_read_16(event, 2);
2986 }
2987 /**
2988  * @brief Get field addr_type from event SM_EVENT_PAIRING_COMPLETE
2989  * @param event packet
2990  * @return addr_type
2991  * @note: btstack_type 1
2992  */
2993 static inline uint8_t sm_event_pairing_complete_get_addr_type(const uint8_t * event){
2994     return event[4];
2995 }
2996 /**
2997  * @brief Get field address from event SM_EVENT_PAIRING_COMPLETE
2998  * @param event packet
2999  * @param Pointer to storage for address
3000  * @note: btstack_type B
3001  */
3002 static inline void sm_event_pairing_complete_get_address(const uint8_t * event, bd_addr_t address){
3003     reverse_bytes(&event[5], address, 6);
3004 }
3005 /**
3006  * @brief Get field status from event SM_EVENT_PAIRING_COMPLETE
3007  * @param event packet
3008  * @return status
3009  * @note: btstack_type 1
3010  */
3011 static inline uint8_t sm_event_pairing_complete_get_status(const uint8_t * event){
3012     return event[11];
3013 }
3014 /**
3015  * @brief Get field reason from event SM_EVENT_PAIRING_COMPLETE
3016  * @param event packet
3017  * @return reason
3018  * @note: btstack_type 1
3019  */
3020 static inline uint8_t sm_event_pairing_complete_get_reason(const uint8_t * event){
3021     return event[12];
3022 }
3023 #endif
3024 
3025 /**
3026  * @brief Get field handle from event GAP_EVENT_SECURITY_LEVEL
3027  * @param event packet
3028  * @return handle
3029  * @note: btstack_type H
3030  */
3031 static inline hci_con_handle_t gap_event_security_level_get_handle(const uint8_t * event){
3032     return little_endian_read_16(event, 2);
3033 }
3034 /**
3035  * @brief Get field security_level from event GAP_EVENT_SECURITY_LEVEL
3036  * @param event packet
3037  * @return security_level
3038  * @note: btstack_type 1
3039  */
3040 static inline uint8_t gap_event_security_level_get_security_level(const uint8_t * event){
3041     return event[4];
3042 }
3043 
3044 /**
3045  * @brief Get field status from event GAP_EVENT_DEDICATED_BONDING_COMPLETED
3046  * @param event packet
3047  * @return status
3048  * @note: btstack_type 1
3049  */
3050 static inline uint8_t gap_event_dedicated_bonding_completed_get_status(const uint8_t * event){
3051     return event[2];
3052 }
3053 /**
3054  * @brief Get field address from event GAP_EVENT_DEDICATED_BONDING_COMPLETED
3055  * @param event packet
3056  * @param Pointer to storage for address
3057  * @note: btstack_type B
3058  */
3059 static inline void gap_event_dedicated_bonding_completed_get_address(const uint8_t * event, bd_addr_t address){
3060     reverse_bytes(&event[3], address, 6);
3061 }
3062 
3063 /**
3064  * @brief Get field advertising_event_type from event GAP_EVENT_ADVERTISING_REPORT
3065  * @param event packet
3066  * @return advertising_event_type
3067  * @note: btstack_type 1
3068  */
3069 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){
3070     return event[2];
3071 }
3072 /**
3073  * @brief Get field address_type from event GAP_EVENT_ADVERTISING_REPORT
3074  * @param event packet
3075  * @return address_type
3076  * @note: btstack_type 1
3077  */
3078 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){
3079     return event[3];
3080 }
3081 /**
3082  * @brief Get field address from event GAP_EVENT_ADVERTISING_REPORT
3083  * @param event packet
3084  * @param Pointer to storage for address
3085  * @note: btstack_type B
3086  */
3087 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){
3088     reverse_bytes(&event[4], address, 6);
3089 }
3090 /**
3091  * @brief Get field rssi from event GAP_EVENT_ADVERTISING_REPORT
3092  * @param event packet
3093  * @return rssi
3094  * @note: btstack_type 1
3095  */
3096 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){
3097     return event[10];
3098 }
3099 /**
3100  * @brief Get field data_length from event GAP_EVENT_ADVERTISING_REPORT
3101  * @param event packet
3102  * @return data_length
3103  * @note: btstack_type J
3104  */
3105 static inline uint8_t gap_event_advertising_report_get_data_length(const uint8_t * event){
3106     return event[11];
3107 }
3108 /**
3109  * @brief Get field data from event GAP_EVENT_ADVERTISING_REPORT
3110  * @param event packet
3111  * @return data
3112  * @note: btstack_type V
3113  */
3114 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){
3115     return &event[12];
3116 }
3117 
3118 /**
3119  * @brief Get field bd_addr from event GAP_EVENT_INQUIRY_RESULT
3120  * @param event packet
3121  * @param Pointer to storage for bd_addr
3122  * @note: btstack_type B
3123  */
3124 static inline void gap_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3125     reverse_bytes(&event[2], bd_addr, 6);
3126 }
3127 /**
3128  * @brief Get field page_scan_repetition_mode from event GAP_EVENT_INQUIRY_RESULT
3129  * @param event packet
3130  * @return page_scan_repetition_mode
3131  * @note: btstack_type 1
3132  */
3133 static inline uint8_t gap_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){
3134     return event[8];
3135 }
3136 /**
3137  * @brief Get field class_of_device from event GAP_EVENT_INQUIRY_RESULT
3138  * @param event packet
3139  * @return class_of_device
3140  * @note: btstack_type 3
3141  */
3142 static inline uint32_t gap_event_inquiry_result_get_class_of_device(const uint8_t * event){
3143     return little_endian_read_24(event, 9);
3144 }
3145 /**
3146  * @brief Get field clock_offset from event GAP_EVENT_INQUIRY_RESULT
3147  * @param event packet
3148  * @return clock_offset
3149  * @note: btstack_type 2
3150  */
3151 static inline uint16_t gap_event_inquiry_result_get_clock_offset(const uint8_t * event){
3152     return little_endian_read_16(event, 12);
3153 }
3154 /**
3155  * @brief Get field rssi_available from event GAP_EVENT_INQUIRY_RESULT
3156  * @param event packet
3157  * @return rssi_available
3158  * @note: btstack_type 1
3159  */
3160 static inline uint8_t gap_event_inquiry_result_get_rssi_available(const uint8_t * event){
3161     return event[14];
3162 }
3163 /**
3164  * @brief Get field rssi from event GAP_EVENT_INQUIRY_RESULT
3165  * @param event packet
3166  * @return rssi
3167  * @note: btstack_type 1
3168  */
3169 static inline uint8_t gap_event_inquiry_result_get_rssi(const uint8_t * event){
3170     return event[15];
3171 }
3172 /**
3173  * @brief Get field name_available from event GAP_EVENT_INQUIRY_RESULT
3174  * @param event packet
3175  * @return name_available
3176  * @note: btstack_type 1
3177  */
3178 static inline uint8_t gap_event_inquiry_result_get_name_available(const uint8_t * event){
3179     return event[16];
3180 }
3181 /**
3182  * @brief Get field name_len from event GAP_EVENT_INQUIRY_RESULT
3183  * @param event packet
3184  * @return name_len
3185  * @note: btstack_type J
3186  */
3187 static inline uint8_t gap_event_inquiry_result_get_name_len(const uint8_t * event){
3188     return event[17];
3189 }
3190 /**
3191  * @brief Get field name from event GAP_EVENT_INQUIRY_RESULT
3192  * @param event packet
3193  * @return name
3194  * @note: btstack_type V
3195  */
3196 static inline const uint8_t * gap_event_inquiry_result_get_name(const uint8_t * event){
3197     return &event[18];
3198 }
3199 
3200 /**
3201  * @brief Get field status from event GAP_EVENT_INQUIRY_COMPLETE
3202  * @param event packet
3203  * @return status
3204  * @note: btstack_type 1
3205  */
3206 static inline uint8_t gap_event_inquiry_complete_get_status(const uint8_t * event){
3207     return event[2];
3208 }
3209 
3210 /**
3211  * @brief Get field con_handle from event GAP_EVENT_RSSI_MEASUREMENT
3212  * @param event packet
3213  * @return con_handle
3214  * @note: btstack_type H
3215  */
3216 static inline hci_con_handle_t gap_event_rssi_measurement_get_con_handle(const uint8_t * event){
3217     return little_endian_read_16(event, 2);
3218 }
3219 /**
3220  * @brief Get field rssi from event GAP_EVENT_RSSI_MEASUREMENT
3221  * @param event packet
3222  * @return rssi
3223  * @note: btstack_type 1
3224  */
3225 static inline uint8_t gap_event_rssi_measurement_get_rssi(const uint8_t * event){
3226     return event[4];
3227 }
3228 
3229 /**
3230  * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3231  * @param event packet
3232  * @return status
3233  * @note: btstack_type 1
3234  */
3235 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){
3236     return event[3];
3237 }
3238 /**
3239  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3240  * @param event packet
3241  * @return connection_handle
3242  * @note: btstack_type H
3243  */
3244 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){
3245     return little_endian_read_16(event, 4);
3246 }
3247 /**
3248  * @brief Get field role from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3249  * @param event packet
3250  * @return role
3251  * @note: btstack_type 1
3252  */
3253 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){
3254     return event[6];
3255 }
3256 /**
3257  * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3258  * @param event packet
3259  * @return peer_address_type
3260  * @note: btstack_type 1
3261  */
3262 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){
3263     return event[7];
3264 }
3265 /**
3266  * @brief Get field peer_address from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3267  * @param event packet
3268  * @param Pointer to storage for peer_address
3269  * @note: btstack_type B
3270  */
3271 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){
3272     reverse_bytes(&event[8], peer_address, 6);
3273 }
3274 /**
3275  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3276  * @param event packet
3277  * @return conn_interval
3278  * @note: btstack_type 2
3279  */
3280 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){
3281     return little_endian_read_16(event, 14);
3282 }
3283 /**
3284  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3285  * @param event packet
3286  * @return conn_latency
3287  * @note: btstack_type 2
3288  */
3289 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){
3290     return little_endian_read_16(event, 16);
3291 }
3292 /**
3293  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3294  * @param event packet
3295  * @return supervision_timeout
3296  * @note: btstack_type 2
3297  */
3298 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){
3299     return little_endian_read_16(event, 18);
3300 }
3301 /**
3302  * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_CONNECTION_COMPLETE
3303  * @param event packet
3304  * @return master_clock_accuracy
3305  * @note: btstack_type 1
3306  */
3307 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){
3308     return event[20];
3309 }
3310 
3311 /**
3312  * @brief Get field status from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3313  * @param event packet
3314  * @return status
3315  * @note: btstack_type 1
3316  */
3317 static inline uint8_t hci_subevent_le_connection_update_complete_get_status(const uint8_t * event){
3318     return event[3];
3319 }
3320 /**
3321  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3322  * @param event packet
3323  * @return connection_handle
3324  * @note: btstack_type H
3325  */
3326 static inline hci_con_handle_t hci_subevent_le_connection_update_complete_get_connection_handle(const uint8_t * event){
3327     return little_endian_read_16(event, 4);
3328 }
3329 /**
3330  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3331  * @param event packet
3332  * @return conn_interval
3333  * @note: btstack_type 2
3334  */
3335 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_interval(const uint8_t * event){
3336     return little_endian_read_16(event, 6);
3337 }
3338 /**
3339  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3340  * @param event packet
3341  * @return conn_latency
3342  * @note: btstack_type 2
3343  */
3344 static inline uint16_t hci_subevent_le_connection_update_complete_get_conn_latency(const uint8_t * event){
3345     return little_endian_read_16(event, 8);
3346 }
3347 /**
3348  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE
3349  * @param event packet
3350  * @return supervision_timeout
3351  * @note: btstack_type 2
3352  */
3353 static inline uint16_t hci_subevent_le_connection_update_complete_get_supervision_timeout(const uint8_t * event){
3354     return little_endian_read_16(event, 10);
3355 }
3356 
3357 /**
3358  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3359  * @param event packet
3360  * @return connection_handle
3361  * @note: btstack_type H
3362  */
3363 static inline hci_con_handle_t hci_subevent_le_read_remote_used_features_complete_get_connection_handle(const uint8_t * event){
3364     return little_endian_read_16(event, 3);
3365 }
3366 /**
3367  * @brief Get field random_number from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3368  * @param event packet
3369  * @return random_number
3370  * @note: btstack_type D
3371  */
3372 static inline const uint8_t * hci_subevent_le_read_remote_used_features_complete_get_random_number(const uint8_t * event){
3373     return (const uint8_t *) &event[5];
3374 }
3375 /**
3376  * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE
3377  * @param event packet
3378  * @return encryption_diversifier
3379  * @note: btstack_type 2
3380  */
3381 static inline uint16_t hci_subevent_le_read_remote_used_features_complete_get_encryption_diversifier(const uint8_t * event){
3382     return little_endian_read_16(event, 13);
3383 }
3384 
3385 /**
3386  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3387  * @param event packet
3388  * @return connection_handle
3389  * @note: btstack_type H
3390  */
3391 static inline hci_con_handle_t hci_subevent_le_long_term_key_request_get_connection_handle(const uint8_t * event){
3392     return little_endian_read_16(event, 3);
3393 }
3394 /**
3395  * @brief Get field random_number from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3396  * @param event packet
3397  * @return random_number
3398  * @note: btstack_type D
3399  */
3400 static inline const uint8_t * hci_subevent_le_long_term_key_request_get_random_number(const uint8_t * event){
3401     return (const uint8_t *) &event[5];
3402 }
3403 /**
3404  * @brief Get field encryption_diversifier from event HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST
3405  * @param event packet
3406  * @return encryption_diversifier
3407  * @note: btstack_type 2
3408  */
3409 static inline uint16_t hci_subevent_le_long_term_key_request_get_encryption_diversifier(const uint8_t * event){
3410     return little_endian_read_16(event, 13);
3411 }
3412 
3413 /**
3414  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3415  * @param event packet
3416  * @return connection_handle
3417  * @note: btstack_type H
3418  */
3419 static inline hci_con_handle_t hci_subevent_le_remote_connection_parameter_request_get_connection_handle(const uint8_t * event){
3420     return little_endian_read_16(event, 3);
3421 }
3422 /**
3423  * @brief Get field interval_min from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3424  * @param event packet
3425  * @return interval_min
3426  * @note: btstack_type 2
3427  */
3428 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_min(const uint8_t * event){
3429     return little_endian_read_16(event, 5);
3430 }
3431 /**
3432  * @brief Get field interval_max from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3433  * @param event packet
3434  * @return interval_max
3435  * @note: btstack_type 2
3436  */
3437 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_interval_max(const uint8_t * event){
3438     return little_endian_read_16(event, 7);
3439 }
3440 /**
3441  * @brief Get field latency from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3442  * @param event packet
3443  * @return latency
3444  * @note: btstack_type 2
3445  */
3446 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_latency(const uint8_t * event){
3447     return little_endian_read_16(event, 9);
3448 }
3449 /**
3450  * @brief Get field timeout from event HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
3451  * @param event packet
3452  * @return timeout
3453  * @note: btstack_type 2
3454  */
3455 static inline uint16_t hci_subevent_le_remote_connection_parameter_request_get_timeout(const uint8_t * event){
3456     return little_endian_read_16(event, 11);
3457 }
3458 
3459 /**
3460  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3461  * @param event packet
3462  * @return connection_handle
3463  * @note: btstack_type H
3464  */
3465 static inline hci_con_handle_t hci_subevent_le_data_length_change_get_connection_handle(const uint8_t * event){
3466     return little_endian_read_16(event, 3);
3467 }
3468 /**
3469  * @brief Get field max_tx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3470  * @param event packet
3471  * @return max_tx_octets
3472  * @note: btstack_type 2
3473  */
3474 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_octets(const uint8_t * event){
3475     return little_endian_read_16(event, 5);
3476 }
3477 /**
3478  * @brief Get field max_tx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3479  * @param event packet
3480  * @return max_tx_time
3481  * @note: btstack_type 2
3482  */
3483 static inline uint16_t hci_subevent_le_data_length_change_get_max_tx_time(const uint8_t * event){
3484     return little_endian_read_16(event, 7);
3485 }
3486 /**
3487  * @brief Get field max_rx_octets from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3488  * @param event packet
3489  * @return max_rx_octets
3490  * @note: btstack_type 2
3491  */
3492 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_octets(const uint8_t * event){
3493     return little_endian_read_16(event, 9);
3494 }
3495 /**
3496  * @brief Get field max_rx_time from event HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE
3497  * @param event packet
3498  * @return max_rx_time
3499  * @note: btstack_type 2
3500  */
3501 static inline uint16_t hci_subevent_le_data_length_change_get_max_rx_time(const uint8_t * event){
3502     return little_endian_read_16(event, 11);
3503 }
3504 
3505 /**
3506  * @brief Get field status from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3507  * @param event packet
3508  * @return status
3509  * @note: btstack_type 1
3510  */
3511 static inline uint8_t hci_subevent_le_read_local_p256_public_key_complete_get_status(const uint8_t * event){
3512     return event[3];
3513 }
3514 /**
3515  * @brief Get field dhkey_x from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3516  * @param event packet
3517  * @param Pointer to storage for dhkey_x
3518  * @note: btstack_type Q
3519  */
3520 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_x(const uint8_t * event, uint8_t * dhkey_x){
3521     reverse_bytes(&event[4], dhkey_x, 32);
3522 }
3523 /**
3524  * @brief Get field dhkey_y from event HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE
3525  * @param event packet
3526  * @param Pointer to storage for dhkey_y
3527  * @note: btstack_type Q
3528  */
3529 static inline void hci_subevent_le_read_local_p256_public_key_complete_get_dhkey_y(const uint8_t * event, uint8_t * dhkey_y){
3530     reverse_bytes(&event[36], dhkey_y, 32);
3531 }
3532 
3533 /**
3534  * @brief Get field status from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE
3535  * @param event packet
3536  * @return status
3537  * @note: btstack_type 1
3538  */
3539 static inline uint8_t hci_subevent_le_generate_dhkey_complete_get_status(const uint8_t * event){
3540     return event[3];
3541 }
3542 /**
3543  * @brief Get field dhkey from event HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE
3544  * @param event packet
3545  * @param Pointer to storage for dhkey
3546  * @note: btstack_type Q
3547  */
3548 static inline void hci_subevent_le_generate_dhkey_complete_get_dhkey(const uint8_t * event, uint8_t * dhkey){
3549     reverse_bytes(&event[4], dhkey, 32);
3550 }
3551 
3552 /**
3553  * @brief Get field status from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3554  * @param event packet
3555  * @return status
3556  * @note: btstack_type 1
3557  */
3558 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_status(const uint8_t * event){
3559     return event[3];
3560 }
3561 /**
3562  * @brief Get field connection_handle from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3563  * @param event packet
3564  * @return connection_handle
3565  * @note: btstack_type H
3566  */
3567 static inline hci_con_handle_t hci_subevent_le_enhanced_connection_complete_get_connection_handle(const uint8_t * event){
3568     return little_endian_read_16(event, 4);
3569 }
3570 /**
3571  * @brief Get field role from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3572  * @param event packet
3573  * @return role
3574  * @note: btstack_type 1
3575  */
3576 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_role(const uint8_t * event){
3577     return event[6];
3578 }
3579 /**
3580  * @brief Get field peer_address_type from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3581  * @param event packet
3582  * @return peer_address_type
3583  * @note: btstack_type 1
3584  */
3585 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_peer_address_type(const uint8_t * event){
3586     return event[7];
3587 }
3588 /**
3589  * @brief Get field perr_addresss from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3590  * @param event packet
3591  * @param Pointer to storage for perr_addresss
3592  * @note: btstack_type B
3593  */
3594 static inline void hci_subevent_le_enhanced_connection_complete_get_perr_addresss(const uint8_t * event, bd_addr_t perr_addresss){
3595     reverse_bytes(&event[8], perr_addresss, 6);
3596 }
3597 /**
3598  * @brief Get field local_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3599  * @param event packet
3600  * @param Pointer to storage for local_resolvable_private_addres
3601  * @note: btstack_type B
3602  */
3603 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){
3604     reverse_bytes(&event[14], local_resolvable_private_addres, 6);
3605 }
3606 /**
3607  * @brief Get field peer_resolvable_private_addres from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3608  * @param event packet
3609  * @param Pointer to storage for peer_resolvable_private_addres
3610  * @note: btstack_type B
3611  */
3612 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){
3613     reverse_bytes(&event[20], peer_resolvable_private_addres, 6);
3614 }
3615 /**
3616  * @brief Get field conn_interval from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3617  * @param event packet
3618  * @return conn_interval
3619  * @note: btstack_type 2
3620  */
3621 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_interval(const uint8_t * event){
3622     return little_endian_read_16(event, 26);
3623 }
3624 /**
3625  * @brief Get field conn_latency from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3626  * @param event packet
3627  * @return conn_latency
3628  * @note: btstack_type 2
3629  */
3630 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_conn_latency(const uint8_t * event){
3631     return little_endian_read_16(event, 28);
3632 }
3633 /**
3634  * @brief Get field supervision_timeout from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3635  * @param event packet
3636  * @return supervision_timeout
3637  * @note: btstack_type 2
3638  */
3639 static inline uint16_t hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(const uint8_t * event){
3640     return little_endian_read_16(event, 30);
3641 }
3642 /**
3643  * @brief Get field master_clock_accuracy from event HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE
3644  * @param event packet
3645  * @return master_clock_accuracy
3646  * @note: btstack_type 1
3647  */
3648 static inline uint8_t hci_subevent_le_enhanced_connection_complete_get_master_clock_accuracy(const uint8_t * event){
3649     return event[32];
3650 }
3651 
3652 /**
3653  * @brief Get field status from event HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE
3654  * @param event packet
3655  * @return status
3656  * @note: btstack_type 1
3657  */
3658 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){
3659     return event[3];
3660 }
3661 
3662 /**
3663  * @brief Get field status from event HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE
3664  * @param event packet
3665  * @return status
3666  * @note: btstack_type 1
3667  */
3668 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){
3669     return event[3];
3670 }
3671 
3672 /**
3673  * @brief Get field status from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE
3674  * @param event packet
3675  * @return status
3676  * @note: btstack_type 1
3677  */
3678 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){
3679     return event[3];
3680 }
3681 /**
3682  * @brief Get field handle from event HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE
3683  * @param event packet
3684  * @return handle
3685  * @note: btstack_type H
3686  */
3687 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){
3688     return little_endian_read_16(event, 4);
3689 }
3690 
3691 /**
3692  * @brief Get field status from event HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE
3693  * @param event packet
3694  * @return status
3695  * @note: btstack_type 1
3696  */
3697 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){
3698     return event[3];
3699 }
3700 
3701 
3702 /**
3703  * @brief Get field gain from event HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED
3704  * @param event packet
3705  * @return gain
3706  * @note: btstack_type 1
3707  */
3708 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){
3709     return event[3];
3710 }
3711 
3712 /**
3713  * @brief Get field gain from event HSP_SUBEVENT_SPEAKER_GAIN_CHANGED
3714  * @param event packet
3715  * @return gain
3716  * @note: btstack_type 1
3717  */
3718 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){
3719     return event[3];
3720 }
3721 
3722 /**
3723  * @brief Get field value_length from event HSP_SUBEVENT_HS_COMMAND
3724  * @param event packet
3725  * @return value_length
3726  * @note: btstack_type J
3727  */
3728 static inline uint8_t hsp_subevent_hs_command_get_value_length(const uint8_t * event){
3729     return event[3];
3730 }
3731 /**
3732  * @brief Get field value from event HSP_SUBEVENT_HS_COMMAND
3733  * @param event packet
3734  * @return value
3735  * @note: btstack_type V
3736  */
3737 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){
3738     return &event[4];
3739 }
3740 
3741 /**
3742  * @brief Get field value_length from event HSP_SUBEVENT_AG_INDICATION
3743  * @param event packet
3744  * @return value_length
3745  * @note: btstack_type J
3746  */
3747 static inline uint8_t hsp_subevent_ag_indication_get_value_length(const uint8_t * event){
3748     return event[3];
3749 }
3750 /**
3751  * @brief Get field value from event HSP_SUBEVENT_AG_INDICATION
3752  * @param event packet
3753  * @return value
3754  * @note: btstack_type V
3755  */
3756 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){
3757     return &event[4];
3758 }
3759 
3760 /**
3761  * @brief Get field status from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3762  * @param event packet
3763  * @return status
3764  * @note: btstack_type 1
3765  */
3766 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){
3767     return event[3];
3768 }
3769 /**
3770  * @brief Get field con_handle from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3771  * @param event packet
3772  * @return con_handle
3773  * @note: btstack_type H
3774  */
3775 static inline hci_con_handle_t hfp_subevent_service_level_connection_established_get_con_handle(const uint8_t * event){
3776     return little_endian_read_16(event, 4);
3777 }
3778 /**
3779  * @brief Get field bd_addr from event HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED
3780  * @param event packet
3781  * @param Pointer to storage for bd_addr
3782  * @note: btstack_type B
3783  */
3784 static inline void hfp_subevent_service_level_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3785     reverse_bytes(&event[6], bd_addr, 6);
3786 }
3787 
3788 
3789 /**
3790  * @brief Get field status from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3791  * @param event packet
3792  * @return status
3793  * @note: btstack_type 1
3794  */
3795 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){
3796     return event[3];
3797 }
3798 /**
3799  * @brief Get field handle from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3800  * @param event packet
3801  * @return handle
3802  * @note: btstack_type H
3803  */
3804 static inline hci_con_handle_t hfp_subevent_audio_connection_established_get_handle(const uint8_t * event){
3805     return little_endian_read_16(event, 4);
3806 }
3807 /**
3808  * @brief Get field bd_addr from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3809  * @param event packet
3810  * @param Pointer to storage for bd_addr
3811  * @note: btstack_type B
3812  */
3813 static inline void hfp_subevent_audio_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
3814     reverse_bytes(&event[6], bd_addr, 6);
3815 }
3816 /**
3817  * @brief Get field negotiated_codec from event HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED
3818  * @param event packet
3819  * @return negotiated_codec
3820  * @note: btstack_type 1
3821  */
3822 static inline uint8_t hfp_subevent_audio_connection_established_get_negotiated_codec(const uint8_t * event){
3823     return event[12];
3824 }
3825 
3826 
3827 /**
3828  * @brief Get field status from event HFP_SUBEVENT_COMPLETE
3829  * @param event packet
3830  * @return status
3831  * @note: btstack_type 1
3832  */
3833 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){
3834     return event[3];
3835 }
3836 
3837 /**
3838  * @brief Get field indicator_index from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3839  * @param event packet
3840  * @return indicator_index
3841  * @note: btstack_type 1
3842  */
3843 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){
3844     return event[3];
3845 }
3846 /**
3847  * @brief Get field indicator_status from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3848  * @param event packet
3849  * @return indicator_status
3850  * @note: btstack_type 1
3851  */
3852 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){
3853     return event[4];
3854 }
3855 /**
3856  * @brief Get field indicator_min_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3857  * @param event packet
3858  * @return indicator_min_range
3859  * @note: btstack_type 1
3860  */
3861 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(const uint8_t * event){
3862     return event[5];
3863 }
3864 /**
3865  * @brief Get field indicator_max_range from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3866  * @param event packet
3867  * @return indicator_max_range
3868  * @note: btstack_type 1
3869  */
3870 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(const uint8_t * event){
3871     return event[6];
3872 }
3873 /**
3874  * @brief Get field indicator_mandatory from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3875  * @param event packet
3876  * @return indicator_mandatory
3877  * @note: btstack_type 1
3878  */
3879 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_mandatory(const uint8_t * event){
3880     return event[7];
3881 }
3882 /**
3883  * @brief Get field indicator_enabled from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3884  * @param event packet
3885  * @return indicator_enabled
3886  * @note: btstack_type 1
3887  */
3888 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_enabled(const uint8_t * event){
3889     return event[8];
3890 }
3891 /**
3892  * @brief Get field indicator_status_changed from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3893  * @param event packet
3894  * @return indicator_status_changed
3895  * @note: btstack_type 1
3896  */
3897 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status_changed(const uint8_t * event){
3898     return event[9];
3899 }
3900 /**
3901  * @brief Get field indicator_name from event HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED
3902  * @param event packet
3903  * @return indicator_name
3904  * @note: btstack_type T
3905  */
3906 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){
3907     return (const char *) &event[10];
3908 }
3909 
3910 /**
3911  * @brief Get field network_operator_mode from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
3912  * @param event packet
3913  * @return network_operator_mode
3914  * @note: btstack_type 1
3915  */
3916 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){
3917     return event[3];
3918 }
3919 /**
3920  * @brief Get field network_operator_format from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
3921  * @param event packet
3922  * @return network_operator_format
3923  * @note: btstack_type 1
3924  */
3925 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){
3926     return event[4];
3927 }
3928 /**
3929  * @brief Get field network_operator_name from event HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED
3930  * @param event packet
3931  * @return network_operator_name
3932  * @note: btstack_type T
3933  */
3934 static inline const char * hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){
3935     return (const char *) &event[5];
3936 }
3937 
3938 /**
3939  * @brief Get field error from event HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR
3940  * @param event packet
3941  * @return error
3942  * @note: btstack_type 1
3943  */
3944 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){
3945     return event[3];
3946 }
3947 
3948 
3949 
3950 
3951 /**
3952  * @brief Get field number from event HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER
3953  * @param event packet
3954  * @return number
3955  * @note: btstack_type T
3956  */
3957 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){
3958     return (const char *) &event[3];
3959 }
3960 
3961 
3962 /**
3963  * @brief Get field number from event HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG
3964  * @param event packet
3965  * @return number
3966  * @note: btstack_type T
3967  */
3968 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){
3969     return (const char *) &event[3];
3970 }
3971 
3972 /**
3973  * @brief Get field dtmf from event HFP_SUBEVENT_TRANSMIT_DTMF_CODES
3974  * @param event packet
3975  * @return dtmf
3976  * @note: btstack_type T
3977  */
3978 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){
3979     return (const char *) &event[3];
3980 }
3981 
3982 
3983 
3984 
3985 /**
3986  * @brief Get field gain from event HFP_SUBEVENT_SPEAKER_VOLUME
3987  * @param event packet
3988  * @return gain
3989  * @note: btstack_type 1
3990  */
3991 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){
3992     return event[3];
3993 }
3994 
3995 /**
3996  * @brief Get field gain from event HFP_SUBEVENT_MICROPHONE_VOLUME
3997  * @param event packet
3998  * @return gain
3999  * @note: btstack_type 1
4000  */
4001 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){
4002     return event[3];
4003 }
4004 
4005 /**
4006  * @brief Get field type from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION
4007  * @param event packet
4008  * @return type
4009  * @note: btstack_type 1
4010  */
4011 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){
4012     return event[3];
4013 }
4014 /**
4015  * @brief Get field number from event HFP_SUBEVENT_CALL_WAITING_NOTIFICATION
4016  * @param event packet
4017  * @return number
4018  * @note: btstack_type T
4019  */
4020 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){
4021     return (const char *) &event[4];
4022 }
4023 
4024 /**
4025  * @brief Get field type from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION
4026  * @param event packet
4027  * @return type
4028  * @note: btstack_type 1
4029  */
4030 static inline uint8_t hfp_subevent_calling_line_identification_notification_get_type(const uint8_t * event){
4031     return event[3];
4032 }
4033 /**
4034  * @brief Get field number from event HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION
4035  * @param event packet
4036  * @return number
4037  * @note: btstack_type T
4038  */
4039 static inline const char * hfp_subevent_calling_line_identification_notification_get_number(const uint8_t * event){
4040     return (const char *) &event[4];
4041 }
4042 
4043 /**
4044  * @brief Get field clcc_idx from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4045  * @param event packet
4046  * @return clcc_idx
4047  * @note: btstack_type 1
4048  */
4049 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){
4050     return event[3];
4051 }
4052 /**
4053  * @brief Get field clcc_dir from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4054  * @param event packet
4055  * @return clcc_dir
4056  * @note: btstack_type 1
4057  */
4058 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){
4059     return event[4];
4060 }
4061 /**
4062  * @brief Get field clcc_status from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4063  * @param event packet
4064  * @return clcc_status
4065  * @note: btstack_type 1
4066  */
4067 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){
4068     return event[5];
4069 }
4070 /**
4071  * @brief Get field clcc_mode from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4072  * @param event packet
4073  * @return clcc_mode
4074  * @note: btstack_type 1
4075  */
4076 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mode(const uint8_t * event){
4077     return event[6];
4078 }
4079 /**
4080  * @brief Get field clcc_mpty from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4081  * @param event packet
4082  * @return clcc_mpty
4083  * @note: btstack_type 1
4084  */
4085 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){
4086     return event[7];
4087 }
4088 /**
4089  * @brief Get field bnip_type from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4090  * @param event packet
4091  * @return bnip_type
4092  * @note: btstack_type 1
4093  */
4094 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){
4095     return event[8];
4096 }
4097 /**
4098  * @brief Get field bnip_number from event HFP_SUBEVENT_ENHANCED_CALL_STATUS
4099  * @param event packet
4100  * @return bnip_number
4101  * @note: btstack_type T
4102  */
4103 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){
4104     return (const char *) &event[9];
4105 }
4106 
4107 /**
4108  * @brief Get field status from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4109  * @param event packet
4110  * @return status
4111  * @note: btstack_type 1
4112  */
4113 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){
4114     return event[3];
4115 }
4116 /**
4117  * @brief Get field bnip_type from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4118  * @param event packet
4119  * @return bnip_type
4120  * @note: btstack_type 1
4121  */
4122 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){
4123     return event[4];
4124 }
4125 /**
4126  * @brief Get field bnip_number from event HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION
4127  * @param event packet
4128  * @return bnip_number
4129  * @note: btstack_type T
4130  */
4131 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){
4132     return (const char *) &event[5];
4133 }
4134 
4135 /**
4136  * @brief Get field value from event HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS
4137  * @param event packet
4138  * @return value
4139  * @note: btstack_type T
4140  */
4141 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){
4142     return (const char *) &event[3];
4143 }
4144 
4145 #ifdef ENABLE_BLE
4146 /**
4147  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_CONNECTED
4148  * @param event packet
4149  * @return handle
4150  * @note: btstack_type H
4151  */
4152 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){
4153     return little_endian_read_16(event, 3);
4154 }
4155 #endif
4156 
4157 #ifdef ENABLE_BLE
4158 /**
4159  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4160  * @param event packet
4161  * @return handle
4162  * @note: btstack_type H
4163  */
4164 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){
4165     return little_endian_read_16(event, 3);
4166 }
4167 /**
4168  * @brief Get field attribute_id from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4169  * @param event packet
4170  * @return attribute_id
4171  * @note: btstack_type 2
4172  */
4173 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){
4174     return little_endian_read_16(event, 5);
4175 }
4176 /**
4177  * @brief Get field text from event ANCS_SUBEVENT_CLIENT_NOTIFICATION
4178  * @param event packet
4179  * @return text
4180  * @note: btstack_type T
4181  */
4182 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){
4183     return (const char *) &event[7];
4184 }
4185 #endif
4186 
4187 #ifdef ENABLE_BLE
4188 /**
4189  * @brief Get field handle from event ANCS_SUBEVENT_CLIENT_DISCONNECTED
4190  * @param event packet
4191  * @return handle
4192  * @note: btstack_type H
4193  */
4194 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){
4195     return little_endian_read_16(event, 3);
4196 }
4197 #endif
4198 
4199 /**
4200  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4201  * @param event packet
4202  * @return avdtp_cid
4203  * @note: btstack_type 2
4204  */
4205 static inline uint16_t avdtp_subevent_signaling_accept_get_avdtp_cid(const uint8_t * event){
4206     return little_endian_read_16(event, 3);
4207 }
4208 /**
4209  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4210  * @param event packet
4211  * @return local_seid
4212  * @note: btstack_type 1
4213  */
4214 static inline uint8_t avdtp_subevent_signaling_accept_get_local_seid(const uint8_t * event){
4215     return event[5];
4216 }
4217 /**
4218  * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4219  * @param event packet
4220  * @return is_initiator
4221  * @note: btstack_type 1
4222  */
4223 static inline uint8_t avdtp_subevent_signaling_accept_get_is_initiator(const uint8_t * event){
4224     return event[6];
4225 }
4226 /**
4227  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_ACCEPT
4228  * @param event packet
4229  * @return signal_identifier
4230  * @note: btstack_type 1
4231  */
4232 static inline uint8_t avdtp_subevent_signaling_accept_get_signal_identifier(const uint8_t * event){
4233     return event[7];
4234 }
4235 
4236 /**
4237  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REJECT
4238  * @param event packet
4239  * @return avdtp_cid
4240  * @note: btstack_type 2
4241  */
4242 static inline uint16_t avdtp_subevent_signaling_reject_get_avdtp_cid(const uint8_t * event){
4243     return little_endian_read_16(event, 3);
4244 }
4245 /**
4246  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_REJECT
4247  * @param event packet
4248  * @return local_seid
4249  * @note: btstack_type 1
4250  */
4251 static inline uint8_t avdtp_subevent_signaling_reject_get_local_seid(const uint8_t * event){
4252     return event[5];
4253 }
4254 /**
4255  * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_REJECT
4256  * @param event packet
4257  * @return is_initiator
4258  * @note: btstack_type 1
4259  */
4260 static inline uint8_t avdtp_subevent_signaling_reject_get_is_initiator(const uint8_t * event){
4261     return event[6];
4262 }
4263 /**
4264  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_REJECT
4265  * @param event packet
4266  * @return signal_identifier
4267  * @note: btstack_type 1
4268  */
4269 static inline uint8_t avdtp_subevent_signaling_reject_get_signal_identifier(const uint8_t * event){
4270     return event[7];
4271 }
4272 
4273 /**
4274  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4275  * @param event packet
4276  * @return avdtp_cid
4277  * @note: btstack_type 2
4278  */
4279 static inline uint16_t avdtp_subevent_signaling_general_reject_get_avdtp_cid(const uint8_t * event){
4280     return little_endian_read_16(event, 3);
4281 }
4282 /**
4283  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4284  * @param event packet
4285  * @return local_seid
4286  * @note: btstack_type 1
4287  */
4288 static inline uint8_t avdtp_subevent_signaling_general_reject_get_local_seid(const uint8_t * event){
4289     return event[5];
4290 }
4291 /**
4292  * @brief Get field is_initiator from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4293  * @param event packet
4294  * @return is_initiator
4295  * @note: btstack_type 1
4296  */
4297 static inline uint8_t avdtp_subevent_signaling_general_reject_get_is_initiator(const uint8_t * event){
4298     return event[6];
4299 }
4300 /**
4301  * @brief Get field signal_identifier from event AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT
4302  * @param event packet
4303  * @return signal_identifier
4304  * @note: btstack_type 1
4305  */
4306 static inline uint8_t avdtp_subevent_signaling_general_reject_get_signal_identifier(const uint8_t * event){
4307     return event[7];
4308 }
4309 
4310 /**
4311  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4312  * @param event packet
4313  * @return avdtp_cid
4314  * @note: btstack_type 2
4315  */
4316 static inline uint16_t avdtp_subevent_signaling_connection_established_get_avdtp_cid(const uint8_t * event){
4317     return little_endian_read_16(event, 3);
4318 }
4319 /**
4320  * @brief Get field bd_addr from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4321  * @param event packet
4322  * @param Pointer to storage for bd_addr
4323  * @note: btstack_type B
4324  */
4325 static inline void avdtp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
4326     reverse_bytes(&event[5], bd_addr, 6);
4327 }
4328 /**
4329  * @brief Get field con_handle from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4330  * @param event packet
4331  * @return con_handle
4332  * @note: btstack_type 2
4333  */
4334 static inline uint16_t avdtp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){
4335     return little_endian_read_16(event, 11);
4336 }
4337 /**
4338  * @brief Get field status from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
4339  * @param event packet
4340  * @return status
4341  * @note: btstack_type 1
4342  */
4343 static inline uint8_t avdtp_subevent_signaling_connection_established_get_status(const uint8_t * event){
4344     return event[13];
4345 }
4346 
4347 /**
4348  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED
4349  * @param event packet
4350  * @return avdtp_cid
4351  * @note: btstack_type 2
4352  */
4353 static inline uint16_t avdtp_subevent_signaling_connection_released_get_avdtp_cid(const uint8_t * event){
4354     return little_endian_read_16(event, 3);
4355 }
4356 
4357 /**
4358  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4359  * @param event packet
4360  * @return avdtp_cid
4361  * @note: btstack_type 2
4362  */
4363 static inline uint16_t avdtp_subevent_signaling_sep_found_get_avdtp_cid(const uint8_t * event){
4364     return little_endian_read_16(event, 3);
4365 }
4366 /**
4367  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4368  * @param event packet
4369  * @return remote_seid
4370  * @note: btstack_type 1
4371  */
4372 static inline uint8_t avdtp_subevent_signaling_sep_found_get_remote_seid(const uint8_t * event){
4373     return event[5];
4374 }
4375 /**
4376  * @brief Get field in_use from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4377  * @param event packet
4378  * @return in_use
4379  * @note: btstack_type 1
4380  */
4381 static inline uint8_t avdtp_subevent_signaling_sep_found_get_in_use(const uint8_t * event){
4382     return event[6];
4383 }
4384 /**
4385  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4386  * @param event packet
4387  * @return media_type
4388  * @note: btstack_type 1
4389  */
4390 static inline uint8_t avdtp_subevent_signaling_sep_found_get_media_type(const uint8_t * event){
4391     return event[7];
4392 }
4393 /**
4394  * @brief Get field sep_type from event AVDTP_SUBEVENT_SIGNALING_SEP_FOUND
4395  * @param event packet
4396  * @return sep_type
4397  * @note: btstack_type 1
4398  */
4399 static inline uint8_t avdtp_subevent_signaling_sep_found_get_sep_type(const uint8_t * event){
4400     return event[8];
4401 }
4402 
4403 /**
4404  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4405  * @param event packet
4406  * @return avdtp_cid
4407  * @note: btstack_type 2
4408  */
4409 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_capability_get_avdtp_cid(const uint8_t * event){
4410     return little_endian_read_16(event, 3);
4411 }
4412 /**
4413  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4414  * @param event packet
4415  * @return remote_seid
4416  * @note: btstack_type 1
4417  */
4418 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_remote_seid(const uint8_t * event){
4419     return event[5];
4420 }
4421 /**
4422  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4423  * @param event packet
4424  * @return media_type
4425  * @note: btstack_type 1
4426  */
4427 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_media_type(const uint8_t * event){
4428     return event[6];
4429 }
4430 /**
4431  * @brief Get field sampling_frequency_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4432  * @param event packet
4433  * @return sampling_frequency_bitmap
4434  * @note: btstack_type 1
4435  */
4436 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_sampling_frequency_bitmap(const uint8_t * event){
4437     return event[7];
4438 }
4439 /**
4440  * @brief Get field channel_mode_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4441  * @param event packet
4442  * @return channel_mode_bitmap
4443  * @note: btstack_type 1
4444  */
4445 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_channel_mode_bitmap(const uint8_t * event){
4446     return event[8];
4447 }
4448 /**
4449  * @brief Get field block_length_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4450  * @param event packet
4451  * @return block_length_bitmap
4452  * @note: btstack_type 1
4453  */
4454 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_block_length_bitmap(const uint8_t * event){
4455     return event[9];
4456 }
4457 /**
4458  * @brief Get field subbands_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4459  * @param event packet
4460  * @return subbands_bitmap
4461  * @note: btstack_type 1
4462  */
4463 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_subbands_bitmap(const uint8_t * event){
4464     return event[10];
4465 }
4466 /**
4467  * @brief Get field allocation_method_bitmap from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4468  * @param event packet
4469  * @return allocation_method_bitmap
4470  * @note: btstack_type 1
4471  */
4472 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_allocation_method_bitmap(const uint8_t * event){
4473     return event[11];
4474 }
4475 /**
4476  * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4477  * @param event packet
4478  * @return min_bitpool_value
4479  * @note: btstack_type 1
4480  */
4481 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_min_bitpool_value(const uint8_t * event){
4482     return event[12];
4483 }
4484 /**
4485  * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY
4486  * @param event packet
4487  * @return max_bitpool_value
4488  * @note: btstack_type 1
4489  */
4490 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_capability_get_max_bitpool_value(const uint8_t * event){
4491     return event[13];
4492 }
4493 
4494 /**
4495  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4496  * @param event packet
4497  * @return avdtp_cid
4498  * @note: btstack_type 2
4499  */
4500 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_avdtp_cid(const uint8_t * event){
4501     return little_endian_read_16(event, 3);
4502 }
4503 /**
4504  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4505  * @param event packet
4506  * @return remote_seid
4507  * @note: btstack_type 1
4508  */
4509 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_remote_seid(const uint8_t * event){
4510     return event[5];
4511 }
4512 /**
4513  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4514  * @param event packet
4515  * @return media_type
4516  * @note: btstack_type 1
4517  */
4518 static inline uint8_t avdtp_subevent_signaling_media_codec_other_capability_get_media_type(const uint8_t * event){
4519     return event[6];
4520 }
4521 /**
4522  * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4523  * @param event packet
4524  * @return media_codec_type
4525  * @note: btstack_type 2
4526  */
4527 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_type(const uint8_t * event){
4528     return little_endian_read_16(event, 7);
4529 }
4530 /**
4531  * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4532  * @param event packet
4533  * @return media_codec_information_len
4534  * @note: btstack_type L
4535  */
4536 static inline uint16_t avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information_len(const uint8_t * event){
4537     return little_endian_read_16(event, 9);
4538 }
4539 /**
4540  * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY
4541  * @param event packet
4542  * @return media_codec_information
4543  * @note: btstack_type V
4544  */
4545 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_capability_get_media_codec_information(const uint8_t * event){
4546     return &event[11];
4547 }
4548 
4549 /**
4550  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4551  * @param event packet
4552  * @return avdtp_cid
4553  * @note: btstack_type 2
4554  */
4555 static inline uint16_t avdtp_subevent_signaling_media_transport_capability_get_avdtp_cid(const uint8_t * event){
4556     return little_endian_read_16(event, 3);
4557 }
4558 /**
4559  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY
4560  * @param event packet
4561  * @return remote_seid
4562  * @note: btstack_type 1
4563  */
4564 static inline uint8_t avdtp_subevent_signaling_media_transport_capability_get_remote_seid(const uint8_t * event){
4565     return event[5];
4566 }
4567 
4568 /**
4569  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4570  * @param event packet
4571  * @return avdtp_cid
4572  * @note: btstack_type 2
4573  */
4574 static inline uint16_t avdtp_subevent_signaling_reporting_capability_get_avdtp_cid(const uint8_t * event){
4575     return little_endian_read_16(event, 3);
4576 }
4577 /**
4578  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY
4579  * @param event packet
4580  * @return remote_seid
4581  * @note: btstack_type 1
4582  */
4583 static inline uint8_t avdtp_subevent_signaling_reporting_capability_get_remote_seid(const uint8_t * event){
4584     return event[5];
4585 }
4586 
4587 /**
4588  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4589  * @param event packet
4590  * @return avdtp_cid
4591  * @note: btstack_type 2
4592  */
4593 static inline uint16_t avdtp_subevent_signaling_recovery_capability_get_avdtp_cid(const uint8_t * event){
4594     return little_endian_read_16(event, 3);
4595 }
4596 /**
4597  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4598  * @param event packet
4599  * @return remote_seid
4600  * @note: btstack_type 1
4601  */
4602 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_remote_seid(const uint8_t * event){
4603     return event[5];
4604 }
4605 /**
4606  * @brief Get field recovery_type from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4607  * @param event packet
4608  * @return recovery_type
4609  * @note: btstack_type 1
4610  */
4611 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_recovery_type(const uint8_t * event){
4612     return event[6];
4613 }
4614 /**
4615  * @brief Get field maximum_recovery_window_size from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4616  * @param event packet
4617  * @return maximum_recovery_window_size
4618  * @note: btstack_type 1
4619  */
4620 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_recovery_window_size(const uint8_t * event){
4621     return event[7];
4622 }
4623 /**
4624  * @brief Get field maximum_number_media_packets from event AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY
4625  * @param event packet
4626  * @return maximum_number_media_packets
4627  * @note: btstack_type 1
4628  */
4629 static inline uint8_t avdtp_subevent_signaling_recovery_capability_get_maximum_number_media_packets(const uint8_t * event){
4630     return event[8];
4631 }
4632 
4633 /**
4634  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4635  * @param event packet
4636  * @return avdtp_cid
4637  * @note: btstack_type 2
4638  */
4639 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_avdtp_cid(const uint8_t * event){
4640     return little_endian_read_16(event, 3);
4641 }
4642 /**
4643  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4644  * @param event packet
4645  * @return remote_seid
4646  * @note: btstack_type 1
4647  */
4648 static inline uint8_t avdtp_subevent_signaling_content_protection_capability_get_remote_seid(const uint8_t * event){
4649     return event[5];
4650 }
4651 /**
4652  * @brief Get field cp_type from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4653  * @param event packet
4654  * @return cp_type
4655  * @note: btstack_type 2
4656  */
4657 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type(const uint8_t * event){
4658     return little_endian_read_16(event, 6);
4659 }
4660 /**
4661  * @brief Get field cp_type_value_len from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4662  * @param event packet
4663  * @return cp_type_value_len
4664  * @note: btstack_type L
4665  */
4666 static inline uint16_t avdtp_subevent_signaling_content_protection_capability_get_cp_type_value_len(const uint8_t * event){
4667     return little_endian_read_16(event, 8);
4668 }
4669 /**
4670  * @brief Get field cp_type_value from event AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY
4671  * @param event packet
4672  * @return cp_type_value
4673  * @note: btstack_type V
4674  */
4675 static inline const uint8_t * avdtp_subevent_signaling_content_protection_capability_get_cp_type_value(const uint8_t * event){
4676     return &event[10];
4677 }
4678 
4679 /**
4680  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4681  * @param event packet
4682  * @return avdtp_cid
4683  * @note: btstack_type 2
4684  */
4685 static inline uint16_t avdtp_subevent_signaling_multiplexing_capability_get_avdtp_cid(const uint8_t * event){
4686     return little_endian_read_16(event, 3);
4687 }
4688 /**
4689  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4690  * @param event packet
4691  * @return remote_seid
4692  * @note: btstack_type 1
4693  */
4694 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_remote_seid(const uint8_t * event){
4695     return event[5];
4696 }
4697 /**
4698  * @brief Get field fragmentation from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4699  * @param event packet
4700  * @return fragmentation
4701  * @note: btstack_type 1
4702  */
4703 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_fragmentation(const uint8_t * event){
4704     return event[6];
4705 }
4706 /**
4707  * @brief Get field transport_identifiers_num from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4708  * @param event packet
4709  * @return transport_identifiers_num
4710  * @note: btstack_type 1
4711  */
4712 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_identifiers_num(const uint8_t * event){
4713     return event[7];
4714 }
4715 /**
4716  * @brief Get field transport_session_identifier_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4717  * @param event packet
4718  * @return transport_session_identifier_1
4719  * @note: btstack_type 1
4720  */
4721 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_1(const uint8_t * event){
4722     return event[8];
4723 }
4724 /**
4725  * @brief Get field transport_session_identifier_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4726  * @param event packet
4727  * @return transport_session_identifier_2
4728  * @note: btstack_type 1
4729  */
4730 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_2(const uint8_t * event){
4731     return event[9];
4732 }
4733 /**
4734  * @brief Get field transport_session_identifier_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4735  * @param event packet
4736  * @return transport_session_identifier_3
4737  * @note: btstack_type 1
4738  */
4739 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_transport_session_identifier_3(const uint8_t * event){
4740     return event[10];
4741 }
4742 /**
4743  * @brief Get field tcid_1 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4744  * @param event packet
4745  * @return tcid_1
4746  * @note: btstack_type 1
4747  */
4748 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_1(const uint8_t * event){
4749     return event[11];
4750 }
4751 /**
4752  * @brief Get field tcid_2 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4753  * @param event packet
4754  * @return tcid_2
4755  * @note: btstack_type 1
4756  */
4757 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_2(const uint8_t * event){
4758     return event[12];
4759 }
4760 /**
4761  * @brief Get field tcid_3 from event AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY
4762  * @param event packet
4763  * @return tcid_3
4764  * @note: btstack_type 1
4765  */
4766 static inline uint8_t avdtp_subevent_signaling_multiplexing_capability_get_tcid_3(const uint8_t * event){
4767     return event[13];
4768 }
4769 
4770 /**
4771  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4772  * @param event packet
4773  * @return avdtp_cid
4774  * @note: btstack_type 2
4775  */
4776 static inline uint16_t avdtp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){
4777     return little_endian_read_16(event, 3);
4778 }
4779 /**
4780  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
4781  * @param event packet
4782  * @return remote_seid
4783  * @note: btstack_type 1
4784  */
4785 static inline uint8_t avdtp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){
4786     return event[5];
4787 }
4788 
4789 /**
4790  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4791  * @param event packet
4792  * @return avdtp_cid
4793  * @note: btstack_type 2
4794  */
4795 static inline uint16_t avdtp_subevent_signaling_header_compression_capability_get_avdtp_cid(const uint8_t * event){
4796     return little_endian_read_16(event, 3);
4797 }
4798 /**
4799  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4800  * @param event packet
4801  * @return remote_seid
4802  * @note: btstack_type 1
4803  */
4804 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_remote_seid(const uint8_t * event){
4805     return event[5];
4806 }
4807 /**
4808  * @brief Get field back_ch from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4809  * @param event packet
4810  * @return back_ch
4811  * @note: btstack_type 1
4812  */
4813 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_back_ch(const uint8_t * event){
4814     return event[6];
4815 }
4816 /**
4817  * @brief Get field media from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4818  * @param event packet
4819  * @return media
4820  * @note: btstack_type 1
4821  */
4822 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_media(const uint8_t * event){
4823     return event[7];
4824 }
4825 /**
4826  * @brief Get field recovery from event AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY
4827  * @param event packet
4828  * @return recovery
4829  * @note: btstack_type 1
4830  */
4831 static inline uint8_t avdtp_subevent_signaling_header_compression_capability_get_recovery(const uint8_t * event){
4832     return event[8];
4833 }
4834 
4835 /**
4836  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4837  * @param event packet
4838  * @return avdtp_cid
4839  * @note: btstack_type 2
4840  */
4841 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_avdtp_cid(const uint8_t * event){
4842     return little_endian_read_16(event, 3);
4843 }
4844 /**
4845  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4846  * @param event packet
4847  * @return local_seid
4848  * @note: btstack_type 1
4849  */
4850 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_local_seid(const uint8_t * event){
4851     return event[5];
4852 }
4853 /**
4854  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4855  * @param event packet
4856  * @return remote_seid
4857  * @note: btstack_type 1
4858  */
4859 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_remote_seid(const uint8_t * event){
4860     return event[6];
4861 }
4862 /**
4863  * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4864  * @param event packet
4865  * @return reconfigure
4866  * @note: btstack_type 1
4867  */
4868 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){
4869     return event[7];
4870 }
4871 /**
4872  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4873  * @param event packet
4874  * @return media_type
4875  * @note: btstack_type 1
4876  */
4877 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){
4878     return event[8];
4879 }
4880 /**
4881  * @brief Get field sampling_frequency from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4882  * @param event packet
4883  * @return sampling_frequency
4884  * @note: btstack_type 2
4885  */
4886 static inline uint16_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){
4887     return little_endian_read_16(event, 9);
4888 }
4889 /**
4890  * @brief Get field channel_mode from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4891  * @param event packet
4892  * @return channel_mode
4893  * @note: btstack_type 1
4894  */
4895 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){
4896     return event[11];
4897 }
4898 /**
4899  * @brief Get field num_channels from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4900  * @param event packet
4901  * @return num_channels
4902  * @note: btstack_type 1
4903  */
4904 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){
4905     return event[12];
4906 }
4907 /**
4908  * @brief Get field block_length from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4909  * @param event packet
4910  * @return block_length
4911  * @note: btstack_type 1
4912  */
4913 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){
4914     return event[13];
4915 }
4916 /**
4917  * @brief Get field subbands from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4918  * @param event packet
4919  * @return subbands
4920  * @note: btstack_type 1
4921  */
4922 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){
4923     return event[14];
4924 }
4925 /**
4926  * @brief Get field allocation_method from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4927  * @param event packet
4928  * @return allocation_method
4929  * @note: btstack_type 1
4930  */
4931 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){
4932     return event[15];
4933 }
4934 /**
4935  * @brief Get field min_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4936  * @param event packet
4937  * @return min_bitpool_value
4938  * @note: btstack_type 1
4939  */
4940 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){
4941     return event[16];
4942 }
4943 /**
4944  * @brief Get field max_bitpool_value from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
4945  * @param event packet
4946  * @return max_bitpool_value
4947  * @note: btstack_type 1
4948  */
4949 static inline uint8_t avdtp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){
4950     return event[17];
4951 }
4952 
4953 /**
4954  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
4955  * @param event packet
4956  * @return avdtp_cid
4957  * @note: btstack_type 2
4958  */
4959 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_avdtp_cid(const uint8_t * event){
4960     return little_endian_read_16(event, 3);
4961 }
4962 /**
4963  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
4964  * @param event packet
4965  * @return local_seid
4966  * @note: btstack_type 1
4967  */
4968 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_local_seid(const uint8_t * event){
4969     return event[5];
4970 }
4971 /**
4972  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
4973  * @param event packet
4974  * @return remote_seid
4975  * @note: btstack_type 1
4976  */
4977 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_remote_seid(const uint8_t * event){
4978     return event[6];
4979 }
4980 /**
4981  * @brief Get field reconfigure from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
4982  * @param event packet
4983  * @return reconfigure
4984  * @note: btstack_type 1
4985  */
4986 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){
4987     return event[7];
4988 }
4989 /**
4990  * @brief Get field media_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
4991  * @param event packet
4992  * @return media_type
4993  * @note: btstack_type 1
4994  */
4995 static inline uint8_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){
4996     return event[8];
4997 }
4998 /**
4999  * @brief Get field media_codec_type from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5000  * @param event packet
5001  * @return media_codec_type
5002  * @note: btstack_type 2
5003  */
5004 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){
5005     return little_endian_read_16(event, 9);
5006 }
5007 /**
5008  * @brief Get field media_codec_information_len from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5009  * @param event packet
5010  * @return media_codec_information_len
5011  * @note: btstack_type L
5012  */
5013 static inline uint16_t avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){
5014     return little_endian_read_16(event, 11);
5015 }
5016 /**
5017  * @brief Get field media_codec_information from event AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5018  * @param event packet
5019  * @return media_codec_information
5020  * @note: btstack_type V
5021  */
5022 static inline const uint8_t * avdtp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){
5023     return &event[13];
5024 }
5025 
5026 /**
5027  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5028  * @param event packet
5029  * @return avdtp_cid
5030  * @note: btstack_type 2
5031  */
5032 static inline uint16_t avdtp_subevent_streaming_connection_established_get_avdtp_cid(const uint8_t * event){
5033     return little_endian_read_16(event, 3);
5034 }
5035 /**
5036  * @brief Get field bd_addr from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5037  * @param event packet
5038  * @param Pointer to storage for bd_addr
5039  * @note: btstack_type B
5040  */
5041 static inline void avdtp_subevent_streaming_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5042     reverse_bytes(&event[5], bd_addr, 6);
5043 }
5044 /**
5045  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5046  * @param event packet
5047  * @return local_seid
5048  * @note: btstack_type 1
5049  */
5050 static inline uint8_t avdtp_subevent_streaming_connection_established_get_local_seid(const uint8_t * event){
5051     return event[11];
5052 }
5053 /**
5054  * @brief Get field remote_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5055  * @param event packet
5056  * @return remote_seid
5057  * @note: btstack_type 1
5058  */
5059 static inline uint8_t avdtp_subevent_streaming_connection_established_get_remote_seid(const uint8_t * event){
5060     return event[12];
5061 }
5062 /**
5063  * @brief Get field status from event AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED
5064  * @param event packet
5065  * @return status
5066  * @note: btstack_type 1
5067  */
5068 static inline uint8_t avdtp_subevent_streaming_connection_established_get_status(const uint8_t * event){
5069     return event[13];
5070 }
5071 
5072 /**
5073  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED
5074  * @param event packet
5075  * @return avdtp_cid
5076  * @note: btstack_type 2
5077  */
5078 static inline uint16_t avdtp_subevent_streaming_connection_released_get_avdtp_cid(const uint8_t * event){
5079     return little_endian_read_16(event, 3);
5080 }
5081 /**
5082  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED
5083  * @param event packet
5084  * @return local_seid
5085  * @note: btstack_type 1
5086  */
5087 static inline uint8_t avdtp_subevent_streaming_connection_released_get_local_seid(const uint8_t * event){
5088     return event[5];
5089 }
5090 
5091 /**
5092  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5093  * @param event packet
5094  * @return avdtp_cid
5095  * @note: btstack_type 2
5096  */
5097 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_avdtp_cid(const uint8_t * event){
5098     return little_endian_read_16(event, 3);
5099 }
5100 /**
5101  * @brief Get field local_seid from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5102  * @param event packet
5103  * @return local_seid
5104  * @note: btstack_type 1
5105  */
5106 static inline uint8_t avdtp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){
5107     return event[5];
5108 }
5109 /**
5110  * @brief Get field sequence_number from event AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5111  * @param event packet
5112  * @return sequence_number
5113  * @note: btstack_type 2
5114  */
5115 static inline uint16_t avdtp_subevent_streaming_can_send_media_packet_now_get_sequence_number(const uint8_t * event){
5116     return little_endian_read_16(event, 6);
5117 }
5118 
5119 /**
5120  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5121  * @param event packet
5122  * @return avdtp_cid
5123  * @note: btstack_type 2
5124  */
5125 static inline uint16_t avdtp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){
5126     return little_endian_read_16(event, 3);
5127 }
5128 /**
5129  * @brief Get field remote_seid from event AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5130  * @param event packet
5131  * @return remote_seid
5132  * @note: btstack_type 1
5133  */
5134 static inline uint8_t avdtp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){
5135     return event[5];
5136 }
5137 
5138 /**
5139  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE
5140  * @param event packet
5141  * @return avdtp_cid
5142  * @note: btstack_type 2
5143  */
5144 static inline uint16_t avdtp_subevent_signaling_sep_dicovery_done_get_avdtp_cid(const uint8_t * event){
5145     return little_endian_read_16(event, 3);
5146 }
5147 
5148 /**
5149  * @brief Get field avdtp_cid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT
5150  * @param event packet
5151  * @return avdtp_cid
5152  * @note: btstack_type 2
5153  */
5154 static inline uint16_t avdtp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){
5155     return little_endian_read_16(event, 3);
5156 }
5157 /**
5158  * @brief Get field local_seid from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT
5159  * @param event packet
5160  * @return local_seid
5161  * @note: btstack_type 1
5162  */
5163 static inline uint8_t avdtp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){
5164     return event[5];
5165 }
5166 /**
5167  * @brief Get field delay_100us from event AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT
5168  * @param event packet
5169  * @return delay_100us
5170  * @note: btstack_type 2
5171  */
5172 static inline uint16_t avdtp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){
5173     return little_endian_read_16(event, 6);
5174 }
5175 
5176 /**
5177  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5178  * @param event packet
5179  * @return a2dp_cid
5180  * @note: btstack_type 2
5181  */
5182 static inline uint16_t a2dp_subevent_streaming_can_send_media_packet_now_get_a2dp_cid(const uint8_t * event){
5183     return little_endian_read_16(event, 3);
5184 }
5185 /**
5186  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW
5187  * @param event packet
5188  * @return local_seid
5189  * @note: btstack_type 1
5190  */
5191 static inline uint8_t a2dp_subevent_streaming_can_send_media_packet_now_get_local_seid(const uint8_t * event){
5192     return event[5];
5193 }
5194 
5195 /**
5196  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5197  * @param event packet
5198  * @return a2dp_cid
5199  * @note: btstack_type 2
5200  */
5201 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_a2dp_cid(const uint8_t * event){
5202     return little_endian_read_16(event, 3);
5203 }
5204 /**
5205  * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5206  * @param event packet
5207  * @return int_seid
5208  * @note: btstack_type 1
5209  */
5210 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_int_seid(const uint8_t * event){
5211     return event[5];
5212 }
5213 /**
5214  * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5215  * @param event packet
5216  * @return acp_seid
5217  * @note: btstack_type 1
5218  */
5219 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_acp_seid(const uint8_t * event){
5220     return event[6];
5221 }
5222 /**
5223  * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5224  * @param event packet
5225  * @return reconfigure
5226  * @note: btstack_type 1
5227  */
5228 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_reconfigure(const uint8_t * event){
5229     return event[7];
5230 }
5231 /**
5232  * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5233  * @param event packet
5234  * @return media_type
5235  * @note: btstack_type 1
5236  */
5237 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_media_type(const uint8_t * event){
5238     return event[8];
5239 }
5240 /**
5241  * @brief Get field sampling_frequency from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5242  * @param event packet
5243  * @return sampling_frequency
5244  * @note: btstack_type 2
5245  */
5246 static inline uint16_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_sampling_frequency(const uint8_t * event){
5247     return little_endian_read_16(event, 9);
5248 }
5249 /**
5250  * @brief Get field channel_mode from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5251  * @param event packet
5252  * @return channel_mode
5253  * @note: btstack_type 1
5254  */
5255 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_channel_mode(const uint8_t * event){
5256     return event[11];
5257 }
5258 /**
5259  * @brief Get field num_channels from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5260  * @param event packet
5261  * @return num_channels
5262  * @note: btstack_type 1
5263  */
5264 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_num_channels(const uint8_t * event){
5265     return event[12];
5266 }
5267 /**
5268  * @brief Get field block_length from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5269  * @param event packet
5270  * @return block_length
5271  * @note: btstack_type 1
5272  */
5273 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_block_length(const uint8_t * event){
5274     return event[13];
5275 }
5276 /**
5277  * @brief Get field subbands from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5278  * @param event packet
5279  * @return subbands
5280  * @note: btstack_type 1
5281  */
5282 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_subbands(const uint8_t * event){
5283     return event[14];
5284 }
5285 /**
5286  * @brief Get field allocation_method from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5287  * @param event packet
5288  * @return allocation_method
5289  * @note: btstack_type 1
5290  */
5291 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_allocation_method(const uint8_t * event){
5292     return event[15];
5293 }
5294 /**
5295  * @brief Get field min_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5296  * @param event packet
5297  * @return min_bitpool_value
5298  * @note: btstack_type 1
5299  */
5300 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_min_bitpool_value(const uint8_t * event){
5301     return event[16];
5302 }
5303 /**
5304  * @brief Get field max_bitpool_value from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION
5305  * @param event packet
5306  * @return max_bitpool_value
5307  * @note: btstack_type 1
5308  */
5309 static inline uint8_t a2dp_subevent_signaling_media_codec_sbc_configuration_get_max_bitpool_value(const uint8_t * event){
5310     return event[17];
5311 }
5312 
5313 /**
5314  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5315  * @param event packet
5316  * @return a2dp_cid
5317  * @note: btstack_type 2
5318  */
5319 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_a2dp_cid(const uint8_t * event){
5320     return little_endian_read_16(event, 3);
5321 }
5322 /**
5323  * @brief Get field int_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5324  * @param event packet
5325  * @return int_seid
5326  * @note: btstack_type 1
5327  */
5328 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_int_seid(const uint8_t * event){
5329     return event[5];
5330 }
5331 /**
5332  * @brief Get field acp_seid from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5333  * @param event packet
5334  * @return acp_seid
5335  * @note: btstack_type 1
5336  */
5337 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_acp_seid(const uint8_t * event){
5338     return event[6];
5339 }
5340 /**
5341  * @brief Get field reconfigure from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5342  * @param event packet
5343  * @return reconfigure
5344  * @note: btstack_type 1
5345  */
5346 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_reconfigure(const uint8_t * event){
5347     return event[7];
5348 }
5349 /**
5350  * @brief Get field media_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5351  * @param event packet
5352  * @return media_type
5353  * @note: btstack_type 1
5354  */
5355 static inline uint8_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_type(const uint8_t * event){
5356     return event[8];
5357 }
5358 /**
5359  * @brief Get field media_codec_type from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5360  * @param event packet
5361  * @return media_codec_type
5362  * @note: btstack_type 2
5363  */
5364 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_type(const uint8_t * event){
5365     return little_endian_read_16(event, 9);
5366 }
5367 /**
5368  * @brief Get field media_codec_information_len from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5369  * @param event packet
5370  * @return media_codec_information_len
5371  * @note: btstack_type L
5372  */
5373 static inline uint16_t a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information_len(const uint8_t * event){
5374     return little_endian_read_16(event, 11);
5375 }
5376 /**
5377  * @brief Get field media_codec_information from event A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION
5378  * @param event packet
5379  * @return media_codec_information
5380  * @note: btstack_type V
5381  */
5382 static inline const uint8_t * a2dp_subevent_signaling_media_codec_other_configuration_get_media_codec_information(const uint8_t * event){
5383     return &event[13];
5384 }
5385 
5386 /**
5387  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5388  * @param event packet
5389  * @return a2dp_cid
5390  * @note: btstack_type 2
5391  */
5392 static inline uint16_t a2dp_subevent_stream_established_get_a2dp_cid(const uint8_t * event){
5393     return little_endian_read_16(event, 3);
5394 }
5395 /**
5396  * @brief Get field bd_addr from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5397  * @param event packet
5398  * @param Pointer to storage for bd_addr
5399  * @note: btstack_type B
5400  */
5401 static inline void a2dp_subevent_stream_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5402     reverse_bytes(&event[5], bd_addr, 6);
5403 }
5404 /**
5405  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5406  * @param event packet
5407  * @return local_seid
5408  * @note: btstack_type 1
5409  */
5410 static inline uint8_t a2dp_subevent_stream_established_get_local_seid(const uint8_t * event){
5411     return event[11];
5412 }
5413 /**
5414  * @brief Get field remote_seid from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5415  * @param event packet
5416  * @return remote_seid
5417  * @note: btstack_type 1
5418  */
5419 static inline uint8_t a2dp_subevent_stream_established_get_remote_seid(const uint8_t * event){
5420     return event[12];
5421 }
5422 /**
5423  * @brief Get field status from event A2DP_SUBEVENT_STREAM_ESTABLISHED
5424  * @param event packet
5425  * @return status
5426  * @note: btstack_type 1
5427  */
5428 static inline uint8_t a2dp_subevent_stream_established_get_status(const uint8_t * event){
5429     return event[13];
5430 }
5431 
5432 /**
5433  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STARTED
5434  * @param event packet
5435  * @return a2dp_cid
5436  * @note: btstack_type 2
5437  */
5438 static inline uint16_t a2dp_subevent_stream_started_get_a2dp_cid(const uint8_t * event){
5439     return little_endian_read_16(event, 3);
5440 }
5441 /**
5442  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STARTED
5443  * @param event packet
5444  * @return local_seid
5445  * @note: btstack_type 1
5446  */
5447 static inline uint8_t a2dp_subevent_stream_started_get_local_seid(const uint8_t * event){
5448     return event[5];
5449 }
5450 
5451 /**
5452  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_SUSPENDED
5453  * @param event packet
5454  * @return a2dp_cid
5455  * @note: btstack_type 2
5456  */
5457 static inline uint16_t a2dp_subevent_stream_suspended_get_a2dp_cid(const uint8_t * event){
5458     return little_endian_read_16(event, 3);
5459 }
5460 /**
5461  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_SUSPENDED
5462  * @param event packet
5463  * @return local_seid
5464  * @note: btstack_type 1
5465  */
5466 static inline uint8_t a2dp_subevent_stream_suspended_get_local_seid(const uint8_t * event){
5467     return event[5];
5468 }
5469 
5470 /**
5471  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_STOPPED
5472  * @param event packet
5473  * @return a2dp_cid
5474  * @note: btstack_type 2
5475  */
5476 static inline uint16_t a2dp_subevent_stream_stopped_get_a2dp_cid(const uint8_t * event){
5477     return little_endian_read_16(event, 3);
5478 }
5479 /**
5480  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_STOPPED
5481  * @param event packet
5482  * @return local_seid
5483  * @note: btstack_type 1
5484  */
5485 static inline uint8_t a2dp_subevent_stream_stopped_get_local_seid(const uint8_t * event){
5486     return event[5];
5487 }
5488 
5489 /**
5490  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RELEASED
5491  * @param event packet
5492  * @return a2dp_cid
5493  * @note: btstack_type 2
5494  */
5495 static inline uint16_t a2dp_subevent_stream_released_get_a2dp_cid(const uint8_t * event){
5496     return little_endian_read_16(event, 3);
5497 }
5498 /**
5499  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RELEASED
5500  * @param event packet
5501  * @return local_seid
5502  * @note: btstack_type 1
5503  */
5504 static inline uint8_t a2dp_subevent_stream_released_get_local_seid(const uint8_t * event){
5505     return event[5];
5506 }
5507 
5508 /**
5509  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5510  * @param event packet
5511  * @return a2dp_cid
5512  * @note: btstack_type 2
5513  */
5514 static inline uint16_t a2dp_subevent_command_accepted_get_a2dp_cid(const uint8_t * event){
5515     return little_endian_read_16(event, 3);
5516 }
5517 /**
5518  * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5519  * @param event packet
5520  * @return local_seid
5521  * @note: btstack_type 1
5522  */
5523 static inline uint8_t a2dp_subevent_command_accepted_get_local_seid(const uint8_t * event){
5524     return event[5];
5525 }
5526 /**
5527  * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_ACCEPTED
5528  * @param event packet
5529  * @return signal_identifier
5530  * @note: btstack_type 1
5531  */
5532 static inline uint8_t a2dp_subevent_command_accepted_get_signal_identifier(const uint8_t * event){
5533     return event[6];
5534 }
5535 
5536 /**
5537  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_COMMAND_REJECTED
5538  * @param event packet
5539  * @return a2dp_cid
5540  * @note: btstack_type 2
5541  */
5542 static inline uint16_t a2dp_subevent_command_rejected_get_a2dp_cid(const uint8_t * event){
5543     return little_endian_read_16(event, 3);
5544 }
5545 /**
5546  * @brief Get field local_seid from event A2DP_SUBEVENT_COMMAND_REJECTED
5547  * @param event packet
5548  * @return local_seid
5549  * @note: btstack_type 1
5550  */
5551 static inline uint8_t a2dp_subevent_command_rejected_get_local_seid(const uint8_t * event){
5552     return event[5];
5553 }
5554 /**
5555  * @brief Get field signal_identifier from event A2DP_SUBEVENT_COMMAND_REJECTED
5556  * @param event packet
5557  * @return signal_identifier
5558  * @note: btstack_type 1
5559  */
5560 static inline uint8_t a2dp_subevent_command_rejected_get_signal_identifier(const uint8_t * event){
5561     return event[6];
5562 }
5563 
5564 /**
5565  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5566  * @param event packet
5567  * @return a2dp_cid
5568  * @note: btstack_type 2
5569  */
5570 static inline uint16_t a2dp_subevent_signaling_connection_established_get_a2dp_cid(const uint8_t * event){
5571     return little_endian_read_16(event, 3);
5572 }
5573 /**
5574  * @brief Get field bd_addr from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5575  * @param event packet
5576  * @param Pointer to storage for bd_addr
5577  * @note: btstack_type B
5578  */
5579 static inline void a2dp_subevent_signaling_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
5580     reverse_bytes(&event[5], bd_addr, 6);
5581 }
5582 /**
5583  * @brief Get field con_handle from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5584  * @param event packet
5585  * @return con_handle
5586  * @note: btstack_type 2
5587  */
5588 static inline uint16_t a2dp_subevent_signaling_connection_established_get_con_handle(const uint8_t * event){
5589     return little_endian_read_16(event, 11);
5590 }
5591 /**
5592  * @brief Get field status from event A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED
5593  * @param event packet
5594  * @return status
5595  * @note: btstack_type 1
5596  */
5597 static inline uint8_t a2dp_subevent_signaling_connection_established_get_status(const uint8_t * event){
5598     return event[13];
5599 }
5600 
5601 /**
5602  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED
5603  * @param event packet
5604  * @return a2dp_cid
5605  * @note: btstack_type 2
5606  */
5607 static inline uint16_t a2dp_subevent_signaling_connection_released_get_a2dp_cid(const uint8_t * event){
5608     return little_endian_read_16(event, 3);
5609 }
5610 
5611 /**
5612  * @brief Get field a2dp_cid from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5613  * @param event packet
5614  * @return a2dp_cid
5615  * @note: btstack_type 2
5616  */
5617 static inline uint16_t a2dp_subevent_stream_reconfigured_get_a2dp_cid(const uint8_t * event){
5618     return little_endian_read_16(event, 3);
5619 }
5620 /**
5621  * @brief Get field local_seid from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5622  * @param event packet
5623  * @return local_seid
5624  * @note: btstack_type 1
5625  */
5626 static inline uint8_t a2dp_subevent_stream_reconfigured_get_local_seid(const uint8_t * event){
5627     return event[5];
5628 }
5629 /**
5630  * @brief Get field status from event A2DP_SUBEVENT_STREAM_RECONFIGURED
5631  * @param event packet
5632  * @return status
5633  * @note: btstack_type 1
5634  */
5635 static inline uint8_t a2dp_subevent_stream_reconfigured_get_status(const uint8_t * event){
5636     return event[6];
5637 }
5638 
5639 /**
5640  * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
5641  * @param event packet
5642  * @return avdtp_cid
5643  * @note: btstack_type 2
5644  */
5645 static inline uint16_t a2dp_subevent_signaling_delay_reporting_capability_get_avdtp_cid(const uint8_t * event){
5646     return little_endian_read_16(event, 3);
5647 }
5648 /**
5649  * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
5650  * @param event packet
5651  * @return local_seid
5652  * @note: btstack_type 1
5653  */
5654 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_local_seid(const uint8_t * event){
5655     return event[5];
5656 }
5657 /**
5658  * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY
5659  * @param event packet
5660  * @return remote_seid
5661  * @note: btstack_type 1
5662  */
5663 static inline uint8_t a2dp_subevent_signaling_delay_reporting_capability_get_remote_seid(const uint8_t * event){
5664     return event[6];
5665 }
5666 
5667 /**
5668  * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT
5669  * @param event packet
5670  * @return avdtp_cid
5671  * @note: btstack_type 2
5672  */
5673 static inline uint16_t a2dp_subevent_signaling_delay_report_get_avdtp_cid(const uint8_t * event){
5674     return little_endian_read_16(event, 3);
5675 }
5676 /**
5677  * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT
5678  * @param event packet
5679  * @return local_seid
5680  * @note: btstack_type 1
5681  */
5682 static inline uint8_t a2dp_subevent_signaling_delay_report_get_local_seid(const uint8_t * event){
5683     return event[5];
5684 }
5685 /**
5686  * @brief Get field delay_100us from event A2DP_SUBEVENT_SIGNALING_DELAY_REPORT
5687  * @param event packet
5688  * @return delay_100us
5689  * @note: btstack_type 2
5690  */
5691 static inline uint16_t a2dp_subevent_signaling_delay_report_get_delay_100us(const uint8_t * event){
5692     return little_endian_read_16(event, 6);
5693 }
5694 
5695 /**
5696  * @brief Get field avdtp_cid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5697  * @param event packet
5698  * @return avdtp_cid
5699  * @note: btstack_type 2
5700  */
5701 static inline uint16_t a2dp_subevent_signaling_capabilities_done_get_avdtp_cid(const uint8_t * event){
5702     return little_endian_read_16(event, 3);
5703 }
5704 /**
5705  * @brief Get field local_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5706  * @param event packet
5707  * @return local_seid
5708  * @note: btstack_type 1
5709  */
5710 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_local_seid(const uint8_t * event){
5711     return event[5];
5712 }
5713 /**
5714  * @brief Get field remote_seid from event A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE
5715  * @param event packet
5716  * @return remote_seid
5717  * @note: btstack_type 1
5718  */
5719 static inline uint8_t a2dp_subevent_signaling_capabilities_done_get_remote_seid(const uint8_t * event){
5720     return event[6];
5721 }
5722 
5723 /**
5724  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5725  * @param event packet
5726  * @return avrcp_cid
5727  * @note: btstack_type 2
5728  */
5729 static inline uint16_t avrcp_subevent_notification_playback_status_changed_get_avrcp_cid(const uint8_t * event){
5730     return little_endian_read_16(event, 3);
5731 }
5732 /**
5733  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5734  * @param event packet
5735  * @return command_type
5736  * @note: btstack_type 1
5737  */
5738 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_command_type(const uint8_t * event){
5739     return event[5];
5740 }
5741 /**
5742  * @brief Get field play_status from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED
5743  * @param event packet
5744  * @return play_status
5745  * @note: btstack_type 1
5746  */
5747 static inline uint8_t avrcp_subevent_notification_playback_status_changed_get_play_status(const uint8_t * event){
5748     return event[6];
5749 }
5750 
5751 /**
5752  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED
5753  * @param event packet
5754  * @return avrcp_cid
5755  * @note: btstack_type 2
5756  */
5757 static inline uint16_t avrcp_subevent_notification_track_changed_get_avrcp_cid(const uint8_t * event){
5758     return little_endian_read_16(event, 3);
5759 }
5760 /**
5761  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED
5762  * @param event packet
5763  * @return command_type
5764  * @note: btstack_type 1
5765  */
5766 static inline uint8_t avrcp_subevent_notification_track_changed_get_command_type(const uint8_t * event){
5767     return event[5];
5768 }
5769 
5770 /**
5771  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END
5772  * @param event packet
5773  * @return avrcp_cid
5774  * @note: btstack_type 2
5775  */
5776 static inline uint16_t avrcp_subevent_notification_event_track_reached_end_get_avrcp_cid(const uint8_t * event){
5777     return little_endian_read_16(event, 3);
5778 }
5779 /**
5780  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_END
5781  * @param event packet
5782  * @return command_type
5783  * @note: btstack_type 1
5784  */
5785 static inline uint8_t avrcp_subevent_notification_event_track_reached_end_get_command_type(const uint8_t * event){
5786     return event[5];
5787 }
5788 
5789 /**
5790  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START
5791  * @param event packet
5792  * @return avrcp_cid
5793  * @note: btstack_type 2
5794  */
5795 static inline uint16_t avrcp_subevent_notification_event_track_reached_start_get_avrcp_cid(const uint8_t * event){
5796     return little_endian_read_16(event, 3);
5797 }
5798 /**
5799  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_TRACK_REACHED_START
5800  * @param event packet
5801  * @return command_type
5802  * @note: btstack_type 1
5803  */
5804 static inline uint8_t avrcp_subevent_notification_event_track_reached_start_get_command_type(const uint8_t * event){
5805     return event[5];
5806 }
5807 
5808 /**
5809  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED
5810  * @param event packet
5811  * @return avrcp_cid
5812  * @note: btstack_type 2
5813  */
5814 static inline uint16_t avrcp_subevent_notification_event_playback_pos_changed_get_avrcp_cid(const uint8_t * event){
5815     return little_endian_read_16(event, 3);
5816 }
5817 /**
5818  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED
5819  * @param event packet
5820  * @return command_type
5821  * @note: btstack_type 1
5822  */
5823 static inline uint8_t avrcp_subevent_notification_event_playback_pos_changed_get_command_type(const uint8_t * event){
5824     return event[5];
5825 }
5826 /**
5827  * @brief Get field playback_position from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_PLAYBACK_POS_CHANGED
5828  * @param event packet
5829  * @return playback_position
5830  * @note: btstack_type 4
5831  */
5832 static inline uint32_t avrcp_subevent_notification_event_playback_pos_changed_get_playback_position(const uint8_t * event){
5833     return little_endian_read_32(event, 6);
5834 }
5835 
5836 /**
5837  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED
5838  * @param event packet
5839  * @return avrcp_cid
5840  * @note: btstack_type 2
5841  */
5842 static inline uint16_t avrcp_subevent_notification_event_batt_status_changed_get_avrcp_cid(const uint8_t * event){
5843     return little_endian_read_16(event, 3);
5844 }
5845 /**
5846  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED
5847  * @param event packet
5848  * @return command_type
5849  * @note: btstack_type 1
5850  */
5851 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_command_type(const uint8_t * event){
5852     return event[5];
5853 }
5854 /**
5855  * @brief Get field battery_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_BATT_STATUS_CHANGED
5856  * @param event packet
5857  * @return battery_status
5858  * @note: btstack_type 1
5859  */
5860 static inline uint8_t avrcp_subevent_notification_event_batt_status_changed_get_battery_status(const uint8_t * event){
5861     return event[6];
5862 }
5863 
5864 /**
5865  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED
5866  * @param event packet
5867  * @return avrcp_cid
5868  * @note: btstack_type 2
5869  */
5870 static inline uint16_t avrcp_subevent_notification_event_system_status_changed_get_avrcp_cid(const uint8_t * event){
5871     return little_endian_read_16(event, 3);
5872 }
5873 /**
5874  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED
5875  * @param event packet
5876  * @return command_type
5877  * @note: btstack_type 1
5878  */
5879 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_command_type(const uint8_t * event){
5880     return event[5];
5881 }
5882 /**
5883  * @brief Get field system_status from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_SYSTEM_STATUS_CHANGED
5884  * @param event packet
5885  * @return system_status
5886  * @note: btstack_type 1
5887  */
5888 static inline uint8_t avrcp_subevent_notification_event_system_status_changed_get_system_status(const uint8_t * event){
5889     return event[6];
5890 }
5891 
5892 /**
5893  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED
5894  * @param event packet
5895  * @return avrcp_cid
5896  * @note: btstack_type 2
5897  */
5898 static inline uint16_t avrcp_subevent_notification_now_playing_content_changed_get_avrcp_cid(const uint8_t * event){
5899     return little_endian_read_16(event, 3);
5900 }
5901 /**
5902  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED
5903  * @param event packet
5904  * @return command_type
5905  * @note: btstack_type 1
5906  */
5907 static inline uint8_t avrcp_subevent_notification_now_playing_content_changed_get_command_type(const uint8_t * event){
5908     return event[5];
5909 }
5910 
5911 /**
5912  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED
5913  * @param event packet
5914  * @return avrcp_cid
5915  * @note: btstack_type 2
5916  */
5917 static inline uint16_t avrcp_subevent_notification_available_players_changed_get_avrcp_cid(const uint8_t * event){
5918     return little_endian_read_16(event, 3);
5919 }
5920 /**
5921  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED
5922  * @param event packet
5923  * @return command_type
5924  * @note: btstack_type 1
5925  */
5926 static inline uint8_t avrcp_subevent_notification_available_players_changed_get_command_type(const uint8_t * event){
5927     return event[5];
5928 }
5929 
5930 /**
5931  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED
5932  * @param event packet
5933  * @return avrcp_cid
5934  * @note: btstack_type 2
5935  */
5936 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_avrcp_cid(const uint8_t * event){
5937     return little_endian_read_16(event, 3);
5938 }
5939 /**
5940  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED
5941  * @param event packet
5942  * @return command_type
5943  * @note: btstack_type 1
5944  */
5945 static inline uint8_t avrcp_subevent_notification_event_uids_changed_get_command_type(const uint8_t * event){
5946     return event[5];
5947 }
5948 /**
5949  * @brief Get field uid_counter from event AVRCP_SUBEVENT_NOTIFICATION_EVENT_UIDS_CHANGED
5950  * @param event packet
5951  * @return uid_counter
5952  * @note: btstack_type 2
5953  */
5954 static inline uint16_t avrcp_subevent_notification_event_uids_changed_get_uid_counter(const uint8_t * event){
5955     return little_endian_read_16(event, 6);
5956 }
5957 
5958 /**
5959  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
5960  * @param event packet
5961  * @return avrcp_cid
5962  * @note: btstack_type 2
5963  */
5964 static inline uint16_t avrcp_subevent_notification_volume_changed_get_avrcp_cid(const uint8_t * event){
5965     return little_endian_read_16(event, 3);
5966 }
5967 /**
5968  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
5969  * @param event packet
5970  * @return command_type
5971  * @note: btstack_type 1
5972  */
5973 static inline uint8_t avrcp_subevent_notification_volume_changed_get_command_type(const uint8_t * event){
5974     return event[5];
5975 }
5976 /**
5977  * @brief Get field absolute_volume from event AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED
5978  * @param event packet
5979  * @return absolute_volume
5980  * @note: btstack_type 1
5981  */
5982 static inline uint8_t avrcp_subevent_notification_volume_changed_get_absolute_volume(const uint8_t * event){
5983     return event[6];
5984 }
5985 
5986 /**
5987  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
5988  * @param event packet
5989  * @return avrcp_cid
5990  * @note: btstack_type 2
5991  */
5992 static inline uint16_t avrcp_subevent_set_absolute_volume_response_get_avrcp_cid(const uint8_t * event){
5993     return little_endian_read_16(event, 3);
5994 }
5995 /**
5996  * @brief Get field command_type from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
5997  * @param event packet
5998  * @return command_type
5999  * @note: btstack_type 1
6000  */
6001 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_command_type(const uint8_t * event){
6002     return event[5];
6003 }
6004 /**
6005  * @brief Get field absolute_volume from event AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE
6006  * @param event packet
6007  * @return absolute_volume
6008  * @note: btstack_type 1
6009  */
6010 static inline uint8_t avrcp_subevent_set_absolute_volume_response_get_absolute_volume(const uint8_t * event){
6011     return event[6];
6012 }
6013 
6014 /**
6015  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
6016  * @param event packet
6017  * @return avrcp_cid
6018  * @note: btstack_type 2
6019  */
6020 static inline uint16_t avrcp_subevent_enable_notification_complete_get_avrcp_cid(const uint8_t * event){
6021     return little_endian_read_16(event, 3);
6022 }
6023 /**
6024  * @brief Get field command_type from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
6025  * @param event packet
6026  * @return command_type
6027  * @note: btstack_type 1
6028  */
6029 static inline uint8_t avrcp_subevent_enable_notification_complete_get_command_type(const uint8_t * event){
6030     return event[5];
6031 }
6032 /**
6033  * @brief Get field notification_id from event AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE
6034  * @param event packet
6035  * @return notification_id
6036  * @note: btstack_type 1
6037  */
6038 static inline uint8_t avrcp_subevent_enable_notification_complete_get_notification_id(const uint8_t * event){
6039     return event[6];
6040 }
6041 
6042 /**
6043  * @brief Get field status from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6044  * @param event packet
6045  * @return status
6046  * @note: btstack_type 1
6047  */
6048 static inline uint8_t avrcp_subevent_connection_established_get_status(const uint8_t * event){
6049     return event[3];
6050 }
6051 /**
6052  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6053  * @param event packet
6054  * @return avrcp_cid
6055  * @note: btstack_type 2
6056  */
6057 static inline uint16_t avrcp_subevent_connection_established_get_avrcp_cid(const uint8_t * event){
6058     return little_endian_read_16(event, 4);
6059 }
6060 /**
6061  * @brief Get field bd_addr from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6062  * @param event packet
6063  * @param Pointer to storage for bd_addr
6064  * @note: btstack_type B
6065  */
6066 static inline void avrcp_subevent_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6067     reverse_bytes(&event[6], bd_addr, 6);
6068 }
6069 /**
6070  * @brief Get field con_handle from event AVRCP_SUBEVENT_CONNECTION_ESTABLISHED
6071  * @param event packet
6072  * @return con_handle
6073  * @note: btstack_type 2
6074  */
6075 static inline uint16_t avrcp_subevent_connection_established_get_con_handle(const uint8_t * event){
6076     return little_endian_read_16(event, 12);
6077 }
6078 
6079 /**
6080  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_CONNECTION_RELEASED
6081  * @param event packet
6082  * @return avrcp_cid
6083  * @note: btstack_type 2
6084  */
6085 static inline uint16_t avrcp_subevent_connection_released_get_avrcp_cid(const uint8_t * event){
6086     return little_endian_read_16(event, 3);
6087 }
6088 
6089 /**
6090  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6091  * @param event packet
6092  * @return avrcp_cid
6093  * @note: btstack_type 2
6094  */
6095 static inline uint16_t avrcp_subevent_shuffle_and_repeat_mode_get_avrcp_cid(const uint8_t * event){
6096     return little_endian_read_16(event, 3);
6097 }
6098 /**
6099  * @brief Get field command_type from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6100  * @param event packet
6101  * @return command_type
6102  * @note: btstack_type 1
6103  */
6104 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_command_type(const uint8_t * event){
6105     return event[5];
6106 }
6107 /**
6108  * @brief Get field repeat_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6109  * @param event packet
6110  * @return repeat_mode
6111  * @note: btstack_type 1
6112  */
6113 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_repeat_mode(const uint8_t * event){
6114     return event[6];
6115 }
6116 /**
6117  * @brief Get field shuffle_mode from event AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE
6118  * @param event packet
6119  * @return shuffle_mode
6120  * @note: btstack_type 1
6121  */
6122 static inline uint8_t avrcp_subevent_shuffle_and_repeat_mode_get_shuffle_mode(const uint8_t * event){
6123     return event[7];
6124 }
6125 
6126 /**
6127  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS
6128  * @param event packet
6129  * @return avrcp_cid
6130  * @note: btstack_type 2
6131  */
6132 static inline uint16_t avrcp_subevent_play_status_get_avrcp_cid(const uint8_t * event){
6133     return little_endian_read_16(event, 3);
6134 }
6135 /**
6136  * @brief Get field command_type from event AVRCP_SUBEVENT_PLAY_STATUS
6137  * @param event packet
6138  * @return command_type
6139  * @note: btstack_type 1
6140  */
6141 static inline uint8_t avrcp_subevent_play_status_get_command_type(const uint8_t * event){
6142     return event[5];
6143 }
6144 /**
6145  * @brief Get field song_length from event AVRCP_SUBEVENT_PLAY_STATUS
6146  * @param event packet
6147  * @return song_length
6148  * @note: btstack_type 4
6149  */
6150 static inline uint32_t avrcp_subevent_play_status_get_song_length(const uint8_t * event){
6151     return little_endian_read_32(event, 6);
6152 }
6153 /**
6154  * @brief Get field song_position from event AVRCP_SUBEVENT_PLAY_STATUS
6155  * @param event packet
6156  * @return song_position
6157  * @note: btstack_type 4
6158  */
6159 static inline uint32_t avrcp_subevent_play_status_get_song_position(const uint8_t * event){
6160     return little_endian_read_32(event, 10);
6161 }
6162 /**
6163  * @brief Get field play_status from event AVRCP_SUBEVENT_PLAY_STATUS
6164  * @param event packet
6165  * @return play_status
6166  * @note: btstack_type 1
6167  */
6168 static inline uint8_t avrcp_subevent_play_status_get_play_status(const uint8_t * event){
6169     return event[14];
6170 }
6171 
6172 /**
6173  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_START
6174  * @param event packet
6175  * @return avrcp_cid
6176  * @note: btstack_type 2
6177  */
6178 static inline uint16_t avrcp_subevent_operation_start_get_avrcp_cid(const uint8_t * event){
6179     return little_endian_read_16(event, 3);
6180 }
6181 /**
6182  * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_START
6183  * @param event packet
6184  * @return command_type
6185  * @note: btstack_type 1
6186  */
6187 static inline uint8_t avrcp_subevent_operation_start_get_command_type(const uint8_t * event){
6188     return event[5];
6189 }
6190 /**
6191  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_START
6192  * @param event packet
6193  * @return operation_id
6194  * @note: btstack_type 1
6195  */
6196 static inline uint8_t avrcp_subevent_operation_start_get_operation_id(const uint8_t * event){
6197     return event[6];
6198 }
6199 
6200 /**
6201  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6202  * @param event packet
6203  * @return avrcp_cid
6204  * @note: btstack_type 2
6205  */
6206 static inline uint16_t avrcp_subevent_operation_complete_get_avrcp_cid(const uint8_t * event){
6207     return little_endian_read_16(event, 3);
6208 }
6209 /**
6210  * @brief Get field command_type from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6211  * @param event packet
6212  * @return command_type
6213  * @note: btstack_type 1
6214  */
6215 static inline uint8_t avrcp_subevent_operation_complete_get_command_type(const uint8_t * event){
6216     return event[5];
6217 }
6218 /**
6219  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION_COMPLETE
6220  * @param event packet
6221  * @return operation_id
6222  * @note: btstack_type 1
6223  */
6224 static inline uint8_t avrcp_subevent_operation_complete_get_operation_id(const uint8_t * event){
6225     return event[6];
6226 }
6227 
6228 /**
6229  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE
6230  * @param event packet
6231  * @return avrcp_cid
6232  * @note: btstack_type 2
6233  */
6234 static inline uint16_t avrcp_subevent_player_application_value_response_get_avrcp_cid(const uint8_t * event){
6235     return little_endian_read_16(event, 3);
6236 }
6237 /**
6238  * @brief Get field command_type from event AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE
6239  * @param event packet
6240  * @return command_type
6241  * @note: btstack_type 1
6242  */
6243 static inline uint8_t avrcp_subevent_player_application_value_response_get_command_type(const uint8_t * event){
6244     return event[5];
6245 }
6246 
6247 /**
6248  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_COMPANY_IDS_QUERY
6249  * @param event packet
6250  * @return avrcp_cid
6251  * @note: btstack_type 2
6252  */
6253 static inline uint16_t avrcp_subevent_company_ids_query_get_avrcp_cid(const uint8_t * event){
6254     return little_endian_read_16(event, 3);
6255 }
6256 
6257 /**
6258  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_EVENT_IDS_QUERY
6259  * @param event packet
6260  * @return avrcp_cid
6261  * @note: btstack_type 2
6262  */
6263 static inline uint16_t avrcp_subevent_event_ids_query_get_avrcp_cid(const uint8_t * event){
6264     return little_endian_read_16(event, 3);
6265 }
6266 
6267 /**
6268  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_PLAY_STATUS_QUERY
6269  * @param event packet
6270  * @return avrcp_cid
6271  * @note: btstack_type 2
6272  */
6273 static inline uint16_t avrcp_subevent_play_status_query_get_avrcp_cid(const uint8_t * event){
6274     return little_endian_read_16(event, 3);
6275 }
6276 
6277 /**
6278  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_OPERATION
6279  * @param event packet
6280  * @return avrcp_cid
6281  * @note: btstack_type 2
6282  */
6283 static inline uint16_t avrcp_subevent_operation_get_avrcp_cid(const uint8_t * event){
6284     return little_endian_read_16(event, 3);
6285 }
6286 /**
6287  * @brief Get field operation_id from event AVRCP_SUBEVENT_OPERATION
6288  * @param event packet
6289  * @return operation_id
6290  * @note: btstack_type 1
6291  */
6292 static inline uint8_t avrcp_subevent_operation_get_operation_id(const uint8_t * event){
6293     return event[5];
6294 }
6295 /**
6296  * @brief Get field operands_length from event AVRCP_SUBEVENT_OPERATION
6297  * @param event packet
6298  * @return operands_length
6299  * @note: btstack_type 1
6300  */
6301 static inline uint8_t avrcp_subevent_operation_get_operands_length(const uint8_t * event){
6302     return event[6];
6303 }
6304 /**
6305  * @brief Get field operand from event AVRCP_SUBEVENT_OPERATION
6306  * @param event packet
6307  * @return operand
6308  * @note: btstack_type 1
6309  */
6310 static inline uint8_t avrcp_subevent_operation_get_operand(const uint8_t * event){
6311     return event[7];
6312 }
6313 
6314 /**
6315  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6316  * @param event packet
6317  * @return avrcp_cid
6318  * @note: btstack_type 2
6319  */
6320 static inline uint16_t avrcp_subevent_now_playing_track_info_get_avrcp_cid(const uint8_t * event){
6321     return little_endian_read_16(event, 3);
6322 }
6323 /**
6324  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6325  * @param event packet
6326  * @return command_type
6327  * @note: btstack_type 1
6328  */
6329 static inline uint8_t avrcp_subevent_now_playing_track_info_get_command_type(const uint8_t * event){
6330     return event[5];
6331 }
6332 /**
6333  * @brief Get field track from event AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO
6334  * @param event packet
6335  * @return track
6336  * @note: btstack_type 1
6337  */
6338 static inline uint8_t avrcp_subevent_now_playing_track_info_get_track(const uint8_t * event){
6339     return event[6];
6340 }
6341 
6342 /**
6343  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6344  * @param event packet
6345  * @return avrcp_cid
6346  * @note: btstack_type 2
6347  */
6348 static inline uint16_t avrcp_subevent_now_playing_total_tracks_info_get_avrcp_cid(const uint8_t * event){
6349     return little_endian_read_16(event, 3);
6350 }
6351 /**
6352  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6353  * @param event packet
6354  * @return command_type
6355  * @note: btstack_type 1
6356  */
6357 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_command_type(const uint8_t * event){
6358     return event[5];
6359 }
6360 /**
6361  * @brief Get field total_tracks from event AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO
6362  * @param event packet
6363  * @return total_tracks
6364  * @note: btstack_type 1
6365  */
6366 static inline uint8_t avrcp_subevent_now_playing_total_tracks_info_get_total_tracks(const uint8_t * event){
6367     return event[6];
6368 }
6369 
6370 /**
6371  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6372  * @param event packet
6373  * @return avrcp_cid
6374  * @note: btstack_type 2
6375  */
6376 static inline uint16_t avrcp_subevent_now_playing_song_length_ms_info_get_avrcp_cid(const uint8_t * event){
6377     return little_endian_read_16(event, 3);
6378 }
6379 /**
6380  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6381  * @param event packet
6382  * @return command_type
6383  * @note: btstack_type 1
6384  */
6385 static inline uint8_t avrcp_subevent_now_playing_song_length_ms_info_get_command_type(const uint8_t * event){
6386     return event[5];
6387 }
6388 /**
6389  * @brief Get field song_length from event AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO
6390  * @param event packet
6391  * @return song_length
6392  * @note: btstack_type 4
6393  */
6394 static inline uint32_t avrcp_subevent_now_playing_song_length_ms_info_get_song_length(const uint8_t * event){
6395     return little_endian_read_32(event, 6);
6396 }
6397 
6398 /**
6399  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6400  * @param event packet
6401  * @return avrcp_cid
6402  * @note: btstack_type 2
6403  */
6404 static inline uint16_t avrcp_subevent_now_playing_title_info_get_avrcp_cid(const uint8_t * event){
6405     return little_endian_read_16(event, 3);
6406 }
6407 /**
6408  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6409  * @param event packet
6410  * @return command_type
6411  * @note: btstack_type 1
6412  */
6413 static inline uint8_t avrcp_subevent_now_playing_title_info_get_command_type(const uint8_t * event){
6414     return event[5];
6415 }
6416 /**
6417  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6418  * @param event packet
6419  * @return value_len
6420  * @note: btstack_type J
6421  */
6422 static inline uint8_t avrcp_subevent_now_playing_title_info_get_value_len(const uint8_t * event){
6423     return event[6];
6424 }
6425 /**
6426  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO
6427  * @param event packet
6428  * @return value
6429  * @note: btstack_type V
6430  */
6431 static inline const uint8_t * avrcp_subevent_now_playing_title_info_get_value(const uint8_t * event){
6432     return &event[7];
6433 }
6434 
6435 /**
6436  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6437  * @param event packet
6438  * @return avrcp_cid
6439  * @note: btstack_type 2
6440  */
6441 static inline uint16_t avrcp_subevent_now_playing_artist_info_get_avrcp_cid(const uint8_t * event){
6442     return little_endian_read_16(event, 3);
6443 }
6444 /**
6445  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6446  * @param event packet
6447  * @return command_type
6448  * @note: btstack_type 1
6449  */
6450 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_command_type(const uint8_t * event){
6451     return event[5];
6452 }
6453 /**
6454  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6455  * @param event packet
6456  * @return value_len
6457  * @note: btstack_type J
6458  */
6459 static inline uint8_t avrcp_subevent_now_playing_artist_info_get_value_len(const uint8_t * event){
6460     return event[6];
6461 }
6462 /**
6463  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO
6464  * @param event packet
6465  * @return value
6466  * @note: btstack_type V
6467  */
6468 static inline const uint8_t * avrcp_subevent_now_playing_artist_info_get_value(const uint8_t * event){
6469     return &event[7];
6470 }
6471 
6472 /**
6473  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6474  * @param event packet
6475  * @return avrcp_cid
6476  * @note: btstack_type 2
6477  */
6478 static inline uint16_t avrcp_subevent_now_playing_album_info_get_avrcp_cid(const uint8_t * event){
6479     return little_endian_read_16(event, 3);
6480 }
6481 /**
6482  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6483  * @param event packet
6484  * @return command_type
6485  * @note: btstack_type 1
6486  */
6487 static inline uint8_t avrcp_subevent_now_playing_album_info_get_command_type(const uint8_t * event){
6488     return event[5];
6489 }
6490 /**
6491  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6492  * @param event packet
6493  * @return value_len
6494  * @note: btstack_type J
6495  */
6496 static inline uint8_t avrcp_subevent_now_playing_album_info_get_value_len(const uint8_t * event){
6497     return event[6];
6498 }
6499 /**
6500  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO
6501  * @param event packet
6502  * @return value
6503  * @note: btstack_type V
6504  */
6505 static inline const uint8_t * avrcp_subevent_now_playing_album_info_get_value(const uint8_t * event){
6506     return &event[7];
6507 }
6508 
6509 /**
6510  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6511  * @param event packet
6512  * @return avrcp_cid
6513  * @note: btstack_type 2
6514  */
6515 static inline uint16_t avrcp_subevent_now_playing_genre_info_get_avrcp_cid(const uint8_t * event){
6516     return little_endian_read_16(event, 3);
6517 }
6518 /**
6519  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6520  * @param event packet
6521  * @return command_type
6522  * @note: btstack_type 1
6523  */
6524 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_command_type(const uint8_t * event){
6525     return event[5];
6526 }
6527 /**
6528  * @brief Get field value_len from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6529  * @param event packet
6530  * @return value_len
6531  * @note: btstack_type J
6532  */
6533 static inline uint8_t avrcp_subevent_now_playing_genre_info_get_value_len(const uint8_t * event){
6534     return event[6];
6535 }
6536 /**
6537  * @brief Get field value from event AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO
6538  * @param event packet
6539  * @return value
6540  * @note: btstack_type V
6541  */
6542 static inline const uint8_t * avrcp_subevent_now_playing_genre_info_get_value(const uint8_t * event){
6543     return &event[7];
6544 }
6545 
6546 /**
6547  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6548  * @param event packet
6549  * @return avrcp_cid
6550  * @note: btstack_type 2
6551  */
6552 static inline uint16_t avrcp_subevent_now_playing_info_done_get_avrcp_cid(const uint8_t * event){
6553     return little_endian_read_16(event, 3);
6554 }
6555 /**
6556  * @brief Get field command_type from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6557  * @param event packet
6558  * @return command_type
6559  * @note: btstack_type 1
6560  */
6561 static inline uint8_t avrcp_subevent_now_playing_info_done_get_command_type(const uint8_t * event){
6562     return event[5];
6563 }
6564 /**
6565  * @brief Get field status from event AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE
6566  * @param event packet
6567  * @return status
6568  * @note: btstack_type 1
6569  */
6570 static inline uint8_t avrcp_subevent_now_playing_info_done_get_status(const uint8_t * event){
6571     return event[6];
6572 }
6573 
6574 /**
6575  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6576  * @param event packet
6577  * @return avrcp_cid
6578  * @note: btstack_type 2
6579  */
6580 static inline uint16_t avrcp_subevent_notification_playback_pos_changed_get_avrcp_cid(const uint8_t * event){
6581     return little_endian_read_16(event, 3);
6582 }
6583 /**
6584  * @brief Get field command_type from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6585  * @param event packet
6586  * @return command_type
6587  * @note: btstack_type 1
6588  */
6589 static inline uint8_t avrcp_subevent_notification_playback_pos_changed_get_command_type(const uint8_t * event){
6590     return event[5];
6591 }
6592 /**
6593  * @brief Get field playback_position_ms from event AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED
6594  * @param event packet
6595  * @return playback_position_ms
6596  * @note: btstack_type 4
6597  */
6598 static inline uint32_t avrcp_subevent_notification_playback_pos_changed_get_playback_position_ms(const uint8_t * event){
6599     return little_endian_read_32(event, 6);
6600 }
6601 
6602 /**
6603  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6604  * @param event packet
6605  * @return avrcp_cid
6606  * @note: btstack_type 2
6607  */
6608 static inline uint16_t avrcp_subevent_get_capability_event_id_get_avrcp_cid(const uint8_t * event){
6609     return little_endian_read_16(event, 3);
6610 }
6611 /**
6612  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6613  * @param event packet
6614  * @return command_type
6615  * @note: btstack_type 1
6616  */
6617 static inline uint8_t avrcp_subevent_get_capability_event_id_get_command_type(const uint8_t * event){
6618     return event[5];
6619 }
6620 /**
6621  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6622  * @param event packet
6623  * @return status
6624  * @note: btstack_type 1
6625  */
6626 static inline uint8_t avrcp_subevent_get_capability_event_id_get_status(const uint8_t * event){
6627     return event[6];
6628 }
6629 /**
6630  * @brief Get field event_id from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID
6631  * @param event packet
6632  * @return event_id
6633  * @note: btstack_type 1
6634  */
6635 static inline uint8_t avrcp_subevent_get_capability_event_id_get_event_id(const uint8_t * event){
6636     return event[7];
6637 }
6638 
6639 /**
6640  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE
6641  * @param event packet
6642  * @return avrcp_cid
6643  * @note: btstack_type 2
6644  */
6645 static inline uint16_t avrcp_subevent_get_capability_event_id_done_get_avrcp_cid(const uint8_t * event){
6646     return little_endian_read_16(event, 3);
6647 }
6648 /**
6649  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE
6650  * @param event packet
6651  * @return command_type
6652  * @note: btstack_type 1
6653  */
6654 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_command_type(const uint8_t * event){
6655     return event[5];
6656 }
6657 /**
6658  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_EVENT_ID_DONE
6659  * @param event packet
6660  * @return status
6661  * @note: btstack_type 1
6662  */
6663 static inline uint8_t avrcp_subevent_get_capability_event_id_done_get_status(const uint8_t * event){
6664     return event[6];
6665 }
6666 
6667 /**
6668  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6669  * @param event packet
6670  * @return avrcp_cid
6671  * @note: btstack_type 2
6672  */
6673 static inline uint16_t avrcp_subevent_get_capability_company_id_get_avrcp_cid(const uint8_t * event){
6674     return little_endian_read_16(event, 3);
6675 }
6676 /**
6677  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6678  * @param event packet
6679  * @return command_type
6680  * @note: btstack_type 1
6681  */
6682 static inline uint8_t avrcp_subevent_get_capability_company_id_get_command_type(const uint8_t * event){
6683     return event[5];
6684 }
6685 /**
6686  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6687  * @param event packet
6688  * @return status
6689  * @note: btstack_type 1
6690  */
6691 static inline uint8_t avrcp_subevent_get_capability_company_id_get_status(const uint8_t * event){
6692     return event[6];
6693 }
6694 /**
6695  * @brief Get field company_id from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID
6696  * @param event packet
6697  * @return company_id
6698  * @note: btstack_type 3
6699  */
6700 static inline uint32_t avrcp_subevent_get_capability_company_id_get_company_id(const uint8_t * event){
6701     return little_endian_read_24(event, 7);
6702 }
6703 
6704 /**
6705  * @brief Get field avrcp_cid from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE
6706  * @param event packet
6707  * @return avrcp_cid
6708  * @note: btstack_type 2
6709  */
6710 static inline uint16_t avrcp_subevent_get_capability_company_id_done_get_avrcp_cid(const uint8_t * event){
6711     return little_endian_read_16(event, 3);
6712 }
6713 /**
6714  * @brief Get field command_type from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE
6715  * @param event packet
6716  * @return command_type
6717  * @note: btstack_type 1
6718  */
6719 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_command_type(const uint8_t * event){
6720     return event[5];
6721 }
6722 /**
6723  * @brief Get field status from event AVRCP_SUBEVENT_GET_CAPABILITY_COMPANY_ID_DONE
6724  * @param event packet
6725  * @return status
6726  * @note: btstack_type 1
6727  */
6728 static inline uint8_t avrcp_subevent_get_capability_company_id_done_get_status(const uint8_t * event){
6729     return event[6];
6730 }
6731 
6732 /**
6733  * @brief Get field bd_addr from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION
6734  * @param event packet
6735  * @param Pointer to storage for bd_addr
6736  * @note: btstack_type B
6737  */
6738 static inline void avrcp_subevent_incoming_browsing_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6739     reverse_bytes(&event[3], bd_addr, 6);
6740 }
6741 /**
6742  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION
6743  * @param event packet
6744  * @return browsing_cid
6745  * @note: btstack_type 2
6746  */
6747 static inline uint16_t avrcp_subevent_incoming_browsing_connection_get_browsing_cid(const uint8_t * event){
6748     return little_endian_read_16(event, 9);
6749 }
6750 
6751 /**
6752  * @brief Get field status from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6753  * @param event packet
6754  * @return status
6755  * @note: btstack_type 1
6756  */
6757 static inline uint8_t avrcp_subevent_browsing_connection_established_get_status(const uint8_t * event){
6758     return event[3];
6759 }
6760 /**
6761  * @brief Get field bd_addr from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6762  * @param event packet
6763  * @param Pointer to storage for bd_addr
6764  * @note: btstack_type B
6765  */
6766 static inline void avrcp_subevent_browsing_connection_established_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6767     reverse_bytes(&event[4], bd_addr, 6);
6768 }
6769 /**
6770  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED
6771  * @param event packet
6772  * @return browsing_cid
6773  * @note: btstack_type 2
6774  */
6775 static inline uint16_t avrcp_subevent_browsing_connection_established_get_browsing_cid(const uint8_t * event){
6776     return little_endian_read_16(event, 10);
6777 }
6778 
6779 /**
6780  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED
6781  * @param event packet
6782  * @return browsing_cid
6783  * @note: btstack_type 2
6784  */
6785 static inline uint16_t avrcp_subevent_browsing_connection_released_get_browsing_cid(const uint8_t * event){
6786     return little_endian_read_16(event, 3);
6787 }
6788 
6789 /**
6790  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_DONE
6791  * @param event packet
6792  * @return browsing_cid
6793  * @note: btstack_type 2
6794  */
6795 static inline uint16_t avrcp_subevent_browsing_done_get_browsing_cid(const uint8_t * event){
6796     return little_endian_read_16(event, 3);
6797 }
6798 /**
6799  * @brief Get field uid_counter from event AVRCP_SUBEVENT_BROWSING_DONE
6800  * @param event packet
6801  * @return uid_counter
6802  * @note: btstack_type 2
6803  */
6804 static inline uint16_t avrcp_subevent_browsing_done_get_uid_counter(const uint8_t * event){
6805     return little_endian_read_16(event, 5);
6806 }
6807 /**
6808  * @brief Get field browsing_status from event AVRCP_SUBEVENT_BROWSING_DONE
6809  * @param event packet
6810  * @return browsing_status
6811  * @note: btstack_type 1
6812  */
6813 static inline uint8_t avrcp_subevent_browsing_done_get_browsing_status(const uint8_t * event){
6814     return event[7];
6815 }
6816 /**
6817  * @brief Get field bluetooth_status from event AVRCP_SUBEVENT_BROWSING_DONE
6818  * @param event packet
6819  * @return bluetooth_status
6820  * @note: btstack_type 1
6821  */
6822 static inline uint8_t avrcp_subevent_browsing_done_get_bluetooth_status(const uint8_t * event){
6823     return event[8];
6824 }
6825 
6826 /**
6827  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
6828  * @param event packet
6829  * @return browsing_cid
6830  * @note: btstack_type 2
6831  */
6832 static inline uint16_t avrcp_subevent_browsing_get_folder_items_get_browsing_cid(const uint8_t * event){
6833     return little_endian_read_16(event, 3);
6834 }
6835 /**
6836  * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
6837  * @param event packet
6838  * @return scope
6839  * @note: btstack_type 1
6840  */
6841 static inline uint8_t avrcp_subevent_browsing_get_folder_items_get_scope(const uint8_t * event){
6842     return event[5];
6843 }
6844 /**
6845  * @brief Get field attr_bitmap from event AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS
6846  * @param event packet
6847  * @return attr_bitmap
6848  * @note: btstack_type 4
6849  */
6850 static inline uint32_t avrcp_subevent_browsing_get_folder_items_get_attr_bitmap(const uint8_t * event){
6851     return little_endian_read_32(event, 6);
6852 }
6853 
6854 /**
6855  * @brief Get field browsing_cid from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS
6856  * @param event packet
6857  * @return browsing_cid
6858  * @note: btstack_type 2
6859  */
6860 static inline uint16_t avrcp_subevent_browsing_get_total_num_items_get_browsing_cid(const uint8_t * event){
6861     return little_endian_read_16(event, 3);
6862 }
6863 /**
6864  * @brief Get field scope from event AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS
6865  * @param event packet
6866  * @return scope
6867  * @note: btstack_type 1
6868  */
6869 static inline uint8_t avrcp_subevent_browsing_get_total_num_items_get_scope(const uint8_t * event){
6870     return event[5];
6871 }
6872 
6873 /**
6874  * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_OPENED
6875  * @param event packet
6876  * @return goep_cid
6877  * @note: btstack_type 2
6878  */
6879 static inline uint16_t goep_subevent_connection_opened_get_goep_cid(const uint8_t * event){
6880     return little_endian_read_16(event, 3);
6881 }
6882 /**
6883  * @brief Get field status from event GOEP_SUBEVENT_CONNECTION_OPENED
6884  * @param event packet
6885  * @return status
6886  * @note: btstack_type 1
6887  */
6888 static inline uint8_t goep_subevent_connection_opened_get_status(const uint8_t * event){
6889     return event[5];
6890 }
6891 /**
6892  * @brief Get field bd_addr from event GOEP_SUBEVENT_CONNECTION_OPENED
6893  * @param event packet
6894  * @param Pointer to storage for bd_addr
6895  * @note: btstack_type B
6896  */
6897 static inline void goep_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6898     reverse_bytes(&event[6], bd_addr, 6);
6899 }
6900 /**
6901  * @brief Get field con_handle from event GOEP_SUBEVENT_CONNECTION_OPENED
6902  * @param event packet
6903  * @return con_handle
6904  * @note: btstack_type H
6905  */
6906 static inline hci_con_handle_t goep_subevent_connection_opened_get_con_handle(const uint8_t * event){
6907     return little_endian_read_16(event, 12);
6908 }
6909 /**
6910  * @brief Get field incoming from event GOEP_SUBEVENT_CONNECTION_OPENED
6911  * @param event packet
6912  * @return incoming
6913  * @note: btstack_type 1
6914  */
6915 static inline uint8_t goep_subevent_connection_opened_get_incoming(const uint8_t * event){
6916     return event[14];
6917 }
6918 
6919 /**
6920  * @brief Get field goep_cid from event GOEP_SUBEVENT_CONNECTION_CLOSED
6921  * @param event packet
6922  * @return goep_cid
6923  * @note: btstack_type 2
6924  */
6925 static inline uint16_t goep_subevent_connection_closed_get_goep_cid(const uint8_t * event){
6926     return little_endian_read_16(event, 3);
6927 }
6928 
6929 /**
6930  * @brief Get field goep_cid from event GOEP_SUBEVENT_CAN_SEND_NOW
6931  * @param event packet
6932  * @return goep_cid
6933  * @note: btstack_type 2
6934  */
6935 static inline uint16_t goep_subevent_can_send_now_get_goep_cid(const uint8_t * event){
6936     return little_endian_read_16(event, 3);
6937 }
6938 
6939 /**
6940  * @brief Get field pbap_cid from event PBAP_SUBEVENT_CONNECTION_OPENED
6941  * @param event packet
6942  * @return pbap_cid
6943  * @note: btstack_type 2
6944  */
6945 static inline uint16_t pbap_subevent_connection_opened_get_pbap_cid(const uint8_t * event){
6946     return little_endian_read_16(event, 3);
6947 }
6948 /**
6949  * @brief Get field status from event PBAP_SUBEVENT_CONNECTION_OPENED
6950  * @param event packet
6951  * @return status
6952  * @note: btstack_type 1
6953  */
6954 static inline uint8_t pbap_subevent_connection_opened_get_status(const uint8_t * event){
6955     return event[5];
6956 }
6957 /**
6958  * @brief Get field bd_addr from event PBAP_SUBEVENT_CONNECTION_OPENED
6959  * @param event packet
6960  * @param Pointer to storage for bd_addr
6961  * @note: btstack_type B
6962  */
6963 static inline void pbap_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
6964     reverse_bytes(&event[6], bd_addr, 6);
6965 }
6966 /**
6967  * @brief Get field con_handle from event PBAP_SUBEVENT_CONNECTION_OPENED
6968  * @param event packet
6969  * @return con_handle
6970  * @note: btstack_type H
6971  */
6972 static inline hci_con_handle_t pbap_subevent_connection_opened_get_con_handle(const uint8_t * event){
6973     return little_endian_read_16(event, 12);
6974 }
6975 /**
6976  * @brief Get field incoming from event PBAP_SUBEVENT_CONNECTION_OPENED
6977  * @param event packet
6978  * @return incoming
6979  * @note: btstack_type 1
6980  */
6981 static inline uint8_t pbap_subevent_connection_opened_get_incoming(const uint8_t * event){
6982     return event[14];
6983 }
6984 
6985 /**
6986  * @brief Get field goep_cid from event PBAP_SUBEVENT_CONNECTION_CLOSED
6987  * @param event packet
6988  * @return goep_cid
6989  * @note: btstack_type 2
6990  */
6991 static inline uint16_t pbap_subevent_connection_closed_get_goep_cid(const uint8_t * event){
6992     return little_endian_read_16(event, 3);
6993 }
6994 
6995 /**
6996  * @brief Get field goep_cid from event PBAP_SUBEVENT_OPERATION_COMPLETED
6997  * @param event packet
6998  * @return goep_cid
6999  * @note: btstack_type 2
7000  */
7001 static inline uint16_t pbap_subevent_operation_completed_get_goep_cid(const uint8_t * event){
7002     return little_endian_read_16(event, 3);
7003 }
7004 /**
7005  * @brief Get field status from event PBAP_SUBEVENT_OPERATION_COMPLETED
7006  * @param event packet
7007  * @return status
7008  * @note: btstack_type 1
7009  */
7010 static inline uint8_t pbap_subevent_operation_completed_get_status(const uint8_t * event){
7011     return event[5];
7012 }
7013 
7014 /**
7015  * @brief Get field goep_cid from event PBAP_SUBEVENT_PHONEBOOK_SIZE
7016  * @param event packet
7017  * @return goep_cid
7018  * @note: btstack_type 2
7019  */
7020 static inline uint16_t pbap_subevent_phonebook_size_get_goep_cid(const uint8_t * event){
7021     return little_endian_read_16(event, 3);
7022 }
7023 /**
7024  * @brief Get field status from event PBAP_SUBEVENT_PHONEBOOK_SIZE
7025  * @param event packet
7026  * @return status
7027  * @note: btstack_type 1
7028  */
7029 static inline uint8_t pbap_subevent_phonebook_size_get_status(const uint8_t * event){
7030     return event[5];
7031 }
7032 /**
7033  * @brief Get field phoneboook_size from event PBAP_SUBEVENT_PHONEBOOK_SIZE
7034  * @param event packet
7035  * @return phoneboook_size
7036  * @note: btstack_type 2
7037  */
7038 static inline uint16_t pbap_subevent_phonebook_size_get_phoneboook_size(const uint8_t * event){
7039     return little_endian_read_16(event, 6);
7040 }
7041 
7042 /**
7043  * @brief Get field goep_cid from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
7044  * @param event packet
7045  * @return goep_cid
7046  * @note: btstack_type 2
7047  */
7048 static inline uint16_t pbap_subevent_authentication_request_get_goep_cid(const uint8_t * event){
7049     return little_endian_read_16(event, 3);
7050 }
7051 /**
7052  * @brief Get field user_id_required from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
7053  * @param event packet
7054  * @return user_id_required
7055  * @note: btstack_type 1
7056  */
7057 static inline uint8_t pbap_subevent_authentication_request_get_user_id_required(const uint8_t * event){
7058     return event[5];
7059 }
7060 /**
7061  * @brief Get field full_access from event PBAP_SUBEVENT_AUTHENTICATION_REQUEST
7062  * @param event packet
7063  * @return full_access
7064  * @note: btstack_type 1
7065  */
7066 static inline uint8_t pbap_subevent_authentication_request_get_full_access(const uint8_t * event){
7067     return event[6];
7068 }
7069 
7070 /**
7071  * @brief Get field goep_cid from event PBAP_SUBEVENT_CARD_RESULT
7072  * @param event packet
7073  * @return goep_cid
7074  * @note: btstack_type 2
7075  */
7076 static inline uint16_t pbap_subevent_card_result_get_goep_cid(const uint8_t * event){
7077     return little_endian_read_16(event, 3);
7078 }
7079 /**
7080  * @brief Get field name_len from event PBAP_SUBEVENT_CARD_RESULT
7081  * @param event packet
7082  * @return name_len
7083  * @note: btstack_type J
7084  */
7085 static inline uint8_t pbap_subevent_card_result_get_name_len(const uint8_t * event){
7086     return event[5];
7087 }
7088 /**
7089  * @brief Get field name from event PBAP_SUBEVENT_CARD_RESULT
7090  * @param event packet
7091  * @return name
7092  * @note: btstack_type V
7093  */
7094 static inline const uint8_t * pbap_subevent_card_result_get_name(const uint8_t * event){
7095     return &event[6];
7096 }
7097 /**
7098  * @brief Get field handle_len from event PBAP_SUBEVENT_CARD_RESULT
7099  * @param event packet
7100  * @return handle_len
7101  * @note: btstack_type J
7102  */
7103 static inline uint8_t pbap_subevent_card_result_get_handle_len(const uint8_t * event){
7104     return event[6u + event[5]];
7105 }
7106 /**
7107  * @brief Get field handle from event PBAP_SUBEVENT_CARD_RESULT
7108  * @param event packet
7109  * @return handle
7110  * @note: btstack_type V
7111  */
7112 static inline const uint8_t * pbap_subevent_card_result_get_handle(const uint8_t * event){
7113     return &event[6u + event[5] + 1u];
7114 }
7115 
7116 /**
7117  * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_OPENED
7118  * @param event packet
7119  * @return hid_cid
7120  * @note: btstack_type 2
7121  */
7122 static inline uint16_t hid_subevent_connection_opened_get_hid_cid(const uint8_t * event){
7123     return little_endian_read_16(event, 3);
7124 }
7125 /**
7126  * @brief Get field status from event HID_SUBEVENT_CONNECTION_OPENED
7127  * @param event packet
7128  * @return status
7129  * @note: btstack_type 1
7130  */
7131 static inline uint8_t hid_subevent_connection_opened_get_status(const uint8_t * event){
7132     return event[5];
7133 }
7134 /**
7135  * @brief Get field bd_addr from event HID_SUBEVENT_CONNECTION_OPENED
7136  * @param event packet
7137  * @param Pointer to storage for bd_addr
7138  * @note: btstack_type B
7139  */
7140 static inline void hid_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
7141     reverse_bytes(&event[6], bd_addr, 6);
7142 }
7143 /**
7144  * @brief Get field con_handle from event HID_SUBEVENT_CONNECTION_OPENED
7145  * @param event packet
7146  * @return con_handle
7147  * @note: btstack_type H
7148  */
7149 static inline hci_con_handle_t hid_subevent_connection_opened_get_con_handle(const uint8_t * event){
7150     return little_endian_read_16(event, 12);
7151 }
7152 /**
7153  * @brief Get field incoming from event HID_SUBEVENT_CONNECTION_OPENED
7154  * @param event packet
7155  * @return incoming
7156  * @note: btstack_type 1
7157  */
7158 static inline uint8_t hid_subevent_connection_opened_get_incoming(const uint8_t * event){
7159     return event[14];
7160 }
7161 
7162 /**
7163  * @brief Get field hid_cid from event HID_SUBEVENT_CONNECTION_CLOSED
7164  * @param event packet
7165  * @return hid_cid
7166  * @note: btstack_type 2
7167  */
7168 static inline uint16_t hid_subevent_connection_closed_get_hid_cid(const uint8_t * event){
7169     return little_endian_read_16(event, 3);
7170 }
7171 
7172 /**
7173  * @brief Get field hid_cid from event HID_SUBEVENT_CAN_SEND_NOW
7174  * @param event packet
7175  * @return hid_cid
7176  * @note: btstack_type 2
7177  */
7178 static inline uint16_t hid_subevent_can_send_now_get_hid_cid(const uint8_t * event){
7179     return little_endian_read_16(event, 3);
7180 }
7181 
7182 /**
7183  * @brief Get field con_handle from event HID_SUBEVENT_SUSPEND
7184  * @param event packet
7185  * @return con_handle
7186  * @note: btstack_type 2
7187  */
7188 static inline uint16_t hid_subevent_suspend_get_con_handle(const uint8_t * event){
7189     return little_endian_read_16(event, 3);
7190 }
7191 
7192 /**
7193  * @brief Get field con_handle from event HID_SUBEVENT_EXIT_SUSPEND
7194  * @param event packet
7195  * @return con_handle
7196  * @note: btstack_type 2
7197  */
7198 static inline uint16_t hid_subevent_exit_suspend_get_con_handle(const uint8_t * event){
7199     return little_endian_read_16(event, 3);
7200 }
7201 
7202 /**
7203  * @brief Get field con_handle from event HIDS_SUBEVENT_CAN_SEND_NOW
7204  * @param event packet
7205  * @return con_handle
7206  * @note: btstack_type 2
7207  */
7208 static inline uint16_t hids_subevent_can_send_now_get_con_handle(const uint8_t * event){
7209     return little_endian_read_16(event, 3);
7210 }
7211 
7212 /**
7213  * @brief Get field con_handle from event HIDS_SUBEVENT_PROTOCOL_MODE
7214  * @param event packet
7215  * @return con_handle
7216  * @note: btstack_type 2
7217  */
7218 static inline uint16_t hids_subevent_protocol_mode_get_con_handle(const uint8_t * event){
7219     return little_endian_read_16(event, 3);
7220 }
7221 /**
7222  * @brief Get field protocol_mode from event HIDS_SUBEVENT_PROTOCOL_MODE
7223  * @param event packet
7224  * @return protocol_mode
7225  * @note: btstack_type 1
7226  */
7227 static inline uint8_t hids_subevent_protocol_mode_get_protocol_mode(const uint8_t * event){
7228     return event[5];
7229 }
7230 
7231 /**
7232  * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE
7233  * @param event packet
7234  * @return con_handle
7235  * @note: btstack_type 2
7236  */
7237 static inline uint16_t hids_subevent_boot_mouse_input_report_enable_get_con_handle(const uint8_t * event){
7238     return little_endian_read_16(event, 3);
7239 }
7240 /**
7241  * @brief Get field enable from event HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE
7242  * @param event packet
7243  * @return enable
7244  * @note: btstack_type 1
7245  */
7246 static inline uint8_t hids_subevent_boot_mouse_input_report_enable_get_enable(const uint8_t * event){
7247     return event[5];
7248 }
7249 
7250 /**
7251  * @brief Get field con_handle from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE
7252  * @param event packet
7253  * @return con_handle
7254  * @note: btstack_type 2
7255  */
7256 static inline uint16_t hids_subevent_boot_keyboard_input_report_enable_get_con_handle(const uint8_t * event){
7257     return little_endian_read_16(event, 3);
7258 }
7259 /**
7260  * @brief Get field enable from event HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE
7261  * @param event packet
7262  * @return enable
7263  * @note: btstack_type 1
7264  */
7265 static inline uint8_t hids_subevent_boot_keyboard_input_report_enable_get_enable(const uint8_t * event){
7266     return event[5];
7267 }
7268 
7269 /**
7270  * @brief Get field con_handle from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE
7271  * @param event packet
7272  * @return con_handle
7273  * @note: btstack_type 2
7274  */
7275 static inline uint16_t hids_subevent_input_report_enable_get_con_handle(const uint8_t * event){
7276     return little_endian_read_16(event, 3);
7277 }
7278 /**
7279  * @brief Get field enable from event HIDS_SUBEVENT_INPUT_REPORT_ENABLE
7280  * @param event packet
7281  * @return enable
7282  * @note: btstack_type 1
7283  */
7284 static inline uint8_t hids_subevent_input_report_enable_get_enable(const uint8_t * event){
7285     return event[5];
7286 }
7287 
7288 /**
7289  * @brief Get field con_handle from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE
7290  * @param event packet
7291  * @return con_handle
7292  * @note: btstack_type 2
7293  */
7294 static inline uint16_t hids_subevent_output_report_enable_get_con_handle(const uint8_t * event){
7295     return little_endian_read_16(event, 3);
7296 }
7297 /**
7298  * @brief Get field enable from event HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE
7299  * @param event packet
7300  * @return enable
7301  * @note: btstack_type 1
7302  */
7303 static inline uint8_t hids_subevent_output_report_enable_get_enable(const uint8_t * event){
7304     return event[5];
7305 }
7306 
7307 /**
7308  * @brief Get field con_handle from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE
7309  * @param event packet
7310  * @return con_handle
7311  * @note: btstack_type 2
7312  */
7313 static inline uint16_t hids_subevent_feature_report_enable_get_con_handle(const uint8_t * event){
7314     return little_endian_read_16(event, 3);
7315 }
7316 /**
7317  * @brief Get field enable from event HIDS_SUBEVENT_FEATURE_REPORT_ENABLE
7318  * @param event packet
7319  * @return enable
7320  * @note: btstack_type 1
7321  */
7322 static inline uint8_t hids_subevent_feature_report_enable_get_enable(const uint8_t * event){
7323     return event[5];
7324 }
7325 
7326 /**
7327  * @brief Get field con_handle from event HIDS_SUBEVENT_SUSPEND
7328  * @param event packet
7329  * @return con_handle
7330  * @note: btstack_type 2
7331  */
7332 static inline uint16_t hids_subevent_suspend_get_con_handle(const uint8_t * event){
7333     return little_endian_read_16(event, 3);
7334 }
7335 
7336 /**
7337  * @brief Get field con_handle from event HIDS_SUBEVENT_EXIT_SUSPEND
7338  * @param event packet
7339  * @return con_handle
7340  * @note: btstack_type 2
7341  */
7342 static inline uint16_t hids_subevent_exit_suspend_get_con_handle(const uint8_t * event){
7343     return little_endian_read_16(event, 3);
7344 }
7345 
7346 /**
7347  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7348  * @param event packet
7349  * @return con_handle
7350  * @note: btstack_type 2
7351  */
7352 static inline uint16_t gattservice_subevent_cycling_power_start_calibration_get_con_handle(const uint8_t * event){
7353     return little_endian_read_16(event, 3);
7354 }
7355 /**
7356  * @brief Get field measurement_type from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7357  * @param event packet
7358  * @return measurement_type
7359  * @note: btstack_type 1
7360  */
7361 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_measurement_type(const uint8_t * event){
7362     return event[5];
7363 }
7364 /**
7365  * @brief Get field is_enhanced from event GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION
7366  * @param event packet
7367  * @return is_enhanced
7368  * @note: btstack_type 1
7369  */
7370 static inline uint8_t gattservice_subevent_cycling_power_start_calibration_get_is_enhanced(const uint8_t * event){
7371     return event[6];
7372 }
7373 
7374 /**
7375  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START
7376  * @param event packet
7377  * @return con_handle
7378  * @note: btstack_type 2
7379  */
7380 static inline uint16_t gattservice_subevent_cycling_power_broadcast_start_get_con_handle(const uint8_t * event){
7381     return little_endian_read_16(event, 3);
7382 }
7383 
7384 /**
7385  * @brief Get field con_handle from event GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP
7386  * @param event packet
7387  * @return con_handle
7388  * @note: btstack_type 2
7389  */
7390 static inline uint16_t gattservice_subevent_cycling_power_broadcast_stop_get_con_handle(const uint8_t * event){
7391     return little_endian_read_16(event, 3);
7392 }
7393 
7394 /**
7395  * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_OPENED
7396  * @param event packet
7397  * @return map_cid
7398  * @note: btstack_type 2
7399  */
7400 static inline uint16_t map_subevent_connection_opened_get_map_cid(const uint8_t * event){
7401     return little_endian_read_16(event, 3);
7402 }
7403 /**
7404  * @brief Get field status from event MAP_SUBEVENT_CONNECTION_OPENED
7405  * @param event packet
7406  * @return status
7407  * @note: btstack_type 1
7408  */
7409 static inline uint8_t map_subevent_connection_opened_get_status(const uint8_t * event){
7410     return event[5];
7411 }
7412 /**
7413  * @brief Get field bd_addr from event MAP_SUBEVENT_CONNECTION_OPENED
7414  * @param event packet
7415  * @param Pointer to storage for bd_addr
7416  * @note: btstack_type B
7417  */
7418 static inline void map_subevent_connection_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
7419     reverse_bytes(&event[6], bd_addr, 6);
7420 }
7421 /**
7422  * @brief Get field con_handle from event MAP_SUBEVENT_CONNECTION_OPENED
7423  * @param event packet
7424  * @return con_handle
7425  * @note: btstack_type H
7426  */
7427 static inline hci_con_handle_t map_subevent_connection_opened_get_con_handle(const uint8_t * event){
7428     return little_endian_read_16(event, 12);
7429 }
7430 /**
7431  * @brief Get field incoming from event MAP_SUBEVENT_CONNECTION_OPENED
7432  * @param event packet
7433  * @return incoming
7434  * @note: btstack_type 1
7435  */
7436 static inline uint8_t map_subevent_connection_opened_get_incoming(const uint8_t * event){
7437     return event[14];
7438 }
7439 
7440 /**
7441  * @brief Get field map_cid from event MAP_SUBEVENT_CONNECTION_CLOSED
7442  * @param event packet
7443  * @return map_cid
7444  * @note: btstack_type 2
7445  */
7446 static inline uint16_t map_subevent_connection_closed_get_map_cid(const uint8_t * event){
7447     return little_endian_read_16(event, 3);
7448 }
7449 
7450 /**
7451  * @brief Get field map_cid from event MAP_SUBEVENT_OPERATION_COMPLETED
7452  * @param event packet
7453  * @return map_cid
7454  * @note: btstack_type 2
7455  */
7456 static inline uint16_t map_subevent_operation_completed_get_map_cid(const uint8_t * event){
7457     return little_endian_read_16(event, 3);
7458 }
7459 /**
7460  * @brief Get field status from event MAP_SUBEVENT_OPERATION_COMPLETED
7461  * @param event packet
7462  * @return status
7463  * @note: btstack_type 1
7464  */
7465 static inline uint8_t map_subevent_operation_completed_get_status(const uint8_t * event){
7466     return event[5];
7467 }
7468 
7469 /**
7470  * @brief Get field map_cid from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7471  * @param event packet
7472  * @return map_cid
7473  * @note: btstack_type 2
7474  */
7475 static inline uint16_t map_subevent_folder_listing_item_get_map_cid(const uint8_t * event){
7476     return little_endian_read_16(event, 3);
7477 }
7478 /**
7479  * @brief Get field name_len from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7480  * @param event packet
7481  * @return name_len
7482  * @note: btstack_type L
7483  */
7484 static inline uint16_t map_subevent_folder_listing_item_get_name_len(const uint8_t * event){
7485     return little_endian_read_16(event, 5);
7486 }
7487 /**
7488  * @brief Get field name from event MAP_SUBEVENT_FOLDER_LISTING_ITEM
7489  * @param event packet
7490  * @return name
7491  * @note: btstack_type V
7492  */
7493 static inline const uint8_t * map_subevent_folder_listing_item_get_name(const uint8_t * event){
7494     return &event[7];
7495 }
7496 
7497 /**
7498  * @brief Get field map_cid from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM
7499  * @param event packet
7500  * @return map_cid
7501  * @note: btstack_type 2
7502  */
7503 static inline uint16_t map_subevent_message_listing_item_get_map_cid(const uint8_t * event){
7504     return little_endian_read_16(event, 3);
7505 }
7506 /**
7507  * @brief Get field handle from event MAP_SUBEVENT_MESSAGE_LISTING_ITEM
7508  * @param event packet
7509  * @return handle
7510  * @note: btstack_type D
7511  */
7512 static inline const uint8_t * map_subevent_message_listing_item_get_handle(const uint8_t * event){
7513     return (const uint8_t *) &event[5];
7514 }
7515 
7516 /**
7517  * @brief Get field map_cid from event MAP_SUBEVENT_PARSING_DONE
7518  * @param event packet
7519  * @return map_cid
7520  * @note: btstack_type 2
7521  */
7522 static inline uint16_t map_subevent_parsing_done_get_map_cid(const uint8_t * event){
7523     return little_endian_read_16(event, 3);
7524 }
7525 
7526 
7527 /**
7528  * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT
7529  * @param event packet
7530  * @return status
7531  * @note: btstack_type 1
7532  */
7533 static inline uint8_t mesh_subevent_pb_transport_pdu_sent_get_status(const uint8_t * event){
7534     return event[3];
7535 }
7536 
7537 /**
7538  * @brief Get field status from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7539  * @param event packet
7540  * @return status
7541  * @note: btstack_type 1
7542  */
7543 static inline uint8_t mesh_subevent_pb_transport_link_open_get_status(const uint8_t * event){
7544     return event[3];
7545 }
7546 /**
7547  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7548  * @param event packet
7549  * @return pb_transport_cid
7550  * @note: btstack_type 2
7551  */
7552 static inline uint16_t mesh_subevent_pb_transport_link_open_get_pb_transport_cid(const uint8_t * event){
7553     return little_endian_read_16(event, 4);
7554 }
7555 /**
7556  * @brief Get field pb_type from event MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN
7557  * @param event packet
7558  * @return pb_type
7559  * @note: btstack_type 1
7560  */
7561 static inline uint8_t mesh_subevent_pb_transport_link_open_get_pb_type(const uint8_t * event){
7562     return event[6];
7563 }
7564 
7565 /**
7566  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED
7567  * @param event packet
7568  * @return pb_transport_cid
7569  * @note: btstack_type 1
7570  */
7571 static inline uint8_t mesh_subevent_pb_transport_link_closed_get_pb_transport_cid(const uint8_t * event){
7572     return event[3];
7573 }
7574 /**
7575  * @brief Get field reason from event MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED
7576  * @param event packet
7577  * @return reason
7578  * @note: btstack_type 2
7579  */
7580 static inline uint16_t mesh_subevent_pb_transport_link_closed_get_reason(const uint8_t * event){
7581     return little_endian_read_16(event, 4);
7582 }
7583 
7584 /**
7585  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER
7586  * @param event packet
7587  * @return pb_transport_cid
7588  * @note: btstack_type 2
7589  */
7590 static inline uint16_t mesh_subevent_pb_prov_attention_timer_get_pb_transport_cid(const uint8_t * event){
7591     return little_endian_read_16(event, 3);
7592 }
7593 /**
7594  * @brief Get field attention_time from event MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER
7595  * @param event packet
7596  * @return attention_time
7597  * @note: btstack_type 1
7598  */
7599 static inline uint8_t mesh_subevent_pb_prov_attention_timer_get_attention_time(const uint8_t * event){
7600     return event[5];
7601 }
7602 
7603 /**
7604  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB
7605  * @param event packet
7606  * @return pb_transport_cid
7607  * @note: btstack_type 2
7608  */
7609 static inline uint16_t mesh_subevent_pb_prov_start_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7610     return little_endian_read_16(event, 3);
7611 }
7612 
7613 /**
7614  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB
7615  * @param event packet
7616  * @return pb_transport_cid
7617  * @note: btstack_type 2
7618  */
7619 static inline uint16_t mesh_subevent_pb_prov_stop_emit_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7620     return little_endian_read_16(event, 3);
7621 }
7622 
7623 /**
7624  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST
7625  * @param event packet
7626  * @return pb_transport_cid
7627  * @note: btstack_type 2
7628  */
7629 static inline uint16_t mesh_subevent_pb_prov_input_oob_request_get_pb_transport_cid(const uint8_t * event){
7630     return little_endian_read_16(event, 3);
7631 }
7632 
7633 /**
7634  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB
7635  * @param event packet
7636  * @return pb_transport_cid
7637  * @note: btstack_type 2
7638  */
7639 static inline uint16_t mesh_subevent_pb_prov_start_emit_output_oob_get_pb_transport_cid(const uint8_t * event){
7640     return little_endian_read_16(event, 3);
7641 }
7642 /**
7643  * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB
7644  * @param event packet
7645  * @return output_oob
7646  * @note: btstack_type 4
7647  */
7648 static inline uint32_t mesh_subevent_pb_prov_start_emit_output_oob_get_output_oob(const uint8_t * event){
7649     return little_endian_read_32(event, 5);
7650 }
7651 
7652 /**
7653  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB
7654  * @param event packet
7655  * @return pb_transport_cid
7656  * @note: btstack_type 2
7657  */
7658 static inline uint16_t mesh_subevent_pb_prov_stop_emit_output_oob_get_pb_transport_cid(const uint8_t * event){
7659     return little_endian_read_16(event, 3);
7660 }
7661 
7662 /**
7663  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB
7664  * @param event packet
7665  * @return pb_transport_cid
7666  * @note: btstack_type 2
7667  */
7668 static inline uint16_t mesh_subevent_pb_prov_start_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7669     return little_endian_read_16(event, 3);
7670 }
7671 
7672 /**
7673  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB
7674  * @param event packet
7675  * @return pb_transport_cid
7676  * @note: btstack_type 2
7677  */
7678 static inline uint16_t mesh_subevent_pb_prov_stop_receive_public_key_oob_get_pb_transport_cid(const uint8_t * event){
7679     return little_endian_read_16(event, 3);
7680 }
7681 
7682 /**
7683  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST
7684  * @param event packet
7685  * @return pb_transport_cid
7686  * @note: btstack_type 2
7687  */
7688 static inline uint16_t mesh_subevent_pb_prov_output_oob_request_get_pb_transport_cid(const uint8_t * event){
7689     return little_endian_read_16(event, 3);
7690 }
7691 
7692 /**
7693  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB
7694  * @param event packet
7695  * @return pb_transport_cid
7696  * @note: btstack_type 2
7697  */
7698 static inline uint16_t mesh_subevent_pb_prov_start_emit_input_oob_get_pb_transport_cid(const uint8_t * event){
7699     return little_endian_read_16(event, 3);
7700 }
7701 /**
7702  * @brief Get field output_oob from event MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB
7703  * @param event packet
7704  * @return output_oob
7705  * @note: btstack_type 4
7706  */
7707 static inline uint32_t mesh_subevent_pb_prov_start_emit_input_oob_get_output_oob(const uint8_t * event){
7708     return little_endian_read_32(event, 5);
7709 }
7710 
7711 /**
7712  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB
7713  * @param event packet
7714  * @return pb_transport_cid
7715  * @note: btstack_type 2
7716  */
7717 static inline uint16_t mesh_subevent_pb_prov_stop_emit_input_oob_get_pb_transport_cid(const uint8_t * event){
7718     return little_endian_read_16(event, 3);
7719 }
7720 
7721 /**
7722  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7723  * @param event packet
7724  * @return pb_transport_cid
7725  * @note: btstack_type 2
7726  */
7727 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_pb_transport_cid(const uint8_t * event){
7728     return little_endian_read_16(event, 3);
7729 }
7730 /**
7731  * @brief Get field num_elements from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7732  * @param event packet
7733  * @return num_elements
7734  * @note: btstack_type 1
7735  */
7736 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_num_elements(const uint8_t * event){
7737     return event[5];
7738 }
7739 /**
7740  * @brief Get field algorithms from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7741  * @param event packet
7742  * @return algorithms
7743  * @note: btstack_type 2
7744  */
7745 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_algorithms(const uint8_t * event){
7746     return little_endian_read_16(event, 6);
7747 }
7748 /**
7749  * @brief Get field public_key from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7750  * @param event packet
7751  * @return public_key
7752  * @note: btstack_type 1
7753  */
7754 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_public_key(const uint8_t * event){
7755     return event[8];
7756 }
7757 /**
7758  * @brief Get field static_oob_type from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7759  * @param event packet
7760  * @return static_oob_type
7761  * @note: btstack_type 1
7762  */
7763 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_static_oob_type(const uint8_t * event){
7764     return event[9];
7765 }
7766 /**
7767  * @brief Get field output_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7768  * @param event packet
7769  * @return output_oob_size
7770  * @note: btstack_type 1
7771  */
7772 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_output_oob_size(const uint8_t * event){
7773     return event[10];
7774 }
7775 /**
7776  * @brief Get field output_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7777  * @param event packet
7778  * @return output_oob_action
7779  * @note: btstack_type 2
7780  */
7781 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_output_oob_action(const uint8_t * event){
7782     return little_endian_read_16(event, 11);
7783 }
7784 /**
7785  * @brief Get field input_oob_size from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7786  * @param event packet
7787  * @return input_oob_size
7788  * @note: btstack_type 1
7789  */
7790 static inline uint8_t mesh_subevent_pb_prov_capabilities_get_input_oob_size(const uint8_t * event){
7791     return event[13];
7792 }
7793 /**
7794  * @brief Get field input_oob_action from event MESH_SUBEVENT_PB_PROV_CAPABILITIES
7795  * @param event packet
7796  * @return input_oob_action
7797  * @note: btstack_type 2
7798  */
7799 static inline uint16_t mesh_subevent_pb_prov_capabilities_get_input_oob_action(const uint8_t * event){
7800     return little_endian_read_16(event, 14);
7801 }
7802 
7803 /**
7804  * @brief Get field pb_transport_cid from event MESH_SUBEVENT_PB_PROV_COMPLETE
7805  * @param event packet
7806  * @return pb_transport_cid
7807  * @note: btstack_type 2
7808  */
7809 static inline uint16_t mesh_subevent_pb_prov_complete_get_pb_transport_cid(const uint8_t * event){
7810     return little_endian_read_16(event, 3);
7811 }
7812 
7813 /**
7814  * @brief Get field attention_time from event MESH_SUBEVENT_ATTENTION_TIMER
7815  * @param event packet
7816  * @return attention_time
7817  * @note: btstack_type 1
7818  */
7819 static inline uint8_t mesh_subevent_attention_timer_get_attention_time(const uint8_t * event){
7820     return event[3];
7821 }
7822 
7823 /**
7824  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_CONNECTED
7825  * @param event packet
7826  * @return con_handle
7827  * @note: btstack_type H
7828  */
7829 static inline hci_con_handle_t mesh_subevent_proxy_connected_get_con_handle(const uint8_t * event){
7830     return little_endian_read_16(event, 3);
7831 }
7832 
7833 /**
7834  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_PDU_SENT
7835  * @param event packet
7836  * @return con_handle
7837  * @note: btstack_type H
7838  */
7839 static inline hci_con_handle_t mesh_subevent_proxy_pdu_sent_get_con_handle(const uint8_t * event){
7840     return little_endian_read_16(event, 3);
7841 }
7842 
7843 /**
7844  * @brief Get field con_handle from event MESH_SUBEVENT_PROXY_DISCONNECTED
7845  * @param event packet
7846  * @return con_handle
7847  * @note: btstack_type H
7848  */
7849 static inline hci_con_handle_t mesh_subevent_proxy_disconnected_get_con_handle(const uint8_t * event){
7850     return little_endian_read_16(event, 3);
7851 }
7852 
7853 /**
7854  * @brief Get field con_handle from event MESH_SUBEVENT_MESSAGE_SENT
7855  * @param event packet
7856  * @return con_handle
7857  * @note: btstack_type H
7858  */
7859 static inline hci_con_handle_t mesh_subevent_message_sent_get_con_handle(const uint8_t * event){
7860     return little_endian_read_16(event, 3);
7861 }
7862 
7863 /**
7864  * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7865  * @param event packet
7866  * @return element_index
7867  * @note: btstack_type 1
7868  */
7869 static inline uint8_t mesh_subevent_state_update_bool_get_element_index(const uint8_t * event){
7870     return event[3];
7871 }
7872 /**
7873  * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7874  * @param event packet
7875  * @return model_identifier
7876  * @note: btstack_type 4
7877  */
7878 static inline uint32_t mesh_subevent_state_update_bool_get_model_identifier(const uint8_t * event){
7879     return little_endian_read_32(event, 4);
7880 }
7881 /**
7882  * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7883  * @param event packet
7884  * @return state_identifier
7885  * @note: btstack_type 4
7886  */
7887 static inline uint32_t mesh_subevent_state_update_bool_get_state_identifier(const uint8_t * event){
7888     return little_endian_read_32(event, 8);
7889 }
7890 /**
7891  * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7892  * @param event packet
7893  * @return reason
7894  * @note: btstack_type 1
7895  */
7896 static inline uint8_t mesh_subevent_state_update_bool_get_reason(const uint8_t * event){
7897     return event[12];
7898 }
7899 /**
7900  * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_BOOL
7901  * @param event packet
7902  * @return value
7903  * @note: btstack_type 1
7904  */
7905 static inline uint8_t mesh_subevent_state_update_bool_get_value(const uint8_t * event){
7906     return event[13];
7907 }
7908 
7909 /**
7910  * @brief Get field element_index from event MESH_SUBEVENT_STATE_UPDATE_INT16
7911  * @param event packet
7912  * @return element_index
7913  * @note: btstack_type 1
7914  */
7915 static inline uint8_t mesh_subevent_state_update_int16_get_element_index(const uint8_t * event){
7916     return event[3];
7917 }
7918 /**
7919  * @brief Get field model_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16
7920  * @param event packet
7921  * @return model_identifier
7922  * @note: btstack_type 4
7923  */
7924 static inline uint32_t mesh_subevent_state_update_int16_get_model_identifier(const uint8_t * event){
7925     return little_endian_read_32(event, 4);
7926 }
7927 /**
7928  * @brief Get field state_identifier from event MESH_SUBEVENT_STATE_UPDATE_INT16
7929  * @param event packet
7930  * @return state_identifier
7931  * @note: btstack_type 4
7932  */
7933 static inline uint32_t mesh_subevent_state_update_int16_get_state_identifier(const uint8_t * event){
7934     return little_endian_read_32(event, 8);
7935 }
7936 /**
7937  * @brief Get field reason from event MESH_SUBEVENT_STATE_UPDATE_INT16
7938  * @param event packet
7939  * @return reason
7940  * @note: btstack_type 1
7941  */
7942 static inline uint8_t mesh_subevent_state_update_int16_get_reason(const uint8_t * event){
7943     return event[12];
7944 }
7945 /**
7946  * @brief Get field value from event MESH_SUBEVENT_STATE_UPDATE_INT16
7947  * @param event packet
7948  * @return value
7949  * @note: btstack_type 2
7950  */
7951 static inline uint16_t mesh_subevent_state_update_int16_get_value(const uint8_t * event){
7952     return little_endian_read_16(event, 13);
7953 }
7954 
7955 /**
7956  * @brief Get field element_index from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7957  * @param event packet
7958  * @return element_index
7959  * @note: btstack_type 1
7960  */
7961 static inline uint8_t mesh_subevent_message_not_acknowledged_get_element_index(const uint8_t * event){
7962     return event[3];
7963 }
7964 /**
7965  * @brief Get field model_identifier from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7966  * @param event packet
7967  * @return model_identifier
7968  * @note: btstack_type 4
7969  */
7970 static inline uint32_t mesh_subevent_message_not_acknowledged_get_model_identifier(const uint8_t * event){
7971     return little_endian_read_32(event, 4);
7972 }
7973 /**
7974  * @brief Get field opcode from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7975  * @param event packet
7976  * @return opcode
7977  * @note: btstack_type 4
7978  */
7979 static inline uint32_t mesh_subevent_message_not_acknowledged_get_opcode(const uint8_t * event){
7980     return little_endian_read_32(event, 8);
7981 }
7982 /**
7983  * @brief Get field dest from event MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED
7984  * @param event packet
7985  * @return dest
7986  * @note: btstack_type 2
7987  */
7988 static inline uint16_t mesh_subevent_message_not_acknowledged_get_dest(const uint8_t * event){
7989     return little_endian_read_16(event, 12);
7990 }
7991 
7992 /**
7993  * @brief Get field dest from event MESH_SUBEVENT_GENERIC_ON_OFF
7994  * @param event packet
7995  * @return dest
7996  * @note: btstack_type 2
7997  */
7998 static inline uint16_t mesh_subevent_generic_on_off_get_dest(const uint8_t * event){
7999     return little_endian_read_16(event, 3);
8000 }
8001 /**
8002  * @brief Get field status from event MESH_SUBEVENT_GENERIC_ON_OFF
8003  * @param event packet
8004  * @return status
8005  * @note: btstack_type 1
8006  */
8007 static inline uint8_t mesh_subevent_generic_on_off_get_status(const uint8_t * event){
8008     return event[5];
8009 }
8010 /**
8011  * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_ON_OFF
8012  * @param event packet
8013  * @return present_value
8014  * @note: btstack_type 1
8015  */
8016 static inline uint8_t mesh_subevent_generic_on_off_get_present_value(const uint8_t * event){
8017     return event[6];
8018 }
8019 /**
8020  * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_ON_OFF
8021  * @param event packet
8022  * @return target_value
8023  * @note: btstack_type 1
8024  */
8025 static inline uint8_t mesh_subevent_generic_on_off_get_target_value(const uint8_t * event){
8026     return event[7];
8027 }
8028 /**
8029  * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_ON_OFF
8030  * @param event packet
8031  * @return remaining_time_ms
8032  * @note: btstack_type 4
8033  */
8034 static inline uint32_t mesh_subevent_generic_on_off_get_remaining_time_ms(const uint8_t * event){
8035     return little_endian_read_32(event, 8);
8036 }
8037 
8038 /**
8039  * @brief Get field dest from event MESH_SUBEVENT_GENERIC_LEVEL
8040  * @param event packet
8041  * @return dest
8042  * @note: btstack_type 2
8043  */
8044 static inline uint16_t mesh_subevent_generic_level_get_dest(const uint8_t * event){
8045     return little_endian_read_16(event, 3);
8046 }
8047 /**
8048  * @brief Get field status from event MESH_SUBEVENT_GENERIC_LEVEL
8049  * @param event packet
8050  * @return status
8051  * @note: btstack_type 1
8052  */
8053 static inline uint8_t mesh_subevent_generic_level_get_status(const uint8_t * event){
8054     return event[5];
8055 }
8056 /**
8057  * @brief Get field present_value from event MESH_SUBEVENT_GENERIC_LEVEL
8058  * @param event packet
8059  * @return present_value
8060  * @note: btstack_type 2
8061  */
8062 static inline uint16_t mesh_subevent_generic_level_get_present_value(const uint8_t * event){
8063     return little_endian_read_16(event, 6);
8064 }
8065 /**
8066  * @brief Get field target_value from event MESH_SUBEVENT_GENERIC_LEVEL
8067  * @param event packet
8068  * @return target_value
8069  * @note: btstack_type 2
8070  */
8071 static inline uint16_t mesh_subevent_generic_level_get_target_value(const uint8_t * event){
8072     return little_endian_read_16(event, 8);
8073 }
8074 /**
8075  * @brief Get field remaining_time_ms from event MESH_SUBEVENT_GENERIC_LEVEL
8076  * @param event packet
8077  * @return remaining_time_ms
8078  * @note: btstack_type 4
8079  */
8080 static inline uint32_t mesh_subevent_generic_level_get_remaining_time_ms(const uint8_t * event){
8081     return little_endian_read_32(event, 10);
8082 }
8083 
8084 /**
8085  * @brief Get field dest from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8086  * @param event packet
8087  * @return dest
8088  * @note: btstack_type 2
8089  */
8090 static inline uint16_t mesh_subevent_health_perform_test_get_dest(const uint8_t * event){
8091     return little_endian_read_16(event, 3);
8092 }
8093 /**
8094  * @brief Get field netkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8095  * @param event packet
8096  * @return netkey_index
8097  * @note: btstack_type 2
8098  */
8099 static inline uint16_t mesh_subevent_health_perform_test_get_netkey_index(const uint8_t * event){
8100     return little_endian_read_16(event, 5);
8101 }
8102 /**
8103  * @brief Get field appkey_index from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8104  * @param event packet
8105  * @return appkey_index
8106  * @note: btstack_type 2
8107  */
8108 static inline uint16_t mesh_subevent_health_perform_test_get_appkey_index(const uint8_t * event){
8109     return little_endian_read_16(event, 7);
8110 }
8111 /**
8112  * @brief Get field company_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8113  * @param event packet
8114  * @return company_id
8115  * @note: btstack_type 2
8116  */
8117 static inline uint16_t mesh_subevent_health_perform_test_get_company_id(const uint8_t * event){
8118     return little_endian_read_16(event, 9);
8119 }
8120 /**
8121  * @brief Get field test_id from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8122  * @param event packet
8123  * @return test_id
8124  * @note: btstack_type 1
8125  */
8126 static inline uint8_t mesh_subevent_health_perform_test_get_test_id(const uint8_t * event){
8127     return event[11];
8128 }
8129 /**
8130  * @brief Get field acknowledged from event MESH_SUBEVENT_HEALTH_PERFORM_TEST
8131  * @param event packet
8132  * @return acknowledged
8133  * @note: btstack_type 1
8134  */
8135 static inline uint8_t mesh_subevent_health_perform_test_get_acknowledged(const uint8_t * event){
8136     return event[12];
8137 }
8138 
8139 /**
8140  * @brief Get field element_index from event MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED
8141  * @param event packet
8142  * @return element_index
8143  * @note: btstack_type 1
8144  */
8145 static inline uint8_t mesh_subevent_health_attention_timer_changed_get_element_index(const uint8_t * event){
8146     return event[3];
8147 }
8148 
8149 /**
8150  * @brief Get field dest from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME
8151  * @param event packet
8152  * @return dest
8153  * @note: btstack_type 2
8154  */
8155 static inline uint16_t mesh_subevent_generic_default_transition_time_get_dest(const uint8_t * event){
8156     return little_endian_read_16(event, 3);
8157 }
8158 /**
8159  * @brief Get field status from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME
8160  * @param event packet
8161  * @return status
8162  * @note: btstack_type 1
8163  */
8164 static inline uint8_t mesh_subevent_generic_default_transition_time_get_status(const uint8_t * event){
8165     return event[5];
8166 }
8167 /**
8168  * @brief Get field transition_time_gdtt from event MESH_SUBEVENT_GENERIC_DEFAULT_TRANSITION_TIME
8169  * @param event packet
8170  * @return transition_time_gdtt
8171  * @note: btstack_type 1
8172  */
8173 static inline uint8_t mesh_subevent_generic_default_transition_time_get_transition_time_gdtt(const uint8_t * event){
8174     return event[6];
8175 }
8176 
8177 /**
8178  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_BEACON
8179  * @param event packet
8180  * @return dest
8181  * @note: btstack_type 2
8182  */
8183 static inline uint16_t mesh_subevent_configuration_beacon_get_dest(const uint8_t * event){
8184     return little_endian_read_16(event, 3);
8185 }
8186 /**
8187  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_BEACON
8188  * @param event packet
8189  * @return foundation_status
8190  * @note: btstack_type 1
8191  */
8192 static inline uint8_t mesh_subevent_configuration_beacon_get_foundation_status(const uint8_t * event){
8193     return event[5];
8194 }
8195 /**
8196  * @brief Get field secure_network_beacon_state from event MESH_SUBEVENT_CONFIGURATION_BEACON
8197  * @param event packet
8198  * @return secure_network_beacon_state
8199  * @note: btstack_type 1
8200  */
8201 static inline uint8_t mesh_subevent_configuration_beacon_get_secure_network_beacon_state(const uint8_t * event){
8202     return event[6];
8203 }
8204 
8205 /**
8206  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL
8207  * @param event packet
8208  * @return dest
8209  * @note: btstack_type 2
8210  */
8211 static inline uint16_t mesh_subevent_configuration_default_ttl_get_dest(const uint8_t * event){
8212     return little_endian_read_16(event, 3);
8213 }
8214 /**
8215  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL
8216  * @param event packet
8217  * @return foundation_status
8218  * @note: btstack_type 1
8219  */
8220 static inline uint8_t mesh_subevent_configuration_default_ttl_get_foundation_status(const uint8_t * event){
8221     return event[5];
8222 }
8223 /**
8224  * @brief Get field default_ttl from event MESH_SUBEVENT_CONFIGURATION_DEFAULT_TTL
8225  * @param event packet
8226  * @return default_ttl
8227  * @note: btstack_type 1
8228  */
8229 static inline uint8_t mesh_subevent_configuration_default_ttl_get_default_ttl(const uint8_t * event){
8230     return event[6];
8231 }
8232 
8233 /**
8234  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY
8235  * @param event packet
8236  * @return dest
8237  * @note: btstack_type 2
8238  */
8239 static inline uint16_t mesh_subevent_configuration_gatt_proxy_get_dest(const uint8_t * event){
8240     return little_endian_read_16(event, 3);
8241 }
8242 /**
8243  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY
8244  * @param event packet
8245  * @return foundation_status
8246  * @note: btstack_type 1
8247  */
8248 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_foundation_status(const uint8_t * event){
8249     return event[5];
8250 }
8251 /**
8252  * @brief Get field gatt_proxy_state from event MESH_SUBEVENT_CONFIGURATION_GATT_PROXY
8253  * @param event packet
8254  * @return gatt_proxy_state
8255  * @note: btstack_type 1
8256  */
8257 static inline uint8_t mesh_subevent_configuration_gatt_proxy_get_gatt_proxy_state(const uint8_t * event){
8258     return event[6];
8259 }
8260 
8261 /**
8262  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_RELAY
8263  * @param event packet
8264  * @return dest
8265  * @note: btstack_type 2
8266  */
8267 static inline uint16_t mesh_subevent_configuration_relay_get_dest(const uint8_t * event){
8268     return little_endian_read_16(event, 3);
8269 }
8270 /**
8271  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_RELAY
8272  * @param event packet
8273  * @return foundation_status
8274  * @note: btstack_type 1
8275  */
8276 static inline uint8_t mesh_subevent_configuration_relay_get_foundation_status(const uint8_t * event){
8277     return event[5];
8278 }
8279 /**
8280  * @brief Get field relay from event MESH_SUBEVENT_CONFIGURATION_RELAY
8281  * @param event packet
8282  * @return relay
8283  * @note: btstack_type 1
8284  */
8285 static inline uint8_t mesh_subevent_configuration_relay_get_relay(const uint8_t * event){
8286     return event[6];
8287 }
8288 /**
8289  * @brief Get field retransmit_count from event MESH_SUBEVENT_CONFIGURATION_RELAY
8290  * @param event packet
8291  * @return retransmit_count
8292  * @note: btstack_type 1
8293  */
8294 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_count(const uint8_t * event){
8295     return event[7];
8296 }
8297 /**
8298  * @brief Get field retransmit_interval_ms from event MESH_SUBEVENT_CONFIGURATION_RELAY
8299  * @param event packet
8300  * @return retransmit_interval_ms
8301  * @note: btstack_type 1
8302  */
8303 static inline uint8_t mesh_subevent_configuration_relay_get_retransmit_interval_ms(const uint8_t * event){
8304     return event[8];
8305 }
8306 
8307 /**
8308  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8309  * @param event packet
8310  * @return dest
8311  * @note: btstack_type 2
8312  */
8313 static inline uint16_t mesh_subevent_configuration_model_publication_get_dest(const uint8_t * event){
8314     return little_endian_read_16(event, 3);
8315 }
8316 /**
8317  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8318  * @param event packet
8319  * @return foundation_status
8320  * @note: btstack_type 1
8321  */
8322 static inline uint8_t mesh_subevent_configuration_model_publication_get_foundation_status(const uint8_t * event){
8323     return event[5];
8324 }
8325 /**
8326  * @brief Get field publish_address from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8327  * @param event packet
8328  * @return publish_address
8329  * @note: btstack_type 2
8330  */
8331 static inline uint16_t mesh_subevent_configuration_model_publication_get_publish_address(const uint8_t * event){
8332     return little_endian_read_16(event, 6);
8333 }
8334 /**
8335  * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8336  * @param event packet
8337  * @return appkey_index
8338  * @note: btstack_type 2
8339  */
8340 static inline uint16_t mesh_subevent_configuration_model_publication_get_appkey_index(const uint8_t * event){
8341     return little_endian_read_16(event, 8);
8342 }
8343 /**
8344  * @brief Get field credential_flag from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8345  * @param event packet
8346  * @return credential_flag
8347  * @note: btstack_type 1
8348  */
8349 static inline uint8_t mesh_subevent_configuration_model_publication_get_credential_flag(const uint8_t * event){
8350     return event[10];
8351 }
8352 /**
8353  * @brief Get field publish_ttl from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8354  * @param event packet
8355  * @return publish_ttl
8356  * @note: btstack_type 1
8357  */
8358 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_ttl(const uint8_t * event){
8359     return event[11];
8360 }
8361 /**
8362  * @brief Get field publish_period from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8363  * @param event packet
8364  * @return publish_period
8365  * @note: btstack_type 1
8366  */
8367 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_period(const uint8_t * event){
8368     return event[12];
8369 }
8370 /**
8371  * @brief Get field publish_retransmit_count from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8372  * @param event packet
8373  * @return publish_retransmit_count
8374  * @note: btstack_type 1
8375  */
8376 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_count(const uint8_t * event){
8377     return event[13];
8378 }
8379 /**
8380  * @brief Get field publish_retransmit_interval_steps from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8381  * @param event packet
8382  * @return publish_retransmit_interval_steps
8383  * @note: btstack_type 1
8384  */
8385 static inline uint8_t mesh_subevent_configuration_model_publication_get_publish_retransmit_interval_steps(const uint8_t * event){
8386     return event[14];
8387 }
8388 /**
8389  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_PUBLICATION
8390  * @param event packet
8391  * @return model_identifier
8392  * @note: btstack_type 4
8393  */
8394 static inline uint32_t mesh_subevent_configuration_model_publication_get_model_identifier(const uint8_t * event){
8395     return little_endian_read_32(event, 15);
8396 }
8397 
8398 /**
8399  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8400  * @param event packet
8401  * @return dest
8402  * @note: btstack_type 2
8403  */
8404 static inline uint16_t mesh_subevent_configuration_model_subscription_get_dest(const uint8_t * event){
8405     return little_endian_read_16(event, 3);
8406 }
8407 /**
8408  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8409  * @param event packet
8410  * @return foundation_status
8411  * @note: btstack_type 1
8412  */
8413 static inline uint8_t mesh_subevent_configuration_model_subscription_get_foundation_status(const uint8_t * event){
8414     return event[5];
8415 }
8416 /**
8417  * @brief Get field address from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8418  * @param event packet
8419  * @return address
8420  * @note: btstack_type 2
8421  */
8422 static inline uint16_t mesh_subevent_configuration_model_subscription_get_address(const uint8_t * event){
8423     return little_endian_read_16(event, 6);
8424 }
8425 /**
8426  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION
8427  * @param event packet
8428  * @return model_identifier
8429  * @note: btstack_type 4
8430  */
8431 static inline uint32_t mesh_subevent_configuration_model_subscription_get_model_identifier(const uint8_t * event){
8432     return little_endian_read_32(event, 8);
8433 }
8434 
8435 /**
8436  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8437  * @param event packet
8438  * @return dest
8439  * @note: btstack_type 2
8440  */
8441 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_dest(const uint8_t * event){
8442     return little_endian_read_16(event, 3);
8443 }
8444 /**
8445  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8446  * @param event packet
8447  * @return foundation_status
8448  * @note: btstack_type 1
8449  */
8450 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_foundation_status(const uint8_t * event){
8451     return event[5];
8452 }
8453 /**
8454  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8455  * @param event packet
8456  * @return model_identifier
8457  * @note: btstack_type 4
8458  */
8459 static inline uint32_t mesh_subevent_configuration_model_subscription_list_item_get_model_identifier(const uint8_t * event){
8460     return little_endian_read_32(event, 6);
8461 }
8462 /**
8463  * @brief Get field num_subscription_addresses from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8464  * @param event packet
8465  * @return num_subscription_addresses
8466  * @note: btstack_type 1
8467  */
8468 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_num_subscription_addresses(const uint8_t * event){
8469     return event[10];
8470 }
8471 /**
8472  * @brief Get field subscription_address_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8473  * @param event packet
8474  * @return subscription_address_pos
8475  * @note: btstack_type 1
8476  */
8477 static inline uint8_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_pos(const uint8_t * event){
8478     return event[11];
8479 }
8480 /**
8481  * @brief Get field subscription_address_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_SUBSCRIPTION_LIST_ITEM
8482  * @param event packet
8483  * @return subscription_address_item
8484  * @note: btstack_type 2
8485  */
8486 static inline uint16_t mesh_subevent_configuration_model_subscription_list_item_get_subscription_address_item(const uint8_t * event){
8487     return little_endian_read_16(event, 12);
8488 }
8489 
8490 /**
8491  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX
8492  * @param event packet
8493  * @return dest
8494  * @note: btstack_type 2
8495  */
8496 static inline uint16_t mesh_subevent_configuration_netkey_index_get_dest(const uint8_t * event){
8497     return little_endian_read_16(event, 3);
8498 }
8499 /**
8500  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX
8501  * @param event packet
8502  * @return foundation_status
8503  * @note: btstack_type 1
8504  */
8505 static inline uint8_t mesh_subevent_configuration_netkey_index_get_foundation_status(const uint8_t * event){
8506     return event[5];
8507 }
8508 
8509 /**
8510  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8511  * @param event packet
8512  * @return dest
8513  * @note: btstack_type 2
8514  */
8515 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_dest(const uint8_t * event){
8516     return little_endian_read_16(event, 3);
8517 }
8518 /**
8519  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8520  * @param event packet
8521  * @return foundation_status
8522  * @note: btstack_type 1
8523  */
8524 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_foundation_status(const uint8_t * event){
8525     return event[5];
8526 }
8527 /**
8528  * @brief Get field num_netkey_indexes from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8529  * @param event packet
8530  * @return num_netkey_indexes
8531  * @note: btstack_type 1
8532  */
8533 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_num_netkey_indexes(const uint8_t * event){
8534     return event[6];
8535 }
8536 /**
8537  * @brief Get field netkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8538  * @param event packet
8539  * @return netkey_index_pos
8540  * @note: btstack_type 1
8541  */
8542 static inline uint8_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_pos(const uint8_t * event){
8543     return event[7];
8544 }
8545 /**
8546  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NETKEY_INDEX_LIST_ITEM
8547  * @param event packet
8548  * @return netkey_index_item
8549  * @note: btstack_type 2
8550  */
8551 static inline uint16_t mesh_subevent_configuration_netkey_index_list_item_get_netkey_index_item(const uint8_t * event){
8552     return little_endian_read_16(event, 8);
8553 }
8554 
8555 /**
8556  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8557  * @param event packet
8558  * @return dest
8559  * @note: btstack_type 2
8560  */
8561 static inline uint16_t mesh_subevent_configuration_appkey_index_get_dest(const uint8_t * event){
8562     return little_endian_read_16(event, 3);
8563 }
8564 /**
8565  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8566  * @param event packet
8567  * @return foundation_status
8568  * @note: btstack_type 1
8569  */
8570 static inline uint8_t mesh_subevent_configuration_appkey_index_get_foundation_status(const uint8_t * event){
8571     return event[5];
8572 }
8573 /**
8574  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8575  * @param event packet
8576  * @return netkey_index_item
8577  * @note: btstack_type 2
8578  */
8579 static inline uint16_t mesh_subevent_configuration_appkey_index_get_netkey_index_item(const uint8_t * event){
8580     return little_endian_read_16(event, 6);
8581 }
8582 /**
8583  * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX
8584  * @param event packet
8585  * @return appkey_index_item
8586  * @note: btstack_type 2
8587  */
8588 static inline uint16_t mesh_subevent_configuration_appkey_index_get_appkey_index_item(const uint8_t * event){
8589     return little_endian_read_16(event, 8);
8590 }
8591 
8592 /**
8593  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8594  * @param event packet
8595  * @return dest
8596  * @note: btstack_type 2
8597  */
8598 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_dest(const uint8_t * event){
8599     return little_endian_read_16(event, 3);
8600 }
8601 /**
8602  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8603  * @param event packet
8604  * @return foundation_status
8605  * @note: btstack_type 1
8606  */
8607 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_foundation_status(const uint8_t * event){
8608     return event[5];
8609 }
8610 /**
8611  * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8612  * @param event packet
8613  * @return netkey_index
8614  * @note: btstack_type 2
8615  */
8616 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index(const uint8_t * event){
8617     return little_endian_read_16(event, 6);
8618 }
8619 /**
8620  * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8621  * @param event packet
8622  * @return num_appkey_indexes
8623  * @note: btstack_type 1
8624  */
8625 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_num_appkey_indexes(const uint8_t * event){
8626     return event[8];
8627 }
8628 /**
8629  * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8630  * @param event packet
8631  * @return appkey_index_pos
8632  * @note: btstack_type 1
8633  */
8634 static inline uint8_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_pos(const uint8_t * event){
8635     return event[9];
8636 }
8637 /**
8638  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8639  * @param event packet
8640  * @return netkey_index_item
8641  * @note: btstack_type 2
8642  */
8643 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_netkey_index_item(const uint8_t * event){
8644     return little_endian_read_16(event, 10);
8645 }
8646 /**
8647  * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_APPKEY_INDEX_LIST_ITEM
8648  * @param event packet
8649  * @return appkey_index_item
8650  * @note: btstack_type 2
8651  */
8652 static inline uint16_t mesh_subevent_configuration_appkey_index_list_item_get_appkey_index_item(const uint8_t * event){
8653     return little_endian_read_16(event, 12);
8654 }
8655 
8656 /**
8657  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8658  * @param event packet
8659  * @return dest
8660  * @note: btstack_type 2
8661  */
8662 static inline uint16_t mesh_subevent_configuration_node_identity_get_dest(const uint8_t * event){
8663     return little_endian_read_16(event, 3);
8664 }
8665 /**
8666  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8667  * @param event packet
8668  * @return foundation_status
8669  * @note: btstack_type 1
8670  */
8671 static inline uint8_t mesh_subevent_configuration_node_identity_get_foundation_status(const uint8_t * event){
8672     return event[5];
8673 }
8674 /**
8675  * @brief Get field netkey_index_item from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8676  * @param event packet
8677  * @return netkey_index_item
8678  * @note: btstack_type 2
8679  */
8680 static inline uint16_t mesh_subevent_configuration_node_identity_get_netkey_index_item(const uint8_t * event){
8681     return little_endian_read_16(event, 6);
8682 }
8683 /**
8684  * @brief Get field identity_status from event MESH_SUBEVENT_CONFIGURATION_NODE_IDENTITY
8685  * @param event packet
8686  * @return identity_status
8687  * @note: btstack_type 1
8688  */
8689 static inline uint8_t mesh_subevent_configuration_node_identity_get_identity_status(const uint8_t * event){
8690     return event[8];
8691 }
8692 
8693 /**
8694  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8695  * @param event packet
8696  * @return dest
8697  * @note: btstack_type 2
8698  */
8699 static inline uint16_t mesh_subevent_configuration_model_app_get_dest(const uint8_t * event){
8700     return little_endian_read_16(event, 3);
8701 }
8702 /**
8703  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8704  * @param event packet
8705  * @return foundation_status
8706  * @note: btstack_type 1
8707  */
8708 static inline uint8_t mesh_subevent_configuration_model_app_get_foundation_status(const uint8_t * event){
8709     return event[5];
8710 }
8711 /**
8712  * @brief Get field appkey_index from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8713  * @param event packet
8714  * @return appkey_index
8715  * @note: btstack_type 2
8716  */
8717 static inline uint16_t mesh_subevent_configuration_model_app_get_appkey_index(const uint8_t * event){
8718     return little_endian_read_16(event, 6);
8719 }
8720 /**
8721  * @brief Get field model_identifier from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP
8722  * @param event packet
8723  * @return model_identifier
8724  * @note: btstack_type 4
8725  */
8726 static inline uint32_t mesh_subevent_configuration_model_app_get_model_identifier(const uint8_t * event){
8727     return little_endian_read_32(event, 8);
8728 }
8729 
8730 /**
8731  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8732  * @param event packet
8733  * @return dest
8734  * @note: btstack_type 2
8735  */
8736 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_dest(const uint8_t * event){
8737     return little_endian_read_16(event, 3);
8738 }
8739 /**
8740  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8741  * @param event packet
8742  * @return foundation_status
8743  * @note: btstack_type 1
8744  */
8745 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_foundation_status(const uint8_t * event){
8746     return event[5];
8747 }
8748 /**
8749  * @brief Get field model_id from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8750  * @param event packet
8751  * @return model_id
8752  * @note: btstack_type 4
8753  */
8754 static inline uint32_t mesh_subevent_configuration_model_app_list_item_get_model_id(const uint8_t * event){
8755     return little_endian_read_32(event, 6);
8756 }
8757 /**
8758  * @brief Get field num_appkey_indexes from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8759  * @param event packet
8760  * @return num_appkey_indexes
8761  * @note: btstack_type 1
8762  */
8763 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_num_appkey_indexes(const uint8_t * event){
8764     return event[10];
8765 }
8766 /**
8767  * @brief Get field appkey_index_pos from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8768  * @param event packet
8769  * @return appkey_index_pos
8770  * @note: btstack_type 1
8771  */
8772 static inline uint8_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_pos(const uint8_t * event){
8773     return event[11];
8774 }
8775 /**
8776  * @brief Get field appkey_index_item from event MESH_SUBEVENT_CONFIGURATION_MODEL_APP_LIST_ITEM
8777  * @param event packet
8778  * @return appkey_index_item
8779  * @note: btstack_type 2
8780  */
8781 static inline uint16_t mesh_subevent_configuration_model_app_list_item_get_appkey_index_item(const uint8_t * event){
8782     return little_endian_read_16(event, 12);
8783 }
8784 
8785 /**
8786  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET
8787  * @param event packet
8788  * @return dest
8789  * @note: btstack_type 2
8790  */
8791 static inline uint16_t mesh_subevent_configuration_node_reset_get_dest(const uint8_t * event){
8792     return little_endian_read_16(event, 3);
8793 }
8794 /**
8795  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NODE_RESET
8796  * @param event packet
8797  * @return foundation_status
8798  * @note: btstack_type 1
8799  */
8800 static inline uint8_t mesh_subevent_configuration_node_reset_get_foundation_status(const uint8_t * event){
8801     return event[5];
8802 }
8803 
8804 /**
8805  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_FRIEND
8806  * @param event packet
8807  * @return dest
8808  * @note: btstack_type 2
8809  */
8810 static inline uint16_t mesh_subevent_configuration_friend_get_dest(const uint8_t * event){
8811     return little_endian_read_16(event, 3);
8812 }
8813 /**
8814  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_FRIEND
8815  * @param event packet
8816  * @return foundation_status
8817  * @note: btstack_type 1
8818  */
8819 static inline uint8_t mesh_subevent_configuration_friend_get_foundation_status(const uint8_t * event){
8820     return event[5];
8821 }
8822 /**
8823  * @brief Get field friend_state from event MESH_SUBEVENT_CONFIGURATION_FRIEND
8824  * @param event packet
8825  * @return friend_state
8826  * @note: btstack_type 1
8827  */
8828 static inline uint8_t mesh_subevent_configuration_friend_get_friend_state(const uint8_t * event){
8829     return event[6];
8830 }
8831 
8832 /**
8833  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
8834  * @param event packet
8835  * @return dest
8836  * @note: btstack_type 2
8837  */
8838 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_dest(const uint8_t * event){
8839     return little_endian_read_16(event, 3);
8840 }
8841 /**
8842  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
8843  * @param event packet
8844  * @return foundation_status
8845  * @note: btstack_type 1
8846  */
8847 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_foundation_status(const uint8_t * event){
8848     return event[5];
8849 }
8850 /**
8851  * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
8852  * @param event packet
8853  * @return netkey_index
8854  * @note: btstack_type 2
8855  */
8856 static inline uint16_t mesh_subevent_configuration_key_refresh_phase_get_netkey_index(const uint8_t * event){
8857     return little_endian_read_16(event, 6);
8858 }
8859 /**
8860  * @brief Get field phase from event MESH_SUBEVENT_CONFIGURATION_KEY_REFRESH_PHASE
8861  * @param event packet
8862  * @return phase
8863  * @note: btstack_type 1
8864  */
8865 static inline uint8_t mesh_subevent_configuration_key_refresh_phase_get_phase(const uint8_t * event){
8866     return event[8];
8867 }
8868 
8869 /**
8870  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8871  * @param event packet
8872  * @return dest
8873  * @note: btstack_type 2
8874  */
8875 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_dest(const uint8_t * event){
8876     return little_endian_read_16(event, 3);
8877 }
8878 /**
8879  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8880  * @param event packet
8881  * @return foundation_status
8882  * @note: btstack_type 1
8883  */
8884 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_foundation_status(const uint8_t * event){
8885     return event[5];
8886 }
8887 /**
8888  * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8889  * @param event packet
8890  * @return heartbeat_destination
8891  * @note: btstack_type 2
8892  */
8893 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_heartbeat_destination(const uint8_t * event){
8894     return little_endian_read_16(event, 6);
8895 }
8896 /**
8897  * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8898  * @param event packet
8899  * @return count_S
8900  * @note: btstack_type 2
8901  */
8902 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_count_S(const uint8_t * event){
8903     return little_endian_read_16(event, 8);
8904 }
8905 /**
8906  * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8907  * @param event packet
8908  * @return period_S
8909  * @note: btstack_type 2
8910  */
8911 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_period_S(const uint8_t * event){
8912     return little_endian_read_16(event, 10);
8913 }
8914 /**
8915  * @brief Get field ttl from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8916  * @param event packet
8917  * @return ttl
8918  * @note: btstack_type 1
8919  */
8920 static inline uint8_t mesh_subevent_configuration_heartbeat_publication_get_ttl(const uint8_t * event){
8921     return event[12];
8922 }
8923 /**
8924  * @brief Get field features from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8925  * @param event packet
8926  * @return features
8927  * @note: btstack_type 2
8928  */
8929 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_features(const uint8_t * event){
8930     return little_endian_read_16(event, 13);
8931 }
8932 /**
8933  * @brief Get field netkey_index from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_PUBLICATION
8934  * @param event packet
8935  * @return netkey_index
8936  * @note: btstack_type 2
8937  */
8938 static inline uint16_t mesh_subevent_configuration_heartbeat_publication_get_netkey_index(const uint8_t * event){
8939     return little_endian_read_16(event, 15);
8940 }
8941 
8942 /**
8943  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
8944  * @param event packet
8945  * @return dest
8946  * @note: btstack_type 2
8947  */
8948 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_dest(const uint8_t * event){
8949     return little_endian_read_16(event, 3);
8950 }
8951 /**
8952  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
8953  * @param event packet
8954  * @return foundation_status
8955  * @note: btstack_type 1
8956  */
8957 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_foundation_status(const uint8_t * event){
8958     return event[5];
8959 }
8960 /**
8961  * @brief Get field heartbeat_destination from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
8962  * @param event packet
8963  * @return heartbeat_destination
8964  * @note: btstack_type 2
8965  */
8966 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_destination(const uint8_t * event){
8967     return little_endian_read_16(event, 6);
8968 }
8969 /**
8970  * @brief Get field heartbeat_source from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
8971  * @param event packet
8972  * @return heartbeat_source
8973  * @note: btstack_type 2
8974  */
8975 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_heartbeat_source(const uint8_t * event){
8976     return little_endian_read_16(event, 8);
8977 }
8978 /**
8979  * @brief Get field count_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
8980  * @param event packet
8981  * @return count_S
8982  * @note: btstack_type 2
8983  */
8984 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_count_S(const uint8_t * event){
8985     return little_endian_read_16(event, 10);
8986 }
8987 /**
8988  * @brief Get field period_S from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
8989  * @param event packet
8990  * @return period_S
8991  * @note: btstack_type 2
8992  */
8993 static inline uint16_t mesh_subevent_configuration_heartbeat_subscription_get_period_S(const uint8_t * event){
8994     return little_endian_read_16(event, 12);
8995 }
8996 /**
8997  * @brief Get field min_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
8998  * @param event packet
8999  * @return min_hops
9000  * @note: btstack_type 1
9001  */
9002 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_min_hops(const uint8_t * event){
9003     return event[14];
9004 }
9005 /**
9006  * @brief Get field max_hops from event MESH_SUBEVENT_CONFIGURATION_HEARTBEAT_SUBSCRIPTION
9007  * @param event packet
9008  * @return max_hops
9009  * @note: btstack_type 1
9010  */
9011 static inline uint8_t mesh_subevent_configuration_heartbeat_subscription_get_max_hops(const uint8_t * event){
9012     return event[15];
9013 }
9014 
9015 /**
9016  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9017  * @param event packet
9018  * @return dest
9019  * @note: btstack_type 2
9020  */
9021 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_dest(const uint8_t * event){
9022     return little_endian_read_16(event, 3);
9023 }
9024 /**
9025  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9026  * @param event packet
9027  * @return foundation_status
9028  * @note: btstack_type 1
9029  */
9030 static inline uint8_t mesh_subevent_configuration_low_power_node_poll_timeout_get_foundation_status(const uint8_t * event){
9031     return event[5];
9032 }
9033 /**
9034  * @brief Get field lpn_address from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9035  * @param event packet
9036  * @return lpn_address
9037  * @note: btstack_type 2
9038  */
9039 static inline uint16_t mesh_subevent_configuration_low_power_node_poll_timeout_get_lpn_address(const uint8_t * event){
9040     return little_endian_read_16(event, 6);
9041 }
9042 /**
9043  * @brief Get field poll_timeout from event MESH_SUBEVENT_CONFIGURATION_LOW_POWER_NODE_POLL_TIMEOUT
9044  * @param event packet
9045  * @return poll_timeout
9046  * @note: btstack_type 3
9047  */
9048 static inline uint32_t mesh_subevent_configuration_low_power_node_poll_timeout_get_poll_timeout(const uint8_t * event){
9049     return little_endian_read_24(event, 8);
9050 }
9051 
9052 /**
9053  * @brief Get field dest from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9054  * @param event packet
9055  * @return dest
9056  * @note: btstack_type 2
9057  */
9058 static inline uint16_t mesh_subevent_configuration_network_transmit_get_dest(const uint8_t * event){
9059     return little_endian_read_16(event, 3);
9060 }
9061 /**
9062  * @brief Get field foundation_status from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9063  * @param event packet
9064  * @return foundation_status
9065  * @note: btstack_type 1
9066  */
9067 static inline uint8_t mesh_subevent_configuration_network_transmit_get_foundation_status(const uint8_t * event){
9068     return event[5];
9069 }
9070 /**
9071  * @brief Get field transmit_count from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9072  * @param event packet
9073  * @return transmit_count
9074  * @note: btstack_type 1
9075  */
9076 static inline uint8_t mesh_subevent_configuration_network_transmit_get_transmit_count(const uint8_t * event){
9077     return event[6];
9078 }
9079 /**
9080  * @brief Get field transmit_interval_steps_ms from event MESH_SUBEVENT_CONFIGURATION_NETWORK_TRANSMIT
9081  * @param event packet
9082  * @return transmit_interval_steps_ms
9083  * @note: btstack_type 2
9084  */
9085 static inline uint16_t mesh_subevent_configuration_network_transmit_get_transmit_interval_steps_ms(const uint8_t * event){
9086     return little_endian_read_16(event, 7);
9087 }
9088 
9089 
9090 
9091 /* API_END */
9092 
9093 #if defined __cplusplus
9094 }
9095 #endif
9096 
9097 #endif // BTSTACK_EVENT_H
9098