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