eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h
changeset 49 43351a4f2da3
parent 34 ad1f037f1ac2
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: 112 %
    19 * %version: 120 %
    20 */
    20 */
    21 
    21 
    22 #if !defined(_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_)
    22 #if !defined(_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_)
    23 #define _EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_
    23 #define _EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_
    24 
    24 
    25 #include "eap_tools.h"
    25 #include "eap_tools.h"
    26 #include "eap_variable_data.h"
    26 #include "eap_variable_data.h"
    27 #include "eap_am_export.h"
    27 #include "eap_am_export.h"
       
    28 // Start: added by script change_export_macros.sh.
       
    29 #if defined(EAP_NO_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H)
       
    30 	#define EAP_CLASS_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_NONSHARABLE 
       
    31 	#define EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H 
       
    32 	#define EAP_C_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H 
       
    33 	#define EAP_FUNC_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H 
       
    34 	#define EAP_C_FUNC_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H 
       
    35 #elif defined(EAP_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H)
       
    36 	#define EAP_CLASS_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_EXPORT 
       
    37 	#define EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_FUNC_EXPORT 
       
    38 	#define EAP_C_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_C_FUNC_EXPORT 
       
    39 	#define EAP_FUNC_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_FUNC_EXPORT 
       
    40 	#define EAP_C_FUNC_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_C_FUNC_EXPORT 
       
    41 #else
       
    42 	#define EAP_CLASS_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_IMPORT 
       
    43 	#define EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_FUNC_IMPORT 
       
    44 	#define EAP_C_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H EAP_C_FUNC_IMPORT 
       
    45 	#define EAP_FUNC_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H 
       
    46 	#define EAP_C_FUNC_EXPORT_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H 
       
    47 #endif
       
    48 // End: added by script change_export_macros.sh.
    28 #include "abs_eap_am_type_tls_peap.h"
    49 #include "abs_eap_am_type_tls_peap.h"
    29 #include "eap_am_type_tls_peap.h"
    50 #include "eap_am_type_tls_peap.h"
    30 #include "eap_am_network_id.h"
    51 #include "eap_am_network_id.h"
    31 #include <d32dbms.h>
    52 #include <d32dbms.h>
    32 #include <EapType.h>
    53 #include <EapType.h>
    69 const TInt KEapFastPacProvisResultType = 1;
    90 const TInt KEapFastPacProvisResultType = 1;
    70 const u32_t KEapFastPacProvisResultDefaultTimeout = 10000; // in milliseconds = 10 seconds
    91 const u32_t KEapFastPacProvisResultDefaultTimeout = 10000; // in milliseconds = 10 seconds
    71 #endif
    92 #endif
    72 
    93 
    73 /// This class is interface to adaptation module of EAP/TLS and PEAP.
    94 /// This class is interface to adaptation module of EAP/TLS and PEAP.
    74 class EAP_EXPORT eap_am_type_tls_peap_symbian_c
    95 class EAP_CLASS_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_am_type_tls_peap_symbian_c
    75 : public CActive
    96 : public CActive
    76 , public eap_am_type_tls_peap_c
    97 , public eap_am_type_tls_peap_c
    77 , public abs_eap_base_timer_c
    98 , public abs_eap_base_timer_c
    78 , public MNotificationCallback
    99 , public MNotificationCallback
    79 {
   100 {
   256 	eap_array_c<eap_fast_pac_store_data_c> m_new_references_and_data_blocks;
   277 	eap_array_c<eap_fast_pac_store_data_c> m_new_references_and_data_blocks;
   257 	eap_array_c<eap_fast_pac_store_data_c> m_ready_references_and_data_blocks;
   278 	eap_array_c<eap_fast_pac_store_data_c> m_ready_references_and_data_blocks;
   258 	
   279 	
   259 	bool m_serv_unauth_prov_mode;
   280 	bool m_serv_unauth_prov_mode;
   260 	bool m_serv_auth_prov_mode;
   281 	bool m_serv_auth_prov_mode;
   261 #endif
   282 
   262 	
   283 	// This flag indicates object is used only for PAC-store initialization.
   263 
   284 	bool m_is_pac_store_initialization;
   264 
       
   265 	CEapAuthNotifier::TEapDialogInfo * m_notifier_data_to_user;
       
   266 
       
   267 	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_notifier_data_pckg_to_user;
       
   268 
   285 
   269     /* For MMETEL */
   286     /* For MMETEL */
   270 #if defined(USE_FAST_EAP_TYPE)
       
   271     
       
   272 	// ETel connection.
   287 	// ETel connection.
   273     RTelServer iServer;
   288     RTelServer iServer;
   274     RMobilePhone iPhone;
   289     RMobilePhone iPhone;
   275     
   290     
   276     // Stores the last queried Phone identities like manufacturer, model, 
   291     // Stores the last queried Phone identities like manufacturer, model, 
   306 	* The value is given later in complete call.
   321 	* The value is given later in complete call.
   307 	*/
   322 	*/
   308 	eap_fast_initialize_pac_store_completion_e iCompletion;
   323 	eap_fast_initialize_pac_store_completion_e iCompletion;
   309 
   324 
   310 #endif //#if defined(USE_FAST_EAP_TYPE)
   325 #endif //#if defined(USE_FAST_EAP_TYPE)
   311 	TBool m_notifier_complete;
   326 
       
   327 	CEapAuthNotifier::TEapDialogInfo * m_notifier_data_to_user;
       
   328 
       
   329 	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_notifier_data_pckg_to_user;
   312 
   330 
   313 #ifdef USE_PAC_STORE
   331 #ifdef USE_PAC_STORE
   314 	CPacStoreDatabase * iPacStoreDb;
   332 	CPacStoreDatabase * iPacStoreDb;
   315 #endif
   333 #endif
   316 
   334 
   334 
   352 
   335  //   eap_am_type_tls_peap_symbian_c* iCaller;
   353  //   eap_am_type_tls_peap_symbian_c* iCaller;
   336     
   354     
   337     eap_variable_data_c* iPacStoreDeviceSeed;
   355     eap_variable_data_c* iPacStoreDeviceSeed;
   338 
   356 
   339 #ifdef USE_PAC_STORE
       
   340 #endif
       
   341 
       
   342 	CEapAuthNotifier* iEapAuthNotifier;
   357 	CEapAuthNotifier* iEapAuthNotifier;
   343 
   358 
   344 
   359 
   345 	
   360 	
   346 //--------------------------------------------------
   361 //--------------------------------------------------
   347 private: // methods
   362 private: // methods
   348 //--------------------------------------------------
   363 //--------------------------------------------------
   349 
   364 
   350 
   365 
   351 	EAP_FUNC_IMPORT abs_tls_am_services_c * get_tls_am_partner();
   366 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H abs_tls_am_services_c * get_tls_am_partner();
   352 
   367 
   353 	abs_eap_am_type_tls_peap_c * get_am_partner();
   368 	abs_eap_am_type_tls_peap_c * get_am_partner();
   354 	
   369 	
   355 	void type_configure_readL(
   370 	void type_configure_readL(
   356 		eap_config_string field,
   371 		eap_config_string field,
   473 	eap_status_e CompleteFilePasswordQuery();
   488 	eap_status_e CompleteFilePasswordQuery();
   474 	
   489 	
   475 	eap_status_e FinalCompleteReadPACStoreDataL(eap_status_e status);
   490 	eap_status_e FinalCompleteReadPACStoreDataL(eap_status_e status);
   476 
   491 
   477 	void ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii);
   492 	void ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii);
   478 	
       
   479 	void UpdatePasswordTimeL();
       
   480 	
       
   481 	void CheckPasswordTimeValidityL();
       
   482 	
       
   483 	/**
       
   484 	* Alter table: remove/add columns.
       
   485 	* 
       
   486 	* @param aDb Reference to database.
       
   487 	* @param aCmd Action type: remove/add column.
       
   488 	* @param aTableName Name of table to be altered.
       
   489 	* @param aColumnName Name of column.
       
   490 	* @param aColumnDef Drop-column-set.
       
   491 	*/  
       
   492 	void AlterTableL( RDbNamedDatabase& aDb,
       
   493 			          TAlterTableCmd aCmd,
       
   494 			          const TDesC& aTableName,
       
   495 			          const TDesC& aColumnName,
       
   496 			          const TDesC& aColumnDef = KNullDesC );
       
   497 	
       
   498 	/**
       
   499 	* Fix old tables for password identity time. 
       
   500 	* 
       
   501 	* Remove password identity time from fast table;
       
   502 	* add password identity time to PAC store table;
       
   503 	* update password identity time.
       
   504 	*/
       
   505 	void FixOldTablesForPwdIdentityTimeL();
       
   506 		
       
   507 	/**
       
   508 	* Add PAC_store_initialized to PAC store
       
   509 	* if it does not exists.
       
   510 	*/
       
   511 	void FixOldTableForPacStoreInitL();
       
   512 	
       
   513 	/**
       
   514 	* Read integer column value.
       
   515 	* 
       
   516 	* @param aDb Reference to database.
       
   517 	* @param aColumnName Name of the target column.
       
   518 	* @param aSqlStatement SQL statement to be used.
       
   519 	* @return Column value.  
       
   520 	**/
       
   521 	TInt64 ReadIntDbValueL( RDbNamedDatabase& aDb,
       
   522 			                const TDesC& aColumnName,
       
   523 			                const TDesC& aSqlStatement );
       
   524 	
   493 	
   525 	eap_status_e ConfigureL();
   494 	eap_status_e ConfigureL();
   526 	
   495 	
   527 	eap_status_e CreateMasterkeyL();
   496 	eap_status_e CreateMasterkeyL();
   528 	
   497 	
   609 		const eap_type_value_e aTunnelingType,
   578 		const eap_type_value_e aTunnelingType,
   610 		const eap_type_value_e aEapType,
   579 		const eap_type_value_e aEapType,
   611 		const bool aIsClient,
   580 		const bool aIsClient,
   612 		const eap_am_network_id_c * const receive_network_id);
   581 		const eap_am_network_id_c * const receive_network_id);
   613 
   582 
   614 	EAP_FUNC_IMPORT virtual ~eap_am_type_tls_peap_symbian_c();
   583 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H virtual ~eap_am_type_tls_peap_symbian_c();
   615 
   584 
   616 	EAP_FUNC_IMPORT eap_status_e shutdown();
   585 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e shutdown();
   617 
   586 
   618 	EAP_FUNC_IMPORT void set_is_valid();
   587 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H void set_is_valid();
   619 
   588 
   620 	EAP_FUNC_IMPORT bool get_is_valid();
   589 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H bool get_is_valid();
   621 
   590 
   622 	EAP_FUNC_IMPORT void set_tls_am_partner(abs_tls_am_services_c * const tls_am_partner);
   591 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H void set_tls_am_partner(abs_tls_am_services_c * const tls_am_partner);
   623 
   592 
   624 #if defined(USE_FAST_EAP_TYPE)
   593 #if defined(USE_FAST_EAP_TYPE)
   625 	/// This function sets pointer to application of TLS. See abs_tls_am_application_eap_fast_c.
   594 	/// This function sets pointer to application of TLS. See abs_tls_am_application_eap_fast_c.
   626 	EAP_FUNC_IMPORT void set_tls_application(abs_tls_am_application_eap_fast_c * const tls_application);
   595 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H void set_tls_application(abs_tls_am_application_eap_fast_c * const tls_application);
   627 	
   596 	
   628  	
   597  	
   629     /**
   598     /**
   630     * Check provisioning mode.
   599     * Check provisioning mode.
   631     * 
   600     * 
   645 		EEapFastNotifierUserAction aUserAction );
   614 		EEapFastNotifierUserAction aUserAction );
   646 	
   615 	
   647 	
   616 	
   648 	void ContinueInitializePacStore();
   617 	void ContinueInitializePacStore();
   649 
   618 
       
   619 
       
   620 	void set_is_pac_store_initialization();
   650 	
   621 	
   651 #endif //#if defined(USE_FAST_EAP_TYPE)
   622 #endif //#if defined(USE_FAST_EAP_TYPE)
   652 
   623 
   653    /**
   624    /**
   654     * Send error notification to common side.
   625     * Send error notification to common side.
   655     * 
   626     * 
   656     * @param aError EAP status.
   627     * @param aError EAP status.
   657     */
   628     */
   658 	void SendErrorNotification( const eap_status_e aError );
   629 	void SendErrorNotification( const eap_status_e aError );
   659 
   630 
   660 	EAP_FUNC_IMPORT void notify_configuration_error(
   631 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H void notify_configuration_error(
   661 		const eap_status_e configuration_status);
   632 		const eap_status_e configuration_status);
   662 
   633 
   663 	EAP_FUNC_IMPORT eap_status_e configure();
   634 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e configure();
   664 
   635 
   665 	void set_am_partner(abs_eap_am_type_tls_peap_c * const partner);
   636 	void set_am_partner(abs_eap_am_type_tls_peap_c * const partner);
   666 	
   637 	
   667 	/** Client calls this function.
   638 	/** Client calls this function.
   668 	 *  EAP-TLS/PEAP AM could do finishing operations to databases etc. based on authentication status and type.
   639 	 *  EAP-TLS/PEAP AM could do finishing operations to databases etc. based on authentication status and type.
   669 	 */
   640 	 */
   670 	EAP_FUNC_IMPORT eap_status_e reset();
   641 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e reset();
   671 
   642 
   672 	/** Client calls this function.
   643 	/** Client calls this function.
   673 	 *  EAP-TLS/PEAP AM could make some fast operations here, heavy operations should be done in the reset() function.
   644 	 *  EAP-TLS/PEAP AM could make some fast operations here, heavy operations should be done in the reset() function.
   674 	 */
   645 	 */
   675 	EAP_FUNC_IMPORT eap_status_e authentication_finished(
   646 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e authentication_finished(
   676 		const bool true_when_successfull,
   647 		const bool true_when_successfull,
   677 		const tls_session_type_e tls_session_type);
   648 		const tls_session_type_e tls_session_type);
   678 
   649 
   679 	/** Client calls this function.
   650 	/** Client calls this function.
   680 	 *  AM must copy identity to output parameters if call is syncronous.
   651 	 *  AM must copy identity to output parameters if call is syncronous.
   681 	 *  This function could be completed asyncronously with abs_eap_am_type_tls_peap_c::complete_query_eap_identity_query() function call.
   652 	 *  This function could be completed asyncronously with abs_eap_am_type_tls_peap_c::complete_query_eap_identity_query() function call.
   682 	 */
   653 	 */
   683 	EAP_FUNC_IMPORT eap_status_e query_eap_identity(
   654 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_eap_identity(
   684 		eap_variable_data_c * const identity,
   655 		eap_variable_data_c * const identity,
   685 		const eap_am_network_id_c * const receive_network_id,
   656 		const eap_am_network_id_c * const receive_network_id,
   686 		const u8_t eap_identifier,
   657 		const u8_t eap_identifier,
   687 		bool * const use_manual_username,
   658 		bool * const use_manual_username,
   688 		eap_variable_data_c * const manual_username,
   659 		eap_variable_data_c * const manual_username,
   693 	 *  This call cancels asyncronous query_SIM_IMSI_or_pseudonym_or_reauthentication_id() function call.
   664 	 *  This call cancels asyncronous query_SIM_IMSI_or_pseudonym_or_reauthentication_id() function call.
   694 	 *  AM must not complete query_SIM_IMSI_or_pseudonym_or_reauthentication_id()
   665 	 *  AM must not complete query_SIM_IMSI_or_pseudonym_or_reauthentication_id()
   695 	 *  with abs_eap_am_type_gsmsim_c::complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_query() after
   666 	 *  with abs_eap_am_type_gsmsim_c::complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_query() after
   696 	 *  cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query() call.
   667 	 *  cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query() call.
   697 	 */
   668 	 */
   698 	EAP_FUNC_IMPORT eap_status_e cancel_identity_query();
   669 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_identity_query();
   699 
   670 
   700 	//
   671 	//
   701 	EAP_FUNC_IMPORT eap_status_e timer_expired(
   672 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e timer_expired(
   702 		const u32_t id, void *data);
   673 		const u32_t id, void *data);
   703 
   674 
   704 	//
   675 	//
   705 	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
   676 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e timer_delete_data(
   706 		const u32_t id, void *data);
   677 		const u32_t id, void *data);
   707 
   678 
   708 	/**
   679 	/**
   709 	 * The type_configure_read() function reads the configuration data identified
   680 	 * The type_configure_read() function reads the configuration data identified
   710 	 * by the field string of field_length bytes length. Adaptation module must direct
   681 	 * by the field string of field_length bytes length. Adaptation module must direct
   711 	 * the query to some persistent store.
   682 	 * the query to some persistent store.
   712 	 * @param field is generic configure string idenfying the required configure data.
   683 	 * @param field is generic configure string idenfying the required configure data.
   713 	 * @param data is pointer to existing eap_variable_data object.
   684 	 * @param data is pointer to existing eap_variable_data object.
   714 	 */
   685 	 */
   715 	EAP_FUNC_IMPORT eap_status_e type_configure_read(
   686 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e type_configure_read(
   716 		const eap_configuration_field_c * const field,
   687 		const eap_configuration_field_c * const field,
   717 		eap_variable_data_c * const data);
   688 		eap_variable_data_c * const data);
   718 
   689 
   719 	/**
   690 	/**
   720 	 * The type_configure_write() function writes the configuration data identified
   691 	 * The type_configure_write() function writes the configuration data identified
   721 	 * by the field string of field_length bytes length. Adaptation module must direct
   692 	 * by the field string of field_length bytes length. Adaptation module must direct
   722 	 * the action to some persistent store.
   693 	 * the action to some persistent store.
   723 	 * @param field is generic configure string idenfying the required configure data.
   694 	 * @param field is generic configure string idenfying the required configure data.
   724 	 * @param data is pointer to existing eap_variable_data object.
   695 	 * @param data is pointer to existing eap_variable_data object.
   725 	 */
   696 	 */
   726 	EAP_FUNC_IMPORT eap_status_e type_configure_write(
   697 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e type_configure_write(
   727 		const eap_configuration_field_c * const field,
   698 		const eap_configuration_field_c * const field,
   728 		eap_variable_data_c * const data);
   699 		eap_variable_data_c * const data);
   729 
   700 
   730 	EAP_FUNC_IMPORT eap_status_e alert_received(
   701 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e alert_received(
   731 		const tls_alert_level_e alert_level,
   702 		const tls_alert_level_e alert_level,
   732 		const tls_alert_description_e alert_description);
   703 		const tls_alert_description_e alert_description);
   733 
   704 
   734 	EAP_FUNC_IMPORT eap_status_e query_cipher_suites_and_previous_session();
   705 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_cipher_suites_and_previous_session();
   735 
   706 
   736 #if defined(USE_EAP_TLS_SESSION_TICKET)
   707 #if defined(USE_EAP_TLS_SESSION_TICKET)
   737 	EAP_FUNC_IMPORT eap_status_e query_new_session_ticket();
   708 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_new_session_ticket();
   738 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
   709 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
   739 
   710 
   740 	EAP_FUNC_IMPORT eap_status_e select_cipher_suite_and_check_session_id(
   711 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e select_cipher_suite_and_check_session_id(
   741 		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const cipher_suite_proposal,
   712 		EAP_TEMPLATE_CONST eap_array_c<u16_t> * const cipher_suite_proposal,
   742 		const eap_variable_data_c * const session_id
   713 		const eap_variable_data_c * const session_id
   743 #if defined(USE_EAP_TLS_SESSION_TICKET)
   714 #if defined(USE_EAP_TLS_SESSION_TICKET)
   744 		, const tls_extension_c * const session_ticket
   715 		, const tls_extension_c * const session_ticket
   745 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
   716 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
   746 		); 
   717 		); 
   747 
   718 
   748 
   719 
   749 	EAP_FUNC_IMPORT eap_status_e verify_certificate_chain(
   720 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e verify_certificate_chain(
   750 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain,
   721 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain,
   751 		const tls_cipher_suites_e required_cipher_suite);
   722 		const tls_cipher_suites_e required_cipher_suite);
   752 
   723 
   753 	EAP_FUNC_IMPORT eap_status_e query_certificate_chain(
   724 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_certificate_chain(
   754 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_authorities,
   725 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_authorities,
   755 		EAP_TEMPLATE_CONST eap_array_c<u8_t> * const certificate_types,
   726 		EAP_TEMPLATE_CONST eap_array_c<u8_t> * const certificate_types,
   756 		const tls_cipher_suites_e required_cipher_suite);
   727 		const tls_cipher_suites_e required_cipher_suite);
   757 
   728 
   758 	EAP_FUNC_IMPORT eap_status_e query_certificate_authorities_and_types();
   729 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_certificate_authorities_and_types();
   759 
   730 
   760 	EAP_FUNC_IMPORT eap_status_e query_dh_parameters(
   731 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_dh_parameters(
   761 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain,
   732 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain,
   762 		const tls_cipher_suites_e required_cipher_suite);
   733 		const tls_cipher_suites_e required_cipher_suite);
   763 
   734 
   764 	EAP_FUNC_IMPORT eap_status_e query_realm(
   735 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_realm(
   765 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain);
   736 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain);
   766 
   737 
   767 	// This is always syncronous call.
   738 	// This is always syncronous call.
   768 	EAP_FUNC_IMPORT eap_status_e save_tls_session(
   739 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e save_tls_session(
   769 		const eap_variable_data_c * const session_id,
   740 		const eap_variable_data_c * const session_id,
   770 		const eap_variable_data_c * const master_secret,
   741 		const eap_variable_data_c * const master_secret,
   771 		const tls_cipher_suites_e used_cipher_suite
   742 		const tls_cipher_suites_e used_cipher_suite
   772 #if defined(USE_EAP_TLS_SESSION_TICKET)
   743 #if defined(USE_EAP_TLS_SESSION_TICKET)
   773 		, const tls_extension_c * const new_session_ticket
   744 		, const tls_extension_c * const new_session_ticket
   774 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
   745 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
   775 		);
   746 		);
   776 
   747 
   777 		/// This is always syncronous call.
   748 		/// This is always syncronous call.
   778 	/// Function encrypts data with own RSA private key.
   749 	/// Function encrypts data with own RSA private key.
   779 	EAP_FUNC_IMPORT eap_status_e rsa_encrypt_with_public_key(
   750 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e rsa_encrypt_with_public_key(
   780 		const eap_variable_data_c * const premaster_secret);
   751 		const eap_variable_data_c * const premaster_secret);
   781 
   752 
   782 	/// This is always syncronous call.
   753 	/// This is always syncronous call.
   783 	/// Function decrypts data with own RSA private key.
   754 	/// Function decrypts data with own RSA private key.
   784 	EAP_FUNC_IMPORT eap_status_e rsa_decrypt_with_private_key(
   755 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e rsa_decrypt_with_private_key(
   785 		const eap_variable_data_c * const encrypted_premaster_secret);
   756 		const eap_variable_data_c * const encrypted_premaster_secret);
   786 
   757 
   787 	/// Function signs data with own PKI private key.
   758 	/// Function signs data with own PKI private key.
   788 	/// NOTE this is syncronous at moment. Asyncronous completion needs many changes.
   759 	/// NOTE this is syncronous at moment. Asyncronous completion needs many changes.
   789 	EAP_FUNC_IMPORT eap_status_e sign_with_private_key(
   760 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e sign_with_private_key(
   790 		const eap_variable_data_c * const message_hash);
   761 		const eap_variable_data_c * const message_hash);
   791 
   762 
   792 	/// Function verifies signed data with peer PKI public key.
   763 	/// Function verifies signed data with peer PKI public key.
   793 	/// NOTE this is syncronous at moment. Asyncronous completion needs many changes.
   764 	/// NOTE this is syncronous at moment. Asyncronous completion needs many changes.
   794 	EAP_FUNC_IMPORT eap_status_e verify_with_public_key(
   765 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e verify_with_public_key(
   795 		const eap_variable_data_c * const message_hash,
   766 		const eap_variable_data_c * const message_hash,
   796 		const eap_variable_data_c * const signed_message_hash);
   767 		const eap_variable_data_c * const signed_message_hash);
   797 
   768 
   798 
   769 
   799 	EAP_FUNC_IMPORT eap_status_e cancel_query_cipher_suites_and_previous_session();
   770 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_query_cipher_suites_and_previous_session();
   800 
   771 
   801 	EAP_FUNC_IMPORT eap_status_e cancel_select_cipher_suite_and_check_session_id();
   772 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_select_cipher_suite_and_check_session_id();
   802 
   773 
   803 	EAP_FUNC_IMPORT eap_status_e cancel_verify_certificate_chain();
   774 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_verify_certificate_chain();
   804 
   775 
   805 	EAP_FUNC_IMPORT eap_status_e cancel_query_certificate_chain();
   776 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_query_certificate_chain();
   806 
   777 
   807 	EAP_FUNC_IMPORT eap_status_e cancel_query_certificate_authorities_and_types();
   778 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_query_certificate_authorities_and_types();
   808 
   779 
   809 	EAP_FUNC_IMPORT eap_status_e cancel_query_dh_parameters();
   780 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_query_dh_parameters();
   810 
   781 
   811 	EAP_FUNC_IMPORT eap_status_e cancel_query_realm();
   782 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_query_realm();
   812 
   783 
   813 	EAP_FUNC_IMPORT eap_status_e cancel_query_dsa_parameters();
   784 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_query_dsa_parameters();
   814 
   785 
   815 	EAP_FUNC_IMPORT eap_status_e cancel_rsa_encrypt_with_public_key();
   786 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_rsa_encrypt_with_public_key();
   816 
   787 
   817 	EAP_FUNC_IMPORT eap_status_e cancel_rsa_decrypt_with_private_key();
   788 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_rsa_decrypt_with_private_key();
   818 
   789 
   819 	EAP_FUNC_IMPORT eap_status_e cancel_sign_with_private_key();
   790 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_sign_with_private_key();
   820 
   791 
   821 	EAP_FUNC_IMPORT eap_status_e cancel_verify_with_public_key();
   792 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_verify_with_public_key();
   822 
   793 
   823 
   794 
   824 	eap_status_e complete_read_own_certificate(
   795 	eap_status_e complete_read_own_certificate(
   825 		const RPointerArray<CX509Certificate>& aCertChain, eap_status_e aStatus);
   796 		const RPointerArray<CX509Certificate>& aCertChain, eap_status_e aStatus);
   826 		
   797 		
   843 	 * Otherwise returns false. 
   814 	 * Otherwise returns false. 
   844 	 * Full authentication should be done if the session is not valid.
   815 	 * Full authentication should be done if the session is not valid.
   845 	 */
   816 	 */
   846 	bool is_session_valid();
   817 	bool is_session_valid();
   847 	
   818 	
   848 	EAP_FUNC_IMPORT void set_peap_version(
   819 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H void set_peap_version(
   849 		const peap_version_e peap_version,
   820 		const peap_version_e peap_version,
   850 		const bool use_tppd_tls_peap,
   821 		const bool use_tppd_tls_peap,
   851 		const bool use_tppd_peapv1_acknowledge_hack);
   822 		const bool use_tppd_peapv1_acknowledge_hack);
   852 
   823 
   853 #if defined(USE_FAST_EAP_TYPE)
   824 #if defined(USE_FAST_EAP_TYPE)
   854 
   825 
   855 	// This is commented in tls_am_application_eap_fast_c::read_authority_identity().
   826 	// This is commented in tls_am_application_eap_fast_c::read_authority_identity().
   856 	// Parameter is the authority identity (A-ID).
   827 	// Parameter is the authority identity (A-ID).
   857 	EAP_FUNC_IMPORT eap_status_e read_authority_identity(eap_variable_data_c * const authority_identity);
   828 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e read_authority_identity(eap_variable_data_c * const authority_identity);
   858 
   829 
   859 	// This is commented in tls_am_application_eap_fast_c::query_pac_of_type().
   830 	// This is commented in tls_am_application_eap_fast_c::query_pac_of_type().
   860 	EAP_FUNC_IMPORT eap_status_e query_pac_of_type(const eap_fast_pac_type_e pac_type);
   831 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_pac_of_type(const eap_fast_pac_type_e pac_type);
   861 	
   832 	
   862 #if defined(USE_EAP_CORE_SERVER)
   833 #if defined(USE_EAP_CORE_SERVER)
   863 	/**
   834 	/**
   864 	 * This function call is always asyncronous.
   835 	 * This function call is always asyncronous.
   865 	 * It will be completed always with complete_verify_pac() function call.
   836 	 * It will be completed always with complete_verify_pac() function call.
   866 	 * Function verifies the received PAC is valid.
   837 	 * Function verifies the received PAC is valid.
   867 	 */
   838 	 */
   868 	EAP_FUNC_IMPORT eap_status_e verify_pac(const eap_fast_variable_data_c * const tlv_pac);
   839 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e verify_pac(const eap_fast_variable_data_c * const tlv_pac);
   869 #endif //#if defined(USE_EAP_CORE_SERVER)
   840 #endif //#if defined(USE_EAP_CORE_SERVER)
   870 
   841 
   871 	// This is commented in eap_am_fast_pac_store_services_c::query_user_permission_for_A_ID().
   842 	// This is commented in eap_am_fast_pac_store_services_c::query_user_permission_for_A_ID().
   872 	EAP_FUNC_IMPORT eap_status_e query_user_permission_for_A_ID(
   843 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_user_permission_for_A_ID(
   873 		const eap_fast_pac_store_pending_operation_e in_pending_operation,
   844 		const eap_fast_pac_store_pending_operation_e in_pending_operation,
   874 		const eap_fast_variable_data_c * const in_pac_attribute_A_ID_info,
   845 		const eap_fast_variable_data_c * const in_pac_attribute_A_ID_info,
   875 		const eap_fast_variable_data_c * const in_pac_attribute_A_ID);
   846 		const eap_fast_variable_data_c * const in_pac_attribute_A_ID);
   876 
   847 
   877 	// This is commented in eap_am_fast_pac_store_services_c::read_PAC_store_data().
   848 	// This is commented in eap_am_fast_pac_store_services_c::read_PAC_store_data().
   878 	EAP_FUNC_IMPORT eap_status_e read_PAC_store_data(
   849 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e read_PAC_store_data(
   879 		const eap_fast_pac_store_pending_operation_e in_pending_operation,
   850 		const eap_fast_pac_store_pending_operation_e in_pending_operation,
   880 		EAP_TEMPLATE_CONST eap_array_c<eap_fast_pac_store_data_c> * const in_references);
   851 		EAP_TEMPLATE_CONST eap_array_c<eap_fast_pac_store_data_c> * const in_references);
   881 
   852 
   882 	// This is commented in eap_am_fast_pac_store_services_c::write_PAC_store_data().
   853 	// This is commented in eap_am_fast_pac_store_services_c::write_PAC_store_data().
   883 	EAP_FUNC_IMPORT eap_status_e write_PAC_store_data(
   854 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e write_PAC_store_data(
   884 		const bool when_true_must_be_synchronous_operation,
   855 		const bool when_true_must_be_synchronous_operation,
   885 		const eap_fast_pac_store_pending_operation_e in_pending_operation,
   856 		const eap_fast_pac_store_pending_operation_e in_pending_operation,
   886 		EAP_TEMPLATE_CONST eap_array_c<eap_fast_pac_store_data_c> * const in_references_and_data_blocks);
   857 		EAP_TEMPLATE_CONST eap_array_c<eap_fast_pac_store_data_c> * const in_references_and_data_blocks);
   887 
   858 
   888 	// This is commented in eap_am_fast_pac_store_services_c::complete_add_imported_PAC_file().
   859 	// This is commented in eap_am_fast_pac_store_services_c::complete_add_imported_PAC_file().
   889 	EAP_FUNC_IMPORT eap_status_e complete_add_imported_PAC_file(
   860 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e complete_add_imported_PAC_file(
   890 		const eap_status_e in_completion_status,
   861 		const eap_status_e in_completion_status,
   891 		const eap_variable_data_c * const in_imported_PAC_filename,
   862 		const eap_variable_data_c * const in_imported_PAC_filename,
   892 		const eap_variable_data_c * const out_used_group_reference);
   863 		const eap_variable_data_c * const out_used_group_reference);
   893 		
   864 		
   894 	// This is commented in eap_am_fast_pac_store_services_c::complete_remove_PAC().
   865 	// This is commented in eap_am_fast_pac_store_services_c::complete_remove_PAC().
   895 	EAP_FUNC_IMPORT eap_status_e complete_remove_PAC(
   866 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e complete_remove_PAC(
   896 		const eap_status_e completion_status,
   867 		const eap_status_e completion_status,
   897 		const eap_variable_data_c * const out_used_group_reference);
   868 		const eap_variable_data_c * const out_used_group_reference);
   898 
   869 
   899 	// This is commented in eap_am_fast_pac_store_services_c::complete_remove_IAP_reference().
   870 	// This is commented in eap_am_fast_pac_store_services_c::complete_remove_IAP_reference().
   900 	EAP_FUNC_IMPORT eap_status_e complete_remove_IAP_reference(
   871 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e complete_remove_IAP_reference(
   901 		const eap_status_e completion_status);
   872 		const eap_status_e completion_status);
   902 
   873 
   903 	// This is commented in eap_am_fast_pac_store_services_c::cancel_PAC_store_operations().
   874 	// This is commented in eap_am_fast_pac_store_services_c::cancel_PAC_store_operations().
   904 	EAP_FUNC_IMPORT eap_status_e cancel_PAC_store_operations();
   875 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e cancel_PAC_store_operations();
   905 	
   876 	
   906 	/**
   877 	/**
   907 	 * This function initializes PAC store.
   878 	 * This function initializes PAC store.
   908 	 * Imported PACs and other configuration can be done within this function call.
   879 	 * Imported PACs and other configuration can be done within this function call.
   909 	 * If asyncronous operations are needed the operations must be completed
   880 	 * If asyncronous operations are needed the operations must be completed
   910 	 * by complete_initialize_PAC_store() function call.
   881 	 * by complete_initialize_PAC_store() function call.
   911 	 */
   882 	 */
   912 	EAP_FUNC_IMPORT eap_status_e initialize_PAC_store(
   883 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e initialize_PAC_store(
   913 	    const eap_fast_completion_operation_e aCompletionOperation,
   884 	    const eap_fast_completion_operation_e aCompletionOperation,
   914 	    const eap_fast_initialize_pac_store_completion_e aCompletion );
   885 	    const eap_fast_initialize_pac_store_completion_e aCompletion );
   915 
   886 
   916 	
   887 	
   917 	/**
   888 	/**
   921     * Waiting note is displayed.
   892     * Waiting note is displayed.
   922     * 
   893     * 
   923     * @param provisioning_mode Authenticated or unauthenticated provisioning mode.
   894     * @param provisioning_mode Authenticated or unauthenticated provisioning mode.
   924     * @param pac_type PAC type provisioned by server.
   895     * @param pac_type PAC type provisioned by server.
   925     */
   896     */
   926 	EAP_FUNC_IMPORT eap_status_e indicates_eap_fast_provisioning_starts(
   897 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e indicates_eap_fast_provisioning_starts(
   927 		const eap_fast_completion_operation_e provisioning_mode,
   898 		const eap_fast_completion_operation_e provisioning_mode,
   928 		const eap_fast_pac_type_e pac_type );
   899 		const eap_fast_pac_type_e pac_type );
   929 
   900 
   930 	/**
   901 	/**
   931 	* Indicate provisioning end.
   902 	* Indicate provisioning end.
   936 	* @param provisioning_successfull True if provisioning is successful,
   907 	* @param provisioning_successfull True if provisioning is successful,
   937 	*                                 false - otherwise.
   908 	*                                 false - otherwise.
   938 	* @param provisioning_mode Authenticated or unauthenticated provisioning mode.
   909 	* @param provisioning_mode Authenticated or unauthenticated provisioning mode.
   939 	* @param pac_type PAC type provisioned by server.
   910 	* @param pac_type PAC type provisioned by server.
   940 	*/
   911 	*/
   941 	EAP_FUNC_IMPORT eap_status_e indicates_eap_fast_provisioning_ends(
   912 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e indicates_eap_fast_provisioning_ends(
   942 		const bool provisioning_successfull,
   913 		const bool provisioning_successfull,
   943 		const eap_fast_completion_operation_e provisioning_mode,
   914 		const eap_fast_completion_operation_e provisioning_mode,
   944 		const eap_fast_pac_type_e pac_type );
   915 		const eap_fast_pac_type_e pac_type );
   945 
   916 
   946 #endif //#if defined(USE_FAST_EAP_TYPE)
   917 #endif //#if defined(USE_FAST_EAP_TYPE)
   951 	/**
   922 	/**
   952 	* Check whether the PAP password is still valid or
   923 	* Check whether the PAP password is still valid or
   953 	* should we prompt user again to enter the password.
   924 	* should we prompt user again to enter the password.
   954 	* @return True - password is valid, false - otherwise.
   925 	* @return True - password is valid, false - otherwise.
   955 	*/ 
   926 	*/ 
   956 	EAP_FUNC_IMPORT bool is_ttls_pap_session_valid();
   927 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H bool is_ttls_pap_session_valid();
   957 
   928 
   958 	/**
   929 	/**
   959 	* From interface tls_am_services_c.
   930 	* From interface tls_am_services_c.
   960 	* 
   931 	* 
   961 	* The interface is defined in common part. Request asynchronously
   932 	* The interface is defined in common part. Request asynchronously
   964 	* complete_query_ttls_pap_username_and_password( ... ).
   935 	* complete_query_ttls_pap_username_and_password( ... ).
   965 	* 	* 
   936 	* 	* 
   966 	* @param aInSrvChallenge Server challenge. It could be empty.
   937 	* @param aInSrvChallenge Server challenge. It could be empty.
   967     * @return EAP status.
   938     * @return EAP status.
   968 	*/
   939 	*/
   969 	EAP_FUNC_IMPORT eap_status_e query_ttls_pap_username_and_password(
   940 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H eap_status_e query_ttls_pap_username_and_password(
   970 		const eap_variable_data_c * const aInSrvChallenge );
   941 		const eap_variable_data_c * const aInSrvChallenge );
   971 	
   942 	
   972 	/**
   943 	/**
   973 	* The method has empty implementation which is defined for
   944 	* The method has empty implementation which is defined for
   974 	* compilation purpose.
   945 	* compilation purpose.
  1028  	eap_status_e ReadFileConfig();
   999  	eap_status_e ReadFileConfig();
  1029 #endif
  1000 #endif
  1030 
  1001 
  1031 #endif 
  1002 #endif 
  1032 
  1003 
  1033 	EAP_FUNC_IMPORT void DlgComplete( TInt aStatus );
  1004 	/** These two are documented in MNotificationCallback class **/
  1034 
  1005 	
  1035 	
  1006 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H void DlgComplete( TInt aStatus );
       
  1007 
       
  1008 	EAP_FUNC_VISIBILITY_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H TBool IsMasterKeyAndPasswordMatchingL(
       
  1009 	      const TDesC16 & aPassword);
       
  1010 	      
  1036 }; // class eap_am_type_tls_peap_symbian_c
  1011 }; // class eap_am_type_tls_peap_symbian_c
  1037 
  1012 
  1038 
  1013 
  1039 #endif //#if !defined(_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_)
  1014 #endif //#if !defined(_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_)
  1040 
  1015