eapol/eapol_framework/eapol_common/include/eap_process_tlv_message_data.h
changeset 49 43351a4f2da3
parent 26 9abfd4f00d37
equal deleted inserted replaced
47:712b4ffd76bb 49:43351a4f2da3
    14 * Description:  EAP and WLAN authentication protocols.
    14 * Description:  EAP and WLAN authentication protocols.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 42 %
    19 * %version: 49 %
    20 */
    20 */
    21 
    21 
    22 #if !defined(_EAP_PROCESS_TLV_MESSAGE_DATA_H_)
    22 #if !defined(_EAP_PROCESS_TLV_MESSAGE_DATA_H_)
    23 #define _EAP_PROCESS_TLV_MESSAGE_DATA_H_
    23 #define _EAP_PROCESS_TLV_MESSAGE_DATA_H_
    24 
    24 
    34 #if defined(USE_EAP_SIMPLE_CONFIG)
    34 #if defined(USE_EAP_SIMPLE_CONFIG)
    35 #include "simple_config_types.h"
    35 #include "simple_config_types.h"
    36 #include "simple_config_credential.h"
    36 #include "simple_config_credential.h"
    37 #include "simple_config_payloads.h"
    37 #include "simple_config_payloads.h"
    38 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
    38 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
       
    39 
       
    40 #include "eap_am_export.h"
       
    41 // Start: added by script change_export_macros.sh.
       
    42 #if defined(EAP_NO_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H)
       
    43 	#define EAP_CLASS_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_NONSHARABLE 
       
    44 	#define EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H 
       
    45 	#define EAP_C_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H 
       
    46 	#define EAP_FUNC_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H 
       
    47 	#define EAP_C_FUNC_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H 
       
    48 #elif defined(EAP_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H)
       
    49 	#define EAP_CLASS_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_EXPORT 
       
    50 	#define EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_FUNC_EXPORT 
       
    51 	#define EAP_C_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_C_FUNC_EXPORT 
       
    52 	#define EAP_FUNC_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_FUNC_EXPORT 
       
    53 	#define EAP_C_FUNC_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_C_FUNC_EXPORT 
       
    54 #else
       
    55 	#define EAP_CLASS_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_IMPORT 
       
    56 	#define EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_FUNC_IMPORT 
       
    57 	#define EAP_C_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H EAP_C_FUNC_IMPORT 
       
    58 	#define EAP_FUNC_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H 
       
    59 	#define EAP_C_FUNC_EXPORT_EAP_PROCESS_TLV_MESSAGE_DATA_H 
       
    60 #endif
       
    61 // End: added by script change_export_macros.sh.
    39 
    62 
    40 enum eap_tlv_message_type_e
    63 enum eap_tlv_message_type_e
    41 {
    64 {
    42 	eap_tlv_message_type_none                                 = 0,
    65 	eap_tlv_message_type_none                                 = 0,
    43 	eap_tlv_message_type_array                                = 1,
    66 	eap_tlv_message_type_array                                = 1,
   203 //----------------------------------------------------------------------------
   226 //----------------------------------------------------------------------------
   204 
   227 
   205 
   228 
   206 /// This class defines functions to add and parse message data composed
   229 /// This class defines functions to add and parse message data composed
   207 /// of Attribute-Value Pairs (See eap_tlv_header_c) to/from eap_tlv_message_data_c object.
   230 /// of Attribute-Value Pairs (See eap_tlv_header_c) to/from eap_tlv_message_data_c object.
   208 class EAP_EXPORT eap_process_tlv_message_data_c
   231 class EAP_CLASS_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_process_tlv_message_data_c
   209 : public eap_tlv_message_data_c
   232 : public eap_tlv_message_data_c
   210 {
   233 {
   211 private:
   234 private:
   212 	//--------------------------------------------------
   235 	//--------------------------------------------------
   213 
   236 
   224 	//--------------------------------------------------
   247 	//--------------------------------------------------
   225 
   248 
   226 	/**
   249 	/**
   227 	 * The destructor of the eap_process_tlv_message_data_c class does nothing.
   250 	 * The destructor of the eap_process_tlv_message_data_c class does nothing.
   228 	 */
   251 	 */
   229 	EAP_FUNC_IMPORT virtual ~eap_process_tlv_message_data_c();
   252 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H virtual ~eap_process_tlv_message_data_c();
   230 
   253 
   231 	/**
   254 	/**
   232 	 * The constructor of the eap_process_tlv_message_data_c class simply initializes the attributes.
   255 	 * The constructor of the eap_process_tlv_message_data_c class simply initializes the attributes.
   233 	 */
   256 	 */
   234 	EAP_FUNC_IMPORT eap_process_tlv_message_data_c(
   257 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_process_tlv_message_data_c(
   235 		abs_eap_am_tools_c * const tools);
   258 		abs_eap_am_tools_c * const tools);
   236 
   259 
   237 	/**
   260 	/**
   238 	 * This function should increase reference count.
   261 	 * This function should increase reference count.
   239 	 */
   262 	 */
   240 	EAP_FUNC_IMPORT void object_increase_reference_count();
   263 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H void object_increase_reference_count();
   241 
   264 
   242 	/**
   265 	/**
   243 	 * This function should first decrease reference count
   266 	 * This function should first decrease reference count
   244 	 * and second return the remaining reference count.
   267 	 * and second return the remaining reference count.
   245 	 * Reference count must not be decreased when it is zero.
   268 	 * Reference count must not be decreased when it is zero.
   246 	 */
   269 	 */
   247 	EAP_FUNC_IMPORT u32_t object_decrease_reference_count();
   270 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t object_decrease_reference_count();
   248 
   271 
   249 	/**
   272 	/**
   250 	 * Object must indicate it's validity.
   273 	 * Object must indicate it's validity.
   251 	 * If object initialization fails this function must return false.
   274 	 * If object initialization fails this function must return false.
   252 	 * @return This function returns the validity of this object.
   275 	 * @return This function returns the validity of this object.
   253 	 */
   276 	 */
   254 	EAP_FUNC_IMPORT bool get_is_valid();
   277 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H bool get_is_valid();
   255 
   278 
   256 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   279 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   257 
   280 
   258 	EAP_FUNC_IMPORT u32_t get_payload_size(
   281 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   259 		const eap_variable_data_c * const data) const;
   282 		const eap_variable_data_c * const data) const;
   260 
   283 
   261 	EAP_FUNC_IMPORT u32_t get_payload_size(
   284 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   262 		const eap_am_network_id_c * const network_id) const;
   285 		const eap_am_network_id_c * const network_id) const;
   263 
   286 
   264 	EAP_FUNC_IMPORT u32_t get_payload_size(
   287 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   265 		const abs_eap_state_notification_c * const state) const;
   288 		const abs_eap_state_notification_c * const state) const;
   266 
   289 
   267 	EAP_FUNC_IMPORT u32_t get_payload_size(
   290 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   268 		const eapol_session_key_c * const session_key) const;
   291 		const eapol_session_key_c * const session_key) const;
   269 
   292 
   270 	EAP_FUNC_IMPORT u32_t get_payload_size(
   293 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   271 		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array) const;
   294 		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array) const;
   272 
   295 
   273 	EAP_FUNC_IMPORT u32_t get_payload_size(
   296 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   274 		const eap_certificate_entry_c * const cert) const;
   297 		const eap_certificate_entry_c * const cert) const;
   275 
   298 
   276 	EAP_FUNC_IMPORT u32_t get_payload_size(
   299 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   277 		EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array) const;
   300 		EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array) const;
   278 
   301 
   279 	EAP_FUNC_IMPORT u32_t get_payload_size(
   302 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   280 		const eap_method_settings_c * const internal_settings) const;
   303 		const eap_method_settings_c * const internal_settings) const;
   281 
   304 
   282 	EAP_FUNC_IMPORT u32_t get_payload_size(
   305 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   283 		EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array) const;
   306 		EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array) const;
   284 
   307 
   285 #if defined(USE_EAP_SIMPLE_CONFIG)
   308 #if defined(USE_EAP_SIMPLE_CONFIG)
   286 
   309 
   287 	EAP_FUNC_IMPORT u32_t get_payload_size(
   310 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   288 		const network_key_and_index_c * const key) const;
   311 		const network_key_and_index_c * const key) const;
   289 
   312 
   290 	EAP_FUNC_IMPORT u32_t get_payload_size(
   313 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   291 		const eap_array_c<network_key_and_index_c> * const network_keys) const;
   314 		const eap_array_c<network_key_and_index_c> * const network_keys) const;
   292 
   315 
   293 	EAP_FUNC_IMPORT u32_t get_payload_size(
   316 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   294 		const simple_config_credential_c * const credential) const;
   317 		const simple_config_credential_c * const credential) const;
   295 
   318 
   296 	EAP_FUNC_IMPORT u32_t get_payload_size(
   319 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   297 		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array) const;
   320 		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array) const;
   298 
   321 
   299 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   322 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   300 
   323 
   301 	EAP_FUNC_IMPORT u32_t get_payload_size(
   324 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H u32_t get_payload_size(
   302 		const eap_variable_data_c * const selector,
   325 		const eap_variable_data_c * const selector,
   303 		const eap_config_value_c * const configuration_option) const;
   326 		const eap_config_value_c * const configuration_option) const;
   304 
   327 
   305 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   328 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   306 
   329 
   307 	EAP_FUNC_IMPORT eap_status_e add_structured_parameter_header(
   330 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_structured_parameter_header(
   308 		const eap_tlv_message_type_e type,
   331 		const eap_tlv_message_type_e type,
   309 		const u32_t length);
   332 		const u32_t length);
   310 
   333 
   311 
   334 
   312 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   335 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   313 		const eap_tlv_message_type_e type,
   336 		const eap_tlv_message_type_e type,
   314 		const u32_t integer);
   337 		const u32_t integer);
   315 
   338 
   316 
   339 
   317 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   340 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   318 		const u64_t long_integer);
   341 		const u64_t long_integer);
   319 
   342 
   320 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   343 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   321 		const u32_t integer);
   344 		const u32_t integer);
   322 
   345 
   323 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   346 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   324 		const u16_t integer);
   347 		const u16_t integer);
   325 
   348 
   326 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   349 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   327 		const u8_t byte_integer);
   350 		const u8_t byte_integer);
   328 
   351 
   329 
   352 
   330 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   353 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   331 		const i32_t integer);
   354 		const i32_t integer);
   332 
   355 
   333 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   356 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   334 		const i16_t integer);
   357 		const i16_t integer);
   335 
   358 
   336 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   359 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   337 		const i8_t byte_integer);
   360 		const i8_t byte_integer);
   338 
   361 
   339 
   362 
   340 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   363 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   341 		const bool boolean);
   364 		const bool boolean);
   342 
   365 
   343 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   366 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   344 		const eap_status_e status);
   367 		const eap_status_e status);
   345 
   368 
   346 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   369 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   347 		const eapol_key_authentication_type_e authentication_type);
   370 		const eapol_key_authentication_type_e authentication_type);
   348 
   371 
   349 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   372 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   350 		const eapol_key_802_11_authentication_mode_e mode);
   373 		const eapol_key_802_11_authentication_mode_e mode);
   351 
   374 
   352 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   375 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   353 		const eap_tlv_message_type_function_e function);
   376 		const eap_tlv_message_type_function_e function);
   354 
   377 
   355 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   378 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   356 		const eap_variable_data_c * const variable_data);
   379 		const eap_variable_data_c * const variable_data);
   357 
   380 
   358 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   381 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   359 		const eap_am_network_id_c * const network_id);
   382 		const eap_am_network_id_c * const network_id);
   360 
   383 
   361 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   384 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   362 		const eap_buf_chain_wr_c * const packet_buffer);
   385 		const eap_buf_chain_wr_c * const packet_buffer);
   363 
   386 
   364 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   387 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   365 		const eapol_session_key_c * const session_key);
   388 		const eapol_session_key_c * const session_key);
   366 
   389 
   367 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   390 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   368 		const abs_eap_state_notification_c * const state);
   391 		const abs_eap_state_notification_c * const state);
   369 
   392 
   370 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   393 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   371 		const eap_type_value_e eap_type);
   394 		const eap_type_value_e eap_type);
   372 
   395 
   373 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   396 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   374 		const eap_general_header_base_c * const packet_data);
   397 		const eap_general_header_base_c * const packet_data,
   375 
   398 		const u32_t packet_length);
   376 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   399 
       
   400 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   377 		const eap_method_settings_c * const internal_settings);
   401 		const eap_method_settings_c * const internal_settings);
   378 
   402 
   379 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   403 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   380 		const eap_certificate_entry_c * const internal_settings);
   404 		const eap_certificate_entry_c * const internal_settings);
   381 
   405 
   382 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   406 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   383 		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array);
   407 		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const ushort_array);
   384 
   408 
   385 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   409 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   386 		EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array);
   410 		EAP_TEMPLATE_CONST eap_array_c<eap_certificate_entry_c> * const cert_array);
   387 
   411 
   388 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   412 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   389 		EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array);
   413 		EAP_TEMPLATE_CONST eap_array_c<eap_type_value_e> * const eap_type_array);
   390 
   414 
   391 #if defined(USE_EAP_SIMPLE_CONFIG)
   415 #if defined(USE_EAP_SIMPLE_CONFIG)
   392 
   416 
   393 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   417 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   394 		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array);
   418 		EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array);
   395 	
   419 	
   396 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   420 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   397 
   421 
   398 	EAP_FUNC_IMPORT eap_status_e add_parameter_data(
   422 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e add_parameter_data(
   399 		const eap_variable_data_c * const selector,
   423 		const eap_variable_data_c * const selector,
   400 		const eap_config_value_c * const configuration_option);
   424 		const eap_config_value_c * const configuration_option);
   401 
   425 
   402 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   426 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   403 
   427 
   404 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   428 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   405 		const eap_tlv_header_c * const integer_header,
   429 		const eap_tlv_header_c * const integer_header,
   406 		u64_t * const value);
   430 		u64_t * const value);
   407 
   431 
   408 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   432 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   409 		const eap_tlv_header_c * const integer_header,
   433 		const eap_tlv_header_c * const integer_header,
   410 		u32_t * const value);
   434 		u32_t * const value);
   411 
   435 
   412 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   436 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   413 		const eap_tlv_header_c * const integer_header,
   437 		const eap_tlv_header_c * const integer_header,
   414 		u16_t * const value);
   438 		u16_t * const value);
   415 
   439 
   416 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   440 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   417 		const eap_tlv_header_c * const integer_header,
   441 		const eap_tlv_header_c * const integer_header,
   418 		u8_t * const value);
   442 		u8_t * const value);
   419 
   443 
   420 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   444 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   421 		const eap_tlv_header_c * const integer_header,
   445 		const eap_tlv_header_c * const integer_header,
   422 		i32_t * const value);
   446 		i32_t * const value);
   423 
   447 
   424 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   448 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   425 		const eap_tlv_header_c * const integer_header,
   449 		const eap_tlv_header_c * const integer_header,
   426 		i16_t * const value);
   450 		i16_t * const value);
   427 
   451 
   428 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   452 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   429 		const eap_tlv_header_c * const integer_header,
   453 		const eap_tlv_header_c * const integer_header,
   430 		i8_t * const value);
   454 		i8_t * const value);
   431 
   455 
   432 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   456 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   433 		const eap_tlv_header_c * const function_header,
   457 		const eap_tlv_header_c * const function_header,
   434 		eap_tlv_message_type_function_e * const function);
   458 		eap_tlv_message_type_function_e * const function);
   435 
   459 
   436 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   460 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   437 		const eap_tlv_header_c * const network_id_header,
   461 		const eap_tlv_header_c * const network_id_header,
   438 		eap_am_network_id_c * const new_network_id);
   462 		eap_am_network_id_c * const new_network_id);
   439 
   463 
   440 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   464 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   441 		const eap_tlv_header_c * const variable_data_header,
   465 		const eap_tlv_header_c * const variable_data_header,
   442 		eap_variable_data_c * const variable_data);
   466 		eap_variable_data_c * const variable_data);
   443 
   467 
   444 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   468 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   445 		const eap_tlv_header_c * const session_key_header,
   469 		const eap_tlv_header_c * const session_key_header,
   446 		eapol_session_key_c * const session_key);
   470 		eapol_session_key_c * const session_key);
   447 	
   471 	
   448 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   472 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   449 		const eap_tlv_header_c * const state_header,
   473 		const eap_tlv_header_c * const state_header,
   450 		eap_state_notification_c * * const state);
   474 		eap_state_notification_c * * const state);
   451 
   475 
   452 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   476 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   453 		const eap_tlv_header_c * const eap_type_header,
   477 		const eap_tlv_header_c * const eap_type_header,
   454 		eap_type_value_e * const eap_type);
   478 		eap_type_value_e * const eap_type);
   455 
   479 
   456 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   480 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   457 		const eap_tlv_header_c * const settings_header,
   481 		const eap_tlv_header_c * const settings_header,
   458 		eap_method_settings_c * const settings);
   482 		eap_method_settings_c * const settings);
   459 
   483 
   460 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   484 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   461 		const eap_tlv_header_c * const settings_header,
   485 		const eap_tlv_header_c * const settings_header,
   462 		eap_certificate_entry_c * const settings);
   486 		eap_certificate_entry_c * const settings);
   463 
   487 
   464 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   488 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   465 		const eap_tlv_header_c * const settings_header,
   489 		const eap_tlv_header_c * const settings_header,
   466 		eap_array_c<u16_t> * const settings);
   490 		eap_array_c<u16_t> * const settings);
   467 
   491 
   468 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   492 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   469 		const eap_tlv_header_c * const settings_header,
   493 		const eap_tlv_header_c * const settings_header,
   470 		eap_array_c<eap_type_value_e> * const settings);
   494 		eap_array_c<eap_type_value_e> * const settings);
   471 
   495 
   472 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   496 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   473 		const eap_tlv_header_c * const settings_header,
   497 		const eap_tlv_header_c * const settings_header,
   474 		eap_array_c<eap_certificate_entry_c> * const settings);
   498 		eap_array_c<eap_certificate_entry_c> * const settings);
   475 
   499 
   476 #if defined(USE_EAP_SIMPLE_CONFIG)
   500 #if defined(USE_EAP_SIMPLE_CONFIG)
   477 
   501 
   478 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   502 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   479 		const eap_tlv_header_c * const network_key_header,
   503 		const eap_tlv_header_c * const network_key_header,
   480 		network_key_and_index_c * const network_key);
   504 		network_key_and_index_c * const network_key);
   481 
   505 
   482 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   506 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   483 		const eap_tlv_header_c * const network_keys_array_header,
   507 		const eap_tlv_header_c * const network_keys_array_header,
   484 		eap_array_c<network_key_and_index_c> * const network_keys_array);
   508 		eap_array_c<network_key_and_index_c> * const network_keys_array);
   485 
   509 
   486 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   510 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   487 		const eap_tlv_header_c * const credential_array_header,
   511 		const eap_tlv_header_c * const credential_array_header,
   488 		eap_array_c<simple_config_credential_c> * const credential_array);
   512 		eap_array_c<simple_config_credential_c> * const credential_array);
   489 
   513 
   490 	EAP_FUNC_IMPORT eap_status_e get_parameter_data(
   514 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e get_parameter_data(
   491 		const eap_tlv_header_c * const credential_header,
   515 		const eap_tlv_header_c * const credential_header,
   492 		simple_config_credential_c * const credential);
   516 		simple_config_credential_c * const credential);
   493 
   517 
   494 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   518 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   495 
   519 
   496 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   520 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   497 
   521 
   498 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   522 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   499 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   523 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   500 		const u32_t parameter_index,
   524 		const u32_t parameter_index,
   501 		eap_am_network_id_c * const network_id);
   525 		eap_am_network_id_c * const network_id);
   502 
   526 
   503 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   527 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   504 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   528 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   505 		const u32_t parameter_index,
   529 		const u32_t parameter_index,
   506 		eap_variable_data_c * const variable_data);
   530 		eap_variable_data_c * const variable_data);
   507 
   531 
   508 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   532 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   509 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   533 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   510 		const u32_t parameter_index,
   534 		const u32_t parameter_index,
   511 		const eap_tlv_message_type_e type,
   535 		const eap_tlv_message_type_e type,
   512 		eap_status_e * const out_data);
   536 		eap_status_e * const out_data);
   513 
   537 
   514 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   538 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   515 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   539 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   516 		const u32_t parameter_index,
   540 		const u32_t parameter_index,
   517 		eap_array_c<eap_am_network_id_c> * const out_data);
   541 		eap_array_c<eap_am_network_id_c> * const out_data);
   518 
   542 
   519 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   543 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   520 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   544 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   521 		const u32_t parameter_index,
   545 		const u32_t parameter_index,
   522 		eap_state_notification_c * * const out_data);
   546 		eap_state_notification_c * * const out_data);
   523 
   547 
   524 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   548 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   525 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   549 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   526 		const u32_t parameter_index,
   550 		const u32_t parameter_index,
   527 		eapol_RSNA_key_header_c::eapol_RSNA_cipher_e * const out_data);
   551 		eapol_RSNA_key_header_c::eapol_RSNA_cipher_e * const out_data);
   528 
   552 
   529 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   553 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   530 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   554 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   531 		const u32_t parameter_index,
   555 		const u32_t parameter_index,
   532 		bool * const out_data);
   556 		bool * const out_data);
   533 
   557 
   534 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   558 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   535 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   559 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   536 		const u32_t parameter_index,
   560 		const u32_t parameter_index,
   537 		eap_type_value_e * const out_data);
   561 		eap_type_value_e * const out_data);
   538 
   562 
   539 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   563 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   540 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   564 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   541 		const u32_t parameter_index,
   565 		const u32_t parameter_index,
   542 		eapol_key_authentication_type_e * const out_data);
   566 		eapol_key_authentication_type_e * const out_data);
   543 
   567 
   544 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   568 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   545 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   569 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   546 		const u32_t parameter_index,
   570 		const u32_t parameter_index,
   547 		eapol_session_key_c * const out_data);
   571 		eapol_session_key_c * const out_data);
   548 
   572 
   549 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   573 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   550 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   574 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   551 		const u32_t parameter_index,
   575 		const u32_t parameter_index,
   552 		eap_tlv_message_type_function_e * const out_data);
   576 		eap_tlv_message_type_function_e * const out_data);
   553 
   577 
   554 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   578 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   555 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   579 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   556 		const u32_t parameter_index,
   580 		const u32_t parameter_index,
   557 		eapol_key_802_11_authentication_mode_e * const out_data);
   581 		eapol_key_802_11_authentication_mode_e * const out_data);
   558 
   582 
   559 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   583 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   560 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   584 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   561 		const u32_t parameter_index,
   585 		const u32_t parameter_index,
   562 		eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e * const out_data);
   586 		eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e * const out_data);
   563 
   587 
   564 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   588 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   565 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   589 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   566 		const u32_t parameter_index,
   590 		const u32_t parameter_index,
   567 		eapol_wlan_authentication_state_e * const out_data);
   591 		eapol_wlan_authentication_state_e * const out_data);
   568 
   592 
   569 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   593 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   570 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   594 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   571 		const u32_t parameter_index,
   595 		const u32_t parameter_index,
   572 		u64_t * const out_data);
   596 		u64_t * const out_data);
   573 
   597 
   574 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   598 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   575 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   599 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   576 		const u32_t parameter_index,
   600 		const u32_t parameter_index,
   577 		u32_t * const out_data);
   601 		u32_t * const out_data);
   578 
   602 
   579 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   603 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   580 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   604 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   581 		const u32_t parameter_index,
   605 		const u32_t parameter_index,
   582 		u16_t * const out_data);
   606 		u16_t * const out_data);
   583 
   607 
   584 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   608 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   585 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   609 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   586 		const u32_t parameter_index,
   610 		const u32_t parameter_index,
   587 		u8_t * const out_data);
   611 		u8_t * const out_data);
   588 
   612 
   589 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   613 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   590 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   614 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   591 		const u32_t parameter_index,
   615 		const u32_t parameter_index,
   592 		i32_t * const out_data);
   616 		i32_t * const out_data);
   593 
   617 
   594 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   618 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   595 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   619 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   596 		const u32_t parameter_index,
   620 		const u32_t parameter_index,
   597 		i16_t * const out_data);
   621 		i16_t * const out_data);
   598 
   622 
   599 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   623 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   600 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   624 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   601 		const u32_t parameter_index,
   625 		const u32_t parameter_index,
   602 		i8_t * const out_data);
   626 		i8_t * const out_data);
   603 
   627 
   604 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   628 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   605 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   629 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   606 		const u32_t parameter_index,
   630 		const u32_t parameter_index,
   607 		eap_method_settings_c * const out_data);
   631 		eap_method_settings_c * const out_data);
   608 
   632 
   609 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   633 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   610 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   634 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   611 		const u32_t parameter_index,
   635 		const u32_t parameter_index,
   612 		eap_array_c<u16_t> * const out_data);
   636 		eap_array_c<u16_t> * const out_data);
   613 
   637 
   614 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   638 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   615 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   639 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   616 		const u32_t parameter_index,
   640 		const u32_t parameter_index,
   617 		eap_array_c<eap_certificate_entry_c> * const out_data);
   641 		eap_array_c<eap_certificate_entry_c> * const out_data);
   618 
   642 
   619 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   643 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   620 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   644 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   621 		const u32_t parameter_index,
   645 		const u32_t parameter_index,
   622 		eap_array_c<eap_type_value_e> * const out_data);
   646 		eap_array_c<eap_type_value_e> * const out_data);
   623 
   647 
   624 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   648 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   625 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   649 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   626 		const u32_t parameter_index,
   650 		const u32_t parameter_index,
   627 		eap_certificate_entry_c::eap_certificate_type_e * const out_data);
   651 		eap_certificate_entry_c::eap_certificate_type_e * const out_data);
   628 
   652 
   629 #if defined(USE_EAP_SIMPLE_CONFIG)
   653 #if defined(USE_EAP_SIMPLE_CONFIG)
   630 
   654 
   631 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   655 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   632 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   656 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   633 		const u32_t parameter_index,
   657 		const u32_t parameter_index,
   634 		simple_config_Authentication_Type_e * const out_data);
   658 		simple_config_Authentication_Type_e * const out_data);
   635 
   659 
   636 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   660 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   637 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   661 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   638 		const u32_t parameter_index,
   662 		const u32_t parameter_index,
   639 		simple_config_Encryption_Type_e * const out_data);
   663 		simple_config_Encryption_Type_e * const out_data);
   640 
   664 
   641 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   665 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   642 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   666 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   643 		const u32_t parameter_index,
   667 		const u32_t parameter_index,
   644 		eap_array_c<simple_config_credential_c> * const out_data);
   668 		eap_array_c<simple_config_credential_c> * const out_data);
   645 
   669 
   646 	EAP_FUNC_IMPORT eap_status_e read_parameter_data(
   670 	EAP_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H eap_status_e read_parameter_data(
   647 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   671 		EAP_TEMPLATE_CONST eap_array_c<eap_tlv_header_c> * const parameters,
   648 		const u32_t parameter_index,
   672 		const u32_t parameter_index,
   649 		eap_array_c<network_key_and_index_c> * const out_data);
   673 		eap_array_c<network_key_and_index_c> * const out_data);
   650 
   674 
   651 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   675 #endif // #if defined(USE_EAP_SIMPLE_CONFIG)
   652 
   676 
   653 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   677 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
   654 
   678 
   655 	EAP_FUNC_IMPORT eap_const_string get_type_string(const eap_tlv_message_type_e type);
   679 	EAP_C_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H static eap_const_string get_type_string(const eap_tlv_message_type_e type);
   656 
   680 
   657 	EAP_FUNC_IMPORT eap_const_string get_function_string(const eap_tlv_message_type_function_e function);
   681 	EAP_C_FUNC_VISIBILITY_EAP_PROCESS_TLV_MESSAGE_DATA_H static eap_const_string get_function_string(const eap_tlv_message_type_function_e function);
   658 
   682 
   659 	// 
   683 	// 
   660 	//--------------------------------------------------
   684 	//--------------------------------------------------
   661 }; // class eap_process_tlv_message_data_c
   685 }; // class eap_process_tlv_message_data_c
   662 
   686