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