23 #define _EAP_TLS_PEAP_HEADER_H_ |
23 #define _EAP_TLS_PEAP_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 "tls_peap_types.h" |
27 #include "tls_peap_types.h" |
|
28 #include "eap_am_export.h" |
|
29 // Start: added by script change_export_macros.sh. |
|
30 #if defined(EAP_NO_EXPORT_EAP_TYPE_TLS_PEAP_HEADER_H) |
|
31 #define EAP_CLASS_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H EAP_NONSHARABLE |
|
32 #define EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H |
|
33 #define EAP_C_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H |
|
34 #define EAP_FUNC_EXPORT_EAP_TYPE_TLS_PEAP_HEADER_H |
|
35 #define EAP_C_FUNC_EXPORT_EAP_TYPE_TLS_PEAP_HEADER_H |
|
36 #elif defined(EAP_EXPORT_EAP_TYPE_TLS_PEAP_HEADER_H) |
|
37 #define EAP_CLASS_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H EAP_EXPORT |
|
38 #define EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H EAP_FUNC_EXPORT |
|
39 #define EAP_C_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H EAP_C_FUNC_EXPORT |
|
40 #define EAP_FUNC_EXPORT_EAP_TYPE_TLS_PEAP_HEADER_H EAP_FUNC_EXPORT |
|
41 #define EAP_C_FUNC_EXPORT_EAP_TYPE_TLS_PEAP_HEADER_H EAP_C_FUNC_EXPORT |
|
42 #else |
|
43 #define EAP_CLASS_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H EAP_IMPORT |
|
44 #define EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H EAP_FUNC_IMPORT |
|
45 #define EAP_C_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H EAP_C_FUNC_IMPORT |
|
46 #define EAP_FUNC_EXPORT_EAP_TYPE_TLS_PEAP_HEADER_H |
|
47 #define EAP_C_FUNC_EXPORT_EAP_TYPE_TLS_PEAP_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 TLS_PEAP_FIRST_SEQUENCE = 1u; |
54 const u32_t TLS_PEAP_FIRST_SEQUENCE = 1u; |
32 const u8_t TLS_PEAP_NAI_AT_BYTE = '@'; |
55 const u8_t TLS_PEAP_NAI_AT_BYTE = '@'; |
106 m_flag_mask_reserved = 0x1c, |
129 m_flag_mask_reserved = 0x1c, |
107 m_flag_mask_version = 0x03, |
130 m_flag_mask_version = 0x03, |
108 }; |
131 }; |
109 |
132 |
110 |
133 |
111 EAP_FUNC_IMPORT virtual ~eap_tls_peap_header_c(); |
134 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H virtual ~eap_tls_peap_header_c(); |
112 |
135 |
113 // |
136 // |
114 EAP_FUNC_IMPORT eap_tls_peap_header_c( |
137 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H eap_tls_peap_header_c( |
115 abs_eap_am_tools_c * const tools, |
138 abs_eap_am_tools_c * const tools, |
116 u8_t * const header_begin, |
139 u8_t * const header_begin, |
117 const u32_t header_buffer_length); |
140 const u32_t header_buffer_length); |
118 |
141 |
119 EAP_FUNC_IMPORT eap_code_value_e get_eap_code() const; |
142 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H eap_code_value_e get_eap_code() const; |
120 |
143 |
121 EAP_FUNC_IMPORT u8_t get_eap_identifier() const; |
144 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u8_t get_eap_identifier() const; |
122 |
145 |
123 EAP_FUNC_IMPORT u16_t get_eap_length() const; |
146 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u16_t get_eap_length() const; |
124 |
147 |
125 EAP_FUNC_IMPORT eap_type_value_e get_eap_type() const; |
148 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H eap_type_value_e get_eap_type() const; |
126 |
149 |
127 EAP_FUNC_IMPORT u16_t get_data_length() const; |
150 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u16_t get_data_length() const; |
128 |
151 |
129 EAP_FUNC_IMPORT u32_t get_tls_min_header_length() const; |
152 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u32_t get_tls_min_header_length() const; |
130 |
153 |
131 EAP_FUNC_IMPORT static u32_t get_tls_max_header_length(); |
154 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H static u32_t get_tls_max_header_length(); |
132 |
155 |
133 EAP_FUNC_IMPORT u32_t get_header_length() const; |
156 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u32_t get_header_length() const; |
134 |
157 |
135 EAP_FUNC_IMPORT u32_t get_tls_flags_offset() const; |
158 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u32_t get_tls_flags_offset() const; |
136 |
159 |
137 EAP_FUNC_IMPORT u32_t get_tls_length_offset() const; |
160 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u32_t get_tls_length_offset() const; |
138 |
161 |
139 EAP_FUNC_IMPORT u32_t get_start_offset_of_data() const; |
162 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u32_t get_start_offset_of_data() const; |
140 |
163 |
141 EAP_FUNC_IMPORT u8_t * get_data_offset( |
164 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u8_t * get_data_offset( |
142 abs_eap_am_tools_c * const m_am_tools, |
165 abs_eap_am_tools_c * const m_am_tools, |
143 const u32_t offset, |
166 const u32_t offset, |
144 const u32_t contignuous_bytes) const; |
167 const u32_t contignuous_bytes) const; |
145 |
168 |
146 |
169 |
147 EAP_FUNC_IMPORT u8_t * get_data( |
170 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u8_t * get_data( |
148 abs_eap_am_tools_c * const m_am_tools, |
171 abs_eap_am_tools_c * const m_am_tools, |
149 const u32_t contignuous_bytes) const; |
172 const u32_t contignuous_bytes) const; |
150 |
173 |
151 |
174 |
152 EAP_FUNC_IMPORT u8_t * get_tls_flags() const; |
175 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u8_t * get_tls_flags() const; |
153 |
176 |
154 EAP_FUNC_IMPORT bool get_tls_flag_bit( |
177 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H bool get_tls_flag_bit( |
155 const u32_t mask) const; |
178 const u32_t mask) const; |
156 |
179 |
157 EAP_FUNC_IMPORT u8_t get_tls_flag_value( |
180 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u8_t get_tls_flag_value( |
158 const u32_t mask, |
181 const u32_t mask, |
159 const u32_t shift) const; |
182 const u32_t shift) const; |
160 |
183 |
161 EAP_FUNC_IMPORT bool get_flag_tls_length_included() const; |
184 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H bool get_flag_tls_length_included() const; |
162 |
185 |
163 EAP_FUNC_IMPORT bool get_flag_more_fragments() const; |
186 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H bool get_flag_more_fragments() const; |
164 |
187 |
165 EAP_FUNC_IMPORT bool get_flag_start() const; |
188 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H bool get_flag_start() const; |
166 |
189 |
167 EAP_FUNC_IMPORT u8_t get_flag_reserved() const; |
190 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u8_t get_flag_reserved() const; |
168 |
191 |
169 EAP_FUNC_IMPORT u8_t get_flag_version() const; |
192 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H u8_t get_flag_version() const; |
170 |
193 |
171 EAP_FUNC_IMPORT eap_status_e get_tls_message_length( |
194 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H eap_status_e get_tls_message_length( |
172 u32_t * const tls_length) const; |
195 u32_t * const tls_length) const; |
173 |
196 |
174 |
197 |
175 EAP_FUNC_IMPORT eap_status_e check_header( |
198 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H eap_status_e check_header( |
176 abs_eap_am_tools_c * const tools, |
199 abs_eap_am_tools_c * const tools, |
177 const eap_type_value_e required_eap_type, |
200 const eap_type_value_e required_eap_type, |
178 const bool is_client_when_true, |
201 const bool is_client_when_true, |
179 const peap_version_e peap_version, |
202 const peap_version_e peap_version, |
180 const bool check_peap_version_when_true) const; |
203 const bool check_peap_version_when_true) const; |
181 |
204 |
182 EAP_FUNC_IMPORT eap_const_string get_code_string() const; |
205 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H eap_const_string get_code_string() const; |
183 |
206 |
184 EAP_FUNC_IMPORT eap_const_string get_eap_type_string() const; |
207 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H eap_const_string get_eap_type_string() const; |
185 |
208 |
186 EAP_FUNC_IMPORT void set_eap_code(const eap_code_value_e p_code); |
209 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_eap_code(const eap_code_value_e p_code); |
187 |
210 |
188 EAP_FUNC_IMPORT void set_eap_identifier(const u8_t p_identifier); |
211 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_eap_identifier(const u8_t p_identifier); |
189 |
212 |
190 EAP_FUNC_IMPORT void set_eap_length( |
213 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_eap_length( |
191 const u16_t p_length, |
214 const u16_t p_length, |
192 const bool expanded_type_when_true); |
215 const bool expanded_type_when_true); |
193 |
216 |
194 EAP_FUNC_IMPORT void set_eap_type( |
217 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_eap_type( |
195 const eap_type_value_e p_type, |
218 const eap_type_value_e p_type, |
196 const bool expanded_type_when_true); |
219 const bool expanded_type_when_true); |
197 |
220 |
198 |
221 |
199 EAP_FUNC_IMPORT void set_tls_flag_value( |
222 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_tls_flag_value( |
200 const u8_t value, |
223 const u8_t value, |
201 const u32_t mask, |
224 const u32_t mask, |
202 const u32_t shift) const; |
225 const u32_t shift) const; |
203 |
226 |
204 EAP_FUNC_IMPORT void set_tls_flag_bit(const bool flag, u32_t mask) const; |
227 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_tls_flag_bit(const bool flag, u32_t mask) const; |
205 |
228 |
206 EAP_FUNC_IMPORT void set_flag_reserved(const u8_t reserved); |
229 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_flag_reserved(const u8_t reserved); |
207 |
230 |
208 EAP_FUNC_IMPORT void set_flag_version(const u8_t version); |
231 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_flag_version(const u8_t version); |
209 |
232 |
210 EAP_FUNC_IMPORT void set_flag_tls_length_included(const bool tls_length_included); |
233 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_flag_tls_length_included(const bool tls_length_included); |
211 |
234 |
212 EAP_FUNC_IMPORT void set_flag_more_fragments(const bool more_fragments); |
235 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_flag_more_fragments(const bool more_fragments); |
213 |
236 |
214 EAP_FUNC_IMPORT void set_flag_start(const bool start); |
237 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_flag_start(const bool start); |
215 |
238 |
216 |
239 |
217 EAP_FUNC_IMPORT void set_data_length( |
240 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_data_length( |
218 const u32_t p_data_length, |
241 const u32_t p_data_length, |
219 const bool expanded_type_when_true); |
242 const bool expanded_type_when_true); |
220 |
243 |
221 EAP_FUNC_IMPORT void set_tls_message_length(const u32_t tls_length); |
244 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void set_tls_message_length(const u32_t tls_length); |
222 |
245 |
223 |
246 |
224 EAP_FUNC_IMPORT void reset_header( |
247 EAP_FUNC_VISIBILITY_EAP_TYPE_TLS_PEAP_HEADER_H void reset_header( |
225 abs_eap_am_tools_c * const m_am_tools, |
248 abs_eap_am_tools_c * const m_am_tools, |
226 const eap_type_value_e required_eap_type, |
249 const eap_type_value_e required_eap_type, |
227 const u32_t buffer_length, |
250 const u32_t buffer_length, |
228 const peap_version_e peap_version, |
251 const peap_version_e peap_version, |
229 const bool expanded_type_when_true); |
252 const bool expanded_type_when_true); |