view src/ui3/bmi/mmiPins.h @ 640:16eb1b9640dc

target gtm900 renamed to gtm900mgc2 This change reflects the fact that the build target in question supports MGC2GSMT hardware only, and will NOT work on other hw that confusing bears the same end user name of GTM900, neither the LoCosto-based GTM900-C nor the Calypso-based MG01GSMT that has a different and incompatible RFFE. If we ever get our hands on a piece of MG01GSMT hw and add support for it, that other target will be named gtm900mg01.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 31 Jan 2020 00:46:07 +0000
parents 6a4d9f47793e
children
line wrap: on
line source


/*******************************************************************************

					CONDAT (UK)

********************************************************************************                                                                              

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.                                 
                                                                              
********************************************************************************

 $Project name:	Basic MMI                                                      
 $Project code:	BMI (6349)                                                           
 $Module:		MMI
 $File:		    MmiPins.h
 $Revision:		1.0                                                       
                                                                              
 $Author:		Condat(UK)                                                         
 $Date:		    25/10/00                                                      
                                                                               
********************************************************************************
                                                                              
 Description:
 
    MMI PIN / PUK entry handling

                        
********************************************************************************

 $History: MmiPins.h

 	Apr 03, 2007    ER: OMAPS00122561  x0pleela
	Description:   [ACI] Phone lock feature has to be supported by ACI
	Solution: Phone Lock ER implementation 

  	Nov 13, 2006 DR: OMAPS00103356  x0pleela
 	Description: SIMP:Master unlock failed through MMI
 	Solution: Defined new enums SMLK_SHOW_WRONG_PWD: if Master unlocking password is wrong
 			and SMLK_SHOW_DEP_CATS_UNLOCKE: if Master unlocking operation is successful

   	Sep 26, 2006 DR: OMAPS00095524 x0pleela
 	Description:Implement 2 missing SIM Lock types
 	Solution: Made the following changes
 			- Added new enum INPUT_PBLOCK_PIN_REQ to send request for entering 
 				Blocked Network Password
			- Added prototype of functions setLockTypePb(), simlock_check_PBCatLock()
 	xashmic 21 Sep 2006, OMAPS00095831
 	Description: USB enumeration does not happen in PIN/PUK/Insert SIM scenarios
 	Solution: When booting up without SIM card, or prompting for PIN/PUK/SIMP entry, 
 	enumerate all the USB ports automatically 
 
 	Sep 08, 2006 DR: OMAPS00091250 x0pleela
 	Description:The phone resets if no MEPD data is presented
 	Solution: Added new enums NO_MEPD, NO_MEPD_DATA,	TXT_NO_MEPD to display the string 
 			MEPD not present

	July 31, 2006 ER: OMAPS00087586, OMAPS00087587 x0pleela
	Description: 	OMAPS00087586: MasterKey funtion in TCS3.2 SW
				OMAPS00087587: Time Penaly feature extend handset security 
	Solution:Made the following changes
	1) Added new event  SIM_LOCK_BUSY_UNBLOCK
	
	July 21, 2006 ER: OMAPS00087586, OMAPS00087587 x0pleela
	Description: 	OMAPS00087586: MasterKey funtion in TCS3.2 SW
				OMAPS00087587: Time Penaly feature extend handset security 
	Solution:Made the following changes
		1) Defined new enumerations SMLK_MASTERKEY,INPUT_MASTER_KEY_REQ,
			SIM_LOCK_REQ_MKPWD,TXT_ENTER_MKPWD,INPUT_SIM_MKPWD,
			SIM_MKPWD_END,SIM_LOCK_MKPWD_FAIL,SIM_LOCK_MKPWDSUCC,
			SIM_LOCK_BUSY,SIM_LOCK_BUSY_BOOTUP,SMLK_SHOW_MK_FAIL,
			SMLK_SHOW_MK_SUCC
		2) Added prototypes of the following functions:
			SIMLock_MasterKeyUnlock(), SIMLock_MasterKeyUnlock_bootup(), simlock_check_masterkey(), 
			simlock_check_NWCatLock(), simlock_check_NSCatLock(), simlock_check_SPCatLock(), 
			simlock_check_CPCatLock(), simlock_check_SIMCatLock(), simlock_check_CatBlock(), 
			SIMLock_unblock_ME(), mmi_simlock_category_menus(), mmi_simlock_master_unlock(), 
			simlock_get_masterkey_status(), simp_unlock_Category()


	May 13, 2006 DR: OMAPS00067919 x0pleela
	Description: SIMP:On repeat Depersonalisation with invalid password MEPD unblock key should 
				be asked not Puk1.
	Solution: Removed new enumerations UNBLOCK_CODE_REQ, UNBLOCK_REQ_ACT_INFO, 
			TXT_UNBLOCK_CODE, UNBLOCK_CODE to handle unblock code for SIMP feature
	
	Apr 19, 2006 DR:OMAPs00067912 x0pleela
	Description: SIMP:On repeat Depersonalisation with invalid password MEPD unblock key should 
				be asked not Puk1.
	Solution: Defined new enumerations UNBLOCK_CODE_REQ, UNBLOCK_REQ_ACT_INFO, 
			TXT_UNBLOCK_CODE, UNBLOCK_CODE to handle unblock code for SIMP feature
	
	Nov 24, 2005 DR: OMAPS00045909 - Shashi Shekar B.S.
	Description: Improve IMEI control mechanism
	Solution : When MMI calls sAT_PLUSCFUN, if an IMEI invalid error is returned,
		we will block on that screen & will not allow the user to browse menus further,
		since the PS will not be booted at all!!!

	July 19, 2005 REF: CRR LOCOSTO-ENH-28173 xpradipg
  	Description: To provide MMI Support to enable/disable/change password and 
  				query all the Personalization locks
  	Solution: Integration of the changes for the same provided by the soldel 
  			  team
  			  
  	June 16, 2005  REF: CRR 31267  x0021334
	Description: Handset ignore the initializtion of the PIN1/PIN2
	Fix:	Cheking is done to ascertain if PIN1/PIN2 are initialised. If not, appropriate
	       message is displayed to the user.

	25/10/00			Original Condat(UK) BMI version.	
	   
 $End

*******************************************************************************/
#ifndef _DEF_MMI_PINS_H_
#define _DEF_MMI_PINS_H_

#define ALLOC_MEMORY mfwAlloc
#define FREE_MEMORY  mfwFree

//API - 30/10/02 Move these defines to the header file 1162
#define MAX_DIG 		30			/* maximum number of digits */
#define MAX_PIN 	 	16			/* maximum number of PIN/PUK, SPR1351, simlock passwords can be up to 16 chars */
#define MAX_PIN_EN_DIS 	8			/*SPR 2145 maximum string length for PIN1 when enabling/disabling PIN1 */
#define MIN_PIN 	 	4
#define TIMERESULT		500			/*   time for results(later to change!!*/
#define TIMEOUT 		30000		/* time for entering	     */

//x0pleela 09 Mar, 2007 ER: OMAPS00122561
#ifdef FF_PHONE_LOCK
#define PH_MAX_DIG 	4 /*MAX digits for Phone unlock code*/
#endif

/* typedefs */

typedef enum
{
	INPUT_PIN1 = PinsDummy,
	INPUT_PIN2,
	INPUT_PUK1,
#ifdef SIM_PERS
	PERM_BLK1,
#endif
    INPUT_PUK2,
	INPUT_NEW_PIN,
	INPUT_NEW_PIN_AGAIN,
	INPUT_NEW_PIN2,
	INPUT_NEW_PIN2_AGAIN,	
#ifdef SIM_PERS
	INPUT_SIM_PLOCK,
	TXT_ENTER_PLOCK,
	SIM_LOCK_STATUS_END,
       SIM_PLOCK_END,
	SIM_LOCK_ENDSUCC,
       SIM_LOCK_ENDIS_FAIL,   
       SIM_LOCK_REQ_OLD,
       SIM_LOCK_STATUS,
       SIM_LOCK_REQ_NEW,
       TXT_ENTER_NEW_SIMLOCK,
       TXT_ENTER_NEW_SIMLOCK_AGAIN,
       INPUT_NEW_SIM_PLOCK,
       INPUT_NEW_SIM_PLOCK_AGAIN,
       NEW_SIM_PLOCK_END,
       NEW_SIM_PLOCK_FAIL,
       SIM_LOCK_NEW_ENDISFAIL,
       SIM_LOCK_NEW_ENDSUCC,
	SIM_LOCK_REQ_FCPWD,
	SIM_LOCK_FCPWD_FAIL,
	SIM_LOCK_FCPWDSUCC,
	TXT_ENTER_FCPWD,
	INPUT_SIM_FCPWD,
	SIM_FCPWD_END,
	FAILURE_PASS_CHG,
	 SIM_LOCK_NEW_ENDSUCC_CKEY,
	 INPUT_SIM_PIN_REQ,
	INPUT_NLOCK_PIN_REQ,
	INPUT_NSLOCK_PIN_REQ,
	INPUT_SPLOCK_PIN_REQ,
	INPUT_CLOCK_PIN_REQ,
	SIM_LOCK_ALREADY_ENDIS,
	SIM_LOCK_PERS_CHK_OK,
	SIM_LOCK_SIM_REM,
	SMLK_PUK,
	SMLK_SHOW_FC_FAIL,
	SMLK_SHOW_FC_SUCC,
	SMLK_SHOW_FC_FAIL1,
//x0pleela 20 July, 2006 ER: OMAPS00087586, OMAPS00087587
	SMLK_MASTERKEY,
	INPUT_MASTER_KEY_REQ,
	SIM_LOCK_REQ_MKPWD,
	TXT_ENTER_MKPWD,
	INPUT_SIM_MKPWD,
	SIM_MKPWD_END,
	SIM_LOCK_MKPWD_FAIL,
	SIM_LOCK_MKPWDSUCC,
	SIM_LOCK_BUSY,
	SIM_LOCK_BUSY_BOOTUP,
	SMLK_SHOW_MK_FAIL,
	SMLK_SHOW_MK_SUCC,
	SIM_LOCK_BUSY_UNBLOCK,
	INPUT_PBLOCK_PIN_REQ, //x0pleela 25 Sep, 2006 ER: OMAPS00095524
	SMLK_SHOW_WRONG_PWD, //x0pleela 13 Nov, 2006 DR: OMAPS00103356  if Master unlocking password is wrong
	SMLK_SHOW_DEP_CATS_UNLOCKED, //x0pleela 13 Nov, 2006 DR: OMAPS00103356  if Master unlocking operation is successful
#endif
	INSERT_CARD,
	CARD_REJECTED,
	PIN_OK,
	PIN2_OK,
	PIN1_OK,
	PIN1_STATUS,	
	PIN1_STATUS_END,	
	PIN2_ABORT,
	PIN1_ABORT,
	PIN1_REQ,
	PIN2_REQ,
	PIN1_REQ_ATT,         
	PUK1_REQ_ACT_INFO,    
	PUK1_REQ,
#ifdef SIM_PERS
	PERM_BLK,
	PUK_FCM_REQ,
#endif
	PUK1_OK_END,
    PIN1_REQ_OLD,
    PIN2_REQ_OLD,	
	GSM_FAIL,             
	NEW_PIN_FAIL,
	NEW_PIN2_FAIL,
	PUK1_REQ_VER_INFO,    	
	PUK1_UNBL_FAIL_INFO,  	
	PUK1_UNBL_FATAL_ERROR,	
    INVALID_CARD,	
	NO_SIM_CARD,          			
	SIM_UNLOCK_OK,        	
	SIM_LOCK_ERR,
	SIM_PLOCK_REQ,
	SIM_NLOCK_REQ,						
	SIM_NSLOCK_REQ,						
	SIM_SPLOCK_REQ,						
	SIM_CLOCK_REQ,						
	SIM_PLOCK,						
	SIM_NLOCK,
	SIM_NSLOCK,
	SIM_SPLOCK,
	SIM_CLOCK,
    TXT_ENTER_PIN1,
	TXT_ENTER_PIN2,
    TXT_ENTER_PUK1,
#ifdef SIM_PERS
    ME_PERM_BLK,
#endif
	TXT_ENTER_PUK2,
    TXT_ENTER_NEW_PIN,
	TXT_ENTER_NEW_PIN2,
    TXT_ENTER_NEW_PIN_AGAIN,
	TXT_ENTER_NEW_PIN_AGAIN2,
    TXT_INVALID_CARD,
    TXT_NO_CARD,
	TXT_INSERT_CARD,
    PIN1_END,
	PIN2_END,
    PUK1_END,
    PIN_OK_INFO,
	PIN_OK_END,
    TXT_SIM_LOCK_ALL,
	TXT_SIM_PLOCK,
	TXT_SIM_NLOCK,
	TXT_SIM_NSLOCK,
	TXT_SIM_SPLOCK,
	TXT_SIM_CLOCK,
    PUK1_UNBL_SUCC,
    SIM_REMOVED,
    SIM_LOCK_ALL,
	PIN1_CH_END,
	PIN2_CH_END,
    UNBL_OK,
	FDN_UNBL_OK,
	PIN2_REQ_ATT,
	PIN1_CH_SUCC,
	PIN2_CH_SUCC,
	PUK2_REQ,
	NEW_PIN_END,
	NEW_PIN2_END,
	PIN1_ENAB_END,
	PIN1_DISAB_END,
	PIN1_ENDIS_FAIL,
	SETT_ABORT,
	FDN_ACT_END,
	FDN_ACTIVATED,
	ADN_ACTIVATED,
	FDN_FAIL,
	FDN_WAIT,
	FDN_DEACT_END,
	IDLE_GSM_FAIL,
	PIN2_SIM_FAILURE,    // Marcus: Issue 1419: 16/12/2002
	SIM_LOCKED, // June 16, 2005  REF: CRR 31267  x0021334
	SIM_LOCKED_EMR_EDITOR, // June 16, 2005  REF: CRR 31267  x0021334
	INVALID_IMEI, // Nov 24, 2005, a0876501, DR: OMAPS00045909
	SHOW_IMEI_INVALID,// Nov 24, 2005, a0876501, DR: OMAPS00045909
	TXT_INVALID_IMEI // Nov 24, 2005, a0876501, DR: OMAPS00045909
//x0pleela 18 Oct, 2006 DR: OMAPS00099660
//Flagging the following enums
#ifdef SIM_PERS	
	//x0pleela 30 Aug, 2006 DR: OMAPS00091250
	, NO_MEPD,
	NO_MEPD_DATA,
	TXT_NO_MEPD	
#endif
//x0pleela 05 Mar, 2007  ER: OMAPS00122561
#ifdef FF_PHONE_LOCK
	,PH_LOCK_ALREADY_ENDIS,
	PH_LOCK_STATUS,
	PH_LOCK_REQ_OLD,
	TXT_ENTER_PHLOCK,
	INPUT_PH_LOCK,
	PH_LOCK_END,
	PH_LOCK_REQ_NEW,
	TXT_ENTER_NEW_PHLOCK,
	INPUT_NEW_PH_LOCK,
	INPUT_NEW_PH_LOCK_AGAIN,
	TXT_ENTER_NEW_PHLOCK_AGAIN,
	NEW_PH_LOCK_END,
	NEW_PH_LOCK_FAIL,
	PH_LOCK_NEW_ENDISFAIL,
	PH_LOCK_NEW_ENDSUCC,
	TXT_PH_LOCK_ALL,
	PH_LOCK_ENDIS_FAIL,
	PH_LOCK_ENDSUCC,
	AUTO_PH_LOCK_ENDSUCC,
	PH_LOCK_SUCCESS,
	PH_LOCK_FAILURE,
	PH_UNLOCK_REQ,
	PH_LOCK_EN_FAIL,
	PH_LOCK_SUCC,
	PH_LOCK_AUTO_SUCC,
	PH_LOCK_SETT_ABORT
#endif /*FF_PHONE_LOCK*/	 

} PIN_CASE;
//xashmic 21 Sep 2006, OMAPS00095831
typedef enum
{
	BOOTUP_STATE_NONE = -1,
	BOOTUP_STATE_INPROGRESS,
	BOOTUP_STATE_COMPLETED	
}T_BOOTUP_STATE;
typedef enum
{
	DEFAULT = 0,
	ENABLE,
	DISABLE,
	FDN_ACTIV,
	FDN_DEACTIV,
	CHANGE_PIN,
	CHANGE_PIN2,
	IDLE_GSM,
	PIN2_CHECK,
	PIN1_CHECK
}SET_CASE;

#define FOCUSSED_PINS   1
#define NOT_FOCUSSED_PINS 0

//API define for a flag for PIN Emergency Entry
extern char pin_emerg_call[MIN_PIN];

void pin_init (T_MFW_HND parent_window);
T_MFW_HND pin_create (T_MFW_HND parent_window);
void pin_destroy  (T_MFW_HND own_window);
int sim_event_cb_main (T_MFW_EVENT event, T_MFW_HND para);
T_MFW_HND pin_edt_create (T_MFW_HND parent_window);
void pin_edt_destroy  (T_MFW_HND own_window);
T_MFW_HND pin_mess_create (T_MFW_HND parent_window);
void pin_mess_destroy(T_MFW_HND own_window);
void pin_messages(T_MFW_HND win, USHORT event, SHORT value, void * parameter);
int pin_info_cb(T_MFW_HND win, USHORT identifier, UBYTE reasons);
void sim_rem_init (T_MFW_HND parent_window);
void sim_rem_exit(T_MFW_HND parentWindow);
T_MFW_HND sim_rem_create (T_MFW_HND parent_window);
void sim_rem_destroy (T_MFW_HND own_window);
int sim_rem_cb_main (T_MFW_EVENT event, T_MFW_HND para);
int pinsIsFocussed(void);
void setting_pin_init (T_MFW_HND parent_window);
T_MFW_HND setting_pin_create (T_MFW_HND parent_window);
void setting_pin_destroy  (T_MFW_HND own_window);
int sim_event_cb_setting (T_MFW_EVENT event, T_MFW_HND para);
U16 set_pin_ch_item_flag (struct MfwMnuTag * m,struct MfwMnuAttrTag * ma,struct MfwMnuItemTag * mi);
U16 set_pin_en_item_flag (struct MfwMnuTag * m,struct MfwMnuAttrTag * ma,struct MfwMnuItemTag * mi);
U16 set_pin_dis_item_flag (struct MfwMnuTag * m,struct MfwMnuAttrTag * ma,struct MfwMnuItemTag * mi);
U16 set_pin2_ch_item_flag (struct MfwMnuTag * m,struct MfwMnuAttrTag * ma,struct MfwMnuItemTag * mi);
void set_pin_info_cb(T_MFW_HND win, USHORT identifier, UBYTE reasons);
void set_pin_messages(T_MFW_HND win, USHORT event, SHORT value, void * parameter);
void set_pin_mess_destroy  (T_MFW_HND own_window);
T_MFW_HND set_pin_mess_create(T_MFW_HND parent_window);
void set_pin_edt_destroy  (T_MFW_HND own_window);
T_MFW_HND set_pin_edt_create (T_MFW_HND parent_window);
int pin_change (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int pin2_change (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
void setting_pin_main(T_MFW_HND win, USHORT event, SHORT value, void * parameter);
int pin_disable (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int pin_enable (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int pin_status (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int pin2_fdn_activate (void);
int pin2_fdn_deactivate (void);
#ifdef SIM_PERS
void setLockActionLock(void);
void setLockActionUnlock(void);
void setLockActionChPwd(void);
void setLockActionChkStat(void);
int SIMLock_resetFC (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int setLockTypeNs (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int setLockTypeSp (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int setLockTypeCp (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int setLockTypePs (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int setLockTypeNw (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_fc_attempts_left (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_fc_max_value (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_fail_reset_fc_max_value (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_succ_reset_fc_max_value (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_fail_reset_fc_attempts_left (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_succ_reset_fc_attempts_left (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_timer_flag_value (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_etsi_flag_value (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int get_airtel_ind_flag_value (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
//x0pleela 20 July, 2006 ER: OMAPS00087586, OMAPS00087587
int SIMLock_MasterKeyUnlock (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int SIMLock_MasterKeyUnlock_bootup (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
//x0pleela 25 Sep, 2006 ER: OMAPS00095524
int setLockTypePb (struct MfwMnuTag * m, struct MfwMnuItemTag * i);

USHORT	simlock_check_masterkey(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);
USHORT	simlock_check_NWCatLock(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);
USHORT	simlock_check_NSCatLock(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);
USHORT	simlock_check_SPCatLock(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);
USHORT	simlock_check_CPCatLock(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);
USHORT	simlock_check_SIMCatLock(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);				
USHORT	simlock_check_CatBlock(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);

//x0pleela 25 Sep, 2006 ER: OMAPS00095524
USHORT	simlock_check_PBCatLock(struct MfwMnuTag *m, 
									   struct MfwMnuAttrTag *ma, 
									   struct MfwMnuItemTag *mi);
int SIMLock_unblock_ME(struct MfwMnuTag * m, struct MfwMnuItemTag * i);
T_MFW_HND mmi_simlock_category_menus(T_MFW_HND parent);
static void mmi_simlock_master_unlock(T_MFW_HND win, UBYTE MK_Unblock_flag);
UBYTE simlock_get_masterkey_status(void);
int simp_unlock_Category(struct MfwMnuTag * m, struct MfwMnuItemTag * i);
#endif
void backpinFDNactdeact(void);
int pin2_check (T_MFW_HND parent_window);
int pin1_check (T_MFW_HND parent_window);
int pinsSetIsFocussed(void);
int fdnActivate(struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int fdnDeactivate(struct MfwMnuTag * m, struct MfwMnuItemTag * i);
U16 set_fdn_on_item_flag (struct MfwMnuTag * m, struct MfwMnuAttrTag * ma, struct MfwMnuItemTag * mi);
U16 set_fdn_off_item_flag (struct MfwMnuTag * m, struct MfwMnuAttrTag * ma, struct MfwMnuItemTag * mi);
int gsm_idle (T_MFW_HND parent_window,char * string);
void pin_exit (void);
int mmiPinsEmergencyCall(void);
void mmiPinsResetEmergencyCall(void);

T_BOOTUP_STATE getBootUpState(void);//xashmic 21 Sep 2006, OMAPS00095831

//x0pleela 06 Mar, 2007  ER: OMAPS00122561
#ifdef FF_PHONE_LOCK
int phLock_Enable_Lock (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int phLock_Automatic_On (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int phLock_Automatic_Off (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int phLock_Change_UnlockCode (struct MfwMnuTag * m, struct MfwMnuItemTag * i);
int phLock_UnLock (void);
int phLock_Lock (void);
#endif /* FF_PHONE_LOCK */
#endif