23 #define _AKA_HEADER_H_ |
23 #define _AKA_HEADER_H_ |
24 |
24 |
25 #include "eap_tools.h" |
25 #include "eap_tools.h" |
26 #include "eap_header.h" |
26 #include "eap_header.h" |
27 #include "eap_header_string.h" |
27 #include "eap_header_string.h" |
|
28 #include "eap_am_export.h" |
|
29 // Start: added by script change_export_macros.sh. |
|
30 #if defined(EAP_NO_EXPORT_EAP_TYPE_AKA_HEADER_H) |
|
31 #define EAP_CLASS_VISIBILITY_EAP_TYPE_AKA_HEADER_H EAP_NONSHARABLE |
|
32 #define EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H |
|
33 #define EAP_C_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H |
|
34 #define EAP_FUNC_EXPORT_EAP_TYPE_AKA_HEADER_H |
|
35 #define EAP_C_FUNC_EXPORT_EAP_TYPE_AKA_HEADER_H |
|
36 #elif defined(EAP_EXPORT_EAP_TYPE_AKA_HEADER_H) |
|
37 #define EAP_CLASS_VISIBILITY_EAP_TYPE_AKA_HEADER_H EAP_EXPORT |
|
38 #define EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H EAP_FUNC_EXPORT |
|
39 #define EAP_C_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H EAP_C_FUNC_EXPORT |
|
40 #define EAP_FUNC_EXPORT_EAP_TYPE_AKA_HEADER_H EAP_FUNC_EXPORT |
|
41 #define EAP_C_FUNC_EXPORT_EAP_TYPE_AKA_HEADER_H EAP_C_FUNC_EXPORT |
|
42 #else |
|
43 #define EAP_CLASS_VISIBILITY_EAP_TYPE_AKA_HEADER_H EAP_IMPORT |
|
44 #define EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H EAP_FUNC_IMPORT |
|
45 #define EAP_C_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H EAP_C_FUNC_IMPORT |
|
46 #define EAP_FUNC_EXPORT_EAP_TYPE_AKA_HEADER_H |
|
47 #define EAP_C_FUNC_EXPORT_EAP_TYPE_AKA_HEADER_H |
|
48 #endif |
|
49 // End: added by script change_export_macros.sh. |
|
50 |
28 |
51 |
29 /** @file */ |
52 /** @file */ |
30 |
53 |
31 const u32_t AKA_FIRST_SEQUENCE = 1u; |
54 const u32_t AKA_FIRST_SEQUENCE = 1u; |
32 const u32_t AKA_PAYLOAD_LENGTH_ALIGN = 4u; |
55 const u32_t AKA_PAYLOAD_LENGTH_ALIGN = 4u; |
126 //-------------------------------------------------- |
149 //-------------------------------------------------- |
127 public: |
150 public: |
128 //-------------------------------------------------- |
151 //-------------------------------------------------- |
129 |
152 |
130 // |
153 // |
131 EAP_FUNC_IMPORT virtual ~aka_payload_AT_header_c(); |
154 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H virtual ~aka_payload_AT_header_c(); |
132 |
155 |
133 // |
156 // |
134 EAP_FUNC_IMPORT aka_payload_AT_header_c( |
157 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H aka_payload_AT_header_c( |
135 abs_eap_am_tools_c * const tools, |
158 abs_eap_am_tools_c * const tools, |
136 void * const header_buffer, |
159 void * const header_buffer, |
137 const u32_t header_buffer_length); |
160 const u32_t header_buffer_length); |
138 |
161 |
139 EAP_FUNC_IMPORT aka_payload_AT_type_e get_current_payload() const; |
162 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H aka_payload_AT_type_e get_current_payload() const; |
140 |
163 |
141 EAP_FUNC_IMPORT u16_t get_payload_length() const; |
164 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u16_t get_payload_length() const; |
142 |
165 |
143 EAP_FUNC_IMPORT u16_t get_reserved() const; |
166 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u16_t get_reserved() const; |
144 |
167 |
145 EAP_FUNC_IMPORT u8_t * get_reserved_pointer(const u32_t contignuous_bytes) const; |
168 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u8_t * get_reserved_pointer(const u32_t contignuous_bytes) const; |
146 |
169 |
147 EAP_FUNC_IMPORT u32_t get_data_length() const; |
170 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u32_t get_data_length() const; |
148 |
171 |
149 EAP_FUNC_IMPORT static u16_t get_header_length(); |
172 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H static u16_t get_header_length(); |
150 |
173 |
151 EAP_FUNC_IMPORT static u16_t get_max_payload_data_length(); |
174 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H static u16_t get_max_payload_data_length(); |
152 |
175 |
153 EAP_FUNC_IMPORT u8_t * get_data(const u32_t contignuous_bytes) const; |
176 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u8_t * get_data(const u32_t contignuous_bytes) const; |
154 |
177 |
155 EAP_FUNC_IMPORT u8_t * get_data_offset(const u32_t offset, const u32_t contignuous_bytes) const; |
178 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u8_t * get_data_offset(const u32_t offset, const u32_t contignuous_bytes) const; |
156 |
179 |
157 EAP_FUNC_IMPORT u8_t * get_next_header() const; |
180 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u8_t * get_next_header() const; |
158 |
181 |
159 // Mostly this is zero. |
182 // Mostly this is zero. |
160 // With some attributes this is used for special purposes. |
183 // With some attributes this is used for special purposes. |
161 EAP_FUNC_IMPORT void set_reserved(const u16_t reserved); |
184 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void set_reserved(const u16_t reserved); |
162 |
185 |
163 EAP_FUNC_IMPORT void set_current_payload(const aka_payload_AT_type_e p_current_payload); |
186 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void set_current_payload(const aka_payload_AT_type_e p_current_payload); |
164 |
187 |
165 EAP_FUNC_IMPORT void set_data_length(const u16_t p_data_length); |
188 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void set_data_length(const u16_t p_data_length); |
166 |
189 |
167 EAP_FUNC_IMPORT void reset_header(const u16_t data_length); |
190 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void reset_header(const u16_t data_length); |
168 |
191 |
169 EAP_FUNC_IMPORT static eap_const_string get_payload_AT_string(const aka_payload_AT_type_e payload_type); |
192 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H static eap_const_string get_payload_AT_string(const aka_payload_AT_type_e payload_type); |
170 |
193 |
171 EAP_FUNC_IMPORT eap_const_string get_payload_AT_string() const; |
194 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H eap_const_string get_payload_AT_string() const; |
172 |
195 |
173 EAP_FUNC_IMPORT eap_status_e check_header() const; |
196 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H eap_status_e check_header() const; |
174 |
197 |
175 // |
198 // |
176 //-------------------------------------------------- |
199 //-------------------------------------------------- |
177 }; // class aka_payload_AT_header_c |
200 }; // class aka_payload_AT_header_c |
178 |
201 |
217 //-------------------------------------------------- |
240 //-------------------------------------------------- |
218 public: |
241 public: |
219 //-------------------------------------------------- |
242 //-------------------------------------------------- |
220 |
243 |
221 // |
244 // |
222 EAP_FUNC_IMPORT virtual ~aka_header_c(); |
245 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H virtual ~aka_header_c(); |
223 |
246 |
224 // |
247 // |
225 EAP_FUNC_IMPORT aka_header_c( |
248 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H aka_header_c( |
226 abs_eap_am_tools_c * const tools, |
249 abs_eap_am_tools_c * const tools, |
227 u8_t * const header_buffer, |
250 u8_t * const header_buffer, |
228 const u32_t header_buffer_length); |
251 const u32_t header_buffer_length); |
229 |
252 |
230 EAP_FUNC_IMPORT aka_subtype_e get_subtype() const; |
253 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H aka_subtype_e get_subtype() const; |
231 |
254 |
232 EAP_FUNC_IMPORT u16_t get_data_length() const; |
255 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u16_t get_data_length() const; |
233 |
256 |
234 /// This returns the length of EAP-header, EAP-type, subtype and reserved fields. |
257 /// This returns the length of EAP-header, EAP-type, subtype and reserved fields. |
235 EAP_FUNC_IMPORT u32_t get_header_length() const; |
258 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u32_t get_header_length() const; |
236 |
259 |
237 EAP_FUNC_IMPORT u32_t get_sub_type_offset() const; |
260 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u32_t get_sub_type_offset() const; |
238 |
261 |
239 EAP_FUNC_IMPORT u8_t * get_data_offset(const u32_t offset, const u32_t contignuous_bytes) const; |
262 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u8_t * get_data_offset(const u32_t offset, const u32_t contignuous_bytes) const; |
240 |
263 |
241 |
264 |
242 EAP_FUNC_IMPORT u8_t * get_data(const u32_t contignuous_bytes) const; |
265 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u8_t * get_data(const u32_t contignuous_bytes) const; |
243 |
266 |
244 |
267 |
245 EAP_FUNC_IMPORT u16_t get_reserved() const; |
268 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H u16_t get_reserved() const; |
246 |
269 |
247 |
270 |
248 EAP_FUNC_IMPORT eap_status_e check_header() const; |
271 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H eap_status_e check_header() const; |
249 |
272 |
250 EAP_FUNC_IMPORT eap_const_string get_subtype_string() const; |
273 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H eap_const_string get_subtype_string() const; |
251 |
274 |
252 EAP_FUNC_IMPORT eap_const_string get_code_string() const; |
275 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H eap_const_string get_code_string() const; |
253 |
276 |
254 EAP_FUNC_IMPORT eap_const_string get_eap_type_string() const; |
277 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H eap_const_string get_eap_type_string() const; |
255 |
278 |
256 EAP_FUNC_IMPORT void set_reserved(const u16_t reserved); |
279 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void set_reserved(const u16_t reserved); |
257 |
280 |
258 EAP_FUNC_IMPORT void set_subtype(const aka_subtype_e p_subtype); |
281 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void set_subtype(const aka_subtype_e p_subtype); |
259 |
282 |
260 EAP_FUNC_IMPORT void set_data_length( |
283 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void set_data_length( |
261 const u32_t p_data_length, |
284 const u32_t p_data_length, |
262 const bool expanded_type_when_true); |
285 const bool expanded_type_when_true); |
263 |
286 |
264 EAP_FUNC_IMPORT void reset_header( |
287 EAP_FUNC_VISIBILITY_EAP_TYPE_AKA_HEADER_H void reset_header( |
265 const u32_t buffer_length, |
288 const u32_t buffer_length, |
266 const bool expanded_type_when_true); |
289 const bool expanded_type_when_true); |
267 |
290 |
268 // |
291 // |
269 //-------------------------------------------------- |
292 //-------------------------------------------------- |