blob: db9dae0cd39996cfc1eb69e8450a81f5bec24028 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSKAL_TRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36#ifndef _UIM_NVRAM_H_
37
38#define _UIM_NVRAM_H_ 1
39
40
41/*****************************************************************************
42 * Includes
43 ****************************************************************************/
44#include "kal_general_types.h"
45#include "sim_public_enum.h"
46
47#define UICC_DBM_CACHE_CARD_NUM SUPPORT_SIM_TOTAL /* Number of card info cached in DBM NV */
48#define UICC_ICCID_DATA_LEN 10
49#define UICC_CHV1_DATA_LEN 8
50#define UICC_VSIM_FCP_LEN 32
51#define UICC_EPRL_DATA_LEN 256
52#define UICC_IMSI_DATA_LEN 10
53#define UICC_AD_DATA_LEN 3
54#define UICC_UIMID_DATA_LEN 8
55#define UICC_ACCLOC_DATA_LEN 1
56#define UICC_TERM_DATA_LEN 1
57#define UICC_SSCI_DATA_LEN 1
58#define UICC_NAMLOCK_DATA_LEN 1
59#define UICC_SFUIMID_DATA_LEN 1
60#define UICC_MDN_DATA_LEN 11
61
62/* CSIM Profile Definition */
63#define UTK_TIMER_EXPIRATION 1
64#define UTK_PROFILE_DOWNLOAD 1
65#define UTK_SMSPP_DOWNLOAD 1
66#define UTK_MENU_SELECTION 1
67#define UTK_CMD_RST 1
68#define UTK_TIMER_EXPIRY 1
69#define UTK_UCS2_ENTRY 1
70#define UTK_UCS2_DISP 1
71#define UTK_DISP_TXT 1
72#define UTK_GET_INPUT 1
73#define UTK_MORE_TIME 1
74#define UTK_PLAY_TONE 1
75#define UTK_REFRESH 1
76#define UTK_SELECT_ITEM 1
77#define UTK_SET_UP_CALL 1
78#define UTK_SET_UP_MENU 1
79#define UTK_TIMER_MNGT_START 1
80#define UTK_DISP_TXT_VAR_TIME 1 /*DISPLAY TEXT (Variable Time out)*/
81#define UTK_SEND_SMS 1
82#define UTK_PROVIDELOCALINFO_MCC_MNC_LAC_CellID_IMEI 1
83#define UTK_PROVIDELOCALINFO_NMR 0
84#define UTK_PROVIDELOCALINFO_DATE_TIME 1
85#define UTK_PROVIDELOCALINFO_LANGUAGE 1
86#define UTK_PROVIDELOCALINFO_ENHANCEDTIMER 0
87#define UTK_PROVIDELOCALINFO_ACCESS_TECH 1
88#define UTK_PROVIDELOCALINFO_ESN 0
89#define UTK_POLL_INTERVAL 1
90#define UTK_POLLING_OFF 1
91#define UTK_GET_INKEY 1
92#define UTK_GET_INKEY_HELP 1 /*GET INKEY (help is supported while waiting for
93 immediate response or variable timeout) */
94#define UTK_GET_INKEY_VAR_TIME 0 /* GET INKEY (Variable Timeout) */
95#ifdef __SATCE__
96#define UTK_SET_UP_EVENT_LIST 1
97#define UTK_EVENT_MT_CALL 1
98#define UTK_EVENT_CALL_CONNECTED 1
99#define UTK_EVENT_CALL_DISCONNECTED 1
100#define UTK_EVENT_LOCAL_STATUS 1
101#define UTK_EVENT_USER_ACTIVITY 1
102#define UTK_EVENT_IDLE_SCREEN_AVAIL 1
103#define UTK_EVENT_CARD_READER_STATUS 1
104#define UTK_EVENT_LAN_SELECTION 1
105#define UTK_EVENT_BROWSER_TERM 1
106#define UTK_EVENT_DATA_AVAIL 1
107#define UTK_EVENT_CHANNEL_STATUS 1
108#define UTK_EVENT_ACCESS_TECH_STATUS 1
109#define UTK_EVENT_DISP_PARAMS_CHANGED 1
110#define UTK_EVENT_LOCAL_CONNECTION 1
111#define UTK_EVENT_NET_SEARCH_MODE_CHANGE 1
112#define UTK_OPEN_CHANNEL 1
113#define UTK_CLOSE_CHANNEL 1
114#define UTK_RECEIVE_DATA 1
115#define UTK_SEND_DATA 1
116#define UTK_GET_CHANNEL_STATUS 1
117
118#else
119#define UTK_SET_UP_EVENT_LIST 0
120#define UTK_EVENT_MT_CALL 0
121#define UTK_EVENT_CALL_CONNECTED 0
122#define UTK_EVENT_CALL_DISCONNECTED 0
123#define UTK_EVENT_LOCAL_STATUS 0
124#define UTK_EVENT_USER_ACTIVITY 0
125#define UTK_EVENT_IDLE_SCREEN_AVAIL 0
126#define UTK_EVENT_CARD_READER_STATUS 0
127#define UTK_EVENT_LAN_SELECTION 0
128#define UTK_EVENT_BROWSER_TERM 0
129#define UTK_EVENT_DATA_AVAIL 0
130#define UTK_EVENT_CHANNEL_STATUS 0
131#define UTK_EVENT_ACCESS_TECH_STATUS 0
132#define UTK_EVENT_DISP_PARAMS_CHANGED 0
133#define UTK_EVENT_LOCAL_CONNECTION 0
134#define UTK_EVENT_NET_SEARCH_MODE_CHANGE 0
135#define UTK_OPEN_CHANNEL 0
136#define UTK_CLOSE_CHANNEL 0
137#define UTK_RECEIVE_DATA 0
138#define UTK_SEND_DATA 0
139#define UTK_GET_CHANNEL_STATUS 0
140#endif
141
142#define SUPPORT_SOFTKEY_FOR_SELECT_ITEM 0
143#define SUPPORT_SOFTKEY_FOR_SELECT_MENU 0
144#define SOFTKEY_MAX_NUM 2
145#define DISP_HEIGHT_CHAR_NUM 5
146#define SUPPORT_DISP_HEIGHT_SIZING_PARAM 0
147#define DISP_WIDTH_CHAR_NUM 7
148#define SUPPORT_VAR_SIZE_FORTS 0
149#define SUPPORT_DISP_RESIZE 0
150#define SUPPORT_TEXT_WRAPPING 0
151#define SUPPORT_TEXT_SCROLLING 1
152#define WIDTH_REDUCTION 7
153#define SUPPORT_EXTENDED_TEXT 0
154
155#define UTK_TIMER_MANAGEMENT_START_STOP 1
156#define UTK_MAX_CHANNEL_NUM_SUPPORT 7
157#define UTK_TCP_CLIENT_REMOTE 1
158#define UTK_UDP_CLIENT_REMOTE 1
159#define UTK_TCP_SERVER 1
160/* CSIM Profile Definition End*/
161#define TERM_PROFILE_LEN 20
162
163typedef struct
164{
165#ifdef MTK_DEV_CCCI_FS
166 kal_bool IsICCIDValid;
167 kal_bool IsCHVValid;
168#else
169 kal_bool IsICCIDValid:1;
170 kal_bool IsCHVValid:1;
171#endif
172 kal_uint8 CHVData[UICC_CHV1_DATA_LEN];
173 kal_uint8 ICCIDData[UICC_ICCID_DATA_LEN];
174} UiccDbmChvIccidStruct;
175
176typedef struct
177{
178 UiccDbmChvIccidStruct DbmChvIccid[UICC_DBM_CACHE_CARD_NUM]; /* 0 for current Card */
179} UiccDbmCardDataT;
180
181
182typedef struct
183{
184 kal_bool FactoryMode;
185 UiccDbmChvIccidStruct DbmChvIccid;
186} UiccDbmDataT;
187
188/*C2K MDVSIM*/
189typedef struct
190{
191 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
192 kal_uint8 EprlData[UICC_EPRL_DATA_LEN];
193}UiccVsimEprlT;
194
195typedef struct
196{
197 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
198 kal_uint8 ImsiData[UICC_IMSI_DATA_LEN];
199}UiccVsimImsiT;
200
201typedef struct
202{
203 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
204 kal_uint8 IccidData[UICC_ICCID_DATA_LEN];
205}UiccVsimIccidT;
206
207typedef struct
208{
209 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
210 kal_uint8 AdData[UICC_AD_DATA_LEN];
211}UiccVsimAdT;
212
213typedef struct
214{
215 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
216 kal_uint8 UimidData[UICC_UIMID_DATA_LEN];
217}UiccVsimUimidT;
218
219typedef struct
220{
221 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
222 kal_uint8 AcclocData[UICC_ACCLOC_DATA_LEN];
223}UiccVsimAcclocT;
224
225typedef struct
226{
227 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
228 kal_uint8 TermData[UICC_TERM_DATA_LEN];
229}UiccVsimTermT;
230
231typedef struct
232{
233 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
234 kal_uint8 SsciData[UICC_SSCI_DATA_LEN];
235}UiccVsimSsciT;
236
237typedef struct
238{
239 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
240 kal_uint8 NamlockData[UICC_NAMLOCK_DATA_LEN];
241}UiccVsimNamelockT;
242
243typedef struct
244{
245 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
246 kal_uint8 SfuimidData[UICC_SFUIMID_DATA_LEN];
247}UiccVsimSfuimidT;
248
249typedef struct
250{
251 kal_uint8 FcpData[UICC_VSIM_FCP_LEN];
252 kal_uint8 MdnData[UICC_MDN_DATA_LEN];
253}UiccVsimMdnT;
254
255typedef struct
256{
257 UiccVsimIccidT VsimIccidValue;
258 UiccVsimEprlT VsimEprlValue;
259 UiccVsimImsiT VsimImsiMVale;
260 UiccVsimImsiT VsimImsiTVale;
261 UiccVsimAdT VsimAdValue;
262 UiccVsimUimidT VsimUimidValue;
263 UiccVsimAcclocT VsimAcclocValue;
264 UiccVsimTermT VsimTermValue;
265 UiccVsimSsciT VsimSsciValue;
266 UiccVsimNamelockT VsimNamlockValue;
267 UiccVsimSfuimidT VsimSfuimidValue;
268 UiccVsimMdnT VsimMdnValue;
269}UiccC2KVsimT;
270
271#endif/* _UIM_NVRAM_H_ */
272