FreeCalypso > hg > fc-tourmaline
comparison src/g23m-aci/aci/cmh_sim.h @ 1:fa8dc04885d8
src/g23m-*: import from Magnetite
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 16 Oct 2020 06:25:50 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:4e78acac3d88 | 1:fa8dc04885d8 |
|---|---|
| 1 /* | |
| 2 +----------------------------------------------------------------------------- | |
| 3 | Project : GSM-PS (6147) | |
| 4 | Modul : CMH | |
| 5 +----------------------------------------------------------------------------- | |
| 6 | Copyright 2002 Texas Instruments Berlin, AG | |
| 7 | All rights reserved. | |
| 8 | | |
| 9 | This file is confidential and a trade secret of Texas | |
| 10 | Instruments Berlin, AG | |
| 11 | The receipt of or possession of this file does not convey | |
| 12 | any rights to reproduce or disclose its contents or to | |
| 13 | manufacture, use, or sell anything it may describe, in | |
| 14 | whole, or in part, without the specific written consent of | |
| 15 | Texas Instruments Berlin, AG. | |
| 16 +----------------------------------------------------------------------------- | |
| 17 | Purpose : Definitions for the command handler of the | |
| 18 | Subscriber Identity Module ( SIM ) | |
| 19 +----------------------------------------------------------------------------- | |
| 20 */ | |
| 21 | |
| 22 #ifndef CMH_SIM_H | |
| 23 #define CMH_SIM_H | |
| 24 | |
| 25 /*==== CONSTANTS ==================================================*/ | |
| 26 | |
| 27 #define ACI_SIZE_EF_CCP 14 | |
| 28 #define ACI_MIN_SIZE_EF_MSISDN 14 | |
| 29 #define ACI_MIN_SIZE_EF_PLMN_SEL 24 | |
| 30 #define ACI_LEN_PLMN_SEL_NTRY 3 /* length of an entry in bytes */ | |
| 31 #define ACI_LEN_PLMN_SEL_FLD MAX_PREF_PLMN /* Moved to SAP SIM to be consistent with MM */ | |
| 32 | |
| 33 | |
| 34 #define ACI_LEN_LAN_NTRY 2 /* length of an entry in bytes */ | |
| 35 #define ACI_MAX_LAN_NTRY 10 /* number of supported entries */ | |
| 36 #define ACI_MIN_SIZE_EF_LAN 16 | |
| 37 #define ACI_LEN_LAN_FLD (ACI_LEN_LAN_NTRY*ACI_MAX_LAN_NTRY) | |
| 38 | |
| 39 | |
| 40 #define ACI_LEN_LAN_LP_NTRY 1 /* length of an entry in bytes */ | |
| 41 #define ACI_MAX_LAN_LP_NTRY 5 /* number of supported entries */ | |
| 42 #define ACI_LEN_LAN_LP_FLD (ACI_LEN_LAN_LP_NTRY*ACI_MAX_LAN_LP_NTRY) | |
| 43 | |
| 44 #define SIM_ALS_LOCK (SIM_FDN_DISABLE+1) /* To distinguish between the different operations */ | |
| 45 #define SIM_ALS_UNLOCK (SIM_FDN_DISABLE+2) /* which require a CHV2 authentication */ | |
| 46 | |
| 47 #ifdef FF_CPHS_REL4 | |
| 48 #define ACI_SIZE_EF_CFIS 16 | |
| 49 #define ACI_SIZE_EF_MBDN 34 | |
| 50 #define ACI_SIZE_EF_MBI 4 | |
| 51 #define ACI_SIZE_EF_MWIS 5 | |
| 52 #endif /* FF_CPHS_REL4 */ | |
| 53 | |
| 54 typedef enum | |
| 55 { | |
| 56 EF_STAT_UNKNWN = 0, /* status of EF unknown */ | |
| 57 EF_STAT_READ, /* EF already read */ | |
| 58 EF_STAT_NOT_AVAIL /* EF is not available */ | |
| 59 } EF_STAT; | |
| 60 | |
| 61 typedef enum | |
| 62 { | |
| 63 CPOL_ACT_None = 0, /* no action */ | |
| 64 CPOL_ACT_Write, /* write entry */ | |
| 65 CPOL_ACT_Delete, /* delete entry */ | |
| 66 CPOL_ACT_Read, /* read entry */ | |
| 67 CPOL_ACT_Test /* test number of entries */ | |
| 68 } ACI_CPOL_ACT; | |
| 69 | |
| 70 typedef enum | |
| 71 { | |
| 72 CLAN_ACT_None = 0, /* no action */ | |
| 73 CLAN_ACT_Write, /* write entry */ | |
| 74 CLAN_ACT_Read /* read entry */ | |
| 75 } ACI_CLAN_ACT; | |
| 76 | |
| 77 /*==== TYPES ======================================================*/ | |
| 78 | |
| 79 /*==== PROTOTYPES =================================================*/ | |
| 80 | |
| 81 EXTERN void cmhSIM_SIMActivated ( void ); | |
| 82 EXTERN void cmhSIM_PINVerified ( void ); | |
| 83 EXTERN void cmhSIM_SIMSync ( void ); | |
| 84 EXTERN void cmhSIM_SIMInserted ( void ); | |
| 85 EXTERN void cmhSIM_SIMRemoved ( void ); | |
| 86 #ifdef FF_DUAL_SIM | |
| 87 EXTERN void cmhSIM_SIMSelected ( void ); | |
| 88 #endif /*FF_DUAL_SIM*/ | |
| 89 EXTERN void cmhSIM_FillInPIN ( CHAR* PINStr, | |
| 90 CHAR* PINFld, | |
| 91 UBYTE len ); | |
| 92 EXTERN void cmhSIM_GetHomePLMN ( SHORT* mccBuf, | |
| 93 SHORT* mncBuf ); | |
| 94 GLOBAL BOOL cmhSIM_plmn_equal_sim ( SHORT bcch_mcc, | |
| 95 SHORT bcch_mnc, | |
| 96 SHORT sim_mcc, | |
| 97 SHORT sim_mnc); | |
| 98 EXTERN BOOL cmhSIM_plmn_is_hplmn ( SHORT bcch_mcc, | |
| 99 SHORT bcch_mnc); | |
| 100 EXTERN T_ACI_RETURN cmhSIM_ReqMsisdn ( T_ACI_CMD_SRC srcId, | |
| 101 UBYTE record ); | |
| 102 EXTERN void cmhSIM_CnfMsisdn ( SHORT table_id ); | |
| 103 EXTERN T_ACI_RETURN cmhSIM_ReqCcp ( T_ACI_CMD_SRC srcId, | |
| 104 UBYTE record ); | |
| 105 EXTERN void cmhSIM_CnfCcp ( SHORT table_id ); | |
| 106 EXTERN void cmhSIM_RdCnfPlmnSel ( SHORT table_id ); | |
| 107 EXTERN void cmhSIM_WrCnfPlmnSel ( SHORT table_id ); | |
| 108 EXTERN T_ACI_CME_ERR cmhSIM_GetCmeFromSim ( USHORT errCode ); | |
| 109 EXTERN SHORT cmhSIM_FillPlmnSelList ( UBYTE index, | |
| 110 T_ACI_CPOL_FRMT frmt, | |
| 111 T_ACI_CPOL_OPDESC* operLst, | |
| 112 UBYTE length, | |
| 113 UBYTE* pData ); | |
| 114 | |
| 115 EXTERN T_ACI_RETURN getSupLangFromPCM ( T_ACI_LAN_SUP *lanlst, | |
| 116 SHORT *lastIdx ); | |
| 117 | |
| 118 EXTERN BOOL checkSuppLang (T_ACI_LAN_SUP *lanlst, | |
| 119 SHORT lastIdx, | |
| 120 T_ACI_LAN_SUP *clng); | |
| 121 | |
| 122 EXTERN BOOL checkSuppLangInLP ( T_ACI_LAN_SUP *lanlst, | |
| 123 SHORT lastIdx, | |
| 124 T_ACI_LAN_SUP *clng); | |
| 125 | |
| 126 EXTERN SHORT cmhSIM_UsdPlmnSelNtry ( UBYTE length, | |
| 127 UBYTE* pData ); | |
| 128 EXTERN void cmhSIM_CmpctPlmnSel ( UBYTE length, | |
| 129 UBYTE* pData ); | |
| 130 EXTERN T_ACI_BS_SPEED cmhSIM_GetUserRate ( UBYTE userRate ); | |
| 131 EXTERN T_ACI_CNUM_ITC cmhSIM_GetItc ( UBYTE itc ); | |
| 132 EXTERN T_ACI_CNUM_SERV cmhSIM_GetSrvFromSync ( UBYTE sync ); | |
| 133 EXTERN T_ACI_CNUM_SERV cmhSIM_GetSrvFromItc ( UBYTE itc ); | |
| 134 EXTERN void cmhSIM_getMncMccFrmPLMNsel( const UBYTE* ntry, | |
| 135 SHORT* mcc, | |
| 136 SHORT* mnc ); | |
| 137 EXTERN BOOL cmhSIM_GetCodedPLMN ( const CHAR *oper, | |
| 138 T_ACI_CPOL_FRMT format, | |
| 139 UBYTE *sim_plmn ); | |
| 140 EXTERN T_ACI_RETURN cmhSIM_DelPlmnSel ( T_ACI_CMD_SRC srcId, | |
| 141 SHORT index, | |
| 142 T_ACI_CPOL_MOD mode ); | |
| 143 EXTERN T_ACI_RETURN cmhSIM_FndEmptyPlmnSel ( T_ACI_CMD_SRC srcId, | |
| 144 UBYTE *plmn ); | |
| 145 EXTERN T_ACI_RETURN cmhSIM_UpdPlmnSel ( T_ACI_CMD_SRC srcId, | |
| 146 SHORT index, | |
| 147 UBYTE *plmn, | |
| 148 T_ACI_CPOL_MOD mode ); | |
| 149 EXTERN T_ACI_RETURN cmhSIM_ChgPlmnSel ( T_ACI_CMD_SRC srcId, | |
| 150 SHORT index, | |
| 151 SHORT index2 ); | |
| 152 EXTERN void cmhSIM_SIMResponseData ( T_SIM_TRNS_RSP_PRM* rsp ); | |
| 153 | |
| 154 EXTERN void cmhSIM_RdCnfLangELP ( SHORT table_id ); | |
| 155 | |
| 156 | |
| 157 EXTERN void cmhSIM_RdCnfLangPrfELP (SHORT table_id); | |
| 158 | |
| 159 EXTERN void cmhSIM_RdCnfLangLP ( SHORT table_id ); | |
| 160 | |
| 161 | |
| 162 EXTERN void cmhSIM_RdCnfLangPrfLP (SHORT table_id); | |
| 163 | |
| 164 EXTERN BOOL cmhSIM_AD_Update ( int, T_SIM_FILE_UPDATE_IND *); | |
| 165 EXTERN BOOL cmhSIM_CSP_Update ( int, T_SIM_FILE_UPDATE_IND *); | |
| 166 EXTERN BOOL cmhSIM_ONS_Update ( int, T_SIM_FILE_UPDATE_IND *); | |
| 167 EXTERN void cmhSIM_Read_AD_cb(SHORT table_id); | |
| 168 EXTERN void cmhSIM_Read_AD_cb(SHORT table_id); | |
| 169 EXTERN T_opl_field* cmhSIM_GetOPL(); | |
| 170 EXTERN void cmhSIM_GetSrvTab( UBYTE* ptrSrvTab ); | |
| 171 EXTERN void cmhSIM_Get_CSP_cb(SHORT table_id); | |
| 172 EXTERN void cmhSIM_Read_CSP_cb(SHORT table_id); | |
| 173 | |
| 174 #ifdef FF_CPHS_REL4 | |
| 175 EXTERN void cmhSIM_RdCnfCfis( SHORT table_id ); | |
| 176 EXTERN void cmhSIM_WrCnfCfis( SHORT table_id ); | |
| 177 EXTERN T_ACI_RETURN cmhSIM_WrCfis (T_ACI_CMD_SRC srcId, | |
| 178 T_ACI_CFIS_MOD mode, UBYTE index, | |
| 179 UBYTE mspId,UBYTE cfuStat,CHAR *number, | |
| 180 T_ACI_TOA *type,UBYTE cc2_id); | |
| 181 EXTERN void cmhSIM_RdCnfMwis( SHORT table_id ); | |
| 182 EXTERN void cmhSIM_WrCnfMwis( SHORT table_id ); | |
| 183 EXTERN T_ACI_RETURN cmhSIM_WrMwis (T_ACI_CMD_SRC srcId, | |
| 184 T_ACI_MWIS_MOD mode, | |
| 185 UBYTE mspId, | |
| 186 T_ACI_MWIS_MWI *mwis); | |
| 187 EXTERN T_ACI_RETURN cmhSIM_WrMbdn (T_ACI_CMD_SRC srcId, | |
| 188 T_ACI_MBN_MODE mode, UBYTE index, | |
| 189 CHAR* number, T_ACI_TOA* type, | |
| 190 UBYTE cc2_id, T_ACI_PB_TEXT *text); | |
| 191 EXTERN void cmhSIM_WrCnfMbdn ( SHORT table_id ); | |
| 192 EXTERN void cmhSIM_RdCnfMbi ( SHORT table_id ); | |
| 193 EXTERN void cmhSIM_RdCnfMbdn ( SHORT table_id ); | |
| 194 #endif /* FF_CPHS_REL4 */ | |
| 195 | |
| 196 #ifdef SIM_PERS_OTA | |
| 197 EXTERN BOOL cmhSIM_Register_Read_DCK ( int, T_SIM_FILE_UPDATE_IND *); | |
| 198 EXTERN void cmhSIM_Read_DCK_cb(SHORT table_id); | |
| 199 EXTERN void cmhSIM_Read_DCK_init_cb(SHORT table_id); | |
| 200 #endif | |
| 201 | |
| 202 #ifdef SIM_PERS | |
| 203 EXTERN void cmhSIM_UnlockTimeout(void); | |
| 204 #endif | |
| 205 | |
| 206 /* EONS */ | |
| 207 EXTERN void cmhSIM_OpReadOplRcdCb(SHORT table_id); | |
| 208 EXTERN void cmhSIM_OpReadPnnRcdCb(SHORT table_id); | |
| 209 EXTERN BOOL cmhSIM_OpUpdate(int ref, T_SIM_FILE_UPDATE_IND* fu); | |
| 210 EXTERN void cmhSIM_InitOperatorName(); | |
| 211 EXTERN BOOL cmhSIM_StartOperatorName(); | |
| 212 EXTERN BOOL cmhSIM_UpdateOperatorName(USHORT reqDataFld); | |
| 213 | |
| 214 EXTERN void cmhSIM_AD_Updated(UBYTE ad_len, UBYTE* ad_data); | |
| 215 | |
| 216 #ifdef DTI | |
| 217 EXTERN BOOL SIM_ENT_CSDconnect_dti_cb(UBYTE dti_id, T_DTI_CONN_STATE result_type); | |
| 218 #endif | |
| 219 #if defined (GPRS) AND defined (DTI) | |
| 220 EXTERN BOOL SIM_SNDCP_connect_dti_cb(UBYTE dti_id, T_DTI_CONN_STATE result_type); | |
| 221 EXTERN BOOL SIM_ENT_GPRSconnect_dti_cb(UBYTE dti_id, T_DTI_CONN_STATE result_type); | |
| 222 #endif | |
| 223 | |
| 224 EXTERN T_ACI_RETURN cmhSIM_Req_or_Write_PlmnSel ( T_ACI_CMD_SRC srcId, | |
| 225 T_SIM_ACTP accType ); | |
| 226 EXTERN void cmhSIM_CardUnblocked_PINChanged ( BOOL PINChanged ); | |
| 227 EXTERN void cmhSIM_PINEnabledDisabled ( void ); | |
| 228 EXTERN BOOL cmhSIM_ReqLanguagePrf_LP_or_ELP ( USHORT reqDataFld, | |
| 229 UBYTE recMax, | |
| 230 UBYTE *exchData, | |
| 231 void (*rplyCB)(SHORT) ); | |
| 232 EXTERN T_ACI_RETURN cmhSIM_ReqLanguage_LP_or_ELP ( T_ACI_CMD_SRC srcId, | |
| 233 USHORT reqDataFld ); | |
| 234 | |
| 235 /*==== EXPORT =====================================================*/ | |
| 236 | |
| 237 #ifdef CMH_SIMF_C | |
| 238 | |
| 239 GLOBAL T_ENT_STAT simEntStat; | |
| 240 | |
| 241 GLOBAL T_ACI_CFUN_FUN CFUNfun = CFUN_FUN_Minimum; | |
| 242 | |
| 243 GLOBAL UBYTE CNUMMaxRec = 0; | |
| 244 GLOBAL T_ACI_CNUM_LST CNUMMsisdn; | |
| 245 GLOBAL UBYTE CNUMMsisdnIdx = 0; | |
| 246 GLOBAL UBYTE CNUMLenEfMsisdn = 0; | |
| 247 GLOBAL UBYTE EfPLMNselStat = EF_STAT_UNKNWN; | |
| 248 GLOBAL UBYTE CPOLSimEfDataLen; | |
| 249 GLOBAL UBYTE CPOLSimEfData[ACI_LEN_PLMN_SEL_FLD]; | |
| 250 | |
| 251 GLOBAL UBYTE CLANimEfDataLen; | |
| 252 GLOBAL UBYTE CLANSimEfData[ACI_LEN_LAN_FLD]; | |
| 253 GLOBAL UBYTE CLANSimEfDataLP[ACI_LEN_LAN_LP_FLD]; | |
| 254 #ifdef FF_CPHS_REL4 | |
| 255 GLOBAL UBYTE CFISIndex = 0; | |
| 256 GLOBAL UBYTE MWISIndex = 0; | |
| 257 GLOBAL UBYTE MBI_Index = 0; | |
| 258 #endif | |
| 259 #else | |
| 260 | |
| 261 EXTERN T_ENT_STAT simEntStat; | |
| 262 | |
| 263 EXTERN T_ACI_CFUN_FUN CFUNfun; | |
| 264 | |
| 265 EXTERN UBYTE CNUMMaxRec; | |
| 266 EXTERN T_ACI_CNUM_LST CNUMMsisdn; | |
| 267 EXTERN UBYTE CNUMMsisdnIdx; | |
| 268 EXTERN UBYTE CNUMLenEfMsisdn; | |
| 269 EXTERN UBYTE EfPLMNselStat; | |
| 270 EXTERN UBYTE CPOLSimEfDataLen; | |
| 271 EXTERN UBYTE CPOLSimEfData[]; | |
| 272 | |
| 273 EXTERN UBYTE CLANimEfDataLen; | |
| 274 EXTERN UBYTE CLANSimEfData[]; | |
| 275 EXTERN UBYTE CLANSimEfDataLP[]; | |
| 276 #ifdef FF_CPHS_REL4 | |
| 277 EXTERN UBYTE CFISIndex ; | |
| 278 EXTERN UBYTE MWISIndex; | |
| 279 EXTERN UBYTE MBI_Index; | |
| 280 #endif | |
| 281 #endif /* CMH_SIMF_C */ | |
| 282 | |
| 283 #endif /* CMH_SIM_H */ | |
| 284 | |
| 285 /*==== EOF =======================================================*/ |
