diff src/aci2/aci_ext/aci_ext_pers.h @ 3:93999a60b835

src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Sep 2016 00:29:36 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aci2/aci_ext/aci_ext_pers.h	Mon Sep 26 00:29:36 2016 +0000
@@ -0,0 +1,189 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  
+|  Modul   :  J:\g23m-aci\aci_ext\aci_ext_pers.h
++----------------------------------------------------------------------------- 
+|  Copyright 2002 Texas Instruments Berlin, AG 
+|                 All rights reserved. 
+| 
+|                 This file is confidential and a trade secret of Texas 
+|                 Instruments Berlin, AG 
+|                 The receipt of or possession of this file does not convey 
+|                 any rights to reproduce or disclose its contents or to 
+|                 manufacture, use, or sell anything it may describe, in 
+|                 whole, or in part, without the specific written consent of 
+|                 Texas Instruments Berlin, AG. 
++----------------------------------------------------------------------------- 
+|  Purpose :  
++----------------------------------------------------------------------------- 
+*/ 
+#ifndef ACI_EXT_PERS_H
+#define ACI_EXT_PERS_H
+
+/* ACI extension definitions */
+#define PERSONALISATION_MAX 15  /* maximal amount of personalisation variants per personalisation check */
+
+#ifdef SIM_PERS
+enum E_AUTO_DEPENDECY_FLAG
+{
+  NW_AUTO_LOCK = 0x01,
+  NS_AUTO_LOCK  = 0x02,
+  SP_AUTO_LOCK  = 0x04,
+  CP_AUTO_LOCK  = 0x08,
+  SIM_AUTO_LOCK= 0x10
+};
+#endif
+/* Globals ------------------------------------------------------------------------------ */
+
+
+typedef enum
+{
+  MMILOCK_FAIL = -1,
+  MMILOCK_DISABLED,      /* No lock check to be done */
+  MMILOCK_ENABLED,       /* A lock check to be executed*/
+  MMILOCK_BLOCKED,       /* MMI lock failed */
+  MMILOCK_VERIFIED       /* MMI lock verified */
+} T_MMILOCK_STATUS;
+
+typedef enum
+{
+  SIMLOCK_FAIL = -1,
+  SIMLOCK_DISABLED,     /* No SIM lock check has to be done */
+  SIMLOCK_PERM_DISABLED,
+  SIMLOCK_ENABLED,      /* A SIM lock check has to be executed*/
+  SIMLOCK_BLOCKED,      /* The SIM is blocked, i.e. because of a (or to many) wrong PIN(s) */
+  SIMLOCK_LOCKED,        /* The ME is locked because of wrong SIM */
+  SIMLOCK_WAIT            /* Wait to read  EF gid1 and gid2 */
+} T_SIMLOCK_STATUS;
+
+typedef enum
+{
+  AUTOLOCK_FAIL = -1,
+  AUTOLOCK_CMPL,     /* No SIM lock check has to be done */
+  AUTOLOCK_EXCT
+ } T_AUTOLOCK_STATUS;
+
+typedef enum 
+{
+  SIMLOCK_CHECK_LOCK =0,
+  SIMLOCK_CHECK_PERS,
+  SIMLOCK_CHECK_RESET_FC
+}T_SIMLOCK_CHECK;
+
+typedef enum
+{
+  SIMLOCK_NETWORK = 0,      /* Network personalisation */
+  SIMLOCK_NETWORK_SUBSET,   /* Network subset personalisation */
+  SIMLOCK_SERVICE_PROVIDER, /* Service provider personalisation */
+  SIMLOCK_CORPORATE,        /* Corporate personalisation */
+  SIMLOCK_SIM,              /* SIM personalisation */
+  SIMLOCK_FIRST_SIM         /* ME is not personalized and will be personalisation to first 
+                               SIM inserted into the ME */
+} T_SIMLOCK_TYPE;
+
+ 
+typedef enum
+{
+  OPER_FAIL = -1,
+  OPER_SUCCESS    
+ } T_OPER_RET_STATUS;
+ 
+
+#define NO_SP_DEFINED 255   /* If service provider (SP) code holds FF, no SP code is defined */
+#define NO_CORP_DEFINED 255 /* If corporate code holds FF, no corporate code is defined */
+
+
+
+  
+#define T_ACI_PERS_STATUS_LEN 44
+#define T_ACI_PERS_STATUS_PUK_LEN 52
+
+
+typedef struct
+{
+  UBYTE State;
+  UBYTE cnt;                                       // No of retries
+  UBYTE maxcnt;                                // Max count allowed
+  UBYTE PwdLength;
+  UBYTE Cur_code[3];                         // Current lock
+  UBYTE Org_code[3];                         // Original lock
+} T_ACI_PERS_MMI_DATAS;
+
+
+/* prototypes of the aci_personalisation functions.-------------------------------------- */
+
+/*
+  Initialisation of this extension. Might be used to initialise variables, set temporary data to default values and so on.
+  This method will be called before any other public method of this extension.
+  */
+void aci_ext_personalisation_init( void );
+
+
+
+/*
+  ACI extension method for retrieving the status of a single personalisation type.
+  The personalisation status is stored in a separate customer managed memory area
+  and the customer has to implement this extension method to return the actual status
+  of the questioned personalisation type.
+  */
+T_SIMLOCK_STATUS aci_ext_personalisation_get_status( T_SIMLOCK_TYPE personalisation_type );
+
+// ACI extension to Get desired password length
+UBYTE aci_ext_personalisation_get_MMI_PwdLen( void );
+
+/*
+ ACI extension method for verifying the passowrd.
+ If the password is false then the counter is increased. If maxcnt is reached then the key
+ will been blocked.
+ If the password is correct then the counter is set to 0
+ */
+T_SIMLOCK_STATUS aci_ext_personalisation_verify_password( T_SIMLOCK_TYPE personalisation_type, char *passwd);
+
+/*
+ ACI extension method for changind the password.
+ */
+T_SIMLOCK_STATUS aci_ext_personalisation_change_password( T_SIMLOCK_TYPE personalisation_type, char *passwd, char *new_passwd );
+
+
+/*
+  ACI extension method for retrieving the status of a single personalisation type.
+  The personalisation status is stored in a separate customer managed memory area
+  and the customer has to implement this extension method to return the actual status
+  of the questioned personalisation type.
+  */
+T_SIMLOCK_STATUS aci_ext_personalisation_set_status( T_SIMLOCK_TYPE personalisation_type, 
+  T_SIMLOCK_STATUS lock, char* passwd);
+
+
+#ifdef SIM_PERS
+/*---------------------------------------------------
+For Failure Counter reset. Uses Security Drv. method to reset FC
+added on 11/03/2005
+-----------------------------------------------------*/
+T_OPER_RET_STATUS  aci_ext_slock_reset_fc(char *fckey);
+
+/*--------------------------------------
+For Supplementary Info( e.g. FC MAX, MC Current value).
+Uses Security Drv api sec_get_CFG
+added on 11/03/2005
+----------------------------------------*/
+T_OPER_RET_STATUS  aci_ext_slock_sup_info (T_SUP_INFO *sup_info);
+
+/*  auto personalisation for first sim */
+T_AUTOLOCK_STATUS aci_ext_auto_personalise();
+void aci_ext_add_code(T_SIMLOCK_TYPE type);
+
+#endif //SIM_PERS
+
+
+/* MMI Lock handling functions */
+T_SIMLOCK_STATUS aci_ext_personalisation_CS_change_password( char *passwd, char *new_passwd );
+T_SIMLOCK_STATUS aci_ext_personalisation_CS_set_status(T_SIMLOCK_STATUS lock , char * passwd);
+T_SIMLOCK_STATUS aci_ext_personalisation_CS_get_status();
+
+
+#ifdef SIM_PERS
+void aci_ext_personalisation_free( void );
+#endif //SIM_PERS
+
+#endif /* ACI_EXT_PERS_H */