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