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