diff g23m/condat/ms/src/mfw/mfw_sim.h @ 0:509db1a7b7b8

initial import: leo2moko-r1
author Space Falcon <falcon@ivan.Harhan.ORG>
date Mon, 01 Jun 2015 03:24:05 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/g23m/condat/ms/src/mfw/mfw_sim.h	Mon Jun 01 03:24:05 2015 +0000
@@ -0,0 +1,210 @@
+/*
++--------------------------------------------------------------------+
+| PROJECT: GSM-MFW (?)                  $Workfile:: mfw_sim.h       $|
+| $Author:: Vo                          $Revision::  1              $|
+| CREATED: 14.10.98                     $Modtime:: 20.03.00 14:09   $|
+| STATE  : code                                                      |
++--------------------------------------------------------------------+
+ History:
+ 
+	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;
+
+#ifdef SIM_PERS
+#define UNBLOCK_SUCESS 1
+#define UNBLOCK_FAILURE 2
+#define BOOTUP_LOCK_SUCCESS 3
+#define BOOTUP_LOCK_FAILURE 4
+#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
+#endif
+#define MFW_SIM_NO_DISABLE	10  /*MC CONQ-5578, PIN disabling forbidden*/
+/* 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
+#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);
+
+/* 
+	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 );
+
+
+#endif