FreeCalypso > hg > fc-tourmaline
diff src/ui/mfw/mfw_sim.h @ 3:67bfe9f274f6
src/ui: import of src/ui3 from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:33:10 +0000 |
parents | |
children | 92abb46dc1ba |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ui/mfw/mfw_sim.h Fri Oct 16 06:33:10 2020 +0000 @@ -0,0 +1,298 @@ +/* ++--------------------------------------------------------------------+ +| PROJECT: GSM-MFW (?) $Workfile:: mfw_sim.h $| +| $Author:: Vo $Revision:: 1 $| +| CREATED: 14.10.98 $Modtime:: 20.03.00 14:09 $| +| STATE : code | ++--------------------------------------------------------------------+ + History: + + Apr 03, 2007 ER: OMAPS00122561 x0pleela + Description: [ACI] Phone lock feature has to be supported by ACI + Solution: Phone Lock ER implementation + + Sep 26, 2006 DR: OMAPS00095524 x0pleela + Description:Implement 2 missing SIM Lock types + Solution: Made the following changes + - Added new macros MFW_SIM_PBLOCK_REQ, MFW_SIM_PBLOCK for + Blocked Network category + + xashmic 9 Sep 2006, OMAPS00092732 + USBMS ER + Sep 08, 2006 DR: OMAPS00091250 x0pleela + Description:The phone resets if no MEPD data is presented + Solution: Added a new event MFW_MEPD_INVALID which will be returned to BMI + to display MEPD not present to the user + + 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 + Defined new macros MFW_SIM_MKEY( Master Unlocking during bootup) + MFW_SIM_MKEYM (Master Unlocking through menu) + + May 26, 2006 ER: OMAPS00079607 x0012849 :Jagannatha M + Description: CPHS: Display 'charge/Timers' menu based on AOC ( Advice of charge ) + Solution:Made the following changes + 1. Defined MFW_SIM_NO_AOC with value 11 + + May 15, 2006 DR: OMAPS00067919 x0pleela + Description: SIMP:On repeat Depersonalisation with invalid password MEPD unblock key should + be asked not Puk1. + Solution:Made the following changes + 1. Added new macro BOOTUP_OK + 2. Added new enumeration T_MFW_SIMP_CLCK_FLAG + + 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 + +*********************************************************************** + + PURPOSE: Types definitions for SIM management of MMI framework + +*/ + +#ifndef DEF_MFW_SIM +#define DEF_MFW_SIM + +/*#ifndef BMI_TEST_MC_SIM_EVENT +#define BMI_TEST_MC_SIM_EVENT +#endif*/ + +/* + * events are organised as bitmaps + */ +#define E_SIM_STATUS 0x0001 +#define E_SIM_INSERTED 0x0002 +#define E_SIM_RESET 0x0004 +#define E_SIM_READ_CALLBACK 0x0008/*MC CONQ5862, 13/06/02*, added new event*/ + +#define E_SIM_ALL_SERVICES 0x000f + +#define SIM_ACTIVE 0 +#define SIM_NOT_ACTIVE 1 +#define SIM_STK_RESET 2 // bugfix for SIM refresh +#define IMEI_NOT_VALID 3 // Nov 24, 2005, a0876501, DR: OMAPS00045909 + +typedef struct { + UBYTE sim_procedure; + UBYTE sim_status; + UBYTE sim_operation_mode; + UBYTE sim_pin_retries; + UBYTE sim_status_type; +} T_MFW_SIM_STATUS; /* type definition for E_SIM_STATUS event */ + +typedef struct { + UBYTE type; /* MFW_SIM_PIN1/MFW_SIM_PIN2 */ + UBYTE set; /* MFW_SIM_ENABLE/MFW_SIM_DISABLE */ + UBYTE stat ; /* MFW_SIM_NO_PIN/MFW_SIM_PIN_REQ/MFW_SIM_PIN2_REQ */ +} T_MFW_SIM_PIN_STATUS; + +/*MC CONQ5862, 13/06/02*, added new data struct for E_SIM_READ_CALLBACK event*/ +typedef struct { + SHORT error_code; + UBYTE* read_buffer; +} T_MFW_READ_CALLBACK; + +/* SIM configuration information */ +typedef struct +{ + UBYTE access_acm; + UBYTE access_acmmax; + UBYTE access_puct; +} T_MFW_AOC_ACCESS; + +//x0pleela 07 Mar, 2007 ER: OMAPS00122561 +#ifdef FF_PHONE_LOCK +#define MFW_PH_LOCK_ENABLE 1 +#define MFW_PH_LOCK_DISABLE 2 +#define MFW_PH_LOCK_FAILURE 3 + +#define MFW_PH_LOCK 1 /* Phone lock type */ +#define MFW_AUTO_PH_LOCK 2 /* Auto Phone lock type */ +#endif /* FF_PHONE_LOCK */ + +#ifdef SIM_PERS +#define UNBLOCK_SUCESS 1 +#define UNBLOCK_FAILURE 2 +#define BOOTUP_LOCK_SUCCESS 3 +#define BOOTUP_LOCK_FAILURE 4 +#define BOOTUP_OK 5 //x0pleela 21 Apr, 2006 DR: OMAPS00067919 +#define MFW_SIM_NOT_BLOCKED 10 +#define MFW_SIM_PERM_BLOCKED 11 +#endif + +/* definition of SIM procedure in E_SIM_STATUS event */ + +#define MFW_SIM_ACTIVATION 1 +#define MFW_SIM_VERIFY 2 +#define MFW_SIM_UNBLOCK 3 +#define MFW_SIM_CHANGE 4 +#define MFW_SIM_ENABLE 5 +#define MFW_SIM_DISABLE 6 +#define MFW_SIM_LOCKED 7 +#define MFW_SIM_BLOCKED 8 +#define MFW_SIM_REMOVED 9 + + + +/* definition of SIM operation mode in E_SIM_STATUS event */ + +#define MFW_SIM_NO_OPERATION 0 +#define MFW_SIM_ADN_ENABLED 1 +#define MFW_SIM_FDN_ENABLED 2 +#define MFW_SIM_ADN_BDN_ENABLED 5 +#define MFW_SIM_FDN_BDN_ENABLED 6 + +/* definition of SIM status in E_SIM_STATUS event */ + +#define MFW_SIM_PIN_REQ 1 +#define MFW_SIM_PUK_REQ 2 +#define MFW_SIM_PIN2_REQ 3 +#define MFW_SIM_PUK2_REQ 4 +#define MFW_SIM_INVALID_CARD 5 +#define MFW_SIM_NO_SIM_CARD 6 +#define MFW_SIM_NO_PIN 7 +#define MFW_SIM_SUCCESS 8 +#define MFW_SIM_FAILURE 9 +#ifdef SIM_PERS + #define MFW_SIM_NLOCK_REQ 10 + #define MFW_SIM_NSLOCK_REQ 11 + #define MFW_SIM_SPLOCK_REQ 12 + #define MFW_SIM_CLOCK_REQ 13 + #define MFW_SIM_PLOCK_REQ 14 + #define MFW_SIM_PLOCK_ERR 15 + #define MFW_SIM_PLOCK_OK 16 + #define MFW_MEPD_INVALID 17 //x0pleela 23 Aug, 2006 DR: OMAPS00091250 + #define MFW_SIM_PBLOCK_REQ 18 //x0pleela 25 Sep, 2006 ER: OMAPS00095524 +#endif +#define MFW_SIM_NO_DISABLE 10 /*MC CONQ-5578, PIN disabling forbidden*/ +//x0012849: Jagannatha 26 May, 2006 ER: OMAPS00079607 -Support AOC in CPHS + #ifdef FF_CPHS +#define MFW_SIM_NO_AOC 11 +#endif +/* Shashi Shekar B.S. DR: OMAPS00045909, Improve IMEI control mechanism */ +#define MFW_IMEI_NOT_VALID 20 + + +#define MFW_SIM_PIN1 1 +#define MFW_SIM_PUK1 2 +#define MFW_SIM_PIN2 3 +#define MFW_SIM_PUK2 4 +#define MFW_SIM_UNKNOWN 0 + +#define MFW_SIM_NLOCK 1 +#define MFW_SIM_SPLOCK 2 +#define MFW_SIM_NSLOCK 3 +#define MFW_SIM_CLOCK 4 +#define MFW_SIM_PLOCK 5 +#define MFW_SIM_UNLOCK_ERR 6 +#ifdef SIM_PERS +#define MFW_SIM_FC 7 +#define MFW_SIM_FCM 8 + +//x0pleela 20 July, 2006 ER: OMAPS00087586, OMAPS00087587 + +#define MFW_SIM_MKEY 9 //Master Unlocking during bootup +#define MFW_SIM_MKEYM 10 //Master Unlocking through menu +#define MFW_MASTER_UNLOCK_ACTIVE 1 //Master unlock enabled +#define MFW_MASTER_UNLOCK_DEACTIVE 0 //Master unlock disabled + + + //x0pleela 25 Sep, 2006 ER: OMAPS00095524 + #define MFW_SIM_PBLOCK 11 //Blocked Network Type + +#endif + +//x0pleela 27 Apr, 2006 DR: OMAPS00067919 + +#ifdef SIM_PERS +typedef enum +{ + SIMP_NONE, + SIMP_MENU, + SIMP_BOOTUP +}T_MFW_SIMP_CLCK_FLAG; + +#endif + +/* + * SIM Parameter + */ +typedef union +{ + T_MFW_SIM_STATUS status; + T_MFW_READ_CALLBACK callback; +} T_MFW_SIM_PARA; + +#ifdef SIM_PERS +extern int C_KEY_REQ; +#endif + +int sim_init (void); +MfwHnd sim_create (MfwHnd hWin, MfwEvt event, MfwCb cbfunc); +MfwRes sim_delete (MfwHnd h); +void sim_verify_pin (UBYTE pin_id, char *pin); +void sim_unblock_pin (UBYTE pin_id, char *puk, char *newpin); +void sim_change_pin (UBYTE pin_id, UBYTE *alt_pin, UBYTE *new_pin); +T_MFW sim_disable_pin (UBYTE *pin);/*SPR 2145, now returns status*/ +T_MFW sim_enable_pin (UBYTE *pin);/*SPR 2145, now returns status*/ +void sim_exit (void); +int sim_pin_count (UBYTE pin_id); +int SimHasPin (U8 pin_id); +void sim_pin_status (T_MFW_SIM_PIN_STATUS *status); +T_MFW sim_serv_table_check (UBYTE serv_num); +int sim_check_sim_Plock (void); +int sim_check_sim_Nlock (void); +int sim_check_sim_SPlock (void); +int sim_check_sim_NSlock (void); +int sim_check_sim_Clock (void); +MfwRes sim_configuration (UBYTE *phase, UBYTE *serv, UBYTE *slen, + UBYTE *lang, UBYTE *llen, + T_MFW_AOC_ACCESS *access); +void sim_save_pref_lang (UBYTE *lang, UBYTE len); +T_MFW sim_unlock_sim_lock (UBYTE type, UBYTE *passwd); +void sim_activate (void); +UBYTE * sim_get_imsi (void); +UBYTE sim_simlock_ok (void); + +void mfwSimRestartPinEntry(void); +//xashmic 9 Sep 2006, OMAPS00092732 +void sim_enable(void); +void sim_disable(void); + +/* + Ciphering +*/ + +// CPRImode : +#define MFW_SIM_CPRI_NO_SHOW 0 +#define MFW_SIM_CPRI_SHOW 1 + +//Callback function +typedef void (* CallbackCPRI)(UBYTE, UBYTE); + +//Initialize the ciphering indication +EXTERN UBYTE sim_init_CPRS (CallbackCPRI func, UBYTE CPRImode ); +//TISH, patch for ASTec32515, modified by Jinshu Wang, 2007-06-15 +//start +EXTERN void sim_invalid_ind(void); +//end +//x0pleela 03 Aug, 2006 ER: OMAPS00087586, OMAPS00087587 +#ifdef SIM_PERS +//Set Simp_Busy_State to either TRUE or FALSE based on the ACI's busy error +void mfw_simlock_set_busy_state( UBYTE state ); +//Get the current value of Simp_Busy_State +UBYTE mfw_simlock_get_busy_state( void ); +#endif + +#endif