xref: /btstack/src/btstack_event.h (revision 6c927b22a98b3f4b0e3ed7d77829cb530efde76d)
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 /* API_START */
58 
59 
60 /**
61  * @brief Get field status from event l2cap_event_channel_opened
62  * @param Event packet
63  * @return status
64  * @note: btstack_type 1
65  */
66 static inline uint8_t l2cap_event_channel_opened_get_status(const uint8_t * event){
67     return event[2];
68 }
69 
70 /**
71  * @brief Get field address from event l2cap_event_channel_opened
72  * @param Event packet
73  * @param Pointer to storage for address
74  * @note: btstack_type B
75  */
76 static inline void l2cap_event_channel_opened_get_address(const uint8_t * event, bd_addr_t address){
77     reverse_48(&event[3], address);
78 }
79 
80 /**
81  * @brief Get field handle from event l2cap_event_channel_opened
82  * @param Event packet
83  * @return handle
84  * @note: btstack_type H
85  */
86 static inline hci_con_handle_t l2cap_event_channel_opened_get_handle(const uint8_t * event){
87     return little_endian_read_16(event, 9);
88 }
89 
90 /**
91  * @brief Get field psm from event l2cap_event_channel_opened
92  * @param Event packet
93  * @return psm
94  * @note: btstack_type 2
95  */
96 static inline uint16_t l2cap_event_channel_opened_get_psm(const uint8_t * event){
97     return little_endian_read_16(event, 11);
98 }
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 /**
111  * @brief Get field remote_cid from event l2cap_event_channel_opened
112  * @param Event packet
113  * @return remote_cid
114  * @note: btstack_type 2
115  */
116 static inline uint16_t l2cap_event_channel_opened_get_remote_cid(const uint8_t * event){
117     return little_endian_read_16(event, 15);
118 }
119 
120 /**
121  * @brief Get field local_mtu from event l2cap_event_channel_opened
122  * @param Event packet
123  * @return local_mtu
124  * @note: btstack_type 2
125  */
126 static inline uint16_t l2cap_event_channel_opened_get_local_mtu(const uint8_t * event){
127     return little_endian_read_16(event, 17);
128 }
129 
130 /**
131  * @brief Get field remote_mtu from event l2cap_event_channel_opened
132  * @param Event packet
133  * @return remote_mtu
134  * @note: btstack_type 2
135  */
136 static inline uint16_t l2cap_event_channel_opened_get_remote_mtu(const uint8_t * event){
137     return little_endian_read_16(event, 19);
138 }
139 
140 /**
141  * @brief Get field flush_timeout from event l2cap_event_channel_opened
142  * @param Event packet
143  * @return flush_timeout
144  * @note: btstack_type 2
145  */
146 static inline uint16_t l2cap_event_channel_opened_get_flush_timeout(const uint8_t * event){
147     return little_endian_read_16(event, 21);
148 }
149 
150 /**
151  * @brief Get field local_cid from event l2cap_event_channel_closed
152  * @param Event packet
153  * @return local_cid
154  * @note: btstack_type 2
155  */
156 static inline uint16_t l2cap_event_channel_closed_get_local_cid(const uint8_t * event){
157     return little_endian_read_16(event, 2);
158 }
159 
160 /**
161  * @brief Get field status from event l2cap_event_incoming_connection
162  * @param Event packet
163  * @return status
164  * @note: btstack_type 1
165  */
166 static inline uint8_t l2cap_event_incoming_connection_get_status(const uint8_t * event){
167     return event[2];
168 }
169 
170 /**
171  * @brief Get field address from event l2cap_event_incoming_connection
172  * @param Event packet
173  * @param Pointer to storage for address
174  * @note: btstack_type B
175  */
176 static inline void l2cap_event_incoming_connection_get_address(const uint8_t * event, bd_addr_t address){
177     reverse_48(&event[3], address);
178 }
179 
180 /**
181  * @brief Get field handle from event l2cap_event_incoming_connection
182  * @param Event packet
183  * @return handle
184  * @note: btstack_type H
185  */
186 static inline hci_con_handle_t l2cap_event_incoming_connection_get_handle(const uint8_t * event){
187     return little_endian_read_16(event, 9);
188 }
189 
190 /**
191  * @brief Get field psm from event l2cap_event_incoming_connection
192  * @param Event packet
193  * @return psm
194  * @note: btstack_type 2
195  */
196 static inline uint16_t l2cap_event_incoming_connection_get_psm(const uint8_t * event){
197     return little_endian_read_16(event, 11);
198 }
199 
200 /**
201  * @brief Get field local_cid from event l2cap_event_incoming_connection
202  * @param Event packet
203  * @return local_cid
204  * @note: btstack_type 2
205  */
206 static inline uint16_t l2cap_event_incoming_connection_get_local_cid(const uint8_t * event){
207     return little_endian_read_16(event, 13);
208 }
209 
210 /**
211  * @brief Get field remote_cid from event l2cap_event_incoming_connection
212  * @param Event packet
213  * @return remote_cid
214  * @note: btstack_type 2
215  */
216 static inline uint16_t l2cap_event_incoming_connection_get_remote_cid(const uint8_t * event){
217     return little_endian_read_16(event, 15);
218 }
219 
220 /**
221  * @brief Get field status from event l2cap_event_service_registered
222  * @param Event packet
223  * @return status
224  * @note: btstack_type 1
225  */
226 static inline uint8_t l2cap_event_service_registered_get_status(const uint8_t * event){
227     return event[2];
228 }
229 
230 /**
231  * @brief Get field psm from event l2cap_event_service_registered
232  * @param Event packet
233  * @return psm
234  * @note: btstack_type 2
235  */
236 static inline uint16_t l2cap_event_service_registered_get_psm(const uint8_t * event){
237     return little_endian_read_16(event, 3);
238 }
239 
240 /**
241  * @brief Get field handle from event l2cap_event_connection_parameter_update_request
242  * @param Event packet
243  * @return handle
244  * @note: btstack_type H
245  */
246 static inline hci_con_handle_t l2cap_event_connection_parameter_update_request_get_handle(const uint8_t * event){
247     return little_endian_read_16(event, 2);
248 }
249 
250 /**
251  * @brief Get field interval_min from event l2cap_event_connection_parameter_update_request
252  * @param Event packet
253  * @return interval_min
254  * @note: btstack_type 2
255  */
256 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_min(const uint8_t * event){
257     return little_endian_read_16(event, 4);
258 }
259 
260 /**
261  * @brief Get field interval_max from event l2cap_event_connection_parameter_update_request
262  * @param Event packet
263  * @return interval_max
264  * @note: btstack_type 2
265  */
266 static inline uint16_t l2cap_event_connection_parameter_update_request_get_interval_max(const uint8_t * event){
267     return little_endian_read_16(event, 6);
268 }
269 
270 /**
271  * @brief Get field latencey from event l2cap_event_connection_parameter_update_request
272  * @param Event packet
273  * @return latencey
274  * @note: btstack_type 2
275  */
276 static inline uint16_t l2cap_event_connection_parameter_update_request_get_latencey(const uint8_t * event){
277     return little_endian_read_16(event, 8);
278 }
279 
280 /**
281  * @brief Get field timeout_multiplier from event l2cap_event_connection_parameter_update_request
282  * @param Event packet
283  * @return timeout_multiplier
284  * @note: btstack_type 2
285  */
286 static inline uint16_t l2cap_event_connection_parameter_update_request_get_timeout_multiplier(const uint8_t * event){
287     return little_endian_read_16(event, 10);
288 }
289 
290 /**
291  * @brief Get field handle from event l2cap_event_connection_parameter_update_response
292  * @param Event packet
293  * @return handle
294  * @note: btstack_type H
295  */
296 static inline hci_con_handle_t l2cap_event_connection_parameter_update_response_get_handle(const uint8_t * event){
297     return little_endian_read_16(event, 2);
298 }
299 
300 /**
301  * @brief Get field local_cid from event l2cap_event_can_send_now
302  * @param Event packet
303  * @return local_cid
304  * @note: btstack_type 2
305  */
306 static inline uint16_t l2cap_event_can_send_now_get_local_cid(const uint8_t * event){
307     return little_endian_read_16(event, 2);
308 }
309 
310 /**
311  * @brief Get field status from event rfcomm_event_open_channel_complete
312  * @param Event packet
313  * @return status
314  * @note: btstack_type 1
315  */
316 static inline uint8_t rfcomm_event_open_channel_complete_get_status(const uint8_t * event){
317     return event[2];
318 }
319 
320 /**
321  * @brief Get field bd_addr from event rfcomm_event_open_channel_complete
322  * @param Event packet
323  * @param Pointer to storage for bd_addr
324  * @note: btstack_type B
325  */
326 static inline void rfcomm_event_open_channel_complete_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
327     reverse_48(&event[3], bd_addr);
328 }
329 
330 /**
331  * @brief Get field con_handle from event rfcomm_event_open_channel_complete
332  * @param Event packet
333  * @return con_handle
334  * @note: btstack_type 2
335  */
336 static inline uint16_t rfcomm_event_open_channel_complete_get_con_handle(const uint8_t * event){
337     return little_endian_read_16(event, 9);
338 }
339 
340 /**
341  * @brief Get field server_channel from event rfcomm_event_open_channel_complete
342  * @param Event packet
343  * @return server_channel
344  * @note: btstack_type 1
345  */
346 static inline uint8_t rfcomm_event_open_channel_complete_get_server_channel(const uint8_t * event){
347     return event[11];
348 }
349 
350 /**
351  * @brief Get field rfcomm_cid from event rfcomm_event_open_channel_complete
352  * @param Event packet
353  * @return rfcomm_cid
354  * @note: btstack_type 2
355  */
356 static inline uint16_t rfcomm_event_open_channel_complete_get_rfcomm_cid(const uint8_t * event){
357     return little_endian_read_16(event, 12);
358 }
359 
360 /**
361  * @brief Get field max_frame_size from event rfcomm_event_open_channel_complete
362  * @param Event packet
363  * @return max_frame_size
364  * @note: btstack_type 2
365  */
366 static inline uint16_t rfcomm_event_open_channel_complete_get_max_frame_size(const uint8_t * event){
367     return little_endian_read_16(event, 14);
368 }
369 
370 /**
371  * @brief Get field rfcomm_cid from event rfcomm_event_channel_closed
372  * @param Event packet
373  * @return rfcomm_cid
374  * @note: btstack_type 2
375  */
376 static inline uint16_t rfcomm_event_channel_closed_get_rfcomm_cid(const uint8_t * event){
377     return little_endian_read_16(event, 2);
378 }
379 
380 /**
381  * @brief Get field bd_addr from event rfcomm_event_incoming_connection
382  * @param Event packet
383  * @param Pointer to storage for bd_addr
384  * @note: btstack_type B
385  */
386 static inline void rfcomm_event_incoming_connection_get_bd_addr(const uint8_t * event, bd_addr_t bd_addr){
387     reverse_48(&event[2], bd_addr);
388 }
389 
390 /**
391  * @brief Get field server_channel from event rfcomm_event_incoming_connection
392  * @param Event packet
393  * @return server_channel
394  * @note: btstack_type 1
395  */
396 static inline uint8_t rfcomm_event_incoming_connection_get_server_channel(const uint8_t * event){
397     return event[8];
398 }
399 
400 /**
401  * @brief Get field rfcomm_cid from event rfcomm_event_incoming_connection
402  * @param Event packet
403  * @return rfcomm_cid
404  * @note: btstack_type 2
405  */
406 static inline uint16_t rfcomm_event_incoming_connection_get_rfcomm_cid(const uint8_t * event){
407     return little_endian_read_16(event, 9);
408 }
409 
410 /**
411  * @brief Get field rfcomm_cid from event rfcomm_event_remote_line_status
412  * @param Event packet
413  * @return rfcomm_cid
414  * @note: btstack_type 2
415  */
416 static inline uint16_t rfcomm_event_remote_line_status_get_rfcomm_cid(const uint8_t * event){
417     return little_endian_read_16(event, 2);
418 }
419 
420 /**
421  * @brief Get field line_status from event rfcomm_event_remote_line_status
422  * @param Event packet
423  * @return line_status
424  * @note: btstack_type 1
425  */
426 static inline uint8_t rfcomm_event_remote_line_status_get_line_status(const uint8_t * event){
427     return event[4];
428 }
429 
430 /**
431  * @brief Get field rfcomm_cid from event rfcomm_event_credits
432  * @param Event packet
433  * @return rfcomm_cid
434  * @note: btstack_type 2
435  */
436 static inline uint16_t rfcomm_event_credits_get_rfcomm_cid(const uint8_t * event){
437     return little_endian_read_16(event, 2);
438 }
439 
440 /**
441  * @brief Get field credits from event rfcomm_event_credits
442  * @param Event packet
443  * @return credits
444  * @note: btstack_type 1
445  */
446 static inline uint8_t rfcomm_event_credits_get_credits(const uint8_t * event){
447     return event[4];
448 }
449 
450 /**
451  * @brief Get field status from event rfcomm_event_service_registered
452  * @param Event packet
453  * @return status
454  * @note: btstack_type 1
455  */
456 static inline uint8_t rfcomm_event_service_registered_get_status(const uint8_t * event){
457     return event[2];
458 }
459 
460 /**
461  * @brief Get field channel_id from event rfcomm_event_service_registered
462  * @param Event packet
463  * @return channel_id
464  * @note: btstack_type 1
465  */
466 static inline uint8_t rfcomm_event_service_registered_get_channel_id(const uint8_t * event){
467     return event[3];
468 }
469 
470 /**
471  * @brief Get field status from event rfcomm_event_persistent_channel
472  * @param Event packet
473  * @return status
474  * @note: btstack_type 1
475  */
476 static inline uint8_t rfcomm_event_persistent_channel_get_status(const uint8_t * event){
477     return event[2];
478 }
479 
480 /**
481  * @brief Get field server_channel_id from event rfcomm_event_persistent_channel
482  * @param Event packet
483  * @return server_channel_id
484  * @note: btstack_type 1
485  */
486 static inline uint8_t rfcomm_event_persistent_channel_get_server_channel_id(const uint8_t * event){
487     return event[3];
488 }
489 
490 /**
491  * @brief Get field rfcomm_cid from event rfcomm_event_remote_modem_status
492  * @param Event packet
493  * @return rfcomm_cid
494  * @note: btstack_type 2
495  */
496 static inline uint16_t rfcomm_event_remote_modem_status_get_rfcomm_cid(const uint8_t * event){
497     return little_endian_read_16(event, 2);
498 }
499 
500 /**
501  * @brief Get field modem_status from event rfcomm_event_remote_modem_status
502  * @param Event packet
503  * @return modem_status
504  * @note: btstack_type 1
505  */
506 static inline uint8_t rfcomm_event_remote_modem_status_get_modem_status(const uint8_t * event){
507     return event[4];
508 }
509 
510 /**
511  * @brief Get field local_cid from event rfcomm_event_can_send_now
512  * @param Event packet
513  * @return local_cid
514  * @note: btstack_type 2
515  */
516 static inline uint16_t rfcomm_event_can_send_now_get_local_cid(const uint8_t * event){
517     return little_endian_read_16(event, 2);
518 }
519 
520 /**
521  * @brief Get field status from event sdp_event_service_registered
522  * @param Event packet
523  * @return status
524  * @note: btstack_type 1
525  */
526 static inline uint8_t sdp_event_service_registered_get_status(const uint8_t * event){
527     return event[2];
528 }
529 
530 /**
531  * @brief Get field service_record_handle from event sdp_event_service_registered
532  * @param Event packet
533  * @return service_record_handle
534  * @note: btstack_type 4
535  */
536 static inline uint32_t sdp_event_service_registered_get_service_record_handle(const uint8_t * event){
537     return little_endian_read_32(event, 3);
538 }
539 
540 /**
541  * @brief Get field status from event sdp_event_query_complete
542  * @param Event packet
543  * @return status
544  * @note: btstack_type 1
545  */
546 static inline uint8_t sdp_event_query_complete_get_status(const uint8_t * event){
547     return event[2];
548 }
549 
550 /**
551  * @brief Get field rfcomm_channel from event sdp_event_query_rfcomm_service
552  * @param Event packet
553  * @return rfcomm_channel
554  * @note: btstack_type 1
555  */
556 static inline uint8_t sdp_event_query_rfcomm_service_get_rfcomm_channel(const uint8_t * event){
557     return event[2];
558 }
559 
560 /**
561  * @brief Get field name from event sdp_event_query_rfcomm_service
562  * @param Event packet
563  * @return name
564  * @note: btstack_type T
565  */
566 static inline const char * sdp_event_query_rfcomm_service_get_name(const uint8_t * event){
567     return (const char *) &event[3];
568 }
569 
570 /**
571  * @brief Get field record_id from event sdp_event_query_attribute_byte
572  * @param Event packet
573  * @return record_id
574  * @note: btstack_type 2
575  */
576 static inline uint16_t sdp_event_query_attribute_byte_get_record_id(const uint8_t * event){
577     return little_endian_read_16(event, 2);
578 }
579 
580 /**
581  * @brief Get field attribute_id from event sdp_event_query_attribute_byte
582  * @param Event packet
583  * @return attribute_id
584  * @note: btstack_type 2
585  */
586 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_id(const uint8_t * event){
587     return little_endian_read_16(event, 4);
588 }
589 
590 /**
591  * @brief Get field attribute_length from event sdp_event_query_attribute_byte
592  * @param Event packet
593  * @return attribute_length
594  * @note: btstack_type 2
595  */
596 static inline uint16_t sdp_event_query_attribute_byte_get_attribute_length(const uint8_t * event){
597     return little_endian_read_16(event, 6);
598 }
599 
600 /**
601  * @brief Get field data_offset from event sdp_event_query_attribute_byte
602  * @param Event packet
603  * @return data_offset
604  * @note: btstack_type 2
605  */
606 static inline uint16_t sdp_event_query_attribute_byte_get_data_offset(const uint8_t * event){
607     return little_endian_read_16(event, 8);
608 }
609 
610 /**
611  * @brief Get field data from event sdp_event_query_attribute_byte
612  * @param Event packet
613  * @return data
614  * @note: btstack_type 1
615  */
616 static inline uint8_t sdp_event_query_attribute_byte_get_data(const uint8_t * event){
617     return event[10];
618 }
619 
620 /**
621  * @brief Get field record_id from event sdp_event_query_attribute_value
622  * @param Event packet
623  * @return record_id
624  * @note: btstack_type 2
625  */
626 static inline uint16_t sdp_event_query_attribute_value_get_record_id(const uint8_t * event){
627     return little_endian_read_16(event, 2);
628 }
629 
630 /**
631  * @brief Get field attribute_id from event sdp_event_query_attribute_value
632  * @param Event packet
633  * @return attribute_id
634  * @note: btstack_type 2
635  */
636 static inline uint16_t sdp_event_query_attribute_value_get_attribute_id(const uint8_t * event){
637     return little_endian_read_16(event, 4);
638 }
639 
640 /**
641  * @brief Get field attribute_length from event sdp_event_query_attribute_value
642  * @param Event packet
643  * @return attribute_length
644  * @note: btstack_type L
645  */
646 static inline int sdp_event_query_attribute_value_get_attribute_length(const uint8_t * event){
647     return little_endian_read_16(event, 6);
648 }
649 
650 /**
651  * @brief Get field attribute_value from event sdp_event_query_attribute_value
652  * @param Event packet
653  * @return attribute_value
654  * @note: btstack_type V
655  */
656 static inline const uint8_t * sdp_event_query_attribute_value_get_attribute_value(const uint8_t * event){
657     return &event[8];
658 }
659 
660 /**
661  * @brief Get field total_count from event sdp_event_query_service_record_handle
662  * @param Event packet
663  * @return total_count
664  * @note: btstack_type 2
665  */
666 static inline uint16_t sdp_event_query_service_record_handle_get_total_count(const uint8_t * event){
667     return little_endian_read_16(event, 2);
668 }
669 
670 /**
671  * @brief Get field record_index from event sdp_event_query_service_record_handle
672  * @param Event packet
673  * @return record_index
674  * @note: btstack_type 2
675  */
676 static inline uint16_t sdp_event_query_service_record_handle_get_record_index(const uint8_t * event){
677     return little_endian_read_16(event, 4);
678 }
679 
680 /**
681  * @brief Get field record_handle from event sdp_event_query_service_record_handle
682  * @param Event packet
683  * @return record_handle
684  * @note: btstack_type 4
685  */
686 static inline uint32_t sdp_event_query_service_record_handle_get_record_handle(const uint8_t * event){
687     return little_endian_read_32(event, 6);
688 }
689 
690 /**
691  * @brief Get field handle from event sm_event_just_works_request
692  * @param Event packet
693  * @return handle
694  * @note: btstack_type H
695  */
696 static inline hci_con_handle_t sm_event_just_works_request_get_handle(const uint8_t * event){
697     return little_endian_read_16(event, 2);
698 }
699 
700 /**
701  * @brief Get field addr_type from event sm_event_just_works_request
702  * @param Event packet
703  * @return addr_type
704  * @note: btstack_type 1
705  */
706 static inline uint8_t sm_event_just_works_request_get_addr_type(const uint8_t * event){
707     return event[4];
708 }
709 
710 /**
711  * @brief Get field address from event sm_event_just_works_request
712  * @param Event packet
713  * @param Pointer to storage for address
714  * @note: btstack_type B
715  */
716 static inline void sm_event_just_works_request_get_address(const uint8_t * event, bd_addr_t address){
717     reverse_48(&event[5], address);
718 }
719 
720 /**
721  * @brief Get field handle from event sm_event_just_works_cancel
722  * @param Event packet
723  * @return handle
724  * @note: btstack_type H
725  */
726 static inline hci_con_handle_t sm_event_just_works_cancel_get_handle(const uint8_t * event){
727     return little_endian_read_16(event, 2);
728 }
729 
730 /**
731  * @brief Get field addr_type from event sm_event_just_works_cancel
732  * @param Event packet
733  * @return addr_type
734  * @note: btstack_type 1
735  */
736 static inline uint8_t sm_event_just_works_cancel_get_addr_type(const uint8_t * event){
737     return event[4];
738 }
739 
740 /**
741  * @brief Get field address from event sm_event_just_works_cancel
742  * @param Event packet
743  * @param Pointer to storage for address
744  * @note: btstack_type B
745  */
746 static inline void sm_event_just_works_cancel_get_address(const uint8_t * event, bd_addr_t address){
747     reverse_48(&event[5], address);
748 }
749 
750 /**
751  * @brief Get field handle from event sm_event_passkey_display_number
752  * @param Event packet
753  * @return handle
754  * @note: btstack_type H
755  */
756 static inline hci_con_handle_t sm_event_passkey_display_number_get_handle(const uint8_t * event){
757     return little_endian_read_16(event, 2);
758 }
759 
760 /**
761  * @brief Get field addr_type from event sm_event_passkey_display_number
762  * @param Event packet
763  * @return addr_type
764  * @note: btstack_type 1
765  */
766 static inline uint8_t sm_event_passkey_display_number_get_addr_type(const uint8_t * event){
767     return event[4];
768 }
769 
770 /**
771  * @brief Get field address from event sm_event_passkey_display_number
772  * @param Event packet
773  * @param Pointer to storage for address
774  * @note: btstack_type B
775  */
776 static inline void sm_event_passkey_display_number_get_address(const uint8_t * event, bd_addr_t address){
777     reverse_48(&event[5], address);
778 }
779 
780 /**
781  * @brief Get field passkey from event sm_event_passkey_display_number
782  * @param Event packet
783  * @return passkey
784  * @note: btstack_type 4
785  */
786 static inline uint32_t sm_event_passkey_display_number_get_passkey(const uint8_t * event){
787     return little_endian_read_32(event, 11);
788 }
789 
790 /**
791  * @brief Get field handle from event sm_event_passkey_display_cancel
792  * @param Event packet
793  * @return handle
794  * @note: btstack_type H
795  */
796 static inline hci_con_handle_t sm_event_passkey_display_cancel_get_handle(const uint8_t * event){
797     return little_endian_read_16(event, 2);
798 }
799 
800 /**
801  * @brief Get field addr_type from event sm_event_passkey_display_cancel
802  * @param Event packet
803  * @return addr_type
804  * @note: btstack_type 1
805  */
806 static inline uint8_t sm_event_passkey_display_cancel_get_addr_type(const uint8_t * event){
807     return event[4];
808 }
809 
810 /**
811  * @brief Get field address from event sm_event_passkey_display_cancel
812  * @param Event packet
813  * @param Pointer to storage for address
814  * @note: btstack_type B
815  */
816 static inline void sm_event_passkey_display_cancel_get_address(const uint8_t * event, bd_addr_t address){
817     reverse_48(&event[5], address);
818 }
819 
820 /**
821  * @brief Get field handle from event sm_event_passkey_input_number
822  * @param Event packet
823  * @return handle
824  * @note: btstack_type H
825  */
826 static inline hci_con_handle_t sm_event_passkey_input_number_get_handle(const uint8_t * event){
827     return little_endian_read_16(event, 2);
828 }
829 
830 /**
831  * @brief Get field addr_type from event sm_event_passkey_input_number
832  * @param Event packet
833  * @return addr_type
834  * @note: btstack_type 1
835  */
836 static inline uint8_t sm_event_passkey_input_number_get_addr_type(const uint8_t * event){
837     return event[4];
838 }
839 
840 /**
841  * @brief Get field address from event sm_event_passkey_input_number
842  * @param Event packet
843  * @param Pointer to storage for address
844  * @note: btstack_type B
845  */
846 static inline void sm_event_passkey_input_number_get_address(const uint8_t * event, bd_addr_t address){
847     reverse_48(&event[5], address);
848 }
849 
850 /**
851  * @brief Get field handle from event sm_event_passkey_input_cancel
852  * @param Event packet
853  * @return handle
854  * @note: btstack_type H
855  */
856 static inline hci_con_handle_t sm_event_passkey_input_cancel_get_handle(const uint8_t * event){
857     return little_endian_read_16(event, 2);
858 }
859 
860 /**
861  * @brief Get field addr_type from event sm_event_passkey_input_cancel
862  * @param Event packet
863  * @return addr_type
864  * @note: btstack_type 1
865  */
866 static inline uint8_t sm_event_passkey_input_cancel_get_addr_type(const uint8_t * event){
867     return event[4];
868 }
869 
870 /**
871  * @brief Get field address from event sm_event_passkey_input_cancel
872  * @param Event packet
873  * @param Pointer to storage for address
874  * @note: btstack_type B
875  */
876 static inline void sm_event_passkey_input_cancel_get_address(const uint8_t * event, bd_addr_t address){
877     reverse_48(&event[5], address);
878 }
879 
880 /**
881  * @brief Get field handle from event sm_event_identity_resolving_started
882  * @param Event packet
883  * @return handle
884  * @note: btstack_type H
885  */
886 static inline hci_con_handle_t sm_event_identity_resolving_started_get_handle(const uint8_t * event){
887     return little_endian_read_16(event, 2);
888 }
889 
890 /**
891  * @brief Get field addr_type from event sm_event_identity_resolving_started
892  * @param Event packet
893  * @return addr_type
894  * @note: btstack_type 1
895  */
896 static inline uint8_t sm_event_identity_resolving_started_get_addr_type(const uint8_t * event){
897     return event[4];
898 }
899 
900 /**
901  * @brief Get field address from event sm_event_identity_resolving_started
902  * @param Event packet
903  * @param Pointer to storage for address
904  * @note: btstack_type B
905  */
906 static inline void sm_event_identity_resolving_started_get_address(const uint8_t * event, bd_addr_t address){
907     reverse_48(&event[5], address);
908 }
909 
910 /**
911  * @brief Get field handle from event sm_event_identity_resolving_failed
912  * @param Event packet
913  * @return handle
914  * @note: btstack_type H
915  */
916 static inline hci_con_handle_t sm_event_identity_resolving_failed_get_handle(const uint8_t * event){
917     return little_endian_read_16(event, 2);
918 }
919 
920 /**
921  * @brief Get field addr_type from event sm_event_identity_resolving_failed
922  * @param Event packet
923  * @return addr_type
924  * @note: btstack_type 1
925  */
926 static inline uint8_t sm_event_identity_resolving_failed_get_addr_type(const uint8_t * event){
927     return event[4];
928 }
929 
930 /**
931  * @brief Get field address from event sm_event_identity_resolving_failed
932  * @param Event packet
933  * @param Pointer to storage for address
934  * @note: btstack_type B
935  */
936 static inline void sm_event_identity_resolving_failed_get_address(const uint8_t * event, bd_addr_t address){
937     reverse_48(&event[5], address);
938 }
939 
940 /**
941  * @brief Get field handle from event sm_event_identity_resolving_succeeded
942  * @param Event packet
943  * @return handle
944  * @note: btstack_type H
945  */
946 static inline hci_con_handle_t sm_event_identity_resolving_succeeded_get_handle(const uint8_t * event){
947     return little_endian_read_16(event, 2);
948 }
949 
950 /**
951  * @brief Get field addr_type from event sm_event_identity_resolving_succeeded
952  * @param Event packet
953  * @return addr_type
954  * @note: btstack_type 1
955  */
956 static inline uint8_t sm_event_identity_resolving_succeeded_get_addr_type(const uint8_t * event){
957     return event[4];
958 }
959 
960 /**
961  * @brief Get field address from event sm_event_identity_resolving_succeeded
962  * @param Event packet
963  * @param Pointer to storage for address
964  * @note: btstack_type B
965  */
966 static inline void sm_event_identity_resolving_succeeded_get_address(const uint8_t * event, bd_addr_t address){
967     reverse_48(&event[5], address);
968 }
969 
970 /**
971  * @brief Get field le_device_db_index from event sm_event_identity_resolving_succeeded
972  * @param Event packet
973  * @return le_device_db_index
974  * @note: btstack_type 2
975  */
976 static inline uint16_t sm_event_identity_resolving_succeeded_get_le_device_db_index(const uint8_t * event){
977     return little_endian_read_16(event, 11);
978 }
979 
980 /**
981  * @brief Get field handle from event sm_event_authorization_request
982  * @param Event packet
983  * @return handle
984  * @note: btstack_type H
985  */
986 static inline hci_con_handle_t sm_event_authorization_request_get_handle(const uint8_t * event){
987     return little_endian_read_16(event, 2);
988 }
989 
990 /**
991  * @brief Get field addr_type from event sm_event_authorization_request
992  * @param Event packet
993  * @return addr_type
994  * @note: btstack_type 1
995  */
996 static inline uint8_t sm_event_authorization_request_get_addr_type(const uint8_t * event){
997     return event[4];
998 }
999 
1000 /**
1001  * @brief Get field address from event sm_event_authorization_request
1002  * @param Event packet
1003  * @param Pointer to storage for address
1004  * @note: btstack_type B
1005  */
1006 static inline void sm_event_authorization_request_get_address(const uint8_t * event, bd_addr_t address){
1007     reverse_48(&event[5], address);
1008 }
1009 
1010 /**
1011  * @brief Get field handle from event sm_event_authorization_result
1012  * @param Event packet
1013  * @return handle
1014  * @note: btstack_type H
1015  */
1016 static inline hci_con_handle_t sm_event_authorization_result_get_handle(const uint8_t * event){
1017     return little_endian_read_16(event, 2);
1018 }
1019 
1020 /**
1021  * @brief Get field addr_type from event sm_event_authorization_result
1022  * @param Event packet
1023  * @return addr_type
1024  * @note: btstack_type 1
1025  */
1026 static inline uint8_t sm_event_authorization_result_get_addr_type(const uint8_t * event){
1027     return event[4];
1028 }
1029 
1030 /**
1031  * @brief Get field address from event sm_event_authorization_result
1032  * @param Event packet
1033  * @param Pointer to storage for address
1034  * @note: btstack_type B
1035  */
1036 static inline void sm_event_authorization_result_get_address(const uint8_t * event, bd_addr_t address){
1037     reverse_48(&event[5], address);
1038 }
1039 
1040 /**
1041  * @brief Get field authorization_result from event sm_event_authorization_result
1042  * @param Event packet
1043  * @return authorization_result
1044  * @note: btstack_type 1
1045  */
1046 static inline uint8_t sm_event_authorization_result_get_authorization_result(const uint8_t * event){
1047     return event[11];
1048 }
1049 
1050 /**
1051  * @brief Get field handle from event ancs_event_client_connected
1052  * @param Event packet
1053  * @return handle
1054  * @note: btstack_type H
1055  */
1056 static inline hci_con_handle_t ancs_event_client_connected_get_handle(const uint8_t * event){
1057     return little_endian_read_16(event, 2);
1058 }
1059 
1060 /**
1061  * @brief Get field handle from event ancs_event_client_notification
1062  * @param Event packet
1063  * @return handle
1064  * @note: btstack_type H
1065  */
1066 static inline hci_con_handle_t ancs_event_client_notification_get_handle(const uint8_t * event){
1067     return little_endian_read_16(event, 2);
1068 }
1069 
1070 /**
1071  * @brief Get field attribute_id from event ancs_event_client_notification
1072  * @param Event packet
1073  * @return attribute_id
1074  * @note: btstack_type 2
1075  */
1076 static inline uint16_t ancs_event_client_notification_get_attribute_id(const uint8_t * event){
1077     return little_endian_read_16(event, 4);
1078 }
1079 
1080 /**
1081  * @brief Get field text from event ancs_event_client_notification
1082  * @param Event packet
1083  * @return text
1084  * @note: btstack_type T
1085  */
1086 static inline const char * ancs_event_client_notification_get_text(const uint8_t * event){
1087     return (const char *) &event[6];
1088 }
1089 
1090 /**
1091  * @brief Get field handle from event ancs_event_client_disconnected
1092  * @param Event packet
1093  * @return handle
1094  * @note: btstack_type H
1095  */
1096 static inline hci_con_handle_t ancs_event_client_disconnected_get_handle(const uint8_t * event){
1097     return little_endian_read_16(event, 2);
1098 }
1099 
1100 
1101 /* API_END */
1102 
1103 #if defined __cplusplus
1104 }
1105 #endif
1106 
1107 #endif // __BTSTACK_EVENT_H
1108