xref: /btstack/src/btstack_event.h (revision 591e55515a007c95deb6181153935ed9e9027647)
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 field status from event hci_event_inquiry_complete
65  * @param Event packet
66  * @return status
67  * @note: btstack_type 1
68  */
69 static inline uint8_t hci_event_inquiry_complete_get_status(const uint8_t * event){
70     return event[2];
71 }
72 
73 /**
74  * @brief Get field num_responses from event hci_event_inquiry_result
75  * @param Event packet
76  * @return num_responses
77  * @note: btstack_type 1
78  */
79 static inline uint8_t hci_event_inquiry_result_get_num_responses(const uint8_t * event){
80     return event[2];
81 }
82 /**
83  * @brief Get field bd_addr from event hci_event_inquiry_result
84  * @param Event packet
85  * @param Pointer to storage for bd_addr
86  * @note: btstack_type B
87  */
88 static inline void hci_event_inquiry_result_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
89     reverse_bd_addr(&event[3], bd_addr);
90 }
91 /**
92  * @brief Get field page_scan_repetition_mode from event hci_event_inquiry_result
93  * @param Event packet
94  * @return page_scan_repetition_mode
95  * @note: btstack_type 1
96  */
97 static inline uint8_t hci_event_inquiry_result_get_page_scan_repetition_mode(const uint8_t * event){
98     return event[9];
99 }
100 /**
101  * @brief Get field reserved1 from event hci_event_inquiry_result
102  * @param Event packet
103  * @return reserved1
104  * @note: btstack_type 1
105  */
106 static inline uint8_t hci_event_inquiry_result_get_reserved1(const uint8_t * event){
107     return event[10];
108 }
109 /**
110  * @brief Get field reserved2 from event hci_event_inquiry_result
111  * @param Event packet
112  * @return reserved2
113  * @note: btstack_type 1
114  */
115 static inline uint8_t hci_event_inquiry_result_get_reserved2(const uint8_t * event){
116     return event[11];
117 }
118 /**
119  * @brief Get field class_of_device from event hci_event_inquiry_result
120  * @param Event packet
121  * @return class_of_device
122  * @note: btstack_type 3
123  */
124 static inline uint32_t hci_event_inquiry_result_get_class_of_device(const uint8_t * event){
125     return little_endian_read_24(event, 12);
126 }
127 /**
128  * @brief Get field clock_offset from event hci_event_inquiry_result
129  * @param Event packet
130  * @return clock_offset
131  * @note: btstack_type 2
132  */
133 static inline uint16_t hci_event_inquiry_result_get_clock_offset(const uint8_t * event){
134     return little_endian_read_16(event, 15);
135 }
136 
137 /**
138  * @brief Get field status from event hci_event_connection_complete
139  * @param Event packet
140  * @return status
141  * @note: btstack_type 1
142  */
143 static inline uint8_t hci_event_connection_complete_get_status(const uint8_t * event){
144     return event[2];
145 }
146 /**
147  * @brief Get field connection_handle from event hci_event_connection_complete
148  * @param Event packet
149  * @return connection_handle
150  * @note: btstack_type 2
151  */
152 static inline uint16_t hci_event_connection_complete_get_connection_handle(const uint8_t * event){
153     return little_endian_read_16(event, 3);
154 }
155 /**
156  * @brief Get field bd_addr from event hci_event_connection_complete
157  * @param Event packet
158  * @param Pointer to storage for bd_addr
159  * @note: btstack_type B
160  */
161 static inline void hci_event_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
162     reverse_bd_addr(&event[5], bd_addr);
163 }
164 /**
165  * @brief Get field link_type from event hci_event_connection_complete
166  * @param Event packet
167  * @return link_type
168  * @note: btstack_type 1
169  */
170 static inline uint8_t hci_event_connection_complete_get_link_type(const uint8_t * event){
171     return event[11];
172 }
173 /**
174  * @brief Get field encryption_enabled from event hci_event_connection_complete
175  * @param Event packet
176  * @return encryption_enabled
177  * @note: btstack_type 1
178  */
179 static inline uint8_t hci_event_connection_complete_get_encryption_enabled(const uint8_t * event){
180     return event[12];
181 }
182 
183 /**
184  * @brief Get field bd_addr from event hci_event_connection_request
185  * @param Event packet
186  * @param Pointer to storage for bd_addr
187  * @note: btstack_type B
188  */
189 static inline void hci_event_connection_request_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
190     reverse_bd_addr(&event[2], bd_addr);
191 }
192 /**
193  * @brief Get field class_of_device from event hci_event_connection_request
194  * @param Event packet
195  * @return class_of_device
196  * @note: btstack_type 3
197  */
198 static inline uint32_t hci_event_connection_request_get_class_of_device(const uint8_t * event){
199     return little_endian_read_24(event, 8);
200 }
201 /**
202  * @brief Get field link_type from event hci_event_connection_request
203  * @param Event packet
204  * @return link_type
205  * @note: btstack_type 1
206  */
207 static inline uint8_t hci_event_connection_request_get_link_type(const uint8_t * event){
208     return event[11];
209 }
210 
211 /**
212  * @brief Get field status from event hci_event_disconnection_complete
213  * @param Event packet
214  * @return status
215  * @note: btstack_type 1
216  */
217 static inline uint8_t hci_event_disconnection_complete_get_status(const uint8_t * event){
218     return event[2];
219 }
220 /**
221  * @brief Get field connection_handle from event hci_event_disconnection_complete
222  * @param Event packet
223  * @return connection_handle
224  * @note: btstack_type 2
225  */
226 static inline uint16_t hci_event_disconnection_complete_get_connection_handle(const uint8_t * event){
227     return little_endian_read_16(event, 3);
228 }
229 /**
230  * @brief Get field reason from event hci_event_disconnection_complete
231  * @param Event packet
232  * @return reason
233  * @note: btstack_type 1
234  */
235 static inline uint8_t hci_event_disconnection_complete_get_reason(const uint8_t * event){
236     return event[5];
237 }
238 
239 /**
240  * @brief Get field status from event hci_event_authentication_complete_event
241  * @param Event packet
242  * @return status
243  * @note: btstack_type 1
244  */
245 static inline uint8_t hci_event_authentication_complete_event_get_status(const uint8_t * event){
246     return event[2];
247 }
248 /**
249  * @brief Get field connection_handle from event hci_event_authentication_complete_event
250  * @param Event packet
251  * @return connection_handle
252  * @note: btstack_type 2
253  */
254 static inline uint16_t hci_event_authentication_complete_event_get_connection_handle(const uint8_t * event){
255     return little_endian_read_16(event, 3);
256 }
257 
258 /**
259  * @brief Get field status from event hci_event_remote_name_request_complete
260  * @param Event packet
261  * @return status
262  * @note: btstack_type 1
263  */
264 //  static inline uint8_t hci_event_remote_name_request_complete_get_status(const uint8_t * event){
265 //      not implemented yet
266 //  }
267 /**
268  * @brief Get field bd_addr from event hci_event_remote_name_request_complete
269  * @param Event packet
270  * @return bd_addr
271  * @note: btstack_type B
272  */
273 //  static inline bd_addr_t hci_event_remote_name_request_complete_get_bd_addr(const uint8_t * event){
274 //      not implemented yet
275 //  }
276 /**
277  * @brief Get field remote_name from event hci_event_remote_name_request_complete
278  * @param Event packet
279  * @return remote_name
280  * @note: btstack_type N
281  */
282 //  static inline String hci_event_remote_name_request_complete_get_remote_name(const uint8_t * event){
283 //      not implemented yet
284 //  }
285 
286 /**
287  * @brief Get field status from event hci_event_encryption_change
288  * @param Event packet
289  * @return status
290  * @note: btstack_type 1
291  */
292 static inline uint8_t hci_event_encryption_change_get_status(const uint8_t * event){
293     return event[2];
294 }
295 /**
296  * @brief Get field connection_handle from event hci_event_encryption_change
297  * @param Event packet
298  * @return connection_handle
299  * @note: btstack_type 2
300  */
301 static inline uint16_t hci_event_encryption_change_get_connection_handle(const uint8_t * event){
302     return little_endian_read_16(event, 3);
303 }
304 /**
305  * @brief Get field encryption_enabled from event hci_event_encryption_change
306  * @param Event packet
307  * @return encryption_enabled
308  * @note: btstack_type 1
309  */
310 static inline uint8_t hci_event_encryption_change_get_encryption_enabled(const uint8_t * event){
311     return event[5];
312 }
313 
314 /**
315  * @brief Get field status from event hci_event_change_connection_link_key_complete
316  * @param Event packet
317  * @return status
318  * @note: btstack_type 1
319  */
320 static inline uint8_t hci_event_change_connection_link_key_complete_get_status(const uint8_t * event){
321     return event[2];
322 }
323 /**
324  * @brief Get field connection_handle from event hci_event_change_connection_link_key_complete
325  * @param Event packet
326  * @return connection_handle
327  * @note: btstack_type 2
328  */
329 static inline uint16_t hci_event_change_connection_link_key_complete_get_connection_handle(const uint8_t * event){
330     return little_endian_read_16(event, 3);
331 }
332 
333 /**
334  * @brief Get field status from event hci_event_master_link_key_complete
335  * @param Event packet
336  * @return status
337  * @note: btstack_type 1
338  */
339 static inline uint8_t hci_event_master_link_key_complete_get_status(const uint8_t * event){
340     return event[2];
341 }
342 /**
343  * @brief Get field connection_handle from event hci_event_master_link_key_complete
344  * @param Event packet
345  * @return connection_handle
346  * @note: btstack_type 2
347  */
348 static inline uint16_t hci_event_master_link_key_complete_get_connection_handle(const uint8_t * event){
349     return little_endian_read_16(event, 3);
350 }
351 /**
352  * @brief Get field key_flag from event hci_event_master_link_key_complete
353  * @param Event packet
354  * @return key_flag
355  * @note: btstack_type 1
356  */
357 static inline uint8_t hci_event_master_link_key_complete_get_key_flag(const uint8_t * event){
358     return event[5];
359 }
360 
361 /**
362  * @brief Get field num_hci_command_packets from event hci_event_command_complete
363  * @param Event packet
364  * @return num_hci_command_packets
365  * @note: btstack_type 1
366  */
367 static inline uint8_t hci_event_command_complete_get_num_hci_command_packets(const uint8_t * event){
368     return event[2];
369 }
370 /**
371  * @brief Get field command_opcode from event hci_event_command_complete
372  * @param Event packet
373  * @return command_opcode
374  * @note: btstack_type 2
375  */
376 static inline uint16_t hci_event_command_complete_get_command_opcode(const uint8_t * event){
377     return little_endian_read_16(event, 3);
378 }
379 /**
380  * @brief Get field return_parameters from event hci_event_command_complete
381  * @param Event packet
382  * @return return_parameters
383  * @note: btstack_type R
384  */
385 static inline const uint8_t * hci_event_command_complete_get_return_parameters(const uint8_t * event){
386     return &event[5];
387 }
388 
389 /**
390  * @brief Get field status from event hci_event_command_status
391  * @param Event packet
392  * @return status
393  * @note: btstack_type 1
394  */
395 static inline uint8_t hci_event_command_status_get_status(const uint8_t * event){
396     return event[2];
397 }
398 /**
399  * @brief Get field num_hci_command_packets from event hci_event_command_status
400  * @param Event packet
401  * @return num_hci_command_packets
402  * @note: btstack_type 1
403  */
404 static inline uint8_t hci_event_command_status_get_num_hci_command_packets(const uint8_t * event){
405     return event[3];
406 }
407 /**
408  * @brief Get field command_opcode from event hci_event_command_status
409  * @param Event packet
410  * @return command_opcode
411  * @note: btstack_type 2
412  */
413 static inline uint16_t hci_event_command_status_get_command_opcode(const uint8_t * event){
414     return little_endian_read_16(event, 4);
415 }
416 
417 /**
418  * @brief Get field hardware_code from event hci_event_hardware_error
419  * @param Event packet
420  * @return hardware_code
421  * @note: btstack_type 1
422  */
423 static inline uint8_t hci_event_hardware_error_get_hardware_code(const uint8_t * event){
424     return event[2];
425 }
426 
427 /**
428  * @brief Get field status from event hci_event_role_change
429  * @param Event packet
430  * @return status
431  * @note: btstack_type 1
432  */
433 static inline uint8_t hci_event_role_change_get_status(const uint8_t * event){
434     return event[2];
435 }
436 /**
437  * @brief Get field bd_addr from event hci_event_role_change
438  * @param Event packet
439  * @param Pointer to storage for bd_addr
440  * @note: btstack_type B
441  */
442 static inline void hci_event_role_change_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
443     reverse_bd_addr(&event[3], bd_addr);
444 }
445 /**
446  * @brief Get field role from event hci_event_role_change
447  * @param Event packet
448  * @return role
449  * @note: btstack_type 1
450  */
451 static inline uint8_t hci_event_role_change_get_role(const uint8_t * event){
452     return event[9];
453 }
454 
455 /**
456  * @brief Get field num_responses from event hci_event_inquiry_result_with_rssi
457  * @param Event packet
458  * @return num_responses
459  * @note: btstack_type 1
460  */
461 static inline uint8_t hci_event_inquiry_result_with_rssi_get_num_responses(const uint8_t * event){
462     return event[2];
463 }
464 /**
465  * @brief Get field bd_addr from event hci_event_inquiry_result_with_rssi
466  * @param Event packet
467  * @param Pointer to storage for bd_addr
468  * @note: btstack_type B
469  */
470 static inline void hci_event_inquiry_result_with_rssi_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
471     reverse_bd_addr(&event[3], bd_addr);
472 }
473 /**
474  * @brief Get field page_scan_repetition_mode from event hci_event_inquiry_result_with_rssi
475  * @param Event packet
476  * @return page_scan_repetition_mode
477  * @note: btstack_type 1
478  */
479 static inline uint8_t hci_event_inquiry_result_with_rssi_get_page_scan_repetition_mode(const uint8_t * event){
480     return event[9];
481 }
482 /**
483  * @brief Get field reserved from event hci_event_inquiry_result_with_rssi
484  * @param Event packet
485  * @return reserved
486  * @note: btstack_type 1
487  */
488 static inline uint8_t hci_event_inquiry_result_with_rssi_get_reserved(const uint8_t * event){
489     return event[10];
490 }
491 /**
492  * @brief Get field class_of_device from event hci_event_inquiry_result_with_rssi
493  * @param Event packet
494  * @return class_of_device
495  * @note: btstack_type 3
496  */
497 static inline uint32_t hci_event_inquiry_result_with_rssi_get_class_of_device(const uint8_t * event){
498     return little_endian_read_24(event, 11);
499 }
500 /**
501  * @brief Get field clock_offset from event hci_event_inquiry_result_with_rssi
502  * @param Event packet
503  * @return clock_offset
504  * @note: btstack_type 2
505  */
506 static inline uint16_t hci_event_inquiry_result_with_rssi_get_clock_offset(const uint8_t * event){
507     return little_endian_read_16(event, 14);
508 }
509 /**
510  * @brief Get field rssi from event hci_event_inquiry_result_with_rssi
511  * @param Event packet
512  * @return rssi
513  * @note: btstack_type 1
514  */
515 static inline uint8_t hci_event_inquiry_result_with_rssi_get_rssi(const uint8_t * event){
516     return event[16];
517 }
518 
519 /**
520  * @brief Get field status from event hci_event_synchronous_connection_complete
521  * @param Event packet
522  * @return status
523  * @note: btstack_type 1
524  */
525 static inline uint8_t hci_event_synchronous_connection_complete_get_status(const uint8_t * event){
526     return event[2];
527 }
528 /**
529  * @brief Get field handle from event hci_event_synchronous_connection_complete
530  * @param Event packet
531  * @return handle
532  * @note: btstack_type H
533  */
534 static inline hci_con_handle_t hci_event_synchronous_connection_complete_get_handle(const uint8_t * event){
535     return little_endian_read_16(event, 3);
536 }
537 /**
538  * @brief Get field bd_addr from event hci_event_synchronous_connection_complete
539  * @param Event packet
540  * @param Pointer to storage for bd_addr
541  * @note: btstack_type B
542  */
543 static inline void hci_event_synchronous_connection_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
544     reverse_bd_addr(&event[5], bd_addr);
545 }
546 /**
547  * @brief Get field link_type from event hci_event_synchronous_connection_complete
548  * @param Event packet
549  * @return link_type
550  * @note: btstack_type 1
551  */
552 static inline uint8_t hci_event_synchronous_connection_complete_get_link_type(const uint8_t * event){
553     return event[11];
554 }
555 /**
556  * @brief Get field transmission_interval from event hci_event_synchronous_connection_complete
557  * @param Event packet
558  * @return transmission_interval
559  * @note: btstack_type 1
560  */
561 static inline uint8_t hci_event_synchronous_connection_complete_get_transmission_interval(const uint8_t * event){
562     return event[12];
563 }
564 /**
565  * @brief Get field retransmission_interval from event hci_event_synchronous_connection_complete
566  * @param Event packet
567  * @return retransmission_interval
568  * @note: btstack_type 1
569  */
570 static inline uint8_t hci_event_synchronous_connection_complete_get_retransmission_interval(const uint8_t * event){
571     return event[13];
572 }
573 /**
574  * @brief Get field rx_packet_length from event hci_event_synchronous_connection_complete
575  * @param Event packet
576  * @return rx_packet_length
577  * @note: btstack_type 2
578  */
579 static inline uint16_t hci_event_synchronous_connection_complete_get_rx_packet_length(const uint8_t * event){
580     return little_endian_read_16(event, 14);
581 }
582 /**
583  * @brief Get field tx_packet_length from event hci_event_synchronous_connection_complete
584  * @param Event packet
585  * @return tx_packet_length
586  * @note: btstack_type 2
587  */
588 static inline uint16_t hci_event_synchronous_connection_complete_get_tx_packet_length(const uint8_t * event){
589     return little_endian_read_16(event, 16);
590 }
591 /**
592  * @brief Get field air_mode from event hci_event_synchronous_connection_complete
593  * @param Event packet
594  * @return air_mode
595  * @note: btstack_type 1
596  */
597 static inline uint8_t hci_event_synchronous_connection_complete_get_air_mode(const uint8_t * event){
598     return event[18];
599 }
600 
601 /**
602  * @brief Get field num_responses from event hci_event_extended_inquiry_response
603  * @param Event packet
604  * @return num_responses
605  * @note: btstack_type 1
606  */
607 static inline uint8_t hci_event_extended_inquiry_response_get_num_responses(const uint8_t * event){
608     return event[2];
609 }
610 /**
611  * @brief Get field bd_addr from event hci_event_extended_inquiry_response
612  * @param Event packet
613  * @param Pointer to storage for bd_addr
614  * @note: btstack_type B
615  */
616 static inline void hci_event_extended_inquiry_response_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
617     reverse_bd_addr(&event[3], bd_addr);
618 }
619 /**
620  * @brief Get field page_scan_repetition_mode from event hci_event_extended_inquiry_response
621  * @param Event packet
622  * @return page_scan_repetition_mode
623  * @note: btstack_type 1
624  */
625 static inline uint8_t hci_event_extended_inquiry_response_get_page_scan_repetition_mode(const uint8_t * event){
626     return event[9];
627 }
628 /**
629  * @brief Get field reserved from event hci_event_extended_inquiry_response
630  * @param Event packet
631  * @return reserved
632  * @note: btstack_type 1
633  */
634 static inline uint8_t hci_event_extended_inquiry_response_get_reserved(const uint8_t * event){
635     return event[10];
636 }
637 /**
638  * @brief Get field class_of_device from event hci_event_extended_inquiry_response
639  * @param Event packet
640  * @return class_of_device
641  * @note: btstack_type 3
642  */
643 static inline uint32_t hci_event_extended_inquiry_response_get_class_of_device(const uint8_t * event){
644     return little_endian_read_24(event, 11);
645 }
646 /**
647  * @brief Get field clock_offset from event hci_event_extended_inquiry_response
648  * @param Event packet
649  * @return clock_offset
650  * @note: btstack_type 2
651  */
652 static inline uint16_t hci_event_extended_inquiry_response_get_clock_offset(const uint8_t * event){
653     return little_endian_read_16(event, 14);
654 }
655 /**
656  * @brief Get field rssi from event hci_event_extended_inquiry_response
657  * @param Event packet
658  * @return rssi
659  * @note: btstack_type 1
660  */
661 static inline uint8_t hci_event_extended_inquiry_response_get_rssi(const uint8_t * event){
662     return event[16];
663 }
664 
665 /**
666  * @brief Get field status from event hci_event_encryption_key_refresh_complete
667  * @param Event packet
668  * @return status
669  * @note: btstack_type 1
670  */
671 static inline uint8_t hci_event_encryption_key_refresh_complete_get_status(const uint8_t * event){
672     return event[2];
673 }
674 /**
675  * @brief Get field handle from event hci_event_encryption_key_refresh_complete
676  * @param Event packet
677  * @return handle
678  * @note: btstack_type H
679  */
680 static inline hci_con_handle_t hci_event_encryption_key_refresh_complete_get_handle(const uint8_t * event){
681     return little_endian_read_16(event, 3);
682 }
683 
684 /**
685  * @brief Get field subevent_code from event hci_subevent_le_connection_complete
686  * @param Event packet
687  * @return subevent_code
688  * @note: btstack_type 1
689  */
690 static inline uint8_t hci_subevent_le_connection_complete_get_subevent_code(const uint8_t * event){
691     return event[2];
692 }
693 /**
694  * @brief Get field status from event hci_subevent_le_connection_complete
695  * @param Event packet
696  * @return status
697  * @note: btstack_type 1
698  */
699 static inline uint8_t hci_subevent_le_connection_complete_get_status(const uint8_t * event){
700     return event[3];
701 }
702 /**
703  * @brief Get field connection_handle from event hci_subevent_le_connection_complete
704  * @param Event packet
705  * @return connection_handle
706  * @note: btstack_type H
707  */
708 static inline hci_con_handle_t hci_subevent_le_connection_complete_get_connection_handle(const uint8_t * event){
709     return little_endian_read_16(event, 4);
710 }
711 /**
712  * @brief Get field role from event hci_subevent_le_connection_complete
713  * @param Event packet
714  * @return role
715  * @note: btstack_type 1
716  */
717 static inline uint8_t hci_subevent_le_connection_complete_get_role(const uint8_t * event){
718     return event[6];
719 }
720 /**
721  * @brief Get field peer_address_type from event hci_subevent_le_connection_complete
722  * @param Event packet
723  * @return peer_address_type
724  * @note: btstack_type 1
725  */
726 static inline uint8_t hci_subevent_le_connection_complete_get_peer_address_type(const uint8_t * event){
727     return event[7];
728 }
729 /**
730  * @brief Get field peer_address from event hci_subevent_le_connection_complete
731  * @param Event packet
732  * @param Pointer to storage for peer_address
733  * @note: btstack_type B
734  */
735 static inline void hci_subevent_le_connection_complete_get_peer_address(const uint8_t * event, bd_addr_t peer_address){
736     reverse_bd_addr(&event[8], peer_address);
737 }
738 /**
739  * @brief Get field conn_interval from event hci_subevent_le_connection_complete
740  * @param Event packet
741  * @return conn_interval
742  * @note: btstack_type 2
743  */
744 static inline uint16_t hci_subevent_le_connection_complete_get_conn_interval(const uint8_t * event){
745     return little_endian_read_16(event, 14);
746 }
747 /**
748  * @brief Get field conn_latency from event hci_subevent_le_connection_complete
749  * @param Event packet
750  * @return conn_latency
751  * @note: btstack_type 2
752  */
753 static inline uint16_t hci_subevent_le_connection_complete_get_conn_latency(const uint8_t * event){
754     return little_endian_read_16(event, 16);
755 }
756 /**
757  * @brief Get field supervision_timeout from event hci_subevent_le_connection_complete
758  * @param Event packet
759  * @return supervision_timeout
760  * @note: btstack_type 2
761  */
762 static inline uint16_t hci_subevent_le_connection_complete_get_supervision_timeout(const uint8_t * event){
763     return little_endian_read_16(event, 18);
764 }
765 /**
766  * @brief Get field master_clock_accuracy from event hci_subevent_le_connection_complete
767  * @param Event packet
768  * @return master_clock_accuracy
769  * @note: btstack_type 1
770  */
771 static inline uint8_t hci_subevent_le_connection_complete_get_master_clock_accuracy(const uint8_t * event){
772     return event[20];
773 }
774 
775 /**
776  * @brief Get field state from event btstack_event_state
777  * @param Event packet
778  * @return state
779  * @note: btstack_type 1
780  */
781 static inline uint8_t btstack_event_state_get_state(const uint8_t * event){
782     return event[2];
783 }
784 
785 
786 /**
787  * @brief Get field discoverable from event btstack_event_discoverable_enabled
788  * @param Event packet
789  * @return discoverable
790  * @note: btstack_type 1
791  */
792 static inline uint8_t btstack_event_discoverable_enabled_get_discoverable(const uint8_t * event){
793     return event[2];
794 }
795 
796 /**
797  * @brief Get field handle from event hci_event_sco_can_send_now
798  * @param Event packet
799  * @param Pointer to storage for handle
800  * @note: btstack_type B
801  */
802 static inline void hci_event_sco_can_send_now_get_handle(const uint8_t * event, bd_addr_t handle){
803     reverse_bd_addr(&event[2], handle);
804 }
805 
806 /**
807  * @brief Get field status from event l2cap_event_channel_opened
808  * @param Event packet
809  * @return status
810  * @note: btstack_type 1
811  */
812 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
813     return event[2];
814 }
815 /**
816  * @brief Get field address from event l2cap_event_channel_opened
817  * @param Event packet
818  * @param Pointer to storage for address
819  * @note: btstack_type B
820  */
821 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
822     reverse_bd_addr(&event[3], address);
823 }
824 /**
825  * @brief Get field handle from event l2cap_event_channel_opened
826  * @param Event packet
827  * @return handle
828  * @note: btstack_type H
829  */
830 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
831     return little_endian_read_16(event, 9);
832 }
833 /**
834  * @brief Get field psm from event l2cap_event_channel_opened
835  * @param Event packet
836  * @return psm
837  * @note: btstack_type 2
838  */
839 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
840     return little_endian_read_16(event, 11);
841 }
842 /**
843  * @brief Get field local_cid from event l2cap_event_channel_opened
844  * @param Event packet
845  * @return local_cid
846  * @note: btstack_type 2
847  */
848 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){
849     return little_endian_read_16(event, 13);
850 }
851 /**
852  * @brief Get field remote_cid from event l2cap_event_channel_opened
853  * @param Event packet
854  * @return remote_cid
855  * @note: btstack_type 2
856  */
857 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
858     return little_endian_read_16(event, 15);
859 }
860 /**
861  * @brief Get field local_mtu from event l2cap_event_channel_opened
862  * @param Event packet
863  * @return local_mtu
864  * @note: btstack_type 2
865  */
866 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
867     return little_endian_read_16(event, 17);
868 }
869 /**
870  * @brief Get field remote_mtu from event l2cap_event_channel_opened
871  * @param Event packet
872  * @return remote_mtu
873  * @note: btstack_type 2
874  */
875 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
876     return little_endian_read_16(event, 19);
877 }
878 /**
879  * @brief Get field flush_timeout from event l2cap_event_channel_opened
880  * @param Event packet
881  * @return flush_timeout
882  * @note: btstack_type 2
883  */
884 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
885     return little_endian_read_16(event, 21);
886 }
887 
888 /**
889  * @brief Get field local_cid from event l2cap_event_channel_closed
890  * @param Event packet
891  * @return local_cid
892  * @note: btstack_type 2
893  */
894 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
895     return little_endian_read_16(event, 2);
896 }
897 
898 /**
899  * @brief Get field status from event l2cap_event_incoming_connection
900  * @param Event packet
901  * @return status
902  * @note: btstack_type 1
903  */
904 static inline uint8_t l2cap_event_incoming_connection_get_status(const uint8_t * event){
905     return event[2];
906 }
907 /**
908  * @brief Get field address from event l2cap_event_incoming_connection
909  * @param Event packet
910  * @param Pointer to storage for address
911  * @note: btstack_type B
912  */
913 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
914     reverse_bd_addr(&event[3], address);
915 }
916 /**
917  * @brief Get field handle from event l2cap_event_incoming_connection
918  * @param Event packet
919  * @return handle
920  * @note: btstack_type H
921  */
922 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
923     return little_endian_read_16(event, 9);
924 }
925 /**
926  * @brief Get field psm from event l2cap_event_incoming_connection
927  * @param Event packet
928  * @return psm
929  * @note: btstack_type 2
930  */
931 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
932     return little_endian_read_16(event, 11);
933 }
934 /**
935  * @brief Get field local_cid from event l2cap_event_incoming_connection
936  * @param Event packet
937  * @return local_cid
938  * @note: btstack_type 2
939  */
940 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
941     return little_endian_read_16(event, 13);
942 }
943 /**
944  * @brief Get field remote_cid from event l2cap_event_incoming_connection
945  * @param Event packet
946  * @return remote_cid
947  * @note: btstack_type 2
948  */
949 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
950     return little_endian_read_16(event, 15);
951 }
952 
953 /**
954  * @brief Get field status from event l2cap_event_service_registered
955  * @param Event packet
956  * @return status
957  * @note: btstack_type 1
958  */
959 static inline uint8_t l2cap_event_service_registered_get_status(const uint8_t * event){
960     return event[2];
961 }
962 /**
963  * @brief Get field psm from event l2cap_event_service_registered
964  * @param Event packet
965  * @return psm
966  * @note: btstack_type 2
967  */
968 static inline uint16_t l2cap_event_service_registered_get_psm(const uint8_t * event){
969     return little_endian_read_16(event, 3);
970 }
971 
972 /**
973  * @brief Get field handle from event l2cap_event_connection_parameter_update_request
974  * @param Event packet
975  * @return handle
976  * @note: btstack_type H
977  */
978 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
979     return little_endian_read_16(event, 2);
980 }
981 /**
982  * @brief Get field interval_min from event l2cap_event_connection_parameter_update_request
983  * @param Event packet
984  * @return interval_min
985  * @note: btstack_type 2
986  */
987 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
988     return little_endian_read_16(event, 4);
989 }
990 /**
991  * @brief Get field interval_max from event l2cap_event_connection_parameter_update_request
992  * @param Event packet
993  * @return interval_max
994  * @note: btstack_type 2
995  */
996 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
997     return little_endian_read_16(event, 6);
998 }
999 /**
1000  * @brief Get field latencey from event l2cap_event_connection_parameter_update_request
1001  * @param Event packet
1002  * @return latencey
1003  * @note: btstack_type 2
1004  */
1005 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
1006     return little_endian_read_16(event, 8);
1007 }
1008 /**
1009  * @brief Get field timeout_multiplier from event l2cap_event_connection_parameter_update_request
1010  * @param Event packet
1011  * @return timeout_multiplier
1012  * @note: btstack_type 2
1013  */
1014 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
1015     return little_endian_read_16(event, 10);
1016 }
1017 
1018 /**
1019  * @brief Get field handle from event l2cap_event_connection_parameter_update_response
1020  * @param Event packet
1021  * @return handle
1022  * @note: btstack_type H
1023  */
1024 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
1025     return little_endian_read_16(event, 2);
1026 }
1027 
1028 /**
1029  * @brief Get field local_cid from event l2cap_event_can_send_now
1030  * @param Event packet
1031  * @return local_cid
1032  * @note: btstack_type 2
1033  */
1034 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
1035     return little_endian_read_16(event, 2);
1036 }
1037 
1038 /**
1039  * @brief Get field status from event rfcomm_event_open_channel_complete
1040  * @param Event packet
1041  * @return status
1042  * @note: btstack_type 1
1043  */
1044 static inline uint8_t rfcomm_event_open_channel_complete_get_status(const uint8_t * event){
1045     return event[2];
1046 }
1047 /**
1048  * @brief Get field bd_addr from event rfcomm_event_open_channel_complete
1049  * @param Event packet
1050  * @param Pointer to storage for bd_addr
1051  * @note: btstack_type B
1052  */
1053 static inline void rfcomm_event_open_channel_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1054     reverse_bd_addr(&event[3], bd_addr);
1055 }
1056 /**
1057  * @brief Get field con_handle from event rfcomm_event_open_channel_complete
1058  * @param Event packet
1059  * @return con_handle
1060  * @note: btstack_type 2
1061  */
1062 static inline uint16_t rfcomm_event_open_channel_complete_get_con_handle(const uint8_t * event){
1063     return little_endian_read_16(event, 9);
1064 }
1065 /**
1066  * @brief Get field server_channel from event rfcomm_event_open_channel_complete
1067  * @param Event packet
1068  * @return server_channel
1069  * @note: btstack_type 1
1070  */
1071 static inline uint8_t rfcomm_event_open_channel_complete_get_server_channel(const uint8_t * event){
1072     return event[11];
1073 }
1074 /**
1075  * @brief Get field rfcomm_cid from event rfcomm_event_open_channel_complete
1076  * @param Event packet
1077  * @return rfcomm_cid
1078  * @note: btstack_type 2
1079  */
1080 static inline uint16_t rfcomm_event_open_channel_complete_get_rfcomm_cid(const uint8_t * event){
1081     return little_endian_read_16(event, 12);
1082 }
1083 /**
1084  * @brief Get field max_frame_size from event rfcomm_event_open_channel_complete
1085  * @param Event packet
1086  * @return max_frame_size
1087  * @note: btstack_type 2
1088  */
1089 static inline uint16_t rfcomm_event_open_channel_complete_get_max_frame_size(const uint8_t * event){
1090     return little_endian_read_16(event, 14);
1091 }
1092 
1093 /**
1094  * @brief Get field rfcomm_cid from event rfcomm_event_channel_closed
1095  * @param Event packet
1096  * @return rfcomm_cid
1097  * @note: btstack_type 2
1098  */
1099 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
1100     return little_endian_read_16(event, 2);
1101 }
1102 
1103 /**
1104  * @brief Get field bd_addr from event rfcomm_event_incoming_connection
1105  * @param Event packet
1106  * @param Pointer to storage for bd_addr
1107  * @note: btstack_type B
1108  */
1109 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
1110     reverse_bd_addr(&event[2], bd_addr);
1111 }
1112 /**
1113  * @brief Get field server_channel from event rfcomm_event_incoming_connection
1114  * @param Event packet
1115  * @return server_channel
1116  * @note: btstack_type 1
1117  */
1118 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
1119     return event[8];
1120 }
1121 /**
1122  * @brief Get field rfcomm_cid from event rfcomm_event_incoming_connection
1123  * @param Event packet
1124  * @return rfcomm_cid
1125  * @note: btstack_type 2
1126  */
1127 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
1128     return little_endian_read_16(event, 9);
1129 }
1130 
1131 /**
1132  * @brief Get field rfcomm_cid from event rfcomm_event_remote_line_status
1133  * @param Event packet
1134  * @return rfcomm_cid
1135  * @note: btstack_type 2
1136  */
1137 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
1138     return little_endian_read_16(event, 2);
1139 }
1140 /**
1141  * @brief Get field line_status from event rfcomm_event_remote_line_status
1142  * @param Event packet
1143  * @return line_status
1144  * @note: btstack_type 1
1145  */
1146 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
1147     return event[4];
1148 }
1149 
1150 /**
1151  * @brief Get field rfcomm_cid from event rfcomm_event_credits
1152  * @param Event packet
1153  * @return rfcomm_cid
1154  * @note: btstack_type 2
1155  */
1156 static inline uint16_t rfcomm_event_credits_get_rfcomm_cid(const uint8_t * event){
1157     return little_endian_read_16(event, 2);
1158 }
1159 /**
1160  * @brief Get field credits from event rfcomm_event_credits
1161  * @param Event packet
1162  * @return credits
1163  * @note: btstack_type 1
1164  */
1165 static inline uint8_t rfcomm_event_credits_get_credits(const uint8_t * event){
1166     return event[4];
1167 }
1168 
1169 /**
1170  * @brief Get field status from event rfcomm_event_service_registered
1171  * @param Event packet
1172  * @return status
1173  * @note: btstack_type 1
1174  */
1175 static inline uint8_t rfcomm_event_service_registered_get_status(const uint8_t * event){
1176     return event[2];
1177 }
1178 /**
1179  * @brief Get field channel_id from event rfcomm_event_service_registered
1180  * @param Event packet
1181  * @return channel_id
1182  * @note: btstack_type 1
1183  */
1184 static inline uint8_t rfcomm_event_service_registered_get_channel_id(const uint8_t * event){
1185     return event[3];
1186 }
1187 
1188 /**
1189  * @brief Get field status from event rfcomm_event_persistent_channel
1190  * @param Event packet
1191  * @return status
1192  * @note: btstack_type 1
1193  */
1194 static inline uint8_t rfcomm_event_persistent_channel_get_status(const uint8_t * event){
1195     return event[2];
1196 }
1197 /**
1198  * @brief Get field server_channel_id from event rfcomm_event_persistent_channel
1199  * @param Event packet
1200  * @return server_channel_id
1201  * @note: btstack_type 1
1202  */
1203 static inline uint8_t rfcomm_event_persistent_channel_get_server_channel_id(const uint8_t * event){
1204     return event[3];
1205 }
1206 
1207 /**
1208  * @brief Get field rfcomm_cid from event rfcomm_event_remote_modem_status
1209  * @param Event packet
1210  * @return rfcomm_cid
1211  * @note: btstack_type 2
1212  */
1213 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
1214     return little_endian_read_16(event, 2);
1215 }
1216 /**
1217  * @brief Get field modem_status from event rfcomm_event_remote_modem_status
1218  * @param Event packet
1219  * @return modem_status
1220  * @note: btstack_type 1
1221  */
1222 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
1223     return event[4];
1224 }
1225 
1226 /**
1227  * @brief Get field local_cid from event rfcomm_event_can_send_now
1228  * @param Event packet
1229  * @return local_cid
1230  * @note: btstack_type 2
1231  */
1232 static inline uint16_t rfcomm_event_can_send_now_get_local_cid(const uint8_t * event){
1233     return little_endian_read_16(event, 2);
1234 }
1235 
1236 /**
1237  * @brief Get field status from event sdp_event_service_registered
1238  * @param Event packet
1239  * @return status
1240  * @note: btstack_type 1
1241  */
1242 static inline uint8_t sdp_event_service_registered_get_status(const uint8_t * event){
1243     return event[2];
1244 }
1245 /**
1246  * @brief Get field service_record_handle from event sdp_event_service_registered
1247  * @param Event packet
1248  * @return service_record_handle
1249  * @note: btstack_type 4
1250  */
1251 static inline uint32_t sdp_event_service_registered_get_service_record_handle(const uint8_t * event){
1252     return little_endian_read_32(event, 3);
1253 }
1254 
1255 /**
1256  * @brief Get field status from event sdp_event_query_complete
1257  * @param Event packet
1258  * @return status
1259  * @note: btstack_type 1
1260  */
1261 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
1262     return event[2];
1263 }
1264 
1265 /**
1266  * @brief Get field rfcomm_channel from event sdp_event_query_rfcomm_service
1267  * @param Event packet
1268  * @return rfcomm_channel
1269  * @note: btstack_type 1
1270  */
1271 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
1272     return event[2];
1273 }
1274 /**
1275  * @brief Get field name from event sdp_event_query_rfcomm_service
1276  * @param Event packet
1277  * @return name
1278  * @note: btstack_type T
1279  */
1280 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
1281     return (const char *) &event[3];
1282 }
1283 
1284 /**
1285  * @brief Get field record_id from event sdp_event_query_attribute_byte
1286  * @param Event packet
1287  * @return record_id
1288  * @note: btstack_type 2
1289  */
1290 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
1291     return little_endian_read_16(event, 2);
1292 }
1293 /**
1294  * @brief Get field attribute_id from event sdp_event_query_attribute_byte
1295  * @param Event packet
1296  * @return attribute_id
1297  * @note: btstack_type 2
1298  */
1299 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
1300     return little_endian_read_16(event, 4);
1301 }
1302 /**
1303  * @brief Get field attribute_length from event sdp_event_query_attribute_byte
1304  * @param Event packet
1305  * @return attribute_length
1306  * @note: btstack_type 2
1307  */
1308 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
1309     return little_endian_read_16(event, 6);
1310 }
1311 /**
1312  * @brief Get field data_offset from event sdp_event_query_attribute_byte
1313  * @param Event packet
1314  * @return data_offset
1315  * @note: btstack_type 2
1316  */
1317 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
1318     return little_endian_read_16(event, 8);
1319 }
1320 /**
1321  * @brief Get field data from event sdp_event_query_attribute_byte
1322  * @param Event packet
1323  * @return data
1324  * @note: btstack_type 1
1325  */
1326 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
1327     return event[10];
1328 }
1329 
1330 /**
1331  * @brief Get field record_id from event sdp_event_query_attribute_value
1332  * @param Event packet
1333  * @return record_id
1334  * @note: btstack_type 2
1335  */
1336 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
1337     return little_endian_read_16(event, 2);
1338 }
1339 /**
1340  * @brief Get field attribute_id from event sdp_event_query_attribute_value
1341  * @param Event packet
1342  * @return attribute_id
1343  * @note: btstack_type 2
1344  */
1345 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
1346     return little_endian_read_16(event, 4);
1347 }
1348 /**
1349  * @brief Get field attribute_length from event sdp_event_query_attribute_value
1350  * @param Event packet
1351  * @return attribute_length
1352  * @note: btstack_type L
1353  */
1354 static inline int sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
1355     return little_endian_read_16(event, 6);
1356 }
1357 /**
1358  * @brief Get field attribute_value from event sdp_event_query_attribute_value
1359  * @param Event packet
1360  * @return attribute_value
1361  * @note: btstack_type V
1362  */
1363 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
1364     return &event[8];
1365 }
1366 
1367 /**
1368  * @brief Get field total_count from event sdp_event_query_service_record_handle
1369  * @param Event packet
1370  * @return total_count
1371  * @note: btstack_type 2
1372  */
1373 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
1374     return little_endian_read_16(event, 2);
1375 }
1376 /**
1377  * @brief Get field record_index from event sdp_event_query_service_record_handle
1378  * @param Event packet
1379  * @return record_index
1380  * @note: btstack_type 2
1381  */
1382 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
1383     return little_endian_read_16(event, 4);
1384 }
1385 /**
1386  * @brief Get field record_handle from event sdp_event_query_service_record_handle
1387  * @param Event packet
1388  * @return record_handle
1389  * @note: btstack_type 4
1390  */
1391 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
1392     return little_endian_read_32(event, 6);
1393 }
1394 
1395 #ifdef ENABLE_BLE
1396 /**
1397  * @brief Get field handle from event gatt_event_query_complete
1398  * @param Event packet
1399  * @return handle
1400  * @note: btstack_type H
1401  */
1402 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){
1403     return little_endian_read_16(event, 2);
1404 }
1405 /**
1406  * @brief Get field status from event gatt_event_query_complete
1407  * @param Event packet
1408  * @return status
1409  * @note: btstack_type 1
1410  */
1411 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){
1412     return event[4];
1413 }
1414 #endif
1415 
1416 #ifdef ENABLE_BLE
1417 /**
1418  * @brief Get field handle from event gatt_event_service_query_result
1419  * @param Event packet
1420  * @return handle
1421  * @note: btstack_type H
1422  */
1423 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){
1424     return little_endian_read_16(event, 2);
1425 }
1426 /**
1427  * @brief Get field service from event gatt_event_service_query_result
1428  * @param Event packet
1429  * @param Pointer to storage for service
1430  * @note: btstack_type X
1431  */
1432 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1433     gatt_client_deserialize_service(event, 4, service);
1434 }
1435 #endif
1436 
1437 #ifdef ENABLE_BLE
1438 /**
1439  * @brief Get field handle from event gatt_event_characteristic_query_result
1440  * @param Event packet
1441  * @return handle
1442  * @note: btstack_type H
1443  */
1444 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){
1445     return little_endian_read_16(event, 2);
1446 }
1447 /**
1448  * @brief Get field characteristic from event gatt_event_characteristic_query_result
1449  * @param Event packet
1450  * @param Pointer to storage for characteristic
1451  * @note: btstack_type Y
1452  */
1453 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){
1454     gatt_client_deserialize_characteristic(event, 4, characteristic);
1455 }
1456 #endif
1457 
1458 #ifdef ENABLE_BLE
1459 /**
1460  * @brief Get field handle from event gatt_event_included_service_query_result
1461  * @param Event packet
1462  * @return handle
1463  * @note: btstack_type H
1464  */
1465 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){
1466     return little_endian_read_16(event, 2);
1467 }
1468 /**
1469  * @brief Get field include_handle from event gatt_event_included_service_query_result
1470  * @param Event packet
1471  * @return include_handle
1472  * @note: btstack_type 2
1473  */
1474 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){
1475     return little_endian_read_16(event, 4);
1476 }
1477 /**
1478  * @brief Get field service from event gatt_event_included_service_query_result
1479  * @param Event packet
1480  * @param Pointer to storage for service
1481  * @note: btstack_type X
1482  */
1483 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
1484     gatt_client_deserialize_service(event, 6, service);
1485 }
1486 #endif
1487 
1488 #ifdef ENABLE_BLE
1489 /**
1490  * @brief Get field handle from event gatt_event_all_characteristic_descriptors_query_result
1491  * @param Event packet
1492  * @return handle
1493  * @note: btstack_type H
1494  */
1495 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){
1496     return little_endian_read_16(event, 2);
1497 }
1498 /**
1499  * @brief Get field characteristic_descriptor from event gatt_event_all_characteristic_descriptors_query_result
1500  * @param Event packet
1501  * @param Pointer to storage for characteristic_descriptor
1502  * @note: btstack_type Z
1503  */
1504 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){
1505     gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor);
1506 }
1507 #endif
1508 
1509 #ifdef ENABLE_BLE
1510 /**
1511  * @brief Get field handle from event gatt_event_characteristic_value_query_result
1512  * @param Event packet
1513  * @return handle
1514  * @note: btstack_type H
1515  */
1516 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){
1517     return little_endian_read_16(event, 2);
1518 }
1519 /**
1520  * @brief Get field value_handle from event gatt_event_characteristic_value_query_result
1521  * @param Event packet
1522  * @return value_handle
1523  * @note: btstack_type 2
1524  */
1525 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1526     return little_endian_read_16(event, 4);
1527 }
1528 /**
1529  * @brief Get field value_length from event gatt_event_characteristic_value_query_result
1530  * @param Event packet
1531  * @return value_length
1532  * @note: btstack_type L
1533  */
1534 static inline int gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){
1535     return little_endian_read_16(event, 6);
1536 }
1537 /**
1538  * @brief Get field value from event gatt_event_characteristic_value_query_result
1539  * @param Event packet
1540  * @return value
1541  * @note: btstack_type V
1542  */
1543 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){
1544     return &event[8];
1545 }
1546 #endif
1547 
1548 #ifdef ENABLE_BLE
1549 /**
1550  * @brief Get field handle from event gatt_event_long_characteristic_value_query_result
1551  * @param Event packet
1552  * @return handle
1553  * @note: btstack_type H
1554  */
1555 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){
1556     return little_endian_read_16(event, 2);
1557 }
1558 /**
1559  * @brief Get field value_handle from event gatt_event_long_characteristic_value_query_result
1560  * @param Event packet
1561  * @return value_handle
1562  * @note: btstack_type 2
1563  */
1564 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){
1565     return little_endian_read_16(event, 4);
1566 }
1567 /**
1568  * @brief Get field value_offset from event gatt_event_long_characteristic_value_query_result
1569  * @param Event packet
1570  * @return value_offset
1571  * @note: btstack_type 2
1572  */
1573 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){
1574     return little_endian_read_16(event, 6);
1575 }
1576 /**
1577  * @brief Get field value_length from event gatt_event_long_characteristic_value_query_result
1578  * @param Event packet
1579  * @return value_length
1580  * @note: btstack_type L
1581  */
1582 static inline int gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){
1583     return little_endian_read_16(event, 8);
1584 }
1585 /**
1586  * @brief Get field value from event gatt_event_long_characteristic_value_query_result
1587  * @param Event packet
1588  * @return value
1589  * @note: btstack_type V
1590  */
1591 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){
1592     return &event[10];
1593 }
1594 #endif
1595 
1596 #ifdef ENABLE_BLE
1597 /**
1598  * @brief Get field handle from event gatt_event_notification
1599  * @param Event packet
1600  * @return handle
1601  * @note: btstack_type H
1602  */
1603 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){
1604     return little_endian_read_16(event, 2);
1605 }
1606 /**
1607  * @brief Get field value_handle from event gatt_event_notification
1608  * @param Event packet
1609  * @return value_handle
1610  * @note: btstack_type 2
1611  */
1612 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){
1613     return little_endian_read_16(event, 4);
1614 }
1615 /**
1616  * @brief Get field value_length from event gatt_event_notification
1617  * @param Event packet
1618  * @return value_length
1619  * @note: btstack_type L
1620  */
1621 static inline int gatt_event_notification_get_value_length(const uint8_t * event){
1622     return little_endian_read_16(event, 6);
1623 }
1624 /**
1625  * @brief Get field value from event gatt_event_notification
1626  * @param Event packet
1627  * @return value
1628  * @note: btstack_type V
1629  */
1630 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){
1631     return &event[8];
1632 }
1633 #endif
1634 
1635 #ifdef ENABLE_BLE
1636 /**
1637  * @brief Get field handle from event gatt_event_indication
1638  * @param Event packet
1639  * @return handle
1640  * @note: btstack_type H
1641  */
1642 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){
1643     return little_endian_read_16(event, 2);
1644 }
1645 /**
1646  * @brief Get field value_handle from event gatt_event_indication
1647  * @param Event packet
1648  * @return value_handle
1649  * @note: btstack_type 2
1650  */
1651 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){
1652     return little_endian_read_16(event, 4);
1653 }
1654 /**
1655  * @brief Get field value_length from event gatt_event_indication
1656  * @param Event packet
1657  * @return value_length
1658  * @note: btstack_type L
1659  */
1660 static inline int gatt_event_indication_get_value_length(const uint8_t * event){
1661     return little_endian_read_16(event, 6);
1662 }
1663 /**
1664  * @brief Get field value from event gatt_event_indication
1665  * @param Event packet
1666  * @return value
1667  * @note: btstack_type V
1668  */
1669 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){
1670     return &event[8];
1671 }
1672 #endif
1673 
1674 #ifdef ENABLE_BLE
1675 /**
1676  * @brief Get field descriptor_handle from event gatt_event_characteristic_descriptor_query_result
1677  * @param Event packet
1678  * @return descriptor_handle
1679  * @note: btstack_type H
1680  */
1681 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){
1682     return little_endian_read_16(event, 2);
1683 }
1684 /**
1685  * @brief Get field descriptor_length from event gatt_event_characteristic_descriptor_query_result
1686  * @param Event packet
1687  * @return descriptor_length
1688  * @note: btstack_type 2
1689  */
1690 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1691     return little_endian_read_16(event, 4);
1692 }
1693 /**
1694  * @brief Get field descriptor from event gatt_event_characteristic_descriptor_query_result
1695  * @param Event packet
1696  * @return descriptor
1697  * @note: btstack_type L
1698  */
1699 static inline int gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1700     return little_endian_read_16(event, 6);
1701 }
1702 #endif
1703 
1704 #ifdef ENABLE_BLE
1705 /**
1706  * @brief Get field handle from event gatt_event_long_characteristic_descriptor_query_result
1707  * @param Event packet
1708  * @return handle
1709  * @note: btstack_type H
1710  */
1711 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
1712     return little_endian_read_16(event, 2);
1713 }
1714 /**
1715  * @brief Get field descriptor_offset from event gatt_event_long_characteristic_descriptor_query_result
1716  * @param Event packet
1717  * @return descriptor_offset
1718  * @note: btstack_type 2
1719  */
1720 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){
1721     return little_endian_read_16(event, 4);
1722 }
1723 /**
1724  * @brief Get field descriptor_length from event gatt_event_long_characteristic_descriptor_query_result
1725  * @param Event packet
1726  * @return descriptor_length
1727  * @note: btstack_type L
1728  */
1729 static inline int gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
1730     return little_endian_read_16(event, 6);
1731 }
1732 /**
1733  * @brief Get field descriptor from event gatt_event_long_characteristic_descriptor_query_result
1734  * @param Event packet
1735  * @return descriptor
1736  * @note: btstack_type V
1737  */
1738 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
1739     return &event[8];
1740 }
1741 #endif
1742 
1743 #ifdef ENABLE_BLE
1744 /**
1745  * @brief Get field handle from event gatt_event_mtu
1746  * @param Event packet
1747  * @return handle
1748  * @note: btstack_type H
1749  */
1750 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){
1751     return little_endian_read_16(event, 2);
1752 }
1753 /**
1754  * @brief Get field MTU from event gatt_event_mtu
1755  * @param Event packet
1756  * @return MTU
1757  * @note: btstack_type 2
1758  */
1759 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){
1760     return little_endian_read_16(event, 4);
1761 }
1762 #endif
1763 
1764 #ifdef ENABLE_BLE
1765 /**
1766  * @brief Get field handle from event sm_event_just_works_request
1767  * @param Event packet
1768  * @return handle
1769  * @note: btstack_type H
1770  */
1771 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
1772     return little_endian_read_16(event, 2);
1773 }
1774 /**
1775  * @brief Get field addr_type from event sm_event_just_works_request
1776  * @param Event packet
1777  * @return addr_type
1778  * @note: btstack_type 1
1779  */
1780 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
1781     return event[4];
1782 }
1783 /**
1784  * @brief Get field address from event sm_event_just_works_request
1785  * @param Event packet
1786  * @param Pointer to storage for address
1787  * @note: btstack_type B
1788  */
1789 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
1790     reverse_bd_addr(&event[5], address);
1791 }
1792 #endif
1793 
1794 #ifdef ENABLE_BLE
1795 /**
1796  * @brief Get field handle from event sm_event_just_works_cancel
1797  * @param Event packet
1798  * @return handle
1799  * @note: btstack_type H
1800  */
1801 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
1802     return little_endian_read_16(event, 2);
1803 }
1804 /**
1805  * @brief Get field addr_type from event sm_event_just_works_cancel
1806  * @param Event packet
1807  * @return addr_type
1808  * @note: btstack_type 1
1809  */
1810 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
1811     return event[4];
1812 }
1813 /**
1814  * @brief Get field address from event sm_event_just_works_cancel
1815  * @param Event packet
1816  * @param Pointer to storage for address
1817  * @note: btstack_type B
1818  */
1819 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
1820     reverse_bd_addr(&event[5], address);
1821 }
1822 #endif
1823 
1824 #ifdef ENABLE_BLE
1825 /**
1826  * @brief Get field handle from event sm_event_passkey_display_number
1827  * @param Event packet
1828  * @return handle
1829  * @note: btstack_type H
1830  */
1831 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){
1832     return little_endian_read_16(event, 2);
1833 }
1834 /**
1835  * @brief Get field addr_type from event sm_event_passkey_display_number
1836  * @param Event packet
1837  * @return addr_type
1838  * @note: btstack_type 1
1839  */
1840 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
1841     return event[4];
1842 }
1843 /**
1844  * @brief Get field address from event sm_event_passkey_display_number
1845  * @param Event packet
1846  * @param Pointer to storage for address
1847  * @note: btstack_type B
1848  */
1849 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
1850     reverse_bd_addr(&event[5], address);
1851 }
1852 /**
1853  * @brief Get field passkey from event sm_event_passkey_display_number
1854  * @param Event packet
1855  * @return passkey
1856  * @note: btstack_type 4
1857  */
1858 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
1859     return little_endian_read_32(event, 11);
1860 }
1861 #endif
1862 
1863 #ifdef ENABLE_BLE
1864 /**
1865  * @brief Get field handle from event sm_event_passkey_display_cancel
1866  * @param Event packet
1867  * @return handle
1868  * @note: btstack_type H
1869  */
1870 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
1871     return little_endian_read_16(event, 2);
1872 }
1873 /**
1874  * @brief Get field addr_type from event sm_event_passkey_display_cancel
1875  * @param Event packet
1876  * @return addr_type
1877  * @note: btstack_type 1
1878  */
1879 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
1880     return event[4];
1881 }
1882 /**
1883  * @brief Get field address from event sm_event_passkey_display_cancel
1884  * @param Event packet
1885  * @param Pointer to storage for address
1886  * @note: btstack_type B
1887  */
1888 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
1889     reverse_bd_addr(&event[5], address);
1890 }
1891 #endif
1892 
1893 #ifdef ENABLE_BLE
1894 /**
1895  * @brief Get field handle from event sm_event_passkey_input_number
1896  * @param Event packet
1897  * @return handle
1898  * @note: btstack_type H
1899  */
1900 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
1901     return little_endian_read_16(event, 2);
1902 }
1903 /**
1904  * @brief Get field addr_type from event sm_event_passkey_input_number
1905  * @param Event packet
1906  * @return addr_type
1907  * @note: btstack_type 1
1908  */
1909 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
1910     return event[4];
1911 }
1912 /**
1913  * @brief Get field address from event sm_event_passkey_input_number
1914  * @param Event packet
1915  * @param Pointer to storage for address
1916  * @note: btstack_type B
1917  */
1918 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
1919     reverse_bd_addr(&event[5], address);
1920 }
1921 #endif
1922 
1923 #ifdef ENABLE_BLE
1924 /**
1925  * @brief Get field handle from event sm_event_passkey_input_cancel
1926  * @param Event packet
1927  * @return handle
1928  * @note: btstack_type H
1929  */
1930 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
1931     return little_endian_read_16(event, 2);
1932 }
1933 /**
1934  * @brief Get field addr_type from event sm_event_passkey_input_cancel
1935  * @param Event packet
1936  * @return addr_type
1937  * @note: btstack_type 1
1938  */
1939 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
1940     return event[4];
1941 }
1942 /**
1943  * @brief Get field address from event sm_event_passkey_input_cancel
1944  * @param Event packet
1945  * @param Pointer to storage for address
1946  * @note: btstack_type B
1947  */
1948 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
1949     reverse_bd_addr(&event[5], address);
1950 }
1951 #endif
1952 
1953 #ifdef ENABLE_BLE
1954 /**
1955  * @brief Get field handle from event sm_event_identity_resolving_started
1956  * @param Event packet
1957  * @return handle
1958  * @note: btstack_type H
1959  */
1960 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
1961     return little_endian_read_16(event, 2);
1962 }
1963 /**
1964  * @brief Get field addr_type from event sm_event_identity_resolving_started
1965  * @param Event packet
1966  * @return addr_type
1967  * @note: btstack_type 1
1968  */
1969 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
1970     return event[4];
1971 }
1972 /**
1973  * @brief Get field address from event sm_event_identity_resolving_started
1974  * @param Event packet
1975  * @param Pointer to storage for address
1976  * @note: btstack_type B
1977  */
1978 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
1979     reverse_bd_addr(&event[5], address);
1980 }
1981 #endif
1982 
1983 #ifdef ENABLE_BLE
1984 /**
1985  * @brief Get field handle from event sm_event_identity_resolving_failed
1986  * @param Event packet
1987  * @return handle
1988  * @note: btstack_type H
1989  */
1990 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
1991     return little_endian_read_16(event, 2);
1992 }
1993 /**
1994  * @brief Get field addr_type from event sm_event_identity_resolving_failed
1995  * @param Event packet
1996  * @return addr_type
1997  * @note: btstack_type 1
1998  */
1999 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
2000     return event[4];
2001 }
2002 /**
2003  * @brief Get field address from event sm_event_identity_resolving_failed
2004  * @param Event packet
2005  * @param Pointer to storage for address
2006  * @note: btstack_type B
2007  */
2008 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
2009     reverse_bd_addr(&event[5], address);
2010 }
2011 #endif
2012 
2013 #ifdef ENABLE_BLE
2014 /**
2015  * @brief Get field handle from event sm_event_identity_resolving_succeeded
2016  * @param Event packet
2017  * @return handle
2018  * @note: btstack_type H
2019  */
2020 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
2021     return little_endian_read_16(event, 2);
2022 }
2023 /**
2024  * @brief Get field addr_type from event sm_event_identity_resolving_succeeded
2025  * @param Event packet
2026  * @return addr_type
2027  * @note: btstack_type 1
2028  */
2029 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
2030     return event[4];
2031 }
2032 /**
2033  * @brief Get field address from event sm_event_identity_resolving_succeeded
2034  * @param Event packet
2035  * @param Pointer to storage for address
2036  * @note: btstack_type B
2037  */
2038 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
2039     reverse_bd_addr(&event[5], address);
2040 }
2041 /**
2042  * @brief Get field le_device_db_index from event sm_event_identity_resolving_succeeded
2043  * @param Event packet
2044  * @return le_device_db_index
2045  * @note: btstack_type 2
2046  */
2047 static inline uint16_t sm_event_identity_resolving_succeeded_get_le_device_db_index(const uint8_t * event){
2048     return little_endian_read_16(event, 11);
2049 }
2050 #endif
2051 
2052 #ifdef ENABLE_BLE
2053 /**
2054  * @brief Get field handle from event sm_event_authorization_request
2055  * @param Event packet
2056  * @return handle
2057  * @note: btstack_type H
2058  */
2059 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
2060     return little_endian_read_16(event, 2);
2061 }
2062 /**
2063  * @brief Get field addr_type from event sm_event_authorization_request
2064  * @param Event packet
2065  * @return addr_type
2066  * @note: btstack_type 1
2067  */
2068 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
2069     return event[4];
2070 }
2071 /**
2072  * @brief Get field address from event sm_event_authorization_request
2073  * @param Event packet
2074  * @param Pointer to storage for address
2075  * @note: btstack_type B
2076  */
2077 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
2078     reverse_bd_addr(&event[5], address);
2079 }
2080 #endif
2081 
2082 #ifdef ENABLE_BLE
2083 /**
2084  * @brief Get field handle from event sm_event_authorization_result
2085  * @param Event packet
2086  * @return handle
2087  * @note: btstack_type H
2088  */
2089 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
2090     return little_endian_read_16(event, 2);
2091 }
2092 /**
2093  * @brief Get field addr_type from event sm_event_authorization_result
2094  * @param Event packet
2095  * @return addr_type
2096  * @note: btstack_type 1
2097  */
2098 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
2099     return event[4];
2100 }
2101 /**
2102  * @brief Get field address from event sm_event_authorization_result
2103  * @param Event packet
2104  * @param Pointer to storage for address
2105  * @note: btstack_type B
2106  */
2107 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
2108     reverse_bd_addr(&event[5], address);
2109 }
2110 /**
2111  * @brief Get field authorization_result from event sm_event_authorization_result
2112  * @param Event packet
2113  * @return authorization_result
2114  * @note: btstack_type 1
2115  */
2116 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
2117     return event[11];
2118 }
2119 #endif
2120 
2121 /**
2122  * @brief Get field subevent_code from event hsp_subevent_audio_connection_complete
2123  * @param Event packet
2124  * @return subevent_code
2125  * @note: btstack_type 1
2126  */
2127 static inline uint8_t hsp_subevent_audio_connection_complete_get_subevent_code(const uint8_t * event){
2128     return event[2];
2129 }
2130 /**
2131  * @brief Get field status from event hsp_subevent_audio_connection_complete
2132  * @param Event packet
2133  * @return status
2134  * @note: btstack_type 1
2135  */
2136 static inline uint8_t hsp_subevent_audio_connection_complete_get_status(const uint8_t * event){
2137     return event[3];
2138 }
2139 /**
2140  * @brief Get field handle from event hsp_subevent_audio_connection_complete
2141  * @param Event packet
2142  * @return handle
2143  * @note: btstack_type H
2144  */
2145 static inline hci_con_handle_t hsp_subevent_audio_connection_complete_get_handle(const uint8_t * event){
2146     return little_endian_read_16(event, 4);
2147 }
2148 
2149 /**
2150  * @brief Get field subevent_code from event hsp_subevent_audio_disconnection_complete
2151  * @param Event packet
2152  * @return subevent_code
2153  * @note: btstack_type 1
2154  */
2155 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_subevent_code(const uint8_t * event){
2156     return event[2];
2157 }
2158 /**
2159  * @brief Get field status from event hsp_subevent_audio_disconnection_complete
2160  * @param Event packet
2161  * @return status
2162  * @note: btstack_type 1
2163  */
2164 static inline uint8_t hsp_subevent_audio_disconnection_complete_get_status(const uint8_t * event){
2165     return event[3];
2166 }
2167 
2168 /**
2169  * @brief Get field subevent_code from event hsp_subevent_ring
2170  * @param Event packet
2171  * @return subevent_code
2172  * @note: btstack_type 1
2173  */
2174 static inline uint8_t hsp_subevent_ring_get_subevent_code(const uint8_t * event){
2175     return event[2];
2176 }
2177 
2178 /**
2179  * @brief Get field subevent_code from event hsp_subevent_microphone_gain_changed
2180  * @param Event packet
2181  * @return subevent_code
2182  * @note: btstack_type 1
2183  */
2184 static inline uint8_t hsp_subevent_microphone_gain_changed_get_subevent_code(const uint8_t * event){
2185     return event[2];
2186 }
2187 /**
2188  * @brief Get field gain from event hsp_subevent_microphone_gain_changed
2189  * @param Event packet
2190  * @return gain
2191  * @note: btstack_type 1
2192  */
2193 static inline uint8_t hsp_subevent_microphone_gain_changed_get_gain(const uint8_t * event){
2194     return event[3];
2195 }
2196 
2197 /**
2198  * @brief Get field subevent_code from event hsp_subevent_speaker_gain_changed
2199  * @param Event packet
2200  * @return subevent_code
2201  * @note: btstack_type 1
2202  */
2203 static inline uint8_t hsp_subevent_speaker_gain_changed_get_subevent_code(const uint8_t * event){
2204     return event[2];
2205 }
2206 /**
2207  * @brief Get field gain from event hsp_subevent_speaker_gain_changed
2208  * @param Event packet
2209  * @return gain
2210  * @note: btstack_type 1
2211  */
2212 static inline uint8_t hsp_subevent_speaker_gain_changed_get_gain(const uint8_t * event){
2213     return event[3];
2214 }
2215 
2216 /**
2217  * @brief Get field subevent_code from event hsp_subevent_hs_command
2218  * @param Event packet
2219  * @return subevent_code
2220  * @note: btstack_type 1
2221  */
2222 static inline uint8_t hsp_subevent_hs_command_get_subevent_code(const uint8_t * event){
2223     return event[2];
2224 }
2225 /**
2226  * @brief Get field value_length from event hsp_subevent_hs_command
2227  * @param Event packet
2228  * @return value_length
2229  * @note: btstack_type J
2230  */
2231 static inline int hsp_subevent_hs_command_get_value_length(const uint8_t * event){
2232     return event[3];
2233 }
2234 /**
2235  * @brief Get field value from event hsp_subevent_hs_command
2236  * @param Event packet
2237  * @return value
2238  * @note: btstack_type V
2239  */
2240 static inline const uint8_t * hsp_subevent_hs_command_get_value(const uint8_t * event){
2241     return &event[4];
2242 }
2243 
2244 /**
2245  * @brief Get field subevent_code from event hsp_subevent_ag_indication
2246  * @param Event packet
2247  * @return subevent_code
2248  * @note: btstack_type 1
2249  */
2250 static inline uint8_t hsp_subevent_ag_indication_get_subevent_code(const uint8_t * event){
2251     return event[2];
2252 }
2253 /**
2254  * @brief Get field value_length from event hsp_subevent_ag_indication
2255  * @param Event packet
2256  * @return value_length
2257  * @note: btstack_type J
2258  */
2259 static inline int hsp_subevent_ag_indication_get_value_length(const uint8_t * event){
2260     return event[3];
2261 }
2262 /**
2263  * @brief Get field value from event hsp_subevent_ag_indication
2264  * @param Event packet
2265  * @return value
2266  * @note: btstack_type V
2267  */
2268 static inline const uint8_t * hsp_subevent_ag_indication_get_value(const uint8_t * event){
2269     return &event[4];
2270 }
2271 
2272 #ifdef ENABLE_BLE
2273 /**
2274  * @brief Get field subevent_code from event ancs_subevent_client_connected
2275  * @param Event packet
2276  * @return subevent_code
2277  * @note: btstack_type 1
2278  */
2279 static inline uint8_t ancs_subevent_client_connected_get_subevent_code(const uint8_t * event){
2280     return event[2];
2281 }
2282 /**
2283  * @brief Get field handle from event ancs_subevent_client_connected
2284  * @param Event packet
2285  * @return handle
2286  * @note: btstack_type H
2287  */
2288 static inline hci_con_handle_t ancs_subevent_client_connected_get_handle(const uint8_t * event){
2289     return little_endian_read_16(event, 3);
2290 }
2291 #endif
2292 
2293 #ifdef ENABLE_BLE
2294 /**
2295  * @brief Get field subevent_code from event ancs_subevent_client_notification
2296  * @param Event packet
2297  * @return subevent_code
2298  * @note: btstack_type 1
2299  */
2300 static inline uint8_t ancs_subevent_client_notification_get_subevent_code(const uint8_t * event){
2301     return event[2];
2302 }
2303 /**
2304  * @brief Get field handle from event ancs_subevent_client_notification
2305  * @param Event packet
2306  * @return handle
2307  * @note: btstack_type H
2308  */
2309 static inline hci_con_handle_t ancs_subevent_client_notification_get_handle(const uint8_t * event){
2310     return little_endian_read_16(event, 3);
2311 }
2312 /**
2313  * @brief Get field attribute_id from event ancs_subevent_client_notification
2314  * @param Event packet
2315  * @return attribute_id
2316  * @note: btstack_type 2
2317  */
2318 static inline uint16_t ancs_subevent_client_notification_get_attribute_id(const uint8_t * event){
2319     return little_endian_read_16(event, 5);
2320 }
2321 /**
2322  * @brief Get field text from event ancs_subevent_client_notification
2323  * @param Event packet
2324  * @return text
2325  * @note: btstack_type T
2326  */
2327 static inline const char * ancs_subevent_client_notification_get_text(const uint8_t * event){
2328     return (const char *) &event[7];
2329 }
2330 #endif
2331 
2332 #ifdef ENABLE_BLE
2333 /**
2334  * @brief Get field subevent_code from event ancs_subevent_client_disconnected
2335  * @param Event packet
2336  * @return subevent_code
2337  * @note: btstack_type 1
2338  */
2339 static inline uint8_t ancs_subevent_client_disconnected_get_subevent_code(const uint8_t * event){
2340     return event[2];
2341 }
2342 /**
2343  * @brief Get field handle from event ancs_subevent_client_disconnected
2344  * @param Event packet
2345  * @return handle
2346  * @note: btstack_type H
2347  */
2348 static inline hci_con_handle_t ancs_subevent_client_disconnected_get_handle(const uint8_t * event){
2349     return little_endian_read_16(event, 3);
2350 }
2351 #endif
2352 
2353 
2354 
2355 /* API_END */
2356 
2357 #if defined __cplusplus
2358 }
2359 #endif
2360 
2361 #endif // __BTSTACK_EVENT_H
2362