xref: /btstack/src/btstack_event.h (revision 62c64df103800dffeb1f9ba60fd255ece0fbc125)
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 hsp event
74  * @param event packet
75  * @return subevent_code
76  */
77 static inline uint8_t hci_event_hsp_meta_get_subevent_code(const uint8_t * event){
78     return event[2];
79 }
80 /***
81  * @brief Get subevent code for hfp event
82  * @param event packet
83  * @return subevent_code
84  */
85 static inline uint8_t hci_event_hfp_meta_get_subevent_code(const uint8_t * event){
86     return event[2];
87 }
88 /***
89  * @brief Get subevent code for ancs event
90  * @param event packet
91  * @return subevent_code
92  */
93 static inline uint8_t hci_event_ancs_meta_get_subevent_code(const uint8_t * event){
94     return event[2];
95 }
96 /**
97  * @brief Get field status from event hci_event_inquiry_complete
98  * @param event packet
99  * @return status
100  * @note: btstack_type 1
101  */
102 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){
103     return event[2];
104 }
105 
106 /**
107  * @brief Get field num_responses from event hci_event_inquiry_result
108  * @param event packet
109  * @return num_responses
110  * @note: btstack_type 1
111  */
112 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){
113     return event[2];
114 }
115 /**
116  * @brief Get field bd_addr from event hci_event_inquiry_result
117  * @param event packet
118  * @param Pointer to storage for bd_addr
119  * @note: btstack_type B
120  */
121 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
122     reverse_bd_addr(&event[3], bd_addr);
123 }
124 /**
125  * @brief Get field page_scan_repetition_mode from event hci_event_inquiry_result
126  * @param event packet
127  * @return page_scan_repetition_mode
128  * @note: btstack_type 1
129  */
130 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){
131     return event[9];
132 }
133 /**
134  * @brief Get field reserved1 from event hci_event_inquiry_result
135  * @param event packet
136  * @return reserved1
137  * @note: btstack_type 1
138  */
139 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){
140     return event[10];
141 }
142 /**
143  * @brief Get field reserved2 from event hci_event_inquiry_result
144  * @param event packet
145  * @return reserved2
146  * @note: btstack_type 1
147  */
148 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){
149     return event[11];
150 }
151 /**
152  * @brief Get field class_of_device from event hci_event_inquiry_result
153  * @param event packet
154  * @return class_of_device
155  * @note: btstack_type 3
156  */
157 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){
158     return little_endian_read_24(event, 12);
159 }
160 /**
161  * @brief Get field clock_offset from event hci_event_inquiry_result
162  * @param event packet
163  * @return clock_offset
164  * @note: btstack_type 2
165  */
166 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){
167     return little_endian_read_16(event, 15);
168 }
169 
170 /**
171  * @brief Get field status from event hci_event_connection_complete
172  * @param event packet
173  * @return status
174  * @note: btstack_type 1
175  */
176 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){
177     return event[2];
178 }
179 /**
180  * @brief Get field connection_handle from event hci_event_connection_complete
181  * @param event packet
182  * @return connection_handle
183  * @note: btstack_type 2
184  */
185 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){
186     return little_endian_read_16(event, 3);
187 }
188 /**
189  * @brief Get field bd_addr from event hci_event_connection_complete
190  * @param event packet
191  * @param Pointer to storage for bd_addr
192  * @note: btstack_type B
193  */
194 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
195     reverse_bd_addr(&event[5], bd_addr);
196 }
197 /**
198  * @brief Get field link_type from event hci_event_connection_complete
199  * @param event packet
200  * @return link_type
201  * @note: btstack_type 1
202  */
203 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){
204     return event[11];
205 }
206 /**
207  * @brief Get field encryption_enabled from event hci_event_connection_complete
208  * @param event packet
209  * @return encryption_enabled
210  * @note: btstack_type 1
211  */
212 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){
213     return event[12];
214 }
215 
216 /**
217  * @brief Get field bd_addr from event hci_event_connection_request
218  * @param event packet
219  * @param Pointer to storage for bd_addr
220  * @note: btstack_type B
221  */
222 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
223     reverse_bd_addr(&event[2], bd_addr);
224 }
225 /**
226  * @brief Get field class_of_device from event hci_event_connection_request
227  * @param event packet
228  * @return class_of_device
229  * @note: btstack_type 3
230  */
231 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){
232     return little_endian_read_24(event, 8);
233 }
234 /**
235  * @brief Get field link_type from event hci_event_connection_request
236  * @param event packet
237  * @return link_type
238  * @note: btstack_type 1
239  */
240 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){
241     return event[11];
242 }
243 
244 /**
245  * @brief Get field status from event hci_event_disconnection_complete
246  * @param event packet
247  * @return status
248  * @note: btstack_type 1
249  */
250 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){
251     return event[2];
252 }
253 /**
254  * @brief Get field connection_handle from event hci_event_disconnection_complete
255  * @param event packet
256  * @return connection_handle
257  * @note: btstack_type 2
258  */
259 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){
260     return little_endian_read_16(event, 3);
261 }
262 /**
263  * @brief Get field reason from event hci_event_disconnection_complete
264  * @param event packet
265  * @return reason
266  * @note: btstack_type 1
267  */
268 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){
269     return event[5];
270 }
271 
272 /**
273  * @brief Get field status from event hci_event_authentication_complete_event
274  * @param event packet
275  * @return status
276  * @note: btstack_type 1
277  */
278 static inline uint8_t hci_event_authentication_complete_event_get_status(const uint8_t * event){
279     return event[2];
280 }
281 /**
282  * @brief Get field connection_handle from event hci_event_authentication_complete_event
283  * @param event packet
284  * @return connection_handle
285  * @note: btstack_type 2
286  */
287 static inline uint16_t hci_event_authentication_complete_event_get_connection_handle(const uint8_t * event){
288     return little_endian_read_16(event, 3);
289 }
290 
291 /**
292  * @brief Get field status from event hci_event_remote_name_request_complete
293  * @param event packet
294  * @return status
295  * @note: btstack_type 1
296  */
297 //  static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){
298 //      not implemented yet
299 //  }
300 /**
301  * @brief Get field bd_addr from event hci_event_remote_name_request_complete
302  * @param event packet
303  * @return bd_addr
304  * @note: btstack_type B
305  */
306 //  static inline bd_addr_t hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event){
307 //      not implemented yet
308 //  }
309 /**
310  * @brief Get field remote_name from event hci_event_remote_name_request_complete
311  * @param event packet
312  * @return remote_name
313  * @note: btstack_type N
314  */
315 //  static inline String hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){
316 //      not implemented yet
317 //  }
318 
319 /**
320  * @brief Get field status from event hci_event_encryption_change
321  * @param event packet
322  * @return status
323  * @note: btstack_type 1
324  */
325 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){
326     return event[2];
327 }
328 /**
329  * @brief Get field connection_handle from event hci_event_encryption_change
330  * @param event packet
331  * @return connection_handle
332  * @note: btstack_type 2
333  */
334 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){
335     return little_endian_read_16(event, 3);
336 }
337 /**
338  * @brief Get field encryption_enabled from event hci_event_encryption_change
339  * @param event packet
340  * @return encryption_enabled
341  * @note: btstack_type 1
342  */
343 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){
344     return event[5];
345 }
346 
347 /**
348  * @brief Get field status from event hci_event_change_connection_link_key_complete
349  * @param event packet
350  * @return status
351  * @note: btstack_type 1
352  */
353 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){
354     return event[2];
355 }
356 /**
357  * @brief Get field connection_handle from event hci_event_change_connection_link_key_complete
358  * @param event packet
359  * @return connection_handle
360  * @note: btstack_type 2
361  */
362 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){
363     return little_endian_read_16(event, 3);
364 }
365 
366 /**
367  * @brief Get field status from event hci_event_master_link_key_complete
368  * @param event packet
369  * @return status
370  * @note: btstack_type 1
371  */
372 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){
373     return event[2];
374 }
375 /**
376  * @brief Get field connection_handle from event hci_event_master_link_key_complete
377  * @param event packet
378  * @return connection_handle
379  * @note: btstack_type 2
380  */
381 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){
382     return little_endian_read_16(event, 3);
383 }
384 /**
385  * @brief Get field key_flag from event hci_event_master_link_key_complete
386  * @param event packet
387  * @return key_flag
388  * @note: btstack_type 1
389  */
390 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){
391     return event[5];
392 }
393 
394 /**
395  * @brief Get field num_hci_command_packets from event hci_event_command_complete
396  * @param event packet
397  * @return num_hci_command_packets
398  * @note: btstack_type 1
399  */
400 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){
401     return event[2];
402 }
403 /**
404  * @brief Get field command_opcode from event hci_event_command_complete
405  * @param event packet
406  * @return command_opcode
407  * @note: btstack_type 2
408  */
409 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){
410     return little_endian_read_16(event, 3);
411 }
412 /**
413  * @brief Get field return_parameters from event hci_event_command_complete
414  * @param event packet
415  * @return return_parameters
416  * @note: btstack_type R
417  */
418 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){
419     return &event[5];
420 }
421 
422 /**
423  * @brief Get field status from event hci_event_command_status
424  * @param event packet
425  * @return status
426  * @note: btstack_type 1
427  */
428 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){
429     return event[2];
430 }
431 /**
432  * @brief Get field num_hci_command_packets from event hci_event_command_status
433  * @param event packet
434  * @return num_hci_command_packets
435  * @note: btstack_type 1
436  */
437 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){
438     return event[3];
439 }
440 /**
441  * @brief Get field command_opcode from event hci_event_command_status
442  * @param event packet
443  * @return command_opcode
444  * @note: btstack_type 2
445  */
446 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){
447     return little_endian_read_16(event, 4);
448 }
449 
450 /**
451  * @brief Get field hardware_code from event hci_event_hardware_error
452  * @param event packet
453  * @return hardware_code
454  * @note: btstack_type 1
455  */
456 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){
457     return event[2];
458 }
459 
460 /**
461  * @brief Get field status from event hci_event_role_change
462  * @param event packet
463  * @return status
464  * @note: btstack_type 1
465  */
466 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){
467     return event[2];
468 }
469 /**
470  * @brief Get field bd_addr from event hci_event_role_change
471  * @param event packet
472  * @param Pointer to storage for bd_addr
473  * @note: btstack_type B
474  */
475 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
476     reverse_bd_addr(&event[3], bd_addr);
477 }
478 /**
479  * @brief Get field role from event hci_event_role_change
480  * @param event packet
481  * @return role
482  * @note: btstack_type 1
483  */
484 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){
485     return event[9];
486 }
487 
488 /**
489  * @brief Get field status from event hci_event_mode_change_event
490  * @param event packet
491  * @return status
492  * @note: btstack_type 1
493  */
494 static inline uint8_t hci_event_mode_change_event_get_status(const uint8_t * event){
495     return event[2];
496 }
497 /**
498  * @brief Get field handle from event hci_event_mode_change_event
499  * @param event packet
500  * @return handle
501  * @note: btstack_type H
502  */
503 static inline hci_con_handle_t hci_event_mode_change_event_get_handle(const uint8_t * event){
504     return little_endian_read_16(event, 3);
505 }
506 /**
507  * @brief Get field mode from event hci_event_mode_change_event
508  * @param event packet
509  * @return mode
510  * @note: btstack_type 1
511  */
512 static inline uint8_t hci_event_mode_change_event_get_mode(const uint8_t * event){
513     return event[5];
514 }
515 /**
516  * @brief Get field interval from event hci_event_mode_change_event
517  * @param event packet
518  * @return interval
519  * @note: btstack_type 2
520  */
521 static inline uint16_t hci_event_mode_change_event_get_interval(const uint8_t * event){
522     return little_endian_read_16(event, 6);
523 }
524 
525 /**
526  * @brief Get field bd_addr from event hci_event_pin_code_request
527  * @param event packet
528  * @param Pointer to storage for bd_addr
529  * @note: btstack_type B
530  */
531 static inline void hci_event_pin_code_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
532     reverse_bd_addr(&event[2], bd_addr);
533 }
534 
535 /**
536  * @brief Get field bd_addr from event hci_event_link_key_request
537  * @param event packet
538  * @param Pointer to storage for bd_addr
539  * @note: btstack_type B
540  */
541 static inline void hci_event_link_key_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
542     reverse_bd_addr(&event[2], bd_addr);
543 }
544 
545 /**
546  * @brief Get field link_type from event hci_event_data_buffer_overflow
547  * @param event packet
548  * @return link_type
549  * @note: btstack_type 1
550  */
551 static inline uint8_t hci_event_data_buffer_overflow_get_link_type(const uint8_t * event){
552     return event[2];
553 }
554 
555 /**
556  * @brief Get field handle from event hci_event_max_slots_changed
557  * @param event packet
558  * @return handle
559  * @note: btstack_type H
560  */
561 static inline hci_con_handle_t hci_event_max_slots_changed_get_handle(const uint8_t * event){
562     return little_endian_read_16(event, 2);
563 }
564 /**
565  * @brief Get field lmp_max_slots from event hci_event_max_slots_changed
566  * @param event packet
567  * @return lmp_max_slots
568  * @note: btstack_type 1
569  */
570 static inline uint8_t hci_event_max_slots_changed_get_lmp_max_slots(const uint8_t * event){
571     return event[4];
572 }
573 
574 /**
575  * @brief Get field status from event hci_event_read_clock_offset_complete
576  * @param event packet
577  * @return status
578  * @note: btstack_type 1
579  */
580 static inline uint8_t hci_event_read_clock_offset_complete_get_status(const uint8_t * event){
581     return event[2];
582 }
583 /**
584  * @brief Get field handle from event hci_event_read_clock_offset_complete
585  * @param event packet
586  * @return handle
587  * @note: btstack_type H
588  */
589 static inline hci_con_handle_t hci_event_read_clock_offset_complete_get_handle(const uint8_t * event){
590     return little_endian_read_16(event, 3);
591 }
592 /**
593  * @brief Get field clock_offset from event hci_event_read_clock_offset_complete
594  * @param event packet
595  * @return clock_offset
596  * @note: btstack_type 2
597  */
598 static inline uint16_t hci_event_read_clock_offset_complete_get_clock_offset(const uint8_t * event){
599     return little_endian_read_16(event, 5);
600 }
601 
602 /**
603  * @brief Get field status from event hci_event_packet_type_changed
604  * @param event packet
605  * @return status
606  * @note: btstack_type 1
607  */
608 static inline uint8_t hci_event_packet_type_changed_get_status(const uint8_t * event){
609     return event[2];
610 }
611 /**
612  * @brief Get field handle from event hci_event_packet_type_changed
613  * @param event packet
614  * @return handle
615  * @note: btstack_type H
616  */
617 static inline hci_con_handle_t hci_event_packet_type_changed_get_handle(const uint8_t * event){
618     return little_endian_read_16(event, 3);
619 }
620 /**
621  * @brief Get field packet_type from event hci_event_packet_type_changed
622  * @param event packet
623  * @return packet_type
624  * @note: btstack_type 2
625  */
626 static inline uint16_t hci_event_packet_type_changed_get_packet_type(const uint8_t * event){
627     return little_endian_read_16(event, 5);
628 }
629 
630 /**
631  * @brief Get field num_responses from event hci_event_inquiry_result_with_rssi
632  * @param event packet
633  * @return num_responses
634  * @note: btstack_type 1
635  */
636 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){
637     return event[2];
638 }
639 /**
640  * @brief Get field bd_addr from event hci_event_inquiry_result_with_rssi
641  * @param event packet
642  * @param Pointer to storage for bd_addr
643  * @note: btstack_type B
644  */
645 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
646     reverse_bd_addr(&event[3], bd_addr);
647 }
648 /**
649  * @brief Get field page_scan_repetition_mode from event hci_event_inquiry_result_with_rssi
650  * @param event packet
651  * @return page_scan_repetition_mode
652  * @note: btstack_type 1
653  */
654 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){
655     return event[9];
656 }
657 /**
658  * @brief Get field reserved from event hci_event_inquiry_result_with_rssi
659  * @param event packet
660  * @return reserved
661  * @note: btstack_type 1
662  */
663 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){
664     return event[10];
665 }
666 /**
667  * @brief Get field class_of_device from event hci_event_inquiry_result_with_rssi
668  * @param event packet
669  * @return class_of_device
670  * @note: btstack_type 3
671  */
672 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){
673     return little_endian_read_24(event, 11);
674 }
675 /**
676  * @brief Get field clock_offset from event hci_event_inquiry_result_with_rssi
677  * @param event packet
678  * @return clock_offset
679  * @note: btstack_type 2
680  */
681 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){
682     return little_endian_read_16(event, 14);
683 }
684 /**
685  * @brief Get field rssi from event hci_event_inquiry_result_with_rssi
686  * @param event packet
687  * @return rssi
688  * @note: btstack_type 1
689  */
690 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){
691     return event[16];
692 }
693 
694 /**
695  * @brief Get field status from event hci_event_synchronous_connection_complete
696  * @param event packet
697  * @return status
698  * @note: btstack_type 1
699  */
700 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){
701     return event[2];
702 }
703 /**
704  * @brief Get field handle from event hci_event_synchronous_connection_complete
705  * @param event packet
706  * @return handle
707  * @note: btstack_type H
708  */
709 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){
710     return little_endian_read_16(event, 3);
711 }
712 /**
713  * @brief Get field bd_addr from event hci_event_synchronous_connection_complete
714  * @param event packet
715  * @param Pointer to storage for bd_addr
716  * @note: btstack_type B
717  */
718 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
719     reverse_bd_addr(&event[5], bd_addr);
720 }
721 /**
722  * @brief Get field link_type from event hci_event_synchronous_connection_complete
723  * @param event packet
724  * @return link_type
725  * @note: btstack_type 1
726  */
727 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){
728     return event[11];
729 }
730 /**
731  * @brief Get field transmission_interval from event hci_event_synchronous_connection_complete
732  * @param event packet
733  * @return transmission_interval
734  * @note: btstack_type 1
735  */
736 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){
737     return event[12];
738 }
739 /**
740  * @brief Get field retransmission_interval from event hci_event_synchronous_connection_complete
741  * @param event packet
742  * @return retransmission_interval
743  * @note: btstack_type 1
744  */
745 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){
746     return event[13];
747 }
748 /**
749  * @brief Get field rx_packet_length from event hci_event_synchronous_connection_complete
750  * @param event packet
751  * @return rx_packet_length
752  * @note: btstack_type 2
753  */
754 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){
755     return little_endian_read_16(event, 14);
756 }
757 /**
758  * @brief Get field tx_packet_length from event hci_event_synchronous_connection_complete
759  * @param event packet
760  * @return tx_packet_length
761  * @note: btstack_type 2
762  */
763 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){
764     return little_endian_read_16(event, 16);
765 }
766 /**
767  * @brief Get field air_mode from event hci_event_synchronous_connection_complete
768  * @param event packet
769  * @return air_mode
770  * @note: btstack_type 1
771  */
772 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){
773     return event[18];
774 }
775 
776 /**
777  * @brief Get field num_responses from event hci_event_extended_inquiry_response
778  * @param event packet
779  * @return num_responses
780  * @note: btstack_type 1
781  */
782 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){
783     return event[2];
784 }
785 /**
786  * @brief Get field bd_addr from event hci_event_extended_inquiry_response
787  * @param event packet
788  * @param Pointer to storage for bd_addr
789  * @note: btstack_type B
790  */
791 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
792     reverse_bd_addr(&event[3], bd_addr);
793 }
794 /**
795  * @brief Get field page_scan_repetition_mode from event hci_event_extended_inquiry_response
796  * @param event packet
797  * @return page_scan_repetition_mode
798  * @note: btstack_type 1
799  */
800 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){
801     return event[9];
802 }
803 /**
804  * @brief Get field reserved from event hci_event_extended_inquiry_response
805  * @param event packet
806  * @return reserved
807  * @note: btstack_type 1
808  */
809 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){
810     return event[10];
811 }
812 /**
813  * @brief Get field class_of_device from event hci_event_extended_inquiry_response
814  * @param event packet
815  * @return class_of_device
816  * @note: btstack_type 3
817  */
818 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){
819     return little_endian_read_24(event, 11);
820 }
821 /**
822  * @brief Get field clock_offset from event hci_event_extended_inquiry_response
823  * @param event packet
824  * @return clock_offset
825  * @note: btstack_type 2
826  */
827 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){
828     return little_endian_read_16(event, 14);
829 }
830 /**
831  * @brief Get field rssi from event hci_event_extended_inquiry_response
832  * @param event packet
833  * @return rssi
834  * @note: btstack_type 1
835  */
836 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){
837     return event[16];
838 }
839 
840 /**
841  * @brief Get field status from event hci_event_encryption_key_refresh_complete
842  * @param event packet
843  * @return status
844  * @note: btstack_type 1
845  */
846 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){
847     return event[2];
848 }
849 /**
850  * @brief Get field handle from event hci_event_encryption_key_refresh_complete
851  * @param event packet
852  * @return handle
853  * @note: btstack_type H
854  */
855 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){
856     return little_endian_read_16(event, 3);
857 }
858 
859 /**
860  * @brief Get field state from event btstack_event_state
861  * @param event packet
862  * @return state
863  * @note: btstack_type 1
864  */
865 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){
866     return event[2];
867 }
868 
869 
870 /**
871  * @brief Get field discoverable from event btstack_event_discoverable_enabled
872  * @param event packet
873  * @return discoverable
874  * @note: btstack_type 1
875  */
876 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){
877     return event[2];
878 }
879 
880 /**
881  * @brief Get field handle from event hci_event_sco_can_send_now
882  * @param event packet
883  * @param Pointer to storage for handle
884  * @note: btstack_type B
885  */
886 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){
887     reverse_bd_addr(&event[2], handle);
888 }
889 
890 /**
891  * @brief Get field status from event l2cap_event_channel_opened
892  * @param event packet
893  * @return status
894  * @note: btstack_type 1
895  */
896 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
897     return event[2];
898 }
899 /**
900  * @brief Get field address from event l2cap_event_channel_opened
901  * @param event packet
902  * @param Pointer to storage for address
903  * @note: btstack_type B
904  */
905 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
906     reverse_bd_addr(&event[3], address);
907 }
908 /**
909  * @brief Get field handle from event l2cap_event_channel_opened
910  * @param event packet
911  * @return handle
912  * @note: btstack_type H
913  */
914 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
915     return little_endian_read_16(event, 9);
916 }
917 /**
918  * @brief Get field psm from event l2cap_event_channel_opened
919  * @param event packet
920  * @return psm
921  * @note: btstack_type 2
922  */
923 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
924     return little_endian_read_16(event, 11);
925 }
926 /**
927  * @brief Get field local_cid from event l2cap_event_channel_opened
928  * @param event packet
929  * @return local_cid
930  * @note: btstack_type 2
931  */
932 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){
933     return little_endian_read_16(event, 13);
934 }
935 /**
936  * @brief Get field remote_cid from event l2cap_event_channel_opened
937  * @param event packet
938  * @return remote_cid
939  * @note: btstack_type 2
940  */
941 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
942     return little_endian_read_16(event, 15);
943 }
944 /**
945  * @brief Get field local_mtu from event l2cap_event_channel_opened
946  * @param event packet
947  * @return local_mtu
948  * @note: btstack_type 2
949  */
950 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
951     return little_endian_read_16(event, 17);
952 }
953 /**
954  * @brief Get field remote_mtu from event l2cap_event_channel_opened
955  * @param event packet
956  * @return remote_mtu
957  * @note: btstack_type 2
958  */
959 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
960     return little_endian_read_16(event, 19);
961 }
962 /**
963  * @brief Get field flush_timeout from event l2cap_event_channel_opened
964  * @param event packet
965  * @return flush_timeout
966  * @note: btstack_type 2
967  */
968 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
969     return little_endian_read_16(event, 21);
970 }
971 
972 /**
973  * @brief Get field local_cid from event l2cap_event_channel_closed
974  * @param event packet
975  * @return local_cid
976  * @note: btstack_type 2
977  */
978 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
979     return little_endian_read_16(event, 2);
980 }
981 
982 /**
983  * @brief Get field status from event l2cap_event_incoming_connection
984  * @param event packet
985  * @return status
986  * @note: btstack_type 1
987  */
988 static inline uint8_t l2cap_event_incoming_connection_get_status(const uint8_t * event){
989     return event[2];
990 }
991 /**
992  * @brief Get field address from event l2cap_event_incoming_connection
993  * @param event packet
994  * @param Pointer to storage for address
995  * @note: btstack_type B
996  */
997 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
998     reverse_bd_addr(&event[3], address);
999 }
1000 /**
1001  * @brief Get field handle from event l2cap_event_incoming_connection
1002  * @param event packet
1003  * @return handle
1004  * @note: btstack_type H
1005  */
1006 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
1007     return little_endian_read_16(event, 9);
1008 }
1009 /**
1010  * @brief Get field psm from event l2cap_event_incoming_connection
1011  * @param event packet
1012  * @return psm
1013  * @note: btstack_type 2
1014  */
1015 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
1016     return little_endian_read_16(event, 11);
1017 }
1018 /**
1019  * @brief Get field local_cid from event l2cap_event_incoming_connection
1020  * @param event packet
1021  * @return local_cid
1022  * @note: btstack_type 2
1023  */
1024 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
1025     return little_endian_read_16(event, 13);
1026 }
1027 /**
1028  * @brief Get field remote_cid from event l2cap_event_incoming_connection
1029  * @param event packet
1030  * @return remote_cid
1031  * @note: btstack_type 2
1032  */
1033 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
1034     return little_endian_read_16(event, 15);
1035 }
1036 
1037 /**
1038  * @brief Get field handle from event l2cap_event_connection_parameter_update_request
1039  * @param event packet
1040  * @return handle
1041  * @note: btstack_type H
1042  */
1043 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
1044     return little_endian_read_16(event, 2);
1045 }
1046 /**
1047  * @brief Get field interval_min from event l2cap_event_connection_parameter_update_request
1048  * @param event packet
1049  * @return interval_min
1050  * @note: btstack_type 2
1051  */
1052 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
1053     return little_endian_read_16(event, 4);
1054 }
1055 /**
1056  * @brief Get field interval_max from event l2cap_event_connection_parameter_update_request
1057  * @param event packet
1058  * @return interval_max
1059  * @note: btstack_type 2
1060  */
1061 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
1062     return little_endian_read_16(event, 6);
1063 }
1064 /**
1065  * @brief Get field latencey from event l2cap_event_connection_parameter_update_request
1066  * @param event packet
1067  * @return latencey
1068  * @note: btstack_type 2
1069  */
1070 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
1071     return little_endian_read_16(event, 8);
1072 }
1073 /**
1074  * @brief Get field timeout_multiplier from event l2cap_event_connection_parameter_update_request
1075  * @param event packet
1076  * @return timeout_multiplier
1077  * @note: btstack_type 2
1078  */
1079 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
1080     return little_endian_read_16(event, 10);
1081 }
1082 
1083 /**
1084  * @brief Get field handle from event l2cap_event_connection_parameter_update_response
1085  * @param event packet
1086  * @return handle
1087  * @note: btstack_type H
1088  */
1089 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
1090     return little_endian_read_16(event, 2);
1091 }
1092 
1093 /**
1094  * @brief Get field local_cid from event l2cap_event_can_send_now
1095  * @param event packet
1096  * @return local_cid
1097  * @note: btstack_type 2
1098  */
1099 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
1100     return little_endian_read_16(event, 2);
1101 }
1102 
1103 /**
1104  * @brief Get field status from event rfcomm_event_channel_opened
1105  * @param event packet
1106  * @return status
1107  * @note: btstack_type 1
1108  */
1109 static inline uint8_t rfcomm_event_channel_opened_get_status(const uint8_t * event){
1110     return event[2];
1111 }
1112 /**
1113  * @brief Get field bd_addr from event rfcomm_event_channel_opened
1114  * @param event packet
1115  * @param Pointer to storage for bd_addr
1116  * @note: btstack_type B
1117  */
1118 static inline void rfcomm_event_channel_opened_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1119     reverse_bd_addr(&event[3], bd_addr);
1120 }
1121 /**
1122  * @brief Get field con_handle from event rfcomm_event_channel_opened
1123  * @param event packet
1124  * @return con_handle
1125  * @note: btstack_type 2
1126  */
1127 static inline uint16_t rfcomm_event_channel_opened_get_con_handle(const uint8_t * event){
1128     return little_endian_read_16(event, 9);
1129 }
1130 /**
1131  * @brief Get field server_channel from event rfcomm_event_channel_opened
1132  * @param event packet
1133  * @return server_channel
1134  * @note: btstack_type 1
1135  */
1136 static inline uint8_t rfcomm_event_channel_opened_get_server_channel(const uint8_t * event){
1137     return event[11];
1138 }
1139 /**
1140  * @brief Get field rfcomm_cid from event rfcomm_event_channel_opened
1141  * @param event packet
1142  * @return rfcomm_cid
1143  * @note: btstack_type 2
1144  */
1145 static inline uint16_t rfcomm_event_channel_opened_get_rfcomm_cid(const uint8_t * event){
1146     return little_endian_read_16(event, 12);
1147 }
1148 /**
1149  * @brief Get field max_frame_size from event rfcomm_event_channel_opened
1150  * @param event packet
1151  * @return max_frame_size
1152  * @note: btstack_type 2
1153  */
1154 static inline uint16_t rfcomm_event_channel_opened_get_max_frame_size(const uint8_t * event){
1155     return little_endian_read_16(event, 14);
1156 }
1157 
1158 /**
1159  * @brief Get field rfcomm_cid from event rfcomm_event_channel_closed
1160  * @param event packet
1161  * @return rfcomm_cid
1162  * @note: btstack_type 2
1163  */
1164 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
1165     return little_endian_read_16(event, 2);
1166 }
1167 
1168 /**
1169  * @brief Get field bd_addr from event rfcomm_event_incoming_connection
1170  * @param event packet
1171  * @param Pointer to storage for bd_addr
1172  * @note: btstack_type B
1173  */
1174 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1175     reverse_bd_addr(&event[2], bd_addr);
1176 }
1177 /**
1178  * @brief Get field server_channel from event rfcomm_event_incoming_connection
1179  * @param event packet
1180  * @return server_channel
1181  * @note: btstack_type 1
1182  */
1183 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
1184     return event[8];
1185 }
1186 /**
1187  * @brief Get field rfcomm_cid from event rfcomm_event_incoming_connection
1188  * @param event packet
1189  * @return rfcomm_cid
1190  * @note: btstack_type 2
1191  */
1192 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
1193     return little_endian_read_16(event, 9);
1194 }
1195 
1196 /**
1197  * @brief Get field rfcomm_cid from event rfcomm_event_remote_line_status
1198  * @param event packet
1199  * @return rfcomm_cid
1200  * @note: btstack_type 2
1201  */
1202 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
1203     return little_endian_read_16(event, 2);
1204 }
1205 /**
1206  * @brief Get field line_status from event rfcomm_event_remote_line_status
1207  * @param event packet
1208  * @return line_status
1209  * @note: btstack_type 1
1210  */
1211 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
1212     return event[4];
1213 }
1214 
1215 /**
1216  * @brief Get field rfcomm_cid from event rfcomm_event_remote_modem_status
1217  * @param event packet
1218  * @return rfcomm_cid
1219  * @note: btstack_type 2
1220  */
1221 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
1222     return little_endian_read_16(event, 2);
1223 }
1224 /**
1225  * @brief Get field modem_status from event rfcomm_event_remote_modem_status
1226  * @param event packet
1227  * @return modem_status
1228  * @note: btstack_type 1
1229  */
1230 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
1231     return event[4];
1232 }
1233 
1234 /**
1235  * @brief Get field rfcomm_cid from event rfcomm_event_can_send_now
1236  * @param event packet
1237  * @return rfcomm_cid
1238  * @note: btstack_type 2
1239  */
1240 static inline uint16_t rfcomm_event_can_send_now_get_rfcomm_cid(const uint8_t * event){
1241     return little_endian_read_16(event, 2);
1242 }
1243 
1244 /**
1245  * @brief Get field status from event sdp_event_query_complete
1246  * @param event packet
1247  * @return status
1248  * @note: btstack_type 1
1249  */
1250 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
1251     return event[2];
1252 }
1253 
1254 /**
1255  * @brief Get field rfcomm_channel from event sdp_event_query_rfcomm_service
1256  * @param event packet
1257  * @return rfcomm_channel
1258  * @note: btstack_type 1
1259  */
1260 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
1261     return event[2];
1262 }
1263 /**
1264  * @brief Get field name from event sdp_event_query_rfcomm_service
1265  * @param event packet
1266  * @return name
1267  * @note: btstack_type T
1268  */
1269 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
1270     return (const char *) &event[3];
1271 }
1272 
1273 /**
1274  * @brief Get field record_id from event sdp_event_query_attribute_byte
1275  * @param event packet
1276  * @return record_id
1277  * @note: btstack_type 2
1278  */
1279 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
1280     return little_endian_read_16(event, 2);
1281 }
1282 /**
1283  * @brief Get field attribute_id from event sdp_event_query_attribute_byte
1284  * @param event packet
1285  * @return attribute_id
1286  * @note: btstack_type 2
1287  */
1288 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
1289     return little_endian_read_16(event, 4);
1290 }
1291 /**
1292  * @brief Get field attribute_length from event sdp_event_query_attribute_byte
1293  * @param event packet
1294  * @return attribute_length
1295  * @note: btstack_type 2
1296  */
1297 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
1298     return little_endian_read_16(event, 6);
1299 }
1300 /**
1301  * @brief Get field data_offset from event sdp_event_query_attribute_byte
1302  * @param event packet
1303  * @return data_offset
1304  * @note: btstack_type 2
1305  */
1306 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
1307     return little_endian_read_16(event, 8);
1308 }
1309 /**
1310  * @brief Get field data from event sdp_event_query_attribute_byte
1311  * @param event packet
1312  * @return data
1313  * @note: btstack_type 1
1314  */
1315 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
1316     return event[10];
1317 }
1318 
1319 /**
1320  * @brief Get field record_id from event sdp_event_query_attribute_value
1321  * @param event packet
1322  * @return record_id
1323  * @note: btstack_type 2
1324  */
1325 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
1326     return little_endian_read_16(event, 2);
1327 }
1328 /**
1329  * @brief Get field attribute_id from event sdp_event_query_attribute_value
1330  * @param event packet
1331  * @return attribute_id
1332  * @note: btstack_type 2
1333  */
1334 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
1335     return little_endian_read_16(event, 4);
1336 }
1337 /**
1338  * @brief Get field attribute_length from event sdp_event_query_attribute_value
1339  * @param event packet
1340  * @return attribute_length
1341  * @note: btstack_type L
1342  */
1343 static inline int sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
1344     return little_endian_read_16(event, 6);
1345 }
1346 /**
1347  * @brief Get field attribute_value from event sdp_event_query_attribute_value
1348  * @param event packet
1349  * @return attribute_value
1350  * @note: btstack_type V
1351  */
1352 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
1353     return &event[8];
1354 }
1355 
1356 /**
1357  * @brief Get field total_count from event sdp_event_query_service_record_handle
1358  * @param event packet
1359  * @return total_count
1360  * @note: btstack_type 2
1361  */
1362 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
1363     return little_endian_read_16(event, 2);
1364 }
1365 /**
1366  * @brief Get field record_index from event sdp_event_query_service_record_handle
1367  * @param event packet
1368  * @return record_index
1369  * @note: btstack_type 2
1370  */
1371 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
1372     return little_endian_read_16(event, 4);
1373 }
1374 /**
1375  * @brief Get field record_handle from event sdp_event_query_service_record_handle
1376  * @param event packet
1377  * @return record_handle
1378  * @note: btstack_type 4
1379  */
1380 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
1381     return little_endian_read_32(event, 6);
1382 }
1383 
1384 #ifdef ENABLE_BLE
1385 /**
1386  * @brief Get field handle from event gatt_event_query_complete
1387  * @param event packet
1388  * @return handle
1389  * @note: btstack_type H
1390  */
1391 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){
1392     return little_endian_read_16(event, 2);
1393 }
1394 /**
1395  * @brief Get field status from event gatt_event_query_complete
1396  * @param event packet
1397  * @return status
1398  * @note: btstack_type 1
1399  */
1400 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){
1401     return event[4];
1402 }
1403 #endif
1404 
1405 #ifdef ENABLE_BLE
1406 /**
1407  * @brief Get field handle from event gatt_event_service_query_result
1408  * @param event packet
1409  * @return handle
1410  * @note: btstack_type H
1411  */
1412 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){
1413     return little_endian_read_16(event, 2);
1414 }
1415 /**
1416  * @brief Get field service from event gatt_event_service_query_result
1417  * @param event packet
1418  * @param Pointer to storage for service
1419  * @note: btstack_type X
1420  */
1421 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1422     gatt_client_deserialize_service(event, 4, service);
1423 }
1424 #endif
1425 
1426 #ifdef ENABLE_BLE
1427 /**
1428  * @brief Get field handle from event gatt_event_characteristic_query_result
1429  * @param event packet
1430  * @return handle
1431  * @note: btstack_type H
1432  */
1433 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){
1434     return little_endian_read_16(event, 2);
1435 }
1436 /**
1437  * @brief Get field characteristic from event gatt_event_characteristic_query_result
1438  * @param event packet
1439  * @param Pointer to storage for characteristic
1440  * @note: btstack_type Y
1441  */
1442 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){
1443     gatt_client_deserialize_characteristic(event, 4, characteristic);
1444 }
1445 #endif
1446 
1447 #ifdef ENABLE_BLE
1448 /**
1449  * @brief Get field handle from event gatt_event_included_service_query_result
1450  * @param event packet
1451  * @return handle
1452  * @note: btstack_type H
1453  */
1454 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){
1455     return little_endian_read_16(event, 2);
1456 }
1457 /**
1458  * @brief Get field include_handle from event gatt_event_included_service_query_result
1459  * @param event packet
1460  * @return include_handle
1461  * @note: btstack_type 2
1462  */
1463 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){
1464     return little_endian_read_16(event, 4);
1465 }
1466 /**
1467  * @brief Get field service from event gatt_event_included_service_query_result
1468  * @param event packet
1469  * @param Pointer to storage for service
1470  * @note: btstack_type X
1471  */
1472 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1473     gatt_client_deserialize_service(event, 6, service);
1474 }
1475 #endif
1476 
1477 #ifdef ENABLE_BLE
1478 /**
1479  * @brief Get field handle from event gatt_event_all_characteristic_descriptors_query_result
1480  * @param event packet
1481  * @return handle
1482  * @note: btstack_type H
1483  */
1484 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){
1485     return little_endian_read_16(event, 2);
1486 }
1487 /**
1488  * @brief Get field characteristic_descriptor from event gatt_event_all_characteristic_descriptors_query_result
1489  * @param event packet
1490  * @param Pointer to storage for characteristic_descriptor
1491  * @note: btstack_type Z
1492  */
1493 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){
1494     gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor);
1495 }
1496 #endif
1497 
1498 #ifdef ENABLE_BLE
1499 /**
1500  * @brief Get field handle from event gatt_event_characteristic_value_query_result
1501  * @param event packet
1502  * @return handle
1503  * @note: btstack_type H
1504  */
1505 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){
1506     return little_endian_read_16(event, 2);
1507 }
1508 /**
1509  * @brief Get field value_handle from event gatt_event_characteristic_value_query_result
1510  * @param event packet
1511  * @return value_handle
1512  * @note: btstack_type 2
1513  */
1514 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1515     return little_endian_read_16(event, 4);
1516 }
1517 /**
1518  * @brief Get field value_length from event gatt_event_characteristic_value_query_result
1519  * @param event packet
1520  * @return value_length
1521  * @note: btstack_type L
1522  */
1523 static inline int gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){
1524     return little_endian_read_16(event, 6);
1525 }
1526 /**
1527  * @brief Get field value from event gatt_event_characteristic_value_query_result
1528  * @param event packet
1529  * @return value
1530  * @note: btstack_type V
1531  */
1532 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){
1533     return &event[8];
1534 }
1535 #endif
1536 
1537 #ifdef ENABLE_BLE
1538 /**
1539  * @brief Get field handle from event gatt_event_long_characteristic_value_query_result
1540  * @param event packet
1541  * @return handle
1542  * @note: btstack_type H
1543  */
1544 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){
1545     return little_endian_read_16(event, 2);
1546 }
1547 /**
1548  * @brief Get field value_handle from event gatt_event_long_characteristic_value_query_result
1549  * @param event packet
1550  * @return value_handle
1551  * @note: btstack_type 2
1552  */
1553 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1554     return little_endian_read_16(event, 4);
1555 }
1556 /**
1557  * @brief Get field value_offset from event gatt_event_long_characteristic_value_query_result
1558  * @param event packet
1559  * @return value_offset
1560  * @note: btstack_type 2
1561  */
1562 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){
1563     return little_endian_read_16(event, 6);
1564 }
1565 /**
1566  * @brief Get field value_length from event gatt_event_long_characteristic_value_query_result
1567  * @param event packet
1568  * @return value_length
1569  * @note: btstack_type L
1570  */
1571 static inline int gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){
1572     return little_endian_read_16(event, 8);
1573 }
1574 /**
1575  * @brief Get field value from event gatt_event_long_characteristic_value_query_result
1576  * @param event packet
1577  * @return value
1578  * @note: btstack_type V
1579  */
1580 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){
1581     return &event[10];
1582 }
1583 #endif
1584 
1585 #ifdef ENABLE_BLE
1586 /**
1587  * @brief Get field handle from event gatt_event_notification
1588  * @param event packet
1589  * @return handle
1590  * @note: btstack_type H
1591  */
1592 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){
1593     return little_endian_read_16(event, 2);
1594 }
1595 /**
1596  * @brief Get field value_handle from event gatt_event_notification
1597  * @param event packet
1598  * @return value_handle
1599  * @note: btstack_type 2
1600  */
1601 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){
1602     return little_endian_read_16(event, 4);
1603 }
1604 /**
1605  * @brief Get field value_length from event gatt_event_notification
1606  * @param event packet
1607  * @return value_length
1608  * @note: btstack_type L
1609  */
1610 static inline int gatt_event_notification_get_value_length(const uint8_t * event){
1611     return little_endian_read_16(event, 6);
1612 }
1613 /**
1614  * @brief Get field value from event gatt_event_notification
1615  * @param event packet
1616  * @return value
1617  * @note: btstack_type V
1618  */
1619 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){
1620     return &event[8];
1621 }
1622 #endif
1623 
1624 #ifdef ENABLE_BLE
1625 /**
1626  * @brief Get field handle from event gatt_event_indication
1627  * @param event packet
1628  * @return handle
1629  * @note: btstack_type H
1630  */
1631 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){
1632     return little_endian_read_16(event, 2);
1633 }
1634 /**
1635  * @brief Get field value_handle from event gatt_event_indication
1636  * @param event packet
1637  * @return value_handle
1638  * @note: btstack_type 2
1639  */
1640 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){
1641     return little_endian_read_16(event, 4);
1642 }
1643 /**
1644  * @brief Get field value_length from event gatt_event_indication
1645  * @param event packet
1646  * @return value_length
1647  * @note: btstack_type L
1648  */
1649 static inline int gatt_event_indication_get_value_length(const uint8_t * event){
1650     return little_endian_read_16(event, 6);
1651 }
1652 /**
1653  * @brief Get field value from event gatt_event_indication
1654  * @param event packet
1655  * @return value
1656  * @note: btstack_type V
1657  */
1658 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){
1659     return &event[8];
1660 }
1661 #endif
1662 
1663 #ifdef ENABLE_BLE
1664 /**
1665  * @brief Get field descriptor_handle from event gatt_event_characteristic_descriptor_query_result
1666  * @param event packet
1667  * @return descriptor_handle
1668  * @note: btstack_type H
1669  */
1670 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){
1671     return little_endian_read_16(event, 2);
1672 }
1673 /**
1674  * @brief Get field descriptor_length from event gatt_event_characteristic_descriptor_query_result
1675  * @param event packet
1676  * @return descriptor_length
1677  * @note: btstack_type 2
1678  */
1679 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1680     return little_endian_read_16(event, 4);
1681 }
1682 /**
1683  * @brief Get field descriptor from event gatt_event_characteristic_descriptor_query_result
1684  * @param event packet
1685  * @return descriptor
1686  * @note: btstack_type L
1687  */
1688 static inline int gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1689     return little_endian_read_16(event, 6);
1690 }
1691 #endif
1692 
1693 #ifdef ENABLE_BLE
1694 /**
1695  * @brief Get field handle from event gatt_event_long_characteristic_descriptor_query_result
1696  * @param event packet
1697  * @return handle
1698  * @note: btstack_type H
1699  */
1700 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
1701     return little_endian_read_16(event, 2);
1702 }
1703 /**
1704  * @brief Get field descriptor_offset from event gatt_event_long_characteristic_descriptor_query_result
1705  * @param event packet
1706  * @return descriptor_offset
1707  * @note: btstack_type 2
1708  */
1709 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){
1710     return little_endian_read_16(event, 4);
1711 }
1712 /**
1713  * @brief Get field descriptor_length from event gatt_event_long_characteristic_descriptor_query_result
1714  * @param event packet
1715  * @return descriptor_length
1716  * @note: btstack_type L
1717  */
1718 static inline int gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1719     return little_endian_read_16(event, 6);
1720 }
1721 /**
1722  * @brief Get field descriptor from event gatt_event_long_characteristic_descriptor_query_result
1723  * @param event packet
1724  * @return descriptor
1725  * @note: btstack_type V
1726  */
1727 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1728     return &event[8];
1729 }
1730 #endif
1731 
1732 #ifdef ENABLE_BLE
1733 /**
1734  * @brief Get field handle from event gatt_event_mtu
1735  * @param event packet
1736  * @return handle
1737  * @note: btstack_type H
1738  */
1739 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){
1740     return little_endian_read_16(event, 2);
1741 }
1742 /**
1743  * @brief Get field MTU from event gatt_event_mtu
1744  * @param event packet
1745  * @return MTU
1746  * @note: btstack_type 2
1747  */
1748 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){
1749     return little_endian_read_16(event, 4);
1750 }
1751 #endif
1752 
1753 /**
1754  * @brief Get field status from event bnep_event_service_registered
1755  * @param event packet
1756  * @return status
1757  * @note: btstack_type 1
1758  */
1759 static inline uint8_t bnep_event_service_registered_get_status(const uint8_t * event){
1760     return event[2];
1761 }
1762 /**
1763  * @brief Get field service_uuid from event bnep_event_service_registered
1764  * @param event packet
1765  * @return service_uuid
1766  * @note: btstack_type 2
1767  */
1768 static inline uint16_t bnep_event_service_registered_get_service_uuid(const uint8_t * event){
1769     return little_endian_read_16(event, 3);
1770 }
1771 
1772 /**
1773  * @brief Get field status from event bnep_event_channel_opened
1774  * @param event packet
1775  * @return status
1776  * @note: btstack_type 1
1777  */
1778 static inline uint8_t bnep_event_channel_opened_get_status(const uint8_t * event){
1779     return event[2];
1780 }
1781 /**
1782  * @brief Get field bnep_cid from event bnep_event_channel_opened
1783  * @param event packet
1784  * @return bnep_cid
1785  * @note: btstack_type 2
1786  */
1787 static inline uint16_t bnep_event_channel_opened_get_bnep_cid(const uint8_t * event){
1788     return little_endian_read_16(event, 3);
1789 }
1790 /**
1791  * @brief Get field source_uuid from event bnep_event_channel_opened
1792  * @param event packet
1793  * @return source_uuid
1794  * @note: btstack_type 2
1795  */
1796 static inline uint16_t bnep_event_channel_opened_get_source_uuid(const uint8_t * event){
1797     return little_endian_read_16(event, 5);
1798 }
1799 /**
1800  * @brief Get field destination_uuid from event bnep_event_channel_opened
1801  * @param event packet
1802  * @return destination_uuid
1803  * @note: btstack_type 2
1804  */
1805 static inline uint16_t bnep_event_channel_opened_get_destination_uuid(const uint8_t * event){
1806     return little_endian_read_16(event, 7);
1807 }
1808 /**
1809  * @brief Get field mtu from event bnep_event_channel_opened
1810  * @param event packet
1811  * @return mtu
1812  * @note: btstack_type 2
1813  */
1814 static inline uint16_t bnep_event_channel_opened_get_mtu(const uint8_t * event){
1815     return little_endian_read_16(event, 9);
1816 }
1817 /**
1818  * @brief Get field remote_address from event bnep_event_channel_opened
1819  * @param event packet
1820  * @param Pointer to storage for remote_address
1821  * @note: btstack_type B
1822  */
1823 static inline void bnep_event_channel_opened_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
1824     reverse_bd_addr(&event[11], remote_address);
1825 }
1826 
1827 /**
1828  * @brief Get field bnep_cid from event bnep_event_channel_closed
1829  * @param event packet
1830  * @return bnep_cid
1831  * @note: btstack_type 2
1832  */
1833 static inline uint16_t bnep_event_channel_closed_get_bnep_cid(const uint8_t * event){
1834     return little_endian_read_16(event, 2);
1835 }
1836 /**
1837  * @brief Get field source_uuid from event bnep_event_channel_closed
1838  * @param event packet
1839  * @return source_uuid
1840  * @note: btstack_type 2
1841  */
1842 static inline uint16_t bnep_event_channel_closed_get_source_uuid(const uint8_t * event){
1843     return little_endian_read_16(event, 4);
1844 }
1845 /**
1846  * @brief Get field destination_uuid from event bnep_event_channel_closed
1847  * @param event packet
1848  * @return destination_uuid
1849  * @note: btstack_type 2
1850  */
1851 static inline uint16_t bnep_event_channel_closed_get_destination_uuid(const uint8_t * event){
1852     return little_endian_read_16(event, 6);
1853 }
1854 /**
1855  * @brief Get field remote_address from event bnep_event_channel_closed
1856  * @param event packet
1857  * @param Pointer to storage for remote_address
1858  * @note: btstack_type B
1859  */
1860 static inline void bnep_event_channel_closed_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
1861     reverse_bd_addr(&event[8], remote_address);
1862 }
1863 
1864 /**
1865  * @brief Get field bnep_cid from event bnep_event_channel_timeout
1866  * @param event packet
1867  * @return bnep_cid
1868  * @note: btstack_type 2
1869  */
1870 static inline uint16_t bnep_event_channel_timeout_get_bnep_cid(const uint8_t * event){
1871     return little_endian_read_16(event, 2);
1872 }
1873 /**
1874  * @brief Get field source_uuid from event bnep_event_channel_timeout
1875  * @param event packet
1876  * @return source_uuid
1877  * @note: btstack_type 2
1878  */
1879 static inline uint16_t bnep_event_channel_timeout_get_source_uuid(const uint8_t * event){
1880     return little_endian_read_16(event, 4);
1881 }
1882 /**
1883  * @brief Get field destination_uuid from event bnep_event_channel_timeout
1884  * @param event packet
1885  * @return destination_uuid
1886  * @note: btstack_type 2
1887  */
1888 static inline uint16_t bnep_event_channel_timeout_get_destination_uuid(const uint8_t * event){
1889     return little_endian_read_16(event, 6);
1890 }
1891 /**
1892  * @brief Get field remote_address from event bnep_event_channel_timeout
1893  * @param event packet
1894  * @param Pointer to storage for remote_address
1895  * @note: btstack_type B
1896  */
1897 static inline void bnep_event_channel_timeout_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
1898     reverse_bd_addr(&event[8], remote_address);
1899 }
1900 /**
1901  * @brief Get field channel_state from event bnep_event_channel_timeout
1902  * @param event packet
1903  * @return channel_state
1904  * @note: btstack_type 1
1905  */
1906 static inline uint8_t bnep_event_channel_timeout_get_channel_state(const uint8_t * event){
1907     return event[14];
1908 }
1909 
1910 /**
1911  * @brief Get field bnep_cid from event bnep_event_can_send_now
1912  * @param event packet
1913  * @return bnep_cid
1914  * @note: btstack_type 2
1915  */
1916 static inline uint16_t bnep_event_can_send_now_get_bnep_cid(const uint8_t * event){
1917     return little_endian_read_16(event, 2);
1918 }
1919 /**
1920  * @brief Get field source_uuid from event bnep_event_can_send_now
1921  * @param event packet
1922  * @return source_uuid
1923  * @note: btstack_type 2
1924  */
1925 static inline uint16_t bnep_event_can_send_now_get_source_uuid(const uint8_t * event){
1926     return little_endian_read_16(event, 4);
1927 }
1928 /**
1929  * @brief Get field destination_uuid from event bnep_event_can_send_now
1930  * @param event packet
1931  * @return destination_uuid
1932  * @note: btstack_type 2
1933  */
1934 static inline uint16_t bnep_event_can_send_now_get_destination_uuid(const uint8_t * event){
1935     return little_endian_read_16(event, 6);
1936 }
1937 /**
1938  * @brief Get field remote_address from event bnep_event_can_send_now
1939  * @param event packet
1940  * @param Pointer to storage for remote_address
1941  * @note: btstack_type B
1942  */
1943 static inline void bnep_event_can_send_now_get_remote_address(const uint8_t * event, bd_addr_t remote_address){
1944     reverse_bd_addr(&event[8], remote_address);
1945 }
1946 
1947 #ifdef ENABLE_BLE
1948 /**
1949  * @brief Get field handle from event sm_event_just_works_request
1950  * @param event packet
1951  * @return handle
1952  * @note: btstack_type H
1953  */
1954 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
1955     return little_endian_read_16(event, 2);
1956 }
1957 /**
1958  * @brief Get field addr_type from event sm_event_just_works_request
1959  * @param event packet
1960  * @return addr_type
1961  * @note: btstack_type 1
1962  */
1963 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
1964     return event[4];
1965 }
1966 /**
1967  * @brief Get field address from event sm_event_just_works_request
1968  * @param event packet
1969  * @param Pointer to storage for address
1970  * @note: btstack_type B
1971  */
1972 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
1973     reverse_bd_addr(&event[5], address);
1974 }
1975 #endif
1976 
1977 #ifdef ENABLE_BLE
1978 /**
1979  * @brief Get field handle from event sm_event_just_works_cancel
1980  * @param event packet
1981  * @return handle
1982  * @note: btstack_type H
1983  */
1984 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
1985     return little_endian_read_16(event, 2);
1986 }
1987 /**
1988  * @brief Get field addr_type from event sm_event_just_works_cancel
1989  * @param event packet
1990  * @return addr_type
1991  * @note: btstack_type 1
1992  */
1993 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
1994     return event[4];
1995 }
1996 /**
1997  * @brief Get field address from event sm_event_just_works_cancel
1998  * @param event packet
1999  * @param Pointer to storage for address
2000  * @note: btstack_type B
2001  */
2002 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
2003     reverse_bd_addr(&event[5], address);
2004 }
2005 #endif
2006 
2007 #ifdef ENABLE_BLE
2008 /**
2009  * @brief Get field handle from event sm_event_passkey_display_number
2010  * @param event packet
2011  * @return handle
2012  * @note: btstack_type H
2013  */
2014 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){
2015     return little_endian_read_16(event, 2);
2016 }
2017 /**
2018  * @brief Get field addr_type from event sm_event_passkey_display_number
2019  * @param event packet
2020  * @return addr_type
2021  * @note: btstack_type 1
2022  */
2023 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
2024     return event[4];
2025 }
2026 /**
2027  * @brief Get field address from event sm_event_passkey_display_number
2028  * @param event packet
2029  * @param Pointer to storage for address
2030  * @note: btstack_type B
2031  */
2032 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
2033     reverse_bd_addr(&event[5], address);
2034 }
2035 /**
2036  * @brief Get field passkey from event sm_event_passkey_display_number
2037  * @param event packet
2038  * @return passkey
2039  * @note: btstack_type 4
2040  */
2041 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
2042     return little_endian_read_32(event, 11);
2043 }
2044 #endif
2045 
2046 #ifdef ENABLE_BLE
2047 /**
2048  * @brief Get field handle from event sm_event_passkey_display_cancel
2049  * @param event packet
2050  * @return handle
2051  * @note: btstack_type H
2052  */
2053 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
2054     return little_endian_read_16(event, 2);
2055 }
2056 /**
2057  * @brief Get field addr_type from event sm_event_passkey_display_cancel
2058  * @param event packet
2059  * @return addr_type
2060  * @note: btstack_type 1
2061  */
2062 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
2063     return event[4];
2064 }
2065 /**
2066  * @brief Get field address from event sm_event_passkey_display_cancel
2067  * @param event packet
2068  * @param Pointer to storage for address
2069  * @note: btstack_type B
2070  */
2071 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
2072     reverse_bd_addr(&event[5], address);
2073 }
2074 #endif
2075 
2076 #ifdef ENABLE_BLE
2077 /**
2078  * @brief Get field handle from event sm_event_passkey_input_number
2079  * @param event packet
2080  * @return handle
2081  * @note: btstack_type H
2082  */
2083 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
2084     return little_endian_read_16(event, 2);
2085 }
2086 /**
2087  * @brief Get field addr_type from event sm_event_passkey_input_number
2088  * @param event packet
2089  * @return addr_type
2090  * @note: btstack_type 1
2091  */
2092 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
2093     return event[4];
2094 }
2095 /**
2096  * @brief Get field address from event sm_event_passkey_input_number
2097  * @param event packet
2098  * @param Pointer to storage for address
2099  * @note: btstack_type B
2100  */
2101 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
2102     reverse_bd_addr(&event[5], address);
2103 }
2104 #endif
2105 
2106 #ifdef ENABLE_BLE
2107 /**
2108  * @brief Get field handle from event sm_event_passkey_input_cancel
2109  * @param event packet
2110  * @return handle
2111  * @note: btstack_type H
2112  */
2113 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
2114     return little_endian_read_16(event, 2);
2115 }
2116 /**
2117  * @brief Get field addr_type from event sm_event_passkey_input_cancel
2118  * @param event packet
2119  * @return addr_type
2120  * @note: btstack_type 1
2121  */
2122 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
2123     return event[4];
2124 }
2125 /**
2126  * @brief Get field address from event sm_event_passkey_input_cancel
2127  * @param event packet
2128  * @param Pointer to storage for address
2129  * @note: btstack_type B
2130  */
2131 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
2132     reverse_bd_addr(&event[5], address);
2133 }
2134 #endif
2135 
2136 #ifdef ENABLE_BLE
2137 /**
2138  * @brief Get field handle from event sm_event_identity_resolving_started
2139  * @param event packet
2140  * @return handle
2141  * @note: btstack_type H
2142  */
2143 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
2144     return little_endian_read_16(event, 2);
2145 }
2146 /**
2147  * @brief Get field addr_type from event sm_event_identity_resolving_started
2148  * @param event packet
2149  * @return addr_type
2150  * @note: btstack_type 1
2151  */
2152 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
2153     return event[4];
2154 }
2155 /**
2156  * @brief Get field address from event sm_event_identity_resolving_started
2157  * @param event packet
2158  * @param Pointer to storage for address
2159  * @note: btstack_type B
2160  */
2161 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
2162     reverse_bd_addr(&event[5], address);
2163 }
2164 #endif
2165 
2166 #ifdef ENABLE_BLE
2167 /**
2168  * @brief Get field handle from event sm_event_identity_resolving_failed
2169  * @param event packet
2170  * @return handle
2171  * @note: btstack_type H
2172  */
2173 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
2174     return little_endian_read_16(event, 2);
2175 }
2176 /**
2177  * @brief Get field addr_type from event sm_event_identity_resolving_failed
2178  * @param event packet
2179  * @return addr_type
2180  * @note: btstack_type 1
2181  */
2182 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
2183     return event[4];
2184 }
2185 /**
2186  * @brief Get field address from event sm_event_identity_resolving_failed
2187  * @param event packet
2188  * @param Pointer to storage for address
2189  * @note: btstack_type B
2190  */
2191 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
2192     reverse_bd_addr(&event[5], address);
2193 }
2194 #endif
2195 
2196 #ifdef ENABLE_BLE
2197 /**
2198  * @brief Get field handle from event sm_event_identity_resolving_succeeded
2199  * @param event packet
2200  * @return handle
2201  * @note: btstack_type H
2202  */
2203 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
2204     return little_endian_read_16(event, 2);
2205 }
2206 /**
2207  * @brief Get field addr_type from event sm_event_identity_resolving_succeeded
2208  * @param event packet
2209  * @return addr_type
2210  * @note: btstack_type 1
2211  */
2212 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
2213     return event[4];
2214 }
2215 /**
2216  * @brief Get field address from event sm_event_identity_resolving_succeeded
2217  * @param event packet
2218  * @param Pointer to storage for address
2219  * @note: btstack_type B
2220  */
2221 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
2222     reverse_bd_addr(&event[5], address);
2223 }
2224 /**
2225  * @brief Get field le_device_db_index from event sm_event_identity_resolving_succeeded
2226  * @param event packet
2227  * @return le_device_db_index
2228  * @note: btstack_type 2
2229  */
2230 static inline uint16_t sm_event_identity_resolving_succeeded_get_le_device_db_index(const uint8_t * event){
2231     return little_endian_read_16(event, 11);
2232 }
2233 #endif
2234 
2235 #ifdef ENABLE_BLE
2236 /**
2237  * @brief Get field handle from event sm_event_authorization_request
2238  * @param event packet
2239  * @return handle
2240  * @note: btstack_type H
2241  */
2242 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
2243     return little_endian_read_16(event, 2);
2244 }
2245 /**
2246  * @brief Get field addr_type from event sm_event_authorization_request
2247  * @param event packet
2248  * @return addr_type
2249  * @note: btstack_type 1
2250  */
2251 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
2252     return event[4];
2253 }
2254 /**
2255  * @brief Get field address from event sm_event_authorization_request
2256  * @param event packet
2257  * @param Pointer to storage for address
2258  * @note: btstack_type B
2259  */
2260 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
2261     reverse_bd_addr(&event[5], address);
2262 }
2263 #endif
2264 
2265 #ifdef ENABLE_BLE
2266 /**
2267  * @brief Get field handle from event sm_event_authorization_result
2268  * @param event packet
2269  * @return handle
2270  * @note: btstack_type H
2271  */
2272 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
2273     return little_endian_read_16(event, 2);
2274 }
2275 /**
2276  * @brief Get field addr_type from event sm_event_authorization_result
2277  * @param event packet
2278  * @return addr_type
2279  * @note: btstack_type 1
2280  */
2281 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
2282     return event[4];
2283 }
2284 /**
2285  * @brief Get field address from event sm_event_authorization_result
2286  * @param event packet
2287  * @param Pointer to storage for address
2288  * @note: btstack_type B
2289  */
2290 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
2291     reverse_bd_addr(&event[5], address);
2292 }
2293 /**
2294  * @brief Get field authorization_result from event sm_event_authorization_result
2295  * @param event packet
2296  * @return authorization_result
2297  * @note: btstack_type 1
2298  */
2299 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
2300     return event[11];
2301 }
2302 #endif
2303 
2304 /**
2305  * @brief Get field advertising_event_type from event gap_event_advertising_report
2306  * @param event packet
2307  * @return advertising_event_type
2308  * @note: btstack_type 1
2309  */
2310 static inline uint8_t gap_event_advertising_report_get_advertising_event_type(const uint8_t * event){
2311     return event[2];
2312 }
2313 /**
2314  * @brief Get field address_type from event gap_event_advertising_report
2315  * @param event packet
2316  * @return address_type
2317  * @note: btstack_type 1
2318  */
2319 static inline uint8_t gap_event_advertising_report_get_address_type(const uint8_t * event){
2320     return event[3];
2321 }
2322 /**
2323  * @brief Get field address from event gap_event_advertising_report
2324  * @param event packet
2325  * @param Pointer to storage for address
2326  * @note: btstack_type B
2327  */
2328 static inline void gap_event_advertising_report_get_address(const uint8_t * event, bd_addr_t address){
2329     reverse_bd_addr(&event[4], address);
2330 }
2331 /**
2332  * @brief Get field rssi from event gap_event_advertising_report
2333  * @param event packet
2334  * @return rssi
2335  * @note: btstack_type 1
2336  */
2337 static inline uint8_t gap_event_advertising_report_get_rssi(const uint8_t * event){
2338     return event[10];
2339 }
2340 /**
2341  * @brief Get field data_length from event gap_event_advertising_report
2342  * @param event packet
2343  * @return data_length
2344  * @note: btstack_type J
2345  */
2346 static inline int gap_event_advertising_report_get_data_length(const uint8_t * event){
2347     return event[11];
2348 }
2349 /**
2350  * @brief Get field data from event gap_event_advertising_report
2351  * @param event packet
2352  * @return data
2353  * @note: btstack_type V
2354  */
2355 static inline const uint8_t * gap_event_advertising_report_get_data(const uint8_t * event){
2356     return &event[12];
2357 }
2358 
2359 /**
2360  * @brief Get field status from event hci_subevent_le_connection_complete
2361  * @param event packet
2362  * @return status
2363  * @note: btstack_type 1
2364  */
2365 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){
2366     return event[3];
2367 }
2368 /**
2369  * @brief Get field connection_handle from event hci_subevent_le_connection_complete
2370  * @param event packet
2371  * @return connection_handle
2372  * @note: btstack_type H
2373  */
2374 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){
2375     return little_endian_read_16(event, 4);
2376 }
2377 /**
2378  * @brief Get field role from event hci_subevent_le_connection_complete
2379  * @param event packet
2380  * @return role
2381  * @note: btstack_type 1
2382  */
2383 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){
2384     return event[6];
2385 }
2386 /**
2387  * @brief Get field peer_address_type from event hci_subevent_le_connection_complete
2388  * @param event packet
2389  * @return peer_address_type
2390  * @note: btstack_type 1
2391  */
2392 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){
2393     return event[7];
2394 }
2395 /**
2396  * @brief Get field peer_address from event hci_subevent_le_connection_complete
2397  * @param event packet
2398  * @param Pointer to storage for peer_address
2399  * @note: btstack_type B
2400  */
2401 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){
2402     reverse_bd_addr(&event[8], peer_address);
2403 }
2404 /**
2405  * @brief Get field conn_interval from event hci_subevent_le_connection_complete
2406  * @param event packet
2407  * @return conn_interval
2408  * @note: btstack_type 2
2409  */
2410 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){
2411     return little_endian_read_16(event, 14);
2412 }
2413 /**
2414  * @brief Get field conn_latency from event hci_subevent_le_connection_complete
2415  * @param event packet
2416  * @return conn_latency
2417  * @note: btstack_type 2
2418  */
2419 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){
2420     return little_endian_read_16(event, 16);
2421 }
2422 /**
2423  * @brief Get field supervision_timeout from event hci_subevent_le_connection_complete
2424  * @param event packet
2425  * @return supervision_timeout
2426  * @note: btstack_type 2
2427  */
2428 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){
2429     return little_endian_read_16(event, 18);
2430 }
2431 /**
2432  * @brief Get field master_clock_accuracy from event hci_subevent_le_connection_complete
2433  * @param event packet
2434  * @return master_clock_accuracy
2435  * @note: btstack_type 1
2436  */
2437 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){
2438     return event[20];
2439 }
2440 
2441 /**
2442  * @brief Get field status from event hsp_subevent_rfcomm_connection_complete
2443  * @param event packet
2444  * @return status
2445  * @note: btstack_type 1
2446  */
2447 static inline uint8_t hsp_subevent_rfcomm_connection_complete_get_status(const uint8_t * event){
2448     return event[3];
2449 }
2450 
2451 /**
2452  * @brief Get field status from event hsp_subevent_rfcomm_disconnection_complete
2453  * @param event packet
2454  * @return status
2455  * @note: btstack_type 1
2456  */
2457 static inline uint8_t hsp_subevent_rfcomm_disconnection_complete_get_status(const uint8_t * event){
2458     return event[3];
2459 }
2460 
2461 /**
2462  * @brief Get field status from event hsp_subevent_audio_connection_complete
2463  * @param event packet
2464  * @return status
2465  * @note: btstack_type 1
2466  */
2467 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){
2468     return event[3];
2469 }
2470 /**
2471  * @brief Get field handle from event hsp_subevent_audio_connection_complete
2472  * @param event packet
2473  * @return handle
2474  * @note: btstack_type H
2475  */
2476 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){
2477     return little_endian_read_16(event, 4);
2478 }
2479 
2480 /**
2481  * @brief Get field status from event hsp_subevent_audio_disconnection_complete
2482  * @param event packet
2483  * @return status
2484  * @note: btstack_type 1
2485  */
2486 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){
2487     return event[3];
2488 }
2489 
2490 
2491 /**
2492  * @brief Get field gain from event hsp_subevent_microphone_gain_changed
2493  * @param event packet
2494  * @return gain
2495  * @note: btstack_type 1
2496  */
2497 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){
2498     return event[3];
2499 }
2500 
2501 /**
2502  * @brief Get field gain from event hsp_subevent_speaker_gain_changed
2503  * @param event packet
2504  * @return gain
2505  * @note: btstack_type 1
2506  */
2507 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){
2508     return event[3];
2509 }
2510 
2511 /**
2512  * @brief Get field value_length from event hsp_subevent_hs_command
2513  * @param event packet
2514  * @return value_length
2515  * @note: btstack_type J
2516  */
2517 static inline int hsp_subevent_hs_command_get_value_length(const uint8_t * event){
2518     return event[3];
2519 }
2520 /**
2521  * @brief Get field value from event hsp_subevent_hs_command
2522  * @param event packet
2523  * @return value
2524  * @note: btstack_type V
2525  */
2526 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){
2527     return &event[4];
2528 }
2529 
2530 /**
2531  * @brief Get field value_length from event hsp_subevent_ag_indication
2532  * @param event packet
2533  * @return value_length
2534  * @note: btstack_type J
2535  */
2536 static inline int hsp_subevent_ag_indication_get_value_length(const uint8_t * event){
2537     return event[3];
2538 }
2539 /**
2540  * @brief Get field value from event hsp_subevent_ag_indication
2541  * @param event packet
2542  * @return value
2543  * @note: btstack_type V
2544  */
2545 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){
2546     return &event[4];
2547 }
2548 
2549 /**
2550  * @brief Get field status from event hfp_subevent_service_level_connection_established
2551  * @param event packet
2552  * @return status
2553  * @note: btstack_type 1
2554  */
2555 static inline uint8_t hfp_subevent_service_level_connection_established_get_status(const uint8_t * event){
2556     return event[3];
2557 }
2558 
2559 
2560 /**
2561  * @brief Get field status from event hfp_subevent_audio_connection_established
2562  * @param event packet
2563  * @return status
2564  * @note: btstack_type 1
2565  */
2566 static inline uint8_t hfp_subevent_audio_connection_established_get_status(const uint8_t * event){
2567     return event[3];
2568 }
2569 
2570 
2571 /**
2572  * @brief Get field status from event hfp_subevent_complete
2573  * @param event packet
2574  * @return status
2575  * @note: btstack_type 1
2576  */
2577 static inline uint8_t hfp_subevent_complete_get_status(const uint8_t * event){
2578     return event[3];
2579 }
2580 
2581 /**
2582  * @brief Get field indicator_index from event hfp_subevent_ag_indicator_status_changed
2583  * @param event packet
2584  * @return indicator_index
2585  * @note: btstack_type 1
2586  */
2587 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_index(const uint8_t * event){
2588     return event[3];
2589 }
2590 /**
2591  * @brief Get field indicator_status from event hfp_subevent_ag_indicator_status_changed
2592  * @param event packet
2593  * @return indicator_status
2594  * @note: btstack_type 1
2595  */
2596 static inline uint8_t hfp_subevent_ag_indicator_status_changed_get_indicator_status(const uint8_t * event){
2597     return event[4];
2598 }
2599 /**
2600  * @brief Get field indicator_name from event hfp_subevent_ag_indicator_status_changed
2601  * @param event packet
2602  * @return indicator_name
2603  * @note: btstack_type T
2604  */
2605 static inline const char * hfp_subevent_ag_indicator_status_changed_get_indicator_name(const uint8_t * event){
2606     return (const char *) &event[5];
2607 }
2608 
2609 /**
2610  * @brief Get field network_operator_mode from event hfp_subevent_network_operator_changed
2611  * @param event packet
2612  * @return network_operator_mode
2613  * @note: btstack_type 1
2614  */
2615 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_mode(const uint8_t * event){
2616     return event[3];
2617 }
2618 /**
2619  * @brief Get field network_operator_format from event hfp_subevent_network_operator_changed
2620  * @param event packet
2621  * @return network_operator_format
2622  * @note: btstack_type 1
2623  */
2624 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_format(const uint8_t * event){
2625     return event[4];
2626 }
2627 /**
2628  * @brief Get field network_operator_name from event hfp_subevent_network_operator_changed
2629  * @param event packet
2630  * @return network_operator_name
2631  * @note: btstack_type 1
2632  */
2633 static inline uint8_t hfp_subevent_network_operator_changed_get_network_operator_name(const uint8_t * event){
2634     return event[5];
2635 }
2636 
2637 /**
2638  * @brief Get field error from event hfp_subevent_extended_audio_gateway_error
2639  * @param event packet
2640  * @return error
2641  * @note: btstack_type 1
2642  */
2643 static inline uint8_t hfp_subevent_extended_audio_gateway_error_get_error(const uint8_t * event){
2644     return event[3];
2645 }
2646 
2647 /**
2648  * @brief Get field status from event hfp_subevent_codecs_connection_complete
2649  * @param event packet
2650  * @return status
2651  * @note: btstack_type 1
2652  */
2653 static inline uint8_t hfp_subevent_codecs_connection_complete_get_status(const uint8_t * event){
2654     return event[3];
2655 }
2656 
2657 
2658 
2659 
2660 /**
2661  * @brief Get field number from event hfp_subevent_place_call_with_number
2662  * @param event packet
2663  * @return number
2664  * @note: btstack_type T
2665  */
2666 static inline const char * hfp_subevent_place_call_with_number_get_number(const uint8_t * event){
2667     return (const char *) &event[3];
2668 }
2669 
2670 
2671 /**
2672  * @brief Get field number from event hfp_subevent_number_for_voice_tag
2673  * @param event packet
2674  * @return number
2675  * @note: btstack_type T
2676  */
2677 static inline const char * hfp_subevent_number_for_voice_tag_get_number(const uint8_t * event){
2678     return (const char *) &event[3];
2679 }
2680 
2681 /**
2682  * @brief Get field dtmf from event hfp_subevent_transmit_dtmf_codes
2683  * @param event packet
2684  * @return dtmf
2685  * @note: btstack_type T
2686  */
2687 static inline const char * hfp_subevent_transmit_dtmf_codes_get_dtmf(const uint8_t * event){
2688     return (const char *) &event[3];
2689 }
2690 
2691 
2692 
2693 
2694 /**
2695  * @brief Get field status from event hfp_subevent_speaker_volume
2696  * @param event packet
2697  * @return status
2698  * @note: btstack_type 1
2699  */
2700 static inline uint8_t hfp_subevent_speaker_volume_get_status(const uint8_t * event){
2701     return event[3];
2702 }
2703 /**
2704  * @brief Get field gain from event hfp_subevent_speaker_volume
2705  * @param event packet
2706  * @return gain
2707  * @note: btstack_type 1
2708  */
2709 static inline uint8_t hfp_subevent_speaker_volume_get_gain(const uint8_t * event){
2710     return event[4];
2711 }
2712 
2713 /**
2714  * @brief Get field status from event hfp_subevent_microphone_volume
2715  * @param event packet
2716  * @return status
2717  * @note: btstack_type 1
2718  */
2719 static inline uint8_t hfp_subevent_microphone_volume_get_status(const uint8_t * event){
2720     return event[3];
2721 }
2722 /**
2723  * @brief Get field gain from event hfp_subevent_microphone_volume
2724  * @param event packet
2725  * @return gain
2726  * @note: btstack_type 1
2727  */
2728 static inline uint8_t hfp_subevent_microphone_volume_get_gain(const uint8_t * event){
2729     return event[4];
2730 }
2731 
2732 /**
2733  * @brief Get field type from event hfp_subevent_call_waiting_notification
2734  * @param event packet
2735  * @return type
2736  * @note: btstack_type 1
2737  */
2738 static inline uint8_t hfp_subevent_call_waiting_notification_get_type(const uint8_t * event){
2739     return event[3];
2740 }
2741 /**
2742  * @brief Get field number from event hfp_subevent_call_waiting_notification
2743  * @param event packet
2744  * @return number
2745  * @note: btstack_type T
2746  */
2747 static inline const char * hfp_subevent_call_waiting_notification_get_number(const uint8_t * event){
2748     return (const char *) &event[4];
2749 }
2750 
2751 /**
2752  * @brief Get field type from event hfp_subevent_calling_line_indetification_notification
2753  * @param event packet
2754  * @return type
2755  * @note: btstack_type 1
2756  */
2757 static inline uint8_t hfp_subevent_calling_line_indetification_notification_get_type(const uint8_t * event){
2758     return event[3];
2759 }
2760 /**
2761  * @brief Get field number from event hfp_subevent_calling_line_indetification_notification
2762  * @param event packet
2763  * @return number
2764  * @note: btstack_type T
2765  */
2766 static inline const char * hfp_subevent_calling_line_indetification_notification_get_number(const uint8_t * event){
2767     return (const char *) &event[4];
2768 }
2769 
2770 /**
2771  * @brief Get field clcc_idx from event hfp_subevent_enhanced_call_status
2772  * @param event packet
2773  * @return clcc_idx
2774  * @note: btstack_type 1
2775  */
2776 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_idx(const uint8_t * event){
2777     return event[3];
2778 }
2779 /**
2780  * @brief Get field clcc_dir from event hfp_subevent_enhanced_call_status
2781  * @param event packet
2782  * @return clcc_dir
2783  * @note: btstack_type 1
2784  */
2785 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_dir(const uint8_t * event){
2786     return event[4];
2787 }
2788 /**
2789  * @brief Get field clcc_status from event hfp_subevent_enhanced_call_status
2790  * @param event packet
2791  * @return clcc_status
2792  * @note: btstack_type 1
2793  */
2794 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_status(const uint8_t * event){
2795     return event[5];
2796 }
2797 /**
2798  * @brief Get field clcc_mpty from event hfp_subevent_enhanced_call_status
2799  * @param event packet
2800  * @return clcc_mpty
2801  * @note: btstack_type 1
2802  */
2803 static inline uint8_t hfp_subevent_enhanced_call_status_get_clcc_mpty(const uint8_t * event){
2804     return event[6];
2805 }
2806 /**
2807  * @brief Get field bnip_type from event hfp_subevent_enhanced_call_status
2808  * @param event packet
2809  * @return bnip_type
2810  * @note: btstack_type 1
2811  */
2812 static inline uint8_t hfp_subevent_enhanced_call_status_get_bnip_type(const uint8_t * event){
2813     return event[7];
2814 }
2815 /**
2816  * @brief Get field bnip_number from event hfp_subevent_enhanced_call_status
2817  * @param event packet
2818  * @return bnip_number
2819  * @note: btstack_type T
2820  */
2821 static inline const char * hfp_subevent_enhanced_call_status_get_bnip_number(const uint8_t * event){
2822     return (const char *) &event[8];
2823 }
2824 
2825 /**
2826  * @brief Get field status from event hfp_subevent_subscriber_number_information
2827  * @param event packet
2828  * @return status
2829  * @note: btstack_type 1
2830  */
2831 static inline uint8_t hfp_subevent_subscriber_number_information_get_status(const uint8_t * event){
2832     return event[3];
2833 }
2834 /**
2835  * @brief Get field bnip_type from event hfp_subevent_subscriber_number_information
2836  * @param event packet
2837  * @return bnip_type
2838  * @note: btstack_type 1
2839  */
2840 static inline uint8_t hfp_subevent_subscriber_number_information_get_bnip_type(const uint8_t * event){
2841     return event[4];
2842 }
2843 /**
2844  * @brief Get field bnip_number from event hfp_subevent_subscriber_number_information
2845  * @param event packet
2846  * @return bnip_number
2847  * @note: btstack_type T
2848  */
2849 static inline const char * hfp_subevent_subscriber_number_information_get_bnip_number(const uint8_t * event){
2850     return (const char *) &event[5];
2851 }
2852 
2853 /**
2854  * @brief Get field value from event hfp_subevent_response_and_hold_status
2855  * @param event packet
2856  * @return value
2857  * @note: btstack_type T
2858  */
2859 static inline const char * hfp_subevent_response_and_hold_status_get_value(const uint8_t * event){
2860     return (const char *) &event[3];
2861 }
2862 
2863 #ifdef ENABLE_BLE
2864 /**
2865  * @brief Get field handle from event ancs_subevent_client_connected
2866  * @param event packet
2867  * @return handle
2868  * @note: btstack_type H
2869  */
2870 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){
2871     return little_endian_read_16(event, 3);
2872 }
2873 #endif
2874 
2875 #ifdef ENABLE_BLE
2876 /**
2877  * @brief Get field handle from event ancs_subevent_client_notification
2878  * @param event packet
2879  * @return handle
2880  * @note: btstack_type H
2881  */
2882 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){
2883     return little_endian_read_16(event, 3);
2884 }
2885 /**
2886  * @brief Get field attribute_id from event ancs_subevent_client_notification
2887  * @param event packet
2888  * @return attribute_id
2889  * @note: btstack_type 2
2890  */
2891 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){
2892     return little_endian_read_16(event, 5);
2893 }
2894 /**
2895  * @brief Get field text from event ancs_subevent_client_notification
2896  * @param event packet
2897  * @return text
2898  * @note: btstack_type T
2899  */
2900 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){
2901     return (const char *) &event[7];
2902 }
2903 #endif
2904 
2905 #ifdef ENABLE_BLE
2906 /**
2907  * @brief Get field handle from event ancs_subevent_client_disconnected
2908  * @param event packet
2909  * @return handle
2910  * @note: btstack_type H
2911  */
2912 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){
2913     return little_endian_read_16(event, 3);
2914 }
2915 #endif
2916 
2917 
2918 
2919 /* API_END */
2920 
2921 #if defined __cplusplus
2922 }
2923 #endif
2924 
2925 #endif // __BTSTACK_EVENT_H
2926