xref: /btstack/src/btstack_event.h (revision f8fbdce0c5067e7e7edd3a29934b1f9b79c8ff2d)
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 sdp_query_complete_event
62  * @param Event packet
63  * @return status
64  * @note: btstack_type 1
65  */
66 static inline uint8_t sdp_query_complete_event_get_status(const uint8_t * event){
67     return event[2];
68 }
69 
70 /**
71  * @brief Get field rfcomm_channel from event sdp_query_rfcomm_service_event
72  * @param Event packet
73  * @return rfcomm_channel
74  * @note: btstack_type 1
75  */
76 static inline uint8_t sdp_query_rfcomm_service_event_get_rfcomm_channel(const uint8_t * event){
77     return event[2];
78 }
79 
80 /**
81  * @brief Get field name from event sdp_query_rfcomm_service_event
82  * @param Event packet
83  * @return name
84  * @note: btstack_type T
85  */
86 static inline const char * sdp_query_rfcomm_service_event_get_name(const uint8_t * event){
87     return (const char *) &event[3];
88 }
89 
90 /**
91  * @brief Get field record_id from event sdp_query_attribute_byte_event
92  * @param Event packet
93  * @return record_id
94  * @note: btstack_type 2
95  */
96 static inline uint16_t sdp_query_attribute_byte_event_get_record_id(const uint8_t * event){
97     return little_endian_read_16(event, 2);
98 }
99 
100 /**
101  * @brief Get field attribute_id from event sdp_query_attribute_byte_event
102  * @param Event packet
103  * @return attribute_id
104  * @note: btstack_type 2
105  */
106 static inline uint16_t sdp_query_attribute_byte_event_get_attribute_id(const uint8_t * event){
107     return little_endian_read_16(event, 4);
108 }
109 
110 /**
111  * @brief Get field attribute_length from event sdp_query_attribute_byte_event
112  * @param Event packet
113  * @return attribute_length
114  * @note: btstack_type 2
115  */
116 static inline uint16_t sdp_query_attribute_byte_event_get_attribute_length(const uint8_t * event){
117     return little_endian_read_16(event, 6);
118 }
119 
120 /**
121  * @brief Get field data_offset from event sdp_query_attribute_byte_event
122  * @param Event packet
123  * @return data_offset
124  * @note: btstack_type 2
125  */
126 static inline uint16_t sdp_query_attribute_byte_event_get_data_offset(const uint8_t * event){
127     return little_endian_read_16(event, 8);
128 }
129 
130 /**
131  * @brief Get field data from event sdp_query_attribute_byte_event
132  * @param Event packet
133  * @return data
134  * @note: btstack_type 1
135  */
136 static inline uint8_t sdp_query_attribute_byte_event_get_data(const uint8_t * event){
137     return event[10];
138 }
139 
140 /**
141  * @brief Get field total_count from event sdp_query_service_record_handle_event
142  * @param Event packet
143  * @return total_count
144  * @note: btstack_type 2
145  */
146 static inline uint16_t sdp_query_service_record_handle_event_get_total_count(const uint8_t * event){
147     return little_endian_read_16(event, 2);
148 }
149 
150 /**
151  * @brief Get field record_index from event sdp_query_service_record_handle_event
152  * @param Event packet
153  * @return record_index
154  * @note: btstack_type 2
155  */
156 static inline uint16_t sdp_query_service_record_handle_event_get_record_index(const uint8_t * event){
157     return little_endian_read_16(event, 4);
158 }
159 
160 /**
161  * @brief Get field record_handle from event sdp_query_service_record_handle_event
162  * @param Event packet
163  * @return record_handle
164  * @note: btstack_type 4
165  */
166 static inline uint32_t sdp_query_service_record_handle_event_get_record_handle(const uint8_t * event){
167     return little_endian_read_32(event, 6);
168 }
169 
170 /**
171  * @brief Get field handle from event ancs_client_connected_event
172  * @param Event packet
173  * @return handle
174  * @note: btstack_type H
175  */
176 static inline hci_con_handle_t ancs_client_connected_event_get_handle(const uint8_t * event){
177     return little_endian_read_16(event, 2);
178 }
179 
180 /**
181  * @brief Get field handle from event ancs_client_notification_event
182  * @param Event packet
183  * @return handle
184  * @note: btstack_type H
185  */
186 static inline hci_con_handle_t ancs_client_notification_event_get_handle(const uint8_t * event){
187     return little_endian_read_16(event, 2);
188 }
189 
190 /**
191  * @brief Get field attribute_id from event ancs_client_notification_event
192  * @param Event packet
193  * @return attribute_id
194  * @note: btstack_type 2
195  */
196 static inline uint16_t ancs_client_notification_event_get_attribute_id(const uint8_t * event){
197     return little_endian_read_16(event, 4);
198 }
199 
200 /**
201  * @brief Get field text from event ancs_client_notification_event
202  * @param Event packet
203  * @return text
204  * @note: btstack_type T
205  */
206 static inline const char * ancs_client_notification_event_get_text(const uint8_t * event){
207     return (const char *) &event[6];
208 }
209 
210 /**
211  * @brief Get field handle from event ancs_client_disconnected_event
212  * @param Event packet
213  * @return handle
214  * @note: btstack_type H
215  */
216 static inline hci_con_handle_t ancs_client_disconnected_event_get_handle(const uint8_t * event){
217     return little_endian_read_16(event, 2);
218 }
219 
220 
221 /* API_END */
222 
223 #if defined __cplusplus
224 }
225 #endif
226 
227 #endif // __BTSTACK_EVENT_H
228