xref: /btstack/src/btstack_event.h (revision 313e337b78f766966118cef35fdae1e076a5cd85)
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_config.h"
55 #include "btstack_util.h"
56 #include <stdint.h>
57 
58 #ifdef ENABLE_BLE
59 #include "ble/gatt_client.h"
60 #endif
61 
62 /* API_START */
63 
64 /**
65  * @brief Get field status from event l2cap_event_channel_opened
66  * @param Event packet
67  * @return status
68  * @note: btstack_type 1
69  */
70 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
71     return event[2];
72 }
73 /**
74  * @brief Get field address from event l2cap_event_channel_opened
75  * @param Event packet
76  * @param Pointer to storage for address
77  * @note: btstack_type B
78  */
79 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
80     reverse_bd_addr(&event[3], address);
81 }
82 /**
83  * @brief Get field handle from event l2cap_event_channel_opened
84  * @param Event packet
85  * @return handle
86  * @note: btstack_type H
87  */
88 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
89     return little_endian_read_16(event, 9);
90 }
91 /**
92  * @brief Get field psm from event l2cap_event_channel_opened
93  * @param Event packet
94  * @return psm
95  * @note: btstack_type 2
96  */
97 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
98     return little_endian_read_16(event, 11);
99 }
100 /**
101  * @brief Get field local_cid from event l2cap_event_channel_opened
102  * @param Event packet
103  * @return local_cid
104  * @note: btstack_type 2
105  */
106 static inline uint16_t l2cap_event_channel_opened_get_local_cid(const uint8_t * event){
107     return little_endian_read_16(event, 13);
108 }
109 /**
110  * @brief Get field remote_cid from event l2cap_event_channel_opened
111  * @param Event packet
112  * @return remote_cid
113  * @note: btstack_type 2
114  */
115 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
116     return little_endian_read_16(event, 15);
117 }
118 /**
119  * @brief Get field local_mtu from event l2cap_event_channel_opened
120  * @param Event packet
121  * @return local_mtu
122  * @note: btstack_type 2
123  */
124 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
125     return little_endian_read_16(event, 17);
126 }
127 /**
128  * @brief Get field remote_mtu from event l2cap_event_channel_opened
129  * @param Event packet
130  * @return remote_mtu
131  * @note: btstack_type 2
132  */
133 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
134     return little_endian_read_16(event, 19);
135 }
136 /**
137  * @brief Get field flush_timeout from event l2cap_event_channel_opened
138  * @param Event packet
139  * @return flush_timeout
140  * @note: btstack_type 2
141  */
142 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
143     return little_endian_read_16(event, 21);
144 }
145 
146 /**
147  * @brief Get field local_cid from event l2cap_event_channel_closed
148  * @param Event packet
149  * @return local_cid
150  * @note: btstack_type 2
151  */
152 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
153     return little_endian_read_16(event, 2);
154 }
155 
156 /**
157  * @brief Get field status from event l2cap_event_incoming_connection
158  * @param Event packet
159  * @return status
160  * @note: btstack_type 1
161  */
162 static inline uint8_t l2cap_event_incoming_connection_get_status(const uint8_t * event){
163     return event[2];
164 }
165 /**
166  * @brief Get field address from event l2cap_event_incoming_connection
167  * @param Event packet
168  * @param Pointer to storage for address
169  * @note: btstack_type B
170  */
171 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
172     reverse_bd_addr(&event[3], address);
173 }
174 /**
175  * @brief Get field handle from event l2cap_event_incoming_connection
176  * @param Event packet
177  * @return handle
178  * @note: btstack_type H
179  */
180 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
181     return little_endian_read_16(event, 9);
182 }
183 /**
184  * @brief Get field psm from event l2cap_event_incoming_connection
185  * @param Event packet
186  * @return psm
187  * @note: btstack_type 2
188  */
189 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
190     return little_endian_read_16(event, 11);
191 }
192 /**
193  * @brief Get field local_cid from event l2cap_event_incoming_connection
194  * @param Event packet
195  * @return local_cid
196  * @note: btstack_type 2
197  */
198 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
199     return little_endian_read_16(event, 13);
200 }
201 /**
202  * @brief Get field remote_cid from event l2cap_event_incoming_connection
203  * @param Event packet
204  * @return remote_cid
205  * @note: btstack_type 2
206  */
207 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
208     return little_endian_read_16(event, 15);
209 }
210 
211 /**
212  * @brief Get field status from event l2cap_event_service_registered
213  * @param Event packet
214  * @return status
215  * @note: btstack_type 1
216  */
217 static inline uint8_t l2cap_event_service_registered_get_status(const uint8_t * event){
218     return event[2];
219 }
220 /**
221  * @brief Get field psm from event l2cap_event_service_registered
222  * @param Event packet
223  * @return psm
224  * @note: btstack_type 2
225  */
226 static inline uint16_t l2cap_event_service_registered_get_psm(const uint8_t * event){
227     return little_endian_read_16(event, 3);
228 }
229 
230 /**
231  * @brief Get field handle from event l2cap_event_connection_parameter_update_request
232  * @param Event packet
233  * @return handle
234  * @note: btstack_type H
235  */
236 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
237     return little_endian_read_16(event, 2);
238 }
239 /**
240  * @brief Get field interval_min from event l2cap_event_connection_parameter_update_request
241  * @param Event packet
242  * @return interval_min
243  * @note: btstack_type 2
244  */
245 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
246     return little_endian_read_16(event, 4);
247 }
248 /**
249  * @brief Get field interval_max from event l2cap_event_connection_parameter_update_request
250  * @param Event packet
251  * @return interval_max
252  * @note: btstack_type 2
253  */
254 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
255     return little_endian_read_16(event, 6);
256 }
257 /**
258  * @brief Get field latencey from event l2cap_event_connection_parameter_update_request
259  * @param Event packet
260  * @return latencey
261  * @note: btstack_type 2
262  */
263 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
264     return little_endian_read_16(event, 8);
265 }
266 /**
267  * @brief Get field timeout_multiplier from event l2cap_event_connection_parameter_update_request
268  * @param Event packet
269  * @return timeout_multiplier
270  * @note: btstack_type 2
271  */
272 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
273     return little_endian_read_16(event, 10);
274 }
275 
276 /**
277  * @brief Get field handle from event l2cap_event_connection_parameter_update_response
278  * @param Event packet
279  * @return handle
280  * @note: btstack_type H
281  */
282 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
283     return little_endian_read_16(event, 2);
284 }
285 
286 /**
287  * @brief Get field local_cid from event l2cap_event_can_send_now
288  * @param Event packet
289  * @return local_cid
290  * @note: btstack_type 2
291  */
292 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
293     return little_endian_read_16(event, 2);
294 }
295 
296 /**
297  * @brief Get field status from event rfcomm_event_open_channel_complete
298  * @param Event packet
299  * @return status
300  * @note: btstack_type 1
301  */
302 static inline uint8_t rfcomm_event_open_channel_complete_get_status(const uint8_t * event){
303     return event[2];
304 }
305 /**
306  * @brief Get field bd_addr from event rfcomm_event_open_channel_complete
307  * @param Event packet
308  * @param Pointer to storage for bd_addr
309  * @note: btstack_type B
310  */
311 static inline void rfcomm_event_open_channel_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
312     reverse_bd_addr(&event[3], bd_addr);
313 }
314 /**
315  * @brief Get field con_handle from event rfcomm_event_open_channel_complete
316  * @param Event packet
317  * @return con_handle
318  * @note: btstack_type 2
319  */
320 static inline uint16_t rfcomm_event_open_channel_complete_get_con_handle(const uint8_t * event){
321     return little_endian_read_16(event, 9);
322 }
323 /**
324  * @brief Get field server_channel from event rfcomm_event_open_channel_complete
325  * @param Event packet
326  * @return server_channel
327  * @note: btstack_type 1
328  */
329 static inline uint8_t rfcomm_event_open_channel_complete_get_server_channel(const uint8_t * event){
330     return event[11];
331 }
332 /**
333  * @brief Get field rfcomm_cid from event rfcomm_event_open_channel_complete
334  * @param Event packet
335  * @return rfcomm_cid
336  * @note: btstack_type 2
337  */
338 static inline uint16_t rfcomm_event_open_channel_complete_get_rfcomm_cid(const uint8_t * event){
339     return little_endian_read_16(event, 12);
340 }
341 /**
342  * @brief Get field max_frame_size from event rfcomm_event_open_channel_complete
343  * @param Event packet
344  * @return max_frame_size
345  * @note: btstack_type 2
346  */
347 static inline uint16_t rfcomm_event_open_channel_complete_get_max_frame_size(const uint8_t * event){
348     return little_endian_read_16(event, 14);
349 }
350 
351 /**
352  * @brief Get field rfcomm_cid from event rfcomm_event_channel_closed
353  * @param Event packet
354  * @return rfcomm_cid
355  * @note: btstack_type 2
356  */
357 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
358     return little_endian_read_16(event, 2);
359 }
360 
361 /**
362  * @brief Get field bd_addr from event rfcomm_event_incoming_connection
363  * @param Event packet
364  * @param Pointer to storage for bd_addr
365  * @note: btstack_type B
366  */
367 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
368     reverse_bd_addr(&event[2], bd_addr);
369 }
370 /**
371  * @brief Get field server_channel from event rfcomm_event_incoming_connection
372  * @param Event packet
373  * @return server_channel
374  * @note: btstack_type 1
375  */
376 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
377     return event[8];
378 }
379 /**
380  * @brief Get field rfcomm_cid from event rfcomm_event_incoming_connection
381  * @param Event packet
382  * @return rfcomm_cid
383  * @note: btstack_type 2
384  */
385 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
386     return little_endian_read_16(event, 9);
387 }
388 
389 /**
390  * @brief Get field rfcomm_cid from event rfcomm_event_remote_line_status
391  * @param Event packet
392  * @return rfcomm_cid
393  * @note: btstack_type 2
394  */
395 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
396     return little_endian_read_16(event, 2);
397 }
398 /**
399  * @brief Get field line_status from event rfcomm_event_remote_line_status
400  * @param Event packet
401  * @return line_status
402  * @note: btstack_type 1
403  */
404 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
405     return event[4];
406 }
407 
408 /**
409  * @brief Get field rfcomm_cid from event rfcomm_event_credits
410  * @param Event packet
411  * @return rfcomm_cid
412  * @note: btstack_type 2
413  */
414 static inline uint16_t rfcomm_event_credits_get_rfcomm_cid(const uint8_t * event){
415     return little_endian_read_16(event, 2);
416 }
417 /**
418  * @brief Get field credits from event rfcomm_event_credits
419  * @param Event packet
420  * @return credits
421  * @note: btstack_type 1
422  */
423 static inline uint8_t rfcomm_event_credits_get_credits(const uint8_t * event){
424     return event[4];
425 }
426 
427 /**
428  * @brief Get field status from event rfcomm_event_service_registered
429  * @param Event packet
430  * @return status
431  * @note: btstack_type 1
432  */
433 static inline uint8_t rfcomm_event_service_registered_get_status(const uint8_t * event){
434     return event[2];
435 }
436 /**
437  * @brief Get field channel_id from event rfcomm_event_service_registered
438  * @param Event packet
439  * @return channel_id
440  * @note: btstack_type 1
441  */
442 static inline uint8_t rfcomm_event_service_registered_get_channel_id(const uint8_t * event){
443     return event[3];
444 }
445 
446 /**
447  * @brief Get field status from event rfcomm_event_persistent_channel
448  * @param Event packet
449  * @return status
450  * @note: btstack_type 1
451  */
452 static inline uint8_t rfcomm_event_persistent_channel_get_status(const uint8_t * event){
453     return event[2];
454 }
455 /**
456  * @brief Get field server_channel_id from event rfcomm_event_persistent_channel
457  * @param Event packet
458  * @return server_channel_id
459  * @note: btstack_type 1
460  */
461 static inline uint8_t rfcomm_event_persistent_channel_get_server_channel_id(const uint8_t * event){
462     return event[3];
463 }
464 
465 /**
466  * @brief Get field rfcomm_cid from event rfcomm_event_remote_modem_status
467  * @param Event packet
468  * @return rfcomm_cid
469  * @note: btstack_type 2
470  */
471 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
472     return little_endian_read_16(event, 2);
473 }
474 /**
475  * @brief Get field modem_status from event rfcomm_event_remote_modem_status
476  * @param Event packet
477  * @return modem_status
478  * @note: btstack_type 1
479  */
480 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
481     return event[4];
482 }
483 
484 /**
485  * @brief Get field local_cid from event rfcomm_event_can_send_now
486  * @param Event packet
487  * @return local_cid
488  * @note: btstack_type 2
489  */
490 static inline uint16_t rfcomm_event_can_send_now_get_local_cid(const uint8_t * event){
491     return little_endian_read_16(event, 2);
492 }
493 
494 /**
495  * @brief Get field status from event sdp_event_service_registered
496  * @param Event packet
497  * @return status
498  * @note: btstack_type 1
499  */
500 static inline uint8_t sdp_event_service_registered_get_status(const uint8_t * event){
501     return event[2];
502 }
503 /**
504  * @brief Get field service_record_handle from event sdp_event_service_registered
505  * @param Event packet
506  * @return service_record_handle
507  * @note: btstack_type 4
508  */
509 static inline uint32_t sdp_event_service_registered_get_service_record_handle(const uint8_t * event){
510     return little_endian_read_32(event, 3);
511 }
512 
513 /**
514  * @brief Get field status from event sdp_event_query_complete
515  * @param Event packet
516  * @return status
517  * @note: btstack_type 1
518  */
519 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
520     return event[2];
521 }
522 
523 /**
524  * @brief Get field rfcomm_channel from event sdp_event_query_rfcomm_service
525  * @param Event packet
526  * @return rfcomm_channel
527  * @note: btstack_type 1
528  */
529 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
530     return event[2];
531 }
532 /**
533  * @brief Get field name from event sdp_event_query_rfcomm_service
534  * @param Event packet
535  * @return name
536  * @note: btstack_type T
537  */
538 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
539     return (const char *) &event[3];
540 }
541 
542 /**
543  * @brief Get field record_id from event sdp_event_query_attribute_byte
544  * @param Event packet
545  * @return record_id
546  * @note: btstack_type 2
547  */
548 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
549     return little_endian_read_16(event, 2);
550 }
551 /**
552  * @brief Get field attribute_id from event sdp_event_query_attribute_byte
553  * @param Event packet
554  * @return attribute_id
555  * @note: btstack_type 2
556  */
557 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
558     return little_endian_read_16(event, 4);
559 }
560 /**
561  * @brief Get field attribute_length from event sdp_event_query_attribute_byte
562  * @param Event packet
563  * @return attribute_length
564  * @note: btstack_type 2
565  */
566 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
567     return little_endian_read_16(event, 6);
568 }
569 /**
570  * @brief Get field data_offset from event sdp_event_query_attribute_byte
571  * @param Event packet
572  * @return data_offset
573  * @note: btstack_type 2
574  */
575 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
576     return little_endian_read_16(event, 8);
577 }
578 /**
579  * @brief Get field data from event sdp_event_query_attribute_byte
580  * @param Event packet
581  * @return data
582  * @note: btstack_type 1
583  */
584 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
585     return event[10];
586 }
587 
588 /**
589  * @brief Get field record_id from event sdp_event_query_attribute_value
590  * @param Event packet
591  * @return record_id
592  * @note: btstack_type 2
593  */
594 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
595     return little_endian_read_16(event, 2);
596 }
597 /**
598  * @brief Get field attribute_id from event sdp_event_query_attribute_value
599  * @param Event packet
600  * @return attribute_id
601  * @note: btstack_type 2
602  */
603 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
604     return little_endian_read_16(event, 4);
605 }
606 /**
607  * @brief Get field attribute_length from event sdp_event_query_attribute_value
608  * @param Event packet
609  * @return attribute_length
610  * @note: btstack_type L
611  */
612 static inline int sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
613     return little_endian_read_16(event, 6);
614 }
615 /**
616  * @brief Get field attribute_value from event sdp_event_query_attribute_value
617  * @param Event packet
618  * @return attribute_value
619  * @note: btstack_type V
620  */
621 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
622     return &event[8];
623 }
624 
625 /**
626  * @brief Get field total_count from event sdp_event_query_service_record_handle
627  * @param Event packet
628  * @return total_count
629  * @note: btstack_type 2
630  */
631 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
632     return little_endian_read_16(event, 2);
633 }
634 /**
635  * @brief Get field record_index from event sdp_event_query_service_record_handle
636  * @param Event packet
637  * @return record_index
638  * @note: btstack_type 2
639  */
640 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
641     return little_endian_read_16(event, 4);
642 }
643 /**
644  * @brief Get field record_handle from event sdp_event_query_service_record_handle
645  * @param Event packet
646  * @return record_handle
647  * @note: btstack_type 4
648  */
649 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
650     return little_endian_read_32(event, 6);
651 }
652 
653 #ifdef ENABLE_BLE
654 /**
655  * @brief Get field handle from event gatt_event_query_complete
656  * @param Event packet
657  * @return handle
658  * @note: btstack_type H
659  */
660 static inline hci_con_handle_t gatt_event_query_complete_get_handle(const uint8_t * event){
661     return little_endian_read_16(event, 2);
662 }
663 /**
664  * @brief Get field status from event gatt_event_query_complete
665  * @param Event packet
666  * @return status
667  * @note: btstack_type 1
668  */
669 static inline uint8_t gatt_event_query_complete_get_status(const uint8_t * event){
670     return event[4];
671 }
672 #endif
673 
674 #ifdef ENABLE_BLE
675 /**
676  * @brief Get field handle from event gatt_event_service_query_result
677  * @param Event packet
678  * @return handle
679  * @note: btstack_type H
680  */
681 static inline hci_con_handle_t gatt_event_service_query_result_get_handle(const uint8_t * event){
682     return little_endian_read_16(event, 2);
683 }
684 /**
685  * @brief Get field service from event gatt_event_service_query_result
686  * @param Event packet
687  * @param Pointer to storage for service
688  * @note: btstack_type X
689  */
690 static inline void gatt_event_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
691     gatt_client_deserialize_service(event, 4, service);
692 }
693 #endif
694 
695 #ifdef ENABLE_BLE
696 /**
697  * @brief Get field handle from event gatt_event_characteristic_query_result
698  * @param Event packet
699  * @return handle
700  * @note: btstack_type H
701  */
702 static inline hci_con_handle_t gatt_event_characteristic_query_result_get_handle(const uint8_t * event){
703     return little_endian_read_16(event, 2);
704 }
705 /**
706  * @brief Get field characteristic from event gatt_event_characteristic_query_result
707  * @param Event packet
708  * @param Pointer to storage for characteristic
709  * @note: btstack_type Y
710  */
711 static inline void gatt_event_characteristic_query_result_get_characteristic(const uint8_t * event, gatt_client_characteristic_t * characteristic){
712     gatt_client_deserialize_characteristic(event, 4, characteristic);
713 }
714 #endif
715 
716 #ifdef ENABLE_BLE
717 /**
718  * @brief Get field handle from event gatt_event_included_service_query_result
719  * @param Event packet
720  * @return handle
721  * @note: btstack_type H
722  */
723 static inline hci_con_handle_t gatt_event_included_service_query_result_get_handle(const uint8_t * event){
724     return little_endian_read_16(event, 2);
725 }
726 /**
727  * @brief Get field include_handle from event gatt_event_included_service_query_result
728  * @param Event packet
729  * @return include_handle
730  * @note: btstack_type 2
731  */
732 static inline uint16_t gatt_event_included_service_query_result_get_include_handle(const uint8_t * event){
733     return little_endian_read_16(event, 4);
734 }
735 /**
736  * @brief Get field service from event gatt_event_included_service_query_result
737  * @param Event packet
738  * @param Pointer to storage for service
739  * @note: btstack_type X
740  */
741 static inline void gatt_event_included_service_query_result_get_service(const uint8_t * event, gatt_client_service_t * service){
742     gatt_client_deserialize_service(event, 6, service);
743 }
744 #endif
745 
746 #ifdef ENABLE_BLE
747 /**
748  * @brief Get field handle from event gatt_event_all_characteristic_descriptors_query_result
749  * @param Event packet
750  * @return handle
751  * @note: btstack_type H
752  */
753 static inline hci_con_handle_t gatt_event_all_characteristic_descriptors_query_result_get_handle(const uint8_t * event){
754     return little_endian_read_16(event, 2);
755 }
756 /**
757  * @brief Get field characteristic_descriptor from event gatt_event_all_characteristic_descriptors_query_result
758  * @param Event packet
759  * @param Pointer to storage for characteristic_descriptor
760  * @note: btstack_type Z
761  */
762 static inline void gatt_event_all_characteristic_descriptors_query_result_get_characteristic_descriptor(const uint8_t * event, gatt_client_characteristic_descriptor_t * characteristic_descriptor){
763     gatt_client_deserialize_characteristic_descriptor(event, 4, characteristic_descriptor);
764 }
765 #endif
766 
767 #ifdef ENABLE_BLE
768 /**
769  * @brief Get field handle from event gatt_event_characteristic_value_query_result
770  * @param Event packet
771  * @return handle
772  * @note: btstack_type H
773  */
774 static inline hci_con_handle_t gatt_event_characteristic_value_query_result_get_handle(const uint8_t * event){
775     return little_endian_read_16(event, 2);
776 }
777 /**
778  * @brief Get field value_handle from event gatt_event_characteristic_value_query_result
779  * @param Event packet
780  * @return value_handle
781  * @note: btstack_type 2
782  */
783 static inline uint16_t gatt_event_characteristic_value_query_result_get_value_handle(const uint8_t * event){
784     return little_endian_read_16(event, 4);
785 }
786 /**
787  * @brief Get field value_length from event gatt_event_characteristic_value_query_result
788  * @param Event packet
789  * @return value_length
790  * @note: btstack_type L
791  */
792 static inline int gatt_event_characteristic_value_query_result_get_value_length(const uint8_t * event){
793     return little_endian_read_16(event, 6);
794 }
795 /**
796  * @brief Get field value from event gatt_event_characteristic_value_query_result
797  * @param Event packet
798  * @return value
799  * @note: btstack_type V
800  */
801 static inline const uint8_t * gatt_event_characteristic_value_query_result_get_value(const uint8_t * event){
802     return &event[8];
803 }
804 #endif
805 
806 #ifdef ENABLE_BLE
807 /**
808  * @brief Get field handle from event gatt_event_long_characteristic_value_query_result
809  * @param Event packet
810  * @return handle
811  * @note: btstack_type H
812  */
813 static inline hci_con_handle_t gatt_event_long_characteristic_value_query_result_get_handle(const uint8_t * event){
814     return little_endian_read_16(event, 2);
815 }
816 /**
817  * @brief Get field value_handle from event gatt_event_long_characteristic_value_query_result
818  * @param Event packet
819  * @return value_handle
820  * @note: btstack_type 2
821  */
822 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_handle(const uint8_t * event){
823     return little_endian_read_16(event, 4);
824 }
825 /**
826  * @brief Get field value_offset from event gatt_event_long_characteristic_value_query_result
827  * @param Event packet
828  * @return value_offset
829  * @note: btstack_type 2
830  */
831 static inline uint16_t gatt_event_long_characteristic_value_query_result_get_value_offset(const uint8_t * event){
832     return little_endian_read_16(event, 6);
833 }
834 /**
835  * @brief Get field value_length from event gatt_event_long_characteristic_value_query_result
836  * @param Event packet
837  * @return value_length
838  * @note: btstack_type L
839  */
840 static inline int gatt_event_long_characteristic_value_query_result_get_value_length(const uint8_t * event){
841     return little_endian_read_16(event, 8);
842 }
843 /**
844  * @brief Get field value from event gatt_event_long_characteristic_value_query_result
845  * @param Event packet
846  * @return value
847  * @note: btstack_type V
848  */
849 static inline const uint8_t * gatt_event_long_characteristic_value_query_result_get_value(const uint8_t * event){
850     return &event[10];
851 }
852 #endif
853 
854 #ifdef ENABLE_BLE
855 /**
856  * @brief Get field handle from event gatt_event_notification
857  * @param Event packet
858  * @return handle
859  * @note: btstack_type H
860  */
861 static inline hci_con_handle_t gatt_event_notification_get_handle(const uint8_t * event){
862     return little_endian_read_16(event, 2);
863 }
864 /**
865  * @brief Get field value_handle from event gatt_event_notification
866  * @param Event packet
867  * @return value_handle
868  * @note: btstack_type 2
869  */
870 static inline uint16_t gatt_event_notification_get_value_handle(const uint8_t * event){
871     return little_endian_read_16(event, 4);
872 }
873 /**
874  * @brief Get field value_length from event gatt_event_notification
875  * @param Event packet
876  * @return value_length
877  * @note: btstack_type L
878  */
879 static inline int gatt_event_notification_get_value_length(const uint8_t * event){
880     return little_endian_read_16(event, 6);
881 }
882 /**
883  * @brief Get field value from event gatt_event_notification
884  * @param Event packet
885  * @return value
886  * @note: btstack_type V
887  */
888 static inline const uint8_t * gatt_event_notification_get_value(const uint8_t * event){
889     return &event[8];
890 }
891 #endif
892 
893 #ifdef ENABLE_BLE
894 /**
895  * @brief Get field handle from event gatt_event_indication
896  * @param Event packet
897  * @return handle
898  * @note: btstack_type H
899  */
900 static inline hci_con_handle_t gatt_event_indication_get_handle(const uint8_t * event){
901     return little_endian_read_16(event, 2);
902 }
903 /**
904  * @brief Get field value_handle from event gatt_event_indication
905  * @param Event packet
906  * @return value_handle
907  * @note: btstack_type 2
908  */
909 static inline uint16_t gatt_event_indication_get_value_handle(const uint8_t * event){
910     return little_endian_read_16(event, 4);
911 }
912 /**
913  * @brief Get field value_length from event gatt_event_indication
914  * @param Event packet
915  * @return value_length
916  * @note: btstack_type L
917  */
918 static inline int gatt_event_indication_get_value_length(const uint8_t * event){
919     return little_endian_read_16(event, 6);
920 }
921 /**
922  * @brief Get field value from event gatt_event_indication
923  * @param Event packet
924  * @return value
925  * @note: btstack_type V
926  */
927 static inline const uint8_t * gatt_event_indication_get_value(const uint8_t * event){
928     return &event[8];
929 }
930 #endif
931 
932 #ifdef ENABLE_BLE
933 /**
934  * @brief Get field descriptor_handle from event gatt_event_characteristic_descriptor_query_result
935  * @param Event packet
936  * @return descriptor_handle
937  * @note: btstack_type H
938  */
939 static inline hci_con_handle_t gatt_event_characteristic_descriptor_query_result_get_descriptor_handle(const uint8_t * event){
940     return little_endian_read_16(event, 2);
941 }
942 /**
943  * @brief Get field descriptor_length from event gatt_event_characteristic_descriptor_query_result
944  * @param Event packet
945  * @return descriptor_length
946  * @note: btstack_type 2
947  */
948 static inline uint16_t gatt_event_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
949     return little_endian_read_16(event, 4);
950 }
951 /**
952  * @brief Get field descriptor from event gatt_event_characteristic_descriptor_query_result
953  * @param Event packet
954  * @return descriptor
955  * @note: btstack_type L
956  */
957 static inline int gatt_event_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
958     return little_endian_read_16(event, 6);
959 }
960 #endif
961 
962 #ifdef ENABLE_BLE
963 /**
964  * @brief Get field handle from event gatt_event_long_characteristic_descriptor_query_result
965  * @param Event packet
966  * @return handle
967  * @note: btstack_type H
968  */
969 static inline hci_con_handle_t gatt_event_long_characteristic_descriptor_query_result_get_handle(const uint8_t * event){
970     return little_endian_read_16(event, 2);
971 }
972 /**
973  * @brief Get field descriptor_offset from event gatt_event_long_characteristic_descriptor_query_result
974  * @param Event packet
975  * @return descriptor_offset
976  * @note: btstack_type 2
977  */
978 static inline uint16_t gatt_event_long_characteristic_descriptor_query_result_get_descriptor_offset(const uint8_t * event){
979     return little_endian_read_16(event, 4);
980 }
981 /**
982  * @brief Get field descriptor_length from event gatt_event_long_characteristic_descriptor_query_result
983  * @param Event packet
984  * @return descriptor_length
985  * @note: btstack_type L
986  */
987 static inline int gatt_event_long_characteristic_descriptor_query_result_get_descriptor_length(const uint8_t * event){
988     return little_endian_read_16(event, 6);
989 }
990 /**
991  * @brief Get field descriptor from event gatt_event_long_characteristic_descriptor_query_result
992  * @param Event packet
993  * @return descriptor
994  * @note: btstack_type V
995  */
996 static inline const uint8_t * gatt_event_long_characteristic_descriptor_query_result_get_descriptor(const uint8_t * event){
997     return &event[8];
998 }
999 #endif
1000 
1001 #ifdef ENABLE_BLE
1002 /**
1003  * @brief Get field handle from event gatt_event_mtu
1004  * @param Event packet
1005  * @return handle
1006  * @note: btstack_type H
1007  */
1008 static inline hci_con_handle_t gatt_event_mtu_get_handle(const uint8_t * event){
1009     return little_endian_read_16(event, 2);
1010 }
1011 /**
1012  * @brief Get field MTU from event gatt_event_mtu
1013  * @param Event packet
1014  * @return MTU
1015  * @note: btstack_type 2
1016  */
1017 static inline uint16_t gatt_event_mtu_get_MTU(const uint8_t * event){
1018     return little_endian_read_16(event, 4);
1019 }
1020 #endif
1021 
1022 #ifdef ENABLE_BLE
1023 /**
1024  * @brief Get field handle from event sm_event_just_works_request
1025  * @param Event packet
1026  * @return handle
1027  * @note: btstack_type H
1028  */
1029 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
1030     return little_endian_read_16(event, 2);
1031 }
1032 /**
1033  * @brief Get field addr_type from event sm_event_just_works_request
1034  * @param Event packet
1035  * @return addr_type
1036  * @note: btstack_type 1
1037  */
1038 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
1039     return event[4];
1040 }
1041 /**
1042  * @brief Get field address from event sm_event_just_works_request
1043  * @param Event packet
1044  * @param Pointer to storage for address
1045  * @note: btstack_type B
1046  */
1047 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
1048     reverse_bd_addr(&event[5], address);
1049 }
1050 #endif
1051 
1052 #ifdef ENABLE_BLE
1053 /**
1054  * @brief Get field handle from event sm_event_just_works_cancel
1055  * @param Event packet
1056  * @return handle
1057  * @note: btstack_type H
1058  */
1059 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
1060     return little_endian_read_16(event, 2);
1061 }
1062 /**
1063  * @brief Get field addr_type from event sm_event_just_works_cancel
1064  * @param Event packet
1065  * @return addr_type
1066  * @note: btstack_type 1
1067  */
1068 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
1069     return event[4];
1070 }
1071 /**
1072  * @brief Get field address from event sm_event_just_works_cancel
1073  * @param Event packet
1074  * @param Pointer to storage for address
1075  * @note: btstack_type B
1076  */
1077 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
1078     reverse_bd_addr(&event[5], address);
1079 }
1080 #endif
1081 
1082 #ifdef ENABLE_BLE
1083 /**
1084  * @brief Get field handle from event sm_event_passkey_display_number
1085  * @param Event packet
1086  * @return handle
1087  * @note: btstack_type H
1088  */
1089 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){
1090     return little_endian_read_16(event, 2);
1091 }
1092 /**
1093  * @brief Get field addr_type from event sm_event_passkey_display_number
1094  * @param Event packet
1095  * @return addr_type
1096  * @note: btstack_type 1
1097  */
1098 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
1099     return event[4];
1100 }
1101 /**
1102  * @brief Get field address from event sm_event_passkey_display_number
1103  * @param Event packet
1104  * @param Pointer to storage for address
1105  * @note: btstack_type B
1106  */
1107 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
1108     reverse_bd_addr(&event[5], address);
1109 }
1110 /**
1111  * @brief Get field passkey from event sm_event_passkey_display_number
1112  * @param Event packet
1113  * @return passkey
1114  * @note: btstack_type 4
1115  */
1116 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
1117     return little_endian_read_32(event, 11);
1118 }
1119 #endif
1120 
1121 #ifdef ENABLE_BLE
1122 /**
1123  * @brief Get field handle from event sm_event_passkey_display_cancel
1124  * @param Event packet
1125  * @return handle
1126  * @note: btstack_type H
1127  */
1128 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
1129     return little_endian_read_16(event, 2);
1130 }
1131 /**
1132  * @brief Get field addr_type from event sm_event_passkey_display_cancel
1133  * @param Event packet
1134  * @return addr_type
1135  * @note: btstack_type 1
1136  */
1137 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
1138     return event[4];
1139 }
1140 /**
1141  * @brief Get field address from event sm_event_passkey_display_cancel
1142  * @param Event packet
1143  * @param Pointer to storage for address
1144  * @note: btstack_type B
1145  */
1146 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
1147     reverse_bd_addr(&event[5], address);
1148 }
1149 #endif
1150 
1151 #ifdef ENABLE_BLE
1152 /**
1153  * @brief Get field handle from event sm_event_passkey_input_number
1154  * @param Event packet
1155  * @return handle
1156  * @note: btstack_type H
1157  */
1158 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
1159     return little_endian_read_16(event, 2);
1160 }
1161 /**
1162  * @brief Get field addr_type from event sm_event_passkey_input_number
1163  * @param Event packet
1164  * @return addr_type
1165  * @note: btstack_type 1
1166  */
1167 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
1168     return event[4];
1169 }
1170 /**
1171  * @brief Get field address from event sm_event_passkey_input_number
1172  * @param Event packet
1173  * @param Pointer to storage for address
1174  * @note: btstack_type B
1175  */
1176 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
1177     reverse_bd_addr(&event[5], address);
1178 }
1179 #endif
1180 
1181 #ifdef ENABLE_BLE
1182 /**
1183  * @brief Get field handle from event sm_event_passkey_input_cancel
1184  * @param Event packet
1185  * @return handle
1186  * @note: btstack_type H
1187  */
1188 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
1189     return little_endian_read_16(event, 2);
1190 }
1191 /**
1192  * @brief Get field addr_type from event sm_event_passkey_input_cancel
1193  * @param Event packet
1194  * @return addr_type
1195  * @note: btstack_type 1
1196  */
1197 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
1198     return event[4];
1199 }
1200 /**
1201  * @brief Get field address from event sm_event_passkey_input_cancel
1202  * @param Event packet
1203  * @param Pointer to storage for address
1204  * @note: btstack_type B
1205  */
1206 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
1207     reverse_bd_addr(&event[5], address);
1208 }
1209 #endif
1210 
1211 #ifdef ENABLE_BLE
1212 /**
1213  * @brief Get field handle from event sm_event_identity_resolving_started
1214  * @param Event packet
1215  * @return handle
1216  * @note: btstack_type H
1217  */
1218 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
1219     return little_endian_read_16(event, 2);
1220 }
1221 /**
1222  * @brief Get field addr_type from event sm_event_identity_resolving_started
1223  * @param Event packet
1224  * @return addr_type
1225  * @note: btstack_type 1
1226  */
1227 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
1228     return event[4];
1229 }
1230 /**
1231  * @brief Get field address from event sm_event_identity_resolving_started
1232  * @param Event packet
1233  * @param Pointer to storage for address
1234  * @note: btstack_type B
1235  */
1236 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
1237     reverse_bd_addr(&event[5], address);
1238 }
1239 #endif
1240 
1241 #ifdef ENABLE_BLE
1242 /**
1243  * @brief Get field handle from event sm_event_identity_resolving_failed
1244  * @param Event packet
1245  * @return handle
1246  * @note: btstack_type H
1247  */
1248 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
1249     return little_endian_read_16(event, 2);
1250 }
1251 /**
1252  * @brief Get field addr_type from event sm_event_identity_resolving_failed
1253  * @param Event packet
1254  * @return addr_type
1255  * @note: btstack_type 1
1256  */
1257 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
1258     return event[4];
1259 }
1260 /**
1261  * @brief Get field address from event sm_event_identity_resolving_failed
1262  * @param Event packet
1263  * @param Pointer to storage for address
1264  * @note: btstack_type B
1265  */
1266 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
1267     reverse_bd_addr(&event[5], address);
1268 }
1269 #endif
1270 
1271 #ifdef ENABLE_BLE
1272 /**
1273  * @brief Get field handle from event sm_event_identity_resolving_succeeded
1274  * @param Event packet
1275  * @return handle
1276  * @note: btstack_type H
1277  */
1278 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
1279     return little_endian_read_16(event, 2);
1280 }
1281 /**
1282  * @brief Get field addr_type from event sm_event_identity_resolving_succeeded
1283  * @param Event packet
1284  * @return addr_type
1285  * @note: btstack_type 1
1286  */
1287 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
1288     return event[4];
1289 }
1290 /**
1291  * @brief Get field address from event sm_event_identity_resolving_succeeded
1292  * @param Event packet
1293  * @param Pointer to storage for address
1294  * @note: btstack_type B
1295  */
1296 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
1297     reverse_bd_addr(&event[5], address);
1298 }
1299 /**
1300  * @brief Get field le_device_db_index from event sm_event_identity_resolving_succeeded
1301  * @param Event packet
1302  * @return le_device_db_index
1303  * @note: btstack_type 2
1304  */
1305 static inline uint16_t sm_event_identity_resolving_succeeded_get_le_device_db_index(const uint8_t * event){
1306     return little_endian_read_16(event, 11);
1307 }
1308 #endif
1309 
1310 #ifdef ENABLE_BLE
1311 /**
1312  * @brief Get field handle from event sm_event_authorization_request
1313  * @param Event packet
1314  * @return handle
1315  * @note: btstack_type H
1316  */
1317 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
1318     return little_endian_read_16(event, 2);
1319 }
1320 /**
1321  * @brief Get field addr_type from event sm_event_authorization_request
1322  * @param Event packet
1323  * @return addr_type
1324  * @note: btstack_type 1
1325  */
1326 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
1327     return event[4];
1328 }
1329 /**
1330  * @brief Get field address from event sm_event_authorization_request
1331  * @param Event packet
1332  * @param Pointer to storage for address
1333  * @note: btstack_type B
1334  */
1335 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
1336     reverse_bd_addr(&event[5], address);
1337 }
1338 #endif
1339 
1340 #ifdef ENABLE_BLE
1341 /**
1342  * @brief Get field handle from event sm_event_authorization_result
1343  * @param Event packet
1344  * @return handle
1345  * @note: btstack_type H
1346  */
1347 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
1348     return little_endian_read_16(event, 2);
1349 }
1350 /**
1351  * @brief Get field addr_type from event sm_event_authorization_result
1352  * @param Event packet
1353  * @return addr_type
1354  * @note: btstack_type 1
1355  */
1356 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
1357     return event[4];
1358 }
1359 /**
1360  * @brief Get field address from event sm_event_authorization_result
1361  * @param Event packet
1362  * @param Pointer to storage for address
1363  * @note: btstack_type B
1364  */
1365 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
1366     reverse_bd_addr(&event[5], address);
1367 }
1368 /**
1369  * @brief Get field authorization_result from event sm_event_authorization_result
1370  * @param Event packet
1371  * @return authorization_result
1372  * @note: btstack_type 1
1373  */
1374 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
1375     return event[11];
1376 }
1377 #endif
1378 
1379 #ifdef ENABLE_BLE
1380 /**
1381  * @brief Get field handle from event ancs_event_client_connected
1382  * @param Event packet
1383  * @return handle
1384  * @note: btstack_type H
1385  */
1386 static inline hci_con_handle_t ancs_event_client_connected_get_handle(const uint8_t * event){
1387     return little_endian_read_16(event, 2);
1388 }
1389 #endif
1390 
1391 #ifdef ENABLE_BLE
1392 /**
1393  * @brief Get field handle from event ancs_event_client_notification
1394  * @param Event packet
1395  * @return handle
1396  * @note: btstack_type H
1397  */
1398 static inline hci_con_handle_t ancs_event_client_notification_get_handle(const uint8_t * event){
1399     return little_endian_read_16(event, 2);
1400 }
1401 /**
1402  * @brief Get field attribute_id from event ancs_event_client_notification
1403  * @param Event packet
1404  * @return attribute_id
1405  * @note: btstack_type 2
1406  */
1407 static inline uint16_t ancs_event_client_notification_get_attribute_id(const uint8_t * event){
1408     return little_endian_read_16(event, 4);
1409 }
1410 /**
1411  * @brief Get field text from event ancs_event_client_notification
1412  * @param Event packet
1413  * @return text
1414  * @note: btstack_type T
1415  */
1416 static inline const char * ancs_event_client_notification_get_text(const uint8_t * event){
1417     return (const char *) &event[6];
1418 }
1419 #endif
1420 
1421 #ifdef ENABLE_BLE
1422 /**
1423  * @brief Get field handle from event ancs_event_client_disconnected
1424  * @param Event packet
1425  * @return handle
1426  * @note: btstack_type H
1427  */
1428 static inline hci_con_handle_t ancs_event_client_disconnected_get_handle(const uint8_t * event){
1429     return little_endian_read_16(event, 2);
1430 }
1431 #endif
1432 
1433 
1434 
1435 /* API_END */
1436 
1437 #if defined __cplusplus
1438 }
1439 #endif
1440 
1441 #endif // __BTSTACK_EVENT_H
1442