blob: 011fb47acef11925cc09807b33e13413ab58b973 [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) 2005
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 CONSTRUED 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/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 *
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 *
49 *
50 * Author:
51 * -------
52 *
53 *
54 *============================================================================
55 ****************************************************************************/
56#ifndef __SIM_NVRAM_DEF_H__
57#define __SIM_NVRAM_DEF_H__
58
59#ifdef __cplusplus
60extern "C"
61{
62#endif /* __cplusplus */
63
64
65#include "nvram_defs.h"
66#include "nvram_enums.h"
67#include "ps_public_enum.h"
68#include "device.h"
69#include "sim_public_enum.h"
70
71// LID Enums
72
73typedef enum
74{
75 NVRAM_EF_SIM_ASSERT_LID = NVRAM_LID_GRP_SIM(0), // __REL10__: t3346
76 NVRAM_EF_TEST_SIM_LID = NVRAM_LID_GRP_SIM(1),
77 NVRAM_EF_REGISTRATION_MODE_LID = NVRAM_LID_GRP_SIM(2), /* ERMODE */
78 NVRAM_EF_SIM_PROFILE_LID = NVRAM_LID_GRP_SIM(3),
79 NVRAM_EF_SIM_DISABLE_SLOT_BITMASK_LID = NVRAM_LID_GRP_SIM(4),
80 NVRAM_EF_SIM_DISABLE_ICCID_LIST_LID = NVRAM_LID_GRP_SIM(5),
81 NVRAM_EF_SIM_FAKE_IMSI_LID = NVRAM_LID_GRP_SIM(6),
82#ifdef __SIM_TERMINAL_CAP__
83 NVRAM_EF_SIM_TERMINAL_CAPABILITY_LID = NVRAM_LID_GRP_SIM(7),
84#endif
85#ifdef __SIM_RECOVERY_SWITCH__
86 NVRAM_EF_SIM_HOTSWAPOFF_RECOVEROFF_LID = NVRAM_LID_GRP_SIM(9),
87#endif
yu.donge372c322023-08-30 20:25:04 -070088 NVRAM_EF_SIM_RESTRICT_CARD_TYPE_LID = NVRAM_LID_GRP_SIM(11),
89 NVRAM_EF_SIM_FAKE_GID1_LID = NVRAM_LID_GRP_SIM(12),
90#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
91 NVRAM_EF_SIM_ECALL_MODE_SWITCH_LID = NVRAM_LID_GRP_SIM(14),
92#endif
rjw6c1fd8f2022-11-30 14:33:01 +080093 NVRAM_EF_SIM_LAST_LID = NVRAM_LID_GRP_SIM(63)
94}nvram_lid_sim_enum;
95
96/* NVRAM_EF_SIM_ASSERT_LID */
97#define NVRAM_EF_SIM_ASSERT_LID_VERNO "000"
98#define NVRAM_EF_SIM_ASSERT_LID_HASH 0xF18F3E9C
99
100/* NVRAM_EF_TEST_SIM_LID */
101#define NVRAM_EF_TEST_SIM_LID_VERNO "001"
102#define NVRAM_EF_TEST_SIM_LID_HASH 0x29F3CB9C
103
104/* NVRAM_EF_REGISTRATION_MODE_LID, for SBP_KOR_CUSTOMIZATION */
105#define NVRAM_EF_REGISTRATION_MODE_LID_VERNO "000"
106#define NVRAM_EF_REGISTRATION_MODE_LID_HASH 0x7871C9B3
107
108/* NVRAM_EF_SIM_PROFILE_LID */
109#define NVRAM_EF_SIM_PROFILE_LID_VERNO "003"
110#define NVRAM_EF_SIM_PROFILE_LID_HASH 0x47EF6F87
111
112/* NVRAM_EF_SIM_DISABLE_SLOT_BITMASK_LID */
113#define NVRAM_EF_SIM_DISABLE_ICCID_LIST_LID_VERNO "000"
114#define NVRAM_EF_SIM_DISABLE_SLOT_BITMASK_LID_HASH 0xC1F0B496
115
116/* NVRAM_EF_SIM_DISABLE_ICCID_LIST_LID */
117#define NVRAM_EF_SIM_DISABLE_SLOT_BITMASK_LID_VERNO "000"
118#define NVRAM_EF_SIM_DISABLE_ICCID_LIST_LID_HASH 0x2D1F758B
119
120#ifdef __FAKEID_SUPPORT__
121/* NVRAM_EF_SIM_FAKE_IMSI_LID */
122#define NVRAM_EF_SIM_FAKE_IMSI_LID_VERNO "000"
123#define NVRAM_EF_SIM_FAKE_IMSI_LID_HASH 0xB62EE911
124#endif
125
126#ifdef __SIM_TERMINAL_CAP__
127// Size and Total
128/* NVRAM_EF_SIM_TERMINAL_CAPABILITY_LID */
129#define NVRAM_EF_SIM_TERMINAL_CAPABILITY_LID_VERNO "000"
130#define NVRAM_EF_SIM_TERMINAL_CAPABILITY_LID_HASH 0xB9055DE6
131#endif
132
133#ifdef __SIM_RECOVERY_SWITCH__
134// Size and Total
135/* NVRAM_EF_SIM_HOTSWAPOFF_RECOVEROFF_LID */
136#define NVRAM_EF_SIM_HOTSWAPOFF_RECOVEROFF_LID_VERNO "000"
137#define NVRAM_EF_SIM_HOTSWAPOFF_RECOVEROFF_LID_HASH 0x599F4618
138#endif
yu.donge372c322023-08-30 20:25:04 -0700139
140#ifdef __FAKEID_SUPPORT__
141/* NVRAM_EF_SIM_FAKE_GID1_LID */
142#define NVRAM_EF_SIM_FAKE_GID1_LID_VERNO "000"
143#define NVRAM_EF_SIM_FAKE_GID1_LID_HASH 0x9AAEC05E
144#endif
145
rjw6c1fd8f2022-11-30 14:33:01 +0800146// Size and Total
147#define NVRAM_EF_SIM_RESTRICT_CARD_TYPE_LID_VERNO "000"
148#define NVRAM_EF_SIM_RESTRICT_CARD_TYPE_LID_HASH 0x8730A2AC
149
yu.donge372c322023-08-30 20:25:04 -0700150#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
151// Size and Total
152/* NVRAM_EF_SIM_ECALL_MODE_SWITCH_LID, for SBP_ECALL_MODE_SWITCH */
153#define NVRAM_EF_SIM_ECALL_MODE_SWITCH_LID_VERNO "000"
154#define NVRAM_EF_SIM_ECALL_MODE_SWITCH_LID_HASH 0x0B89E19F
155#endif
156
rjw6c1fd8f2022-11-30 14:33:01 +0800157/*
158 * SIM log
159 */
160#define NVRAM_EF_SIM_ASSERT_SIZE 16
161#define NVRAM_EF_SIM_ASSERT_TOTAL 80
162
163
164typedef struct{
165 kal_uint8 test_sim;
166}nvram_test_sim_struct;
167
168#define NVRAM_EF_TEST_SIM_TOTAL 1
169#define NVRAM_EF_TEST_SIM_SIZE sizeof(nvram_test_sim_struct)
170
171
172typedef struct{
173 kal_uint8 nvram_sim_profile[MAX_SIM_PROFILE_LEN];
174}nvram_ef_sim_profile_struct;
175
176#define NVRAM_EF_SIM_PROFILE_TOTAL (1 * NVRAM_DUAL_RECORD)
177#define NVRAM_EF_SIM_PROFILE_SIZE sizeof(nvram_ef_sim_profile_struct)
178
179
180/* ERMODE */
181typedef struct
182{
183 kal_uint8 registration_mode;
184}nvram_ef_registration_mode_struct;
185#define NVRAM_EF_REGISTRATION_MODE_TOTAL (1 * NVRAM_DUAL_RECORD)
186#define NVRAM_EF_REGISTRATION_MODE_SIZE sizeof(nvram_ef_registration_mode_struct)
187
188
189typedef struct{
190 kal_uint8 off_slot_bitmask;
191}nvram_disable_slot_bitmask_struct;
192
193#define NVRAM_EF_SIM_DISABLE_SLOT_BITMASK_TOTAL 1
194#define NVRAM_EF_SIM_DISABLE_SLOT_BITMASK_SIZE sizeof(nvram_disable_slot_bitmask_struct)
195
196#define SIM_MAX_DISABLED_ICCID_REC_NUM 20
197
198
199typedef struct{
200 kal_uint8 iccid_list[10*SIM_MAX_DISABLED_ICCID_REC_NUM]; /* ciphered ICCID */
201} nvram_disable_iccid_list_struct;
202
203#define NVRAM_EF_SIM_DISABLE_ICCID_LIST_TOTAL 1
204#define NVRAM_EF_SIM_DISABLE_ICCID_LIST_SIZE sizeof(nvram_disable_iccid_list_struct)
205
206
207#ifdef __FAKEID_SUPPORT__
208typedef struct
209{
210 kal_uint8 fake_mnc_length;
211 kal_uint8 fake_imsi[9];
212} nvram_fake_imsi_struct;
213
214#define NVRAM_EF_FAKE_IMSI_TOTAL (1 * NVRAM_DUAL_RECORD)
215#define NVRAM_EF_FAKE_IMSI_SIZE sizeof(nvram_fake_imsi_struct)
216#endif
217#ifdef __SIM_TERMINAL_CAP__
218typedef struct{
219 kal_uint8 tlv_list_length;
220 kal_uint8 tlv_objects[255];
221}nvram_terminal_capability_objects_struct;
222
223#define NVRAM_EF_SIM_TERMINAL_CAPABILITY_TOTAL (1 * NVRAM_DUAL_RECORD)
224#define NVRAM_EF_SIM_TERMINAL_CAPABILITY_SIZE sizeof(nvram_terminal_capability_objects_struct)
225#endif
226
227#ifdef __SIM_RECOVERY_SWITCH__
228typedef struct{
229 kal_uint8 sim_hotswapoff;
230 kal_uint8 sim_recoveroff;
231}nvram_hotswapoff_recoveroff_objects_struct;
232
233#define NVRAM_EF_SIM_HOTSWAPOFF_RECOVEROFF_TOTAL (1 * NVRAM_DUAL_RECORD)
234#define NVRAM_EF_SIM_HOTSWAPOFF_RECOVEROFF_SIZE sizeof(nvram_hotswapoff_recoveroff_objects_struct)
235#endif
236
237typedef struct
238{
239 kal_uint8 control;
240 sim_restrict_card_type_enum card_type;
241} nvram_sim_restrict_card_type_object_struct;
242
243#define NVRAM_EF_SIM_RESTRICT_CARD_TYPE_TOTAL 1
244#define NVRAM_EF_SIM_RESTRICT_CARD_TYPE_SIZE sizeof(nvram_sim_restrict_card_type_object_struct)
245
yu.donge372c322023-08-30 20:25:04 -0700246#ifdef __FAKEID_SUPPORT__
247typedef struct
248{
249 kal_uint8 fake_gid1_length;
250 kal_uint8 fake_gid1[20];
251} nvram_fake_gid1_struct;
252
253#define NVRAM_EF_FAKE_GID1_TOTAL (1 * NVRAM_DUAL_RECORD)
254#define NVRAM_EF_FAKE_GID1_SIZE sizeof(nvram_fake_gid1_struct)
255#endif
256
257#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
258typedef struct
259{
260 sim_ecall_mode_enum ecall_mode;
261} nvram_sim_ecall_mode_switch_object_struct;
262
263#define NVRAM_EF_SIM_ECALL_MODE_SWITCH_TOTAL (1 * NVRAM_DUAL_RECORD)
264#define NVRAM_EF_SIM_ECALL_MODE_SWITCH_SIZE sizeof(nvram_sim_ecall_mode_switch_object_struct)
265#endif
266
rjw6c1fd8f2022-11-30 14:33:01 +0800267#ifdef __cplusplus
268}
269#endif
270
271#endif /* __SIM_NVRAM_DEF_H__ */