blob: db9dae0cd39996cfc1eb69e8450a81f5bec24028 [file] [log] [blame]
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2016
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSKAL_TRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
#ifndef _UIM_NVRAM_H_
#define _UIM_NVRAM_H_ 1
/*****************************************************************************
* Includes
****************************************************************************/
#include "kal_general_types.h"
#include "sim_public_enum.h"
#define UICC_DBM_CACHE_CARD_NUM SUPPORT_SIM_TOTAL /* Number of card info cached in DBM NV */
#define UICC_ICCID_DATA_LEN 10
#define UICC_CHV1_DATA_LEN 8
#define UICC_VSIM_FCP_LEN 32
#define UICC_EPRL_DATA_LEN 256
#define UICC_IMSI_DATA_LEN 10
#define UICC_AD_DATA_LEN 3
#define UICC_UIMID_DATA_LEN 8
#define UICC_ACCLOC_DATA_LEN 1
#define UICC_TERM_DATA_LEN 1
#define UICC_SSCI_DATA_LEN 1
#define UICC_NAMLOCK_DATA_LEN 1
#define UICC_SFUIMID_DATA_LEN 1
#define UICC_MDN_DATA_LEN 11
/* CSIM Profile Definition */
#define UTK_TIMER_EXPIRATION 1
#define UTK_PROFILE_DOWNLOAD 1
#define UTK_SMSPP_DOWNLOAD 1
#define UTK_MENU_SELECTION 1
#define UTK_CMD_RST 1
#define UTK_TIMER_EXPIRY 1
#define UTK_UCS2_ENTRY 1
#define UTK_UCS2_DISP 1
#define UTK_DISP_TXT 1
#define UTK_GET_INPUT 1
#define UTK_MORE_TIME 1
#define UTK_PLAY_TONE 1
#define UTK_REFRESH 1
#define UTK_SELECT_ITEM 1
#define UTK_SET_UP_CALL 1
#define UTK_SET_UP_MENU 1
#define UTK_TIMER_MNGT_START 1
#define UTK_DISP_TXT_VAR_TIME 1 /*DISPLAY TEXT (Variable Time out)*/
#define UTK_SEND_SMS 1
#define UTK_PROVIDELOCALINFO_MCC_MNC_LAC_CellID_IMEI 1
#define UTK_PROVIDELOCALINFO_NMR 0
#define UTK_PROVIDELOCALINFO_DATE_TIME 1
#define UTK_PROVIDELOCALINFO_LANGUAGE 1
#define UTK_PROVIDELOCALINFO_ENHANCEDTIMER 0
#define UTK_PROVIDELOCALINFO_ACCESS_TECH 1
#define UTK_PROVIDELOCALINFO_ESN 0
#define UTK_POLL_INTERVAL 1
#define UTK_POLLING_OFF 1
#define UTK_GET_INKEY 1
#define UTK_GET_INKEY_HELP 1 /*GET INKEY (help is supported while waiting for
immediate response or variable timeout) */
#define UTK_GET_INKEY_VAR_TIME 0 /* GET INKEY (Variable Timeout) */
#ifdef __SATCE__
#define UTK_SET_UP_EVENT_LIST 1
#define UTK_EVENT_MT_CALL 1
#define UTK_EVENT_CALL_CONNECTED 1
#define UTK_EVENT_CALL_DISCONNECTED 1
#define UTK_EVENT_LOCAL_STATUS 1
#define UTK_EVENT_USER_ACTIVITY 1
#define UTK_EVENT_IDLE_SCREEN_AVAIL 1
#define UTK_EVENT_CARD_READER_STATUS 1
#define UTK_EVENT_LAN_SELECTION 1
#define UTK_EVENT_BROWSER_TERM 1
#define UTK_EVENT_DATA_AVAIL 1
#define UTK_EVENT_CHANNEL_STATUS 1
#define UTK_EVENT_ACCESS_TECH_STATUS 1
#define UTK_EVENT_DISP_PARAMS_CHANGED 1
#define UTK_EVENT_LOCAL_CONNECTION 1
#define UTK_EVENT_NET_SEARCH_MODE_CHANGE 1
#define UTK_OPEN_CHANNEL 1
#define UTK_CLOSE_CHANNEL 1
#define UTK_RECEIVE_DATA 1
#define UTK_SEND_DATA 1
#define UTK_GET_CHANNEL_STATUS 1
#else
#define UTK_SET_UP_EVENT_LIST 0
#define UTK_EVENT_MT_CALL 0
#define UTK_EVENT_CALL_CONNECTED 0
#define UTK_EVENT_CALL_DISCONNECTED 0
#define UTK_EVENT_LOCAL_STATUS 0
#define UTK_EVENT_USER_ACTIVITY 0
#define UTK_EVENT_IDLE_SCREEN_AVAIL 0
#define UTK_EVENT_CARD_READER_STATUS 0
#define UTK_EVENT_LAN_SELECTION 0
#define UTK_EVENT_BROWSER_TERM 0
#define UTK_EVENT_DATA_AVAIL 0
#define UTK_EVENT_CHANNEL_STATUS 0
#define UTK_EVENT_ACCESS_TECH_STATUS 0
#define UTK_EVENT_DISP_PARAMS_CHANGED 0
#define UTK_EVENT_LOCAL_CONNECTION 0
#define UTK_EVENT_NET_SEARCH_MODE_CHANGE 0
#define UTK_OPEN_CHANNEL 0
#define UTK_CLOSE_CHANNEL 0
#define UTK_RECEIVE_DATA 0
#define UTK_SEND_DATA 0
#define UTK_GET_CHANNEL_STATUS 0
#endif
#define SUPPORT_SOFTKEY_FOR_SELECT_ITEM 0
#define SUPPORT_SOFTKEY_FOR_SELECT_MENU 0
#define SOFTKEY_MAX_NUM 2
#define DISP_HEIGHT_CHAR_NUM 5
#define SUPPORT_DISP_HEIGHT_SIZING_PARAM 0
#define DISP_WIDTH_CHAR_NUM 7
#define SUPPORT_VAR_SIZE_FORTS 0
#define SUPPORT_DISP_RESIZE 0
#define SUPPORT_TEXT_WRAPPING 0
#define SUPPORT_TEXT_SCROLLING 1
#define WIDTH_REDUCTION 7
#define SUPPORT_EXTENDED_TEXT 0
#define UTK_TIMER_MANAGEMENT_START_STOP 1
#define UTK_MAX_CHANNEL_NUM_SUPPORT 7
#define UTK_TCP_CLIENT_REMOTE 1
#define UTK_UDP_CLIENT_REMOTE 1
#define UTK_TCP_SERVER 1
/* CSIM Profile Definition End*/
#define TERM_PROFILE_LEN 20
typedef struct
{
#ifdef MTK_DEV_CCCI_FS
kal_bool IsICCIDValid;
kal_bool IsCHVValid;
#else
kal_bool IsICCIDValid:1;
kal_bool IsCHVValid:1;
#endif
kal_uint8 CHVData[UICC_CHV1_DATA_LEN];
kal_uint8 ICCIDData[UICC_ICCID_DATA_LEN];
} UiccDbmChvIccidStruct;
typedef struct
{
UiccDbmChvIccidStruct DbmChvIccid[UICC_DBM_CACHE_CARD_NUM]; /* 0 for current Card */
} UiccDbmCardDataT;
typedef struct
{
kal_bool FactoryMode;
UiccDbmChvIccidStruct DbmChvIccid;
} UiccDbmDataT;
/*C2K MDVSIM*/
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 EprlData[UICC_EPRL_DATA_LEN];
}UiccVsimEprlT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 ImsiData[UICC_IMSI_DATA_LEN];
}UiccVsimImsiT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 IccidData[UICC_ICCID_DATA_LEN];
}UiccVsimIccidT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 AdData[UICC_AD_DATA_LEN];
}UiccVsimAdT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 UimidData[UICC_UIMID_DATA_LEN];
}UiccVsimUimidT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 AcclocData[UICC_ACCLOC_DATA_LEN];
}UiccVsimAcclocT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 TermData[UICC_TERM_DATA_LEN];
}UiccVsimTermT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 SsciData[UICC_SSCI_DATA_LEN];
}UiccVsimSsciT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 NamlockData[UICC_NAMLOCK_DATA_LEN];
}UiccVsimNamelockT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 SfuimidData[UICC_SFUIMID_DATA_LEN];
}UiccVsimSfuimidT;
typedef struct
{
kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
kal_uint8 MdnData[UICC_MDN_DATA_LEN];
}UiccVsimMdnT;
typedef struct
{
UiccVsimIccidT VsimIccidValue;
UiccVsimEprlT VsimEprlValue;
UiccVsimImsiT VsimImsiMVale;
UiccVsimImsiT VsimImsiTVale;
UiccVsimAdT VsimAdValue;
UiccVsimUimidT VsimUimidValue;
UiccVsimAcclocT VsimAcclocValue;
UiccVsimTermT VsimTermValue;
UiccVsimSsciT VsimSsciValue;
UiccVsimNamelockT VsimNamlockValue;
UiccVsimSfuimidT VsimSfuimidValue;
UiccVsimMdnT VsimMdnValue;
}UiccC2KVsimT;
#endif/* _UIM_NVRAM_H_ */