blob: 13c7ae63bd3694bfd1036b24acdcddce279b6120 [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 * Copyright Statement:
37 * --------------------
38 * This software is protected by Copyright and the information contained
39 * herein is confidential. The software may not be copied and the information
40 * contained herein may not be used or disclosed except with the written
41 * permission of MediaTek Inc. (C) 2001
42 *
43 *******************************************************************************/
44
45 /*******************************************************************************
46 * Filename:
47 * ---------
48 * sim_ps_struct.h
49 *
50 * Project:
51 * --------
52 * MAUI
53 *
54 * Description:
55 * ------------
56 * Structure provided by SIM task and inside-PS task uses only
57 *
58 * Author:
59 * -------
60 * -------
61 *
62 *******************************************************************************/
63#ifndef SIM_PS_STRUCT_H
64#define SIM_PS_STRUCT_H
65
66#include "kal_public_defs.h"
67#include "sim_public_enum.h"
68#include "sim_ps_enum.h"
69#include "ps_public_struct.h"
70#include "ps_public_enum.h"
71#include "sim_ps_struct_public.h"
72#include "l3_inc_enums.h"
73#include "mcd_l3_inc_struct.h"
74
75#include "nvram_data_items.h"
76#include "vsim_nvram_def.h"
77
78/* inside PS */
79typedef struct
80{
81 /* This field gives the actual file id of EF */
82 sim_file_id_enum file_id;
83
84 /* This field gives the id of the parent of the EF */
85 sim_file_index_enum parent_file_idx;
86
87 /* This field gives the id of the grandparent of the EF */
88// sim_file_index_enum grand_parent_file_idx;
89
90 /* This field is used by USIM select by path function */
91// kal_uint8 full_path[6];
92}usim_ef_info_struct;
93
94typedef struct {
95 LOCAL_PARA_HDR
96 sim_start_mode_enum mode;
97 kal_uint8 access_id;
98 kal_uint8 pin1[8];
99} sim_start_req_struct;
100
101typedef struct {
102 LOCAL_PARA_HDR
103 sim_start_mode_enum mode;
104 uicc_app_type_enum app_type;
105 kal_uint8 access_id;
106 kal_uint8 pin1[8];
107} sim_app_start_req_struct;
108
109typedef struct {
110 kal_uint8 num_lp;
111 sim_lp_file_type_enum lp_file_type;
112 kal_uint8 lp[NUM_OF_BYTE_LP * MAX_LP_NUM];
113} sim_lp_struct;
114
115typedef struct {
116 kal_uint8 num_ecc;
117 sim_ecc_entry_struct ecc_entry[MAX_ECC_NUM_USIM];
118 kal_uint8 ecc_rec_len;
119} sim_ecc_struct;
120
121typedef struct {
122 LOCAL_PARA_HDR
123 kal_uint16 result;
124 sim_chv_info_struct chv_info;
125 sim_lp_struct lp[2];
126 sim_ecc_struct ecc;
127 kal_uint8 iccid[10];
128 kal_uint8 access_id;
129 kal_bool is_valid_rat_mode; //__ENS_RAT_BALANCING__
130 kal_uint8 rat_mode; //RAT mode setting value in EF_RAT
131 kal_bool is_sim_recovery; // If full recovery is undergoing, notify SMU not to update ICCID in SIM_START_CNF
132 sim_additional_error_cause_enum additional_error_cause;
133} sim_start_cnf_struct;
134
135typedef struct {
136 LOCAL_PARA_HDR
137 uicc_app_type_enum app_type;
138 kal_uint16 result;
139 sim_chv_info_struct chv_info;
140 kal_uint8 access_id;
141 kal_uint8 channel_id;
142} sim_app_start_cnf_struct;
143
144typedef uim_sim_error_ind_struct sim_error_ind_struct;
145
146typedef struct {
147 LOCAL_PARA_HDR
148 usim_cache_struct usim_cache[USIM_CACHE_MAX_FILE_NUM];
149} sim_cache_update_ind_struct;
150
151
152typedef struct {
153 LOCAL_PARA_HDR
154 sim_error_cause_enum cause;
155 uicc_app_type_enum app_type;
156 usim_logic_channel_enum channel;
157} sim_app_error_ind_struct;
158
159typedef struct {
160 LOCAL_PARA_HDR
161 kal_bool result; /*[MAUI_02450359] mtk01612: use result as is_imsi_valid*/
162 kal_uint8 ef_imsi[9];
163 kal_bool is_valid_gid1;
164 kal_uint8 gid1[NUM_GID1]; /*[MAUI_03097146] mtk01612: use NUM_GID1, NUM_GID2 instead of hard code */
165 kal_bool is_valid_gid2;
166 kal_uint8 gid2[NUM_GID2];
167
168#ifdef __TC01__ /* for +ESIMCEP */
169 kal_uint8 number_of_gid1;
170 kal_uint8 number_of_gid2;
171#endif
172
173/* moved from mmi_ready_ind */
174 kal_uint16 num_plmnsel_data; /* zero means invalid! */
175 kal_uint8 *plmnsel_data; /* Stored in SMU, and SMU will free it when it's updated */
176 kal_uint16 num_uplmnwact_data; /* zero means invalid! */
177 kal_uint8 *uplmnwact_data; /* Stored in SMU, and SMU will free it when it's updated */
178 kal_uint16 num_oplmnwact_data; /* zero means invalid! */
179 kal_uint8 *oplmnwact_data; /* Stored in SMU, and SMU will free it when it's updated */
180 kal_bool is_valid_dck;
181 kal_uint8 dck[16];
182/* [MAUI_02129840] mtk80420: Medium Item 5, Remove the ef_acc, sopname, opname from mmi_security_ind */
183
184/*[[MAUI_02439033]] mtk01612: To sync plmn file handling. Send hplmn to SMU, even if SMU don't need it*/
185 kal_uint16 num_hplmnwact_data; /* zero means invalid! */
186 kal_uint8 *hplmnwact_data; /* Stored in SMU, and SMU will free it when it's updated */
187
188 kal_uint16 num_cnl_data;
189 kal_uint8 cnl[NUM_CNL];
190
191 kal_bool is_spn_valid;
192 kal_uint8 spn[LEN_OF_SPN];
193
194 kal_uint16 num_ehplmn_data; /* zero means invalid! */
195 kal_uint8 ehplmn_data[MAX_EHPLMN_EF_LEN];
196} sim_mmi_security_ind_struct;
197
198
199typedef struct {
200 kal_uint8 alpha_id_size;
201 kal_uint8 alpha_id[MAX_SIM_NAME_LEN];
202 kal_uint8 bcd_len;
203 kal_uint8 bcd_digit[41];
204} sim_addr_struct;
205
206typedef struct {
207 kal_uint8 alpha_id_size;
208 kal_uint8 alpha_id[21];
209 kal_uint8 ton_npi;
210 kal_uint8 digit_size;
211 kal_uint8 digit[4];//[41];
212 kal_uint8 index_level;
213 kal_bool network_specific;
214 kal_bool premium_rate;
215} sim_info_num_struct;
216
217typedef struct {
218 LOCAL_PARA_HDR
219 kal_uint16 result;
220 sim_dn_enum dn_type;
221 sim_phase_enum phase;
222 kal_bool is_valid_puct;
223 kal_uint8 ef_puct[5];
224 kal_bool is_spn_valid;
225 kal_uint8 spn[LEN_OF_SPN];
226 kal_bool is_opname_valid;
227 kal_uint8 opname[LEN_OF_OPNAME];
228 kal_bool is_sopname_valid;
229 kal_uint8 sopname[10];
230 kal_uint8 no_msisdn; // MSISDN
231 sim_addr_struct msisdn[2];
232 kal_uint8 no_info_num; // Information Numbers
233 sim_info_num_struct *info_num; /* Free by SMU */
234 kal_bool is_valid_csp;
235 kal_uint8 csp[22]; // Custom Service Profile
236 /* Acting HPLMN */ /* mtk01488 */
237 kal_bool is_valid_ef_acting_hplmn;
238 kal_uint8 ef_acting_hplmn[3];
239 kal_bool is_usim;
240 kal_bool is_valid_ef_ehplmn; // 23.122 R7 feature
241 kal_uint8 num_of_ehplmn;
242 kal_uint8 ef_ehplmn[MAX_EHPLMN_EF_LEN];
243
244 kal_bool is_registration_mode;
245} sim_mmi_ready_ind_struct;
246
247typedef struct {
248 LOCAL_PARA_HDR
249 kal_uint8 ef_imsi[9];
250 kal_bool is_valid_ef_kc;
251 kal_uint8 ef_kc[9];
252 kal_uint8 ef_acc[2];
253 kal_bool is_valid_ef_loci;
254 kal_uint8 ef_loci[11];
255 kal_bool is_valid_ef_gkc;
256 kal_uint8 ef_gkc[9];
257 kal_bool is_valid_ef_gloci;
258 kal_uint8 ef_gloci[14];
259 /* Below is adding for 3G */
260 kal_uint8 ef_keys[33]; /* Always valid in USIM */
261 kal_uint8 ef_keysps[33]; /* Always valid in USIM */
262 kal_bool is_usim;
263 kal_bool is_service_27_support;
264 kal_bool is_service_38_support;
265 /* MTC nas configure */
266 kal_uint16 no_nasconfig_data; /** Zero means invalid. */
267 kal_uint8 *nasconfig_data; /** Defined in 31.102, ef_nasconfig. MM remember to free this ctrl buffer when finish using */
268 kal_bool is_rmode_changed;
269} sim_mm_ready_ind_struct;
270/* GAS: MOD_SIM -> MOD_RRM */
271typedef struct {
272 LOCAL_PARA_HDR
273 kal_bool is_valid_ms_op_mode; /* !!!Remove for MONZA!!! */
274 kal_uint8 ms_op_mode; /* !!!Remove for MONZA!!! */
275 kal_uint8 ef_imsi[9];
276 kal_bool is_valid_ef_bcch; /* !!!Remove for MONZA!!! */
277 kal_uint8 ef_bcch[16]; /* ONLY for SIM card */
278 kal_uint8 ef_acc[2];
279 kal_bool is_valid_ef_loci; /* !!!Remove for MONZA!!! */
280 kal_uint8 ef_loci[11];
281 /* Acting HPLMN */ /* mtk01488 */
282 kal_bool is_valid_ef_acting_hplmn;
283 kal_uint8 ef_acting_hplmn[3];
284 /* For MONZA only */
285 kal_bool is_usim;
286 kal_bool is_test_sim;
287 kal_bool is_valid_ef_netpar; /*mtk01612: [MAUI_02575860]*/
288 kal_uint16 size_ef_netpar; /*mtk01612: [MAUI_02575860]*/
289 kal_uint8 ef_netpar[MAX_SUPPORT_NETPAR_DATA_SIZE]; /*mtk01612: [MAUI_02575860]*/
290} sim_rr_ready_ind_struct;
291
292/** MOD_SIM -> MOD_PAM */
293typedef struct {
294 LOCAL_PARA_HDR
295
296 /** True: SIM is replaced during power-OFF or by Hot-Plug.
297 * - Note: Hot-Plug MSG sequence: SIM_ERROR_IND(plug-out) -> SIM_ERROR_IND(plug-in) -> SIM_PAM_READY_IND.
298 */
299 kal_bool is_sim_replaced ;
300
301 kal_uint8 ef_acc[2] ; /** Defined in both 51.011 and 31.102. */
302 /* MTC nas configure */
303 kal_uint16 no_nasconfig_data ; /** Zero means invalid. */
304 kal_uint8 *nasconfig_data ; /** Defined in 31.102, ef_nasconfig. PAM remember to free this ctrl buffer when finish using */
305} sim_pam_ready_ind_struct ;
306
307typedef struct {
308 kal_bool is_valid_ef_acsgl;
309 kal_uint8 acsgl_data_rec_num; /* number of valid record in acsgl_data buffer */
310 kal_uint8 ef_acsgl_rec_size;
311 kal_uint8 *acsgl_data; /* Ctrl buffer with size MAX_SUPPORT_CSGL_DATA_SIZE. */
312 kal_bool is_valid_ef_ocsgl;
313 kal_uint8 ocsgl_data_rec_num; /* number of valid record in ocsgl_data buffer */
314 kal_uint8 ef_ocsgl_rec_size;
315 kal_uint8 *ocsgl_data; /* Ctrl buffer with size MAX_SUPPORT_CSGL_DATA_SIZE. */
316} sim_csg_white_list_struct;
317
318/* UAS: MOD_SIM -> MOD_USIME */
319typedef struct {
320 LOCAL_PARA_HDR
321 kal_bool is_usim;
322 kal_bool is_test_sim;
323 kal_bool is_gsm_access_allowed;
324 kal_uint8 ef_acc[2];
325 kal_uint8 ef_imsi[9];
326 kal_bool is_valid_ef_start_hfn;
327 kal_uint8 ef_start_hfn[6];
328 kal_bool is_valid_ef_threshold;
329 kal_uint8 ef_threshold[3];
330 kal_uint8 ef_loci[11];
331 kal_bool is_valid_ef_psloci; /* If USIM inserted, this is EF-PSLOCI; if SIM inserted, this is EF_LOCIGPRS */
332 kal_uint8 ef_psloci[14]; /* If USIM inserted, this is EF-PSLOCI; if SIM inserted, this is EF_LOCIGPRS */
333 kal_bool is_valid_ef_netpar; /*mtk01612: [MAUI_02575860]*/
334 kal_uint16 size_ef_netpar;
335 kal_uint8 ef_netpar[MAX_SUPPORT_NETPAR_DATA_SIZE];
336 sim_csg_white_list_struct csg_white_list;
337} usim_urr_ready_ind_struct;
338
339typedef struct {
340 LOCAL_PARA_HDR
341 kal_uint16 size_ef_netpar;
342 kal_uint8 ef_netpar[MAX_SUPPORT_NETPAR_DATA_SIZE];
343} usim_update_netpar_req_struct; /*mtk01612: [MAUI_02575860]*/
344
345typedef struct {
346 LOCAL_PARA_HDR
347 sim_cmd_result_enum result;
348 kal_uint16 status_word;
349} usim_update_netpar_cnf_struct; /*mtk01612: [MAUI_02575860]*/
350
351
352typedef struct {
353 LOCAL_PARA_HDR
354 kal_bool cipher_ind; // 20050202 Benson add for display cipher indication
355 kal_bool is_uicc_activated; // VZ_REQ_HVOLTE_41443, indicate the VZW UICC is activated or not
356} sim_mmrr_ready_ind_struct;
357
358typedef struct {
359 LOCAL_PARA_HDR
360 kal_uint8 ef_imsi[9];
361 kal_uint8 ef_acc[2];
362 kal_bool is_valid_ef_epsloci;
363 kal_uint8 ef_epsloci[LEN_OF_EPSLOCI];
364 kal_bool is_usim;
365 kal_bool is_gsm_access_allowed;
366 kal_uint8 ef_epsnsc_record_len; //record_len=0 indicating the epsnsc data is invalid
367 kal_uint8 *ef_epsnsc_data; // Free in EMM
368 sim_csg_white_list_struct csg_white_list;
369 /* MTC nas configure */
370 kal_uint16 no_nasconfig_data; /** Zero means invalid. */
371 kal_uint8 *nasconfig_data; /** Defined in 31.102, ef_nasconfig. EMM remember to free this ctrl buffer when finish using */
372 /* operator PLMN */
373 kal_uint16 no_oplmn_data;
374 kal_uint8 *oplmn_data;
375 kal_bool is_rmode_changed;
376}sim_emm_ready_ind_struct;
377
378typedef struct {
379 LOCAL_PARA_HDR
380 /* Common part of GMSS/NWSEL */
381 kal_uint8 ef_imsi[9];
382 kal_bool is_usim;
383
384 /* NWSEL only */
385 kal_bool is_valid_ef_loci;
386 kal_uint8 ef_loci[11];
387 kal_bool is_valid_ef_gloci;
388 kal_uint8 ef_gloci[14];
389 kal_bool is_valid_ef_epsloci;
390 kal_uint8 ef_epsloci[LEN_OF_EPSLOCI];
391 kal_bool is_valid_ef_5gs3gpploci;
392 kal_uint8 ef_5gs3gpploci[LEN_OF_5GS3GPPLOCI];
393 kal_bool is_valid_ef_5gsn3gpploci;
394 kal_uint8 ef_5gsn3gpploci[LEN_OF_5GSN3GPPLOCI];
395 kal_uint8 ef_hplmn_time;
396 /* Forbidden PLMN */
397 kal_bool is_valid_ef_fplmn;
398 kal_uint16 num_of_fplmn;
399 kal_uint8 *ef_fplmn; /* NWSEL remember to free it after finished using when ef_fplmn it is not NULL */
400 /* PLMN selector*/
401 kal_uint16 no_plmnsel_data;
402 kal_uint8 *plmnsel_data; /* SMU remember to free it after finished using when plmnsel_data it is not NULL */
403 /* user PLMN */
404 kal_uint16 no_uplmn_data;
405 kal_uint8 *uplmn_data; /* SMU remember to free it after finished using when uplmn_data it is not NULL */
406 /* operator PLMN */
407 kal_uint16 no_oplmn_data;
408 kal_uint8 *oplmn_data; /* SMU remember to free it after finished using when oplmn_data it is not NULL */
409 /* HPLMN */
410 kal_uint16 no_hplmn_data;
411 kal_uint8 *hplmn_data; /* SMU remember to free it after finished using when hplmn_data it is not NULL */
412 /* Acting HPLMN */
413 kal_bool is_valid_ef_acting_hplmn;
414 kal_uint8 ef_acting_hplmn[3];
415 /* Equivalent Home PLMN */
416 kal_bool is_valid_ef_ehplmn;
417 kal_uint8 num_of_ehplmn;
418 kal_uint8 ef_ehplmn[MAX_EHPLMN_EF_LEN];
419 /* EHPLMN Presentation Indication*/
420 kal_bool is_valid_ef_ehplmnpi;
421 kal_uint8 ef_ehplmnpi;
422 /* Last RPLMN Selection Indication*/
423 kal_bool is_valid_ef_lrplmnsi;
424 kal_uint8 ef_lrplmnsi;
425 kal_uint8 mnc_length;
426 kal_bool is_valid_cdma_imsi_m;
427 kal_uint8 cdma_imsi_m[10];
428 /* MTC nas configure */
429 kal_uint16 no_nasconfig_data; /** Zero means invalid. */
430 kal_uint8 *nasconfig_data; /** Defined in 31.102, ef_nasconfig. NWSEL remember to free this ctrl buffer when finish using */
431 /* Control plane-based steering of UE in VPLMN */
432 kal_bool is_enabled_ctrl_plane_steering_in_vplmn;
433 /* Other */
434 kal_bool is_rmode_changed;
435 kal_uint8 trans_id;
436
437 /* GMSS only */
438 kal_uint16 no_mlpl_data;
439 kal_uint8 *mlpl_data; /* GMSS remember to free it after finished using when mlpl_data is not NULL */
440 kal_uint16 no_mspl_data;
441 kal_uint8 *mspl_data; /* GMSS remember to free it after finished using when mspl_data is not NULL */
442 kal_uint16 no_mmssmode_data;
443 kal_uint8 *mmssmode_data; /* GMSS remember to free it after finished using when mmssmode_data is not NULL */
444 kal_bool is_dual_mode_sim;
445 kal_bool is_uicc_activated; /* VZ_REQ_HVOLTE_41443, indicate the VZW UICC is activated or not */
446 // TMO requirement:
447 // If the SA public key is not loaded onto the SIM to perform SUCI calculation then
448 // the device should only be allowed to connect to the LTE/NSA network.
449 // TRUE: 1. SUCI is calculated by UICC
450 // 2. SUCI is calculated by ME, the protect scheme is not NULL SCHEME and there is public key
451 // FALSE: The others
452 kal_bool is_suci_protected;
453}sim_gmss_ready_ind_struct;
454
455
456typedef struct {
457 LOCAL_PARA_HDR
458 kal_uint8 ef_imsi[9];
459 kal_uint8 ef_acc[2];
460 kal_bool is_usim;
461 /* MTC nas configure */
462 kal_uint16 no_nasconfig_data; /** Zero means invalid. */
463 kal_uint8 *nasconfig_data; /** Defined in 31.102, ef_nasconfig. VGMM remember to free this ctrl buffer when finish using */
464 kal_bool is_rmode_changed;
465 /* 5G new data */
466 kal_bool is_valid_ef_5gs3gpploci;
467 kal_uint8 ef_5gs3gpploci[LEN_OF_5GS3GPPLOCI];
468 kal_bool is_valid_ef_5gsn3gpploci;
469 kal_uint8 ef_5gsn3gpploci[LEN_OF_5GSN3GPPLOCI];
470 kal_bool is_valid_ef_uac_aic;
471 kal_uint8 ef_uac_aic[LEN_OF_UAC_AIC];
472 kal_bool is_valid_ef_5gauthkeys;
473 kal_uint8 ef_5gauthkeys[LEN_OF_5GAUTHKEYS];
474}sim_vgmm_ready_ind_struct;
475
476typedef struct {
477 LOCAL_PARA_HDR
478 kal_uint8 trans_id;
479 sim_get_identity_type_enum get_id_type;
480 kal_uint16 param;
481 kal_uint16 add_input_len;
482 kal_uint8 add_input[256];
483} sim_get_identity_req_struct;
484
485typedef struct {
486 LOCAL_PARA_HDR
487 sim_cmd_result_enum result;
488 kal_uint8 trans_id;
489 kal_uint16 rsp_len;
490 kal_uint8 rsp[256];
491} sim_get_identity_cnf_struct;
492
493typedef struct {
494 LOCAL_PARA_HDR
495 kal_uint16 file_idx;
496 kal_uint16 para;
497 kal_uint16 length;
498 kal_uint8 access_id;
499 kal_uint8 path[6];
500 kal_uint8 src_id;
501 kal_uint8 channel_id;
502 kal_uint8 sfi;
503} sim_read_req_struct, sim_app_read_req_struct;
504
505typedef struct {
506 LOCAL_PARA_HDR
507 kal_uint16 file_idx;
508 kal_uint16 para;
509 kal_uint16 length;
510 kal_uint8 data[258]; // 256 + 2 for driver usage in T=1
511 kal_uint16 result;
512 kal_uint16 status_word;
513 kal_uint8 access_id;
514 kal_uint8 src_id;
515} sim_read_cnf_struct, sim_app_read_cnf_struct;
516
517typedef struct {
518 LOCAL_PARA_HDR
519 kal_uint16 file_idx;
520 kal_uint16 para;
521 kal_uint16 length;
522 kal_uint8 data[260]; // 255 + 5 for command header space
523 kal_uint8 access_id;
524 kal_uint8 channel_id;
525 kal_uint8 path[6];
526 kal_uint8 src_id;
527 kal_uint8 sfi;
528} sim_write_req_struct, sim_app_write_req_struct;
529
530typedef struct {
531 LOCAL_PARA_HDR
532 kal_uint16 file_idx;
533 kal_uint16 para;
534 kal_uint16 length;
535 kal_uint16 result;
536 kal_uint16 status_word;
537 kal_uint8 access_id;
538 kal_uint8 src_id;
539} sim_write_cnf_struct, sim_app_write_cnf_struct;
540
541typedef struct {
542 LOCAL_PARA_HDR
543 kal_uint16 file_idx;
544 kal_uint8 data[127];
545 kal_uint8 data_len;
546 kal_uint8 access_id;
547 kal_uint8 path[6];
548} sim_increase_req_struct;
549
550typedef struct {
551 LOCAL_PARA_HDR
552 kal_uint16 file_idx;
553 kal_uint8 data[258]; // 256 +2 for driver usage in T=1
554 kal_uint16 result;
555 kal_uint16 status_word;
556 kal_uint16 length;
557 kal_uint8 access_id;
558} sim_increase_cnf_struct;
559
560typedef struct {
561 LOCAL_PARA_HDR
562 sim_security_operation_enum op;
563 sim_chv_type_enum which_chv;
564 kal_uint8 old_value[8];
565 kal_uint8 new_value[8];
566 kal_uint8 access_id;
567 kal_uint8 channel_id;
568} sim_security_req_struct, sim_app_security_req_struct;
569
570typedef struct {
571 LOCAL_PARA_HDR
572 sim_cmd_result_enum result;
573 kal_uint16 status_word;
574 sim_security_operation_enum op;
575 sim_chv_type_enum which_chv;
576 kal_uint8 access_id;
577 sim_chv_info_struct chv_info;
578 kal_uint8 channel_id;
579} sim_security_cnf_struct, sim_app_security_cnf_struct;
580
581typedef struct {
582 LOCAL_PARA_HDR
583 uicc_app_type_enum app_type;
584 kal_uint8 channel_id;
585 kal_uint8 mcc[4];
586 kal_uint8 mnc[4];
587 kal_uint8 trans_id; /* Used by DSBP_RECONFIG's users. Use 1~255 in order for each SIM task. */
588#ifdef __SIM_MULTI_PIN__
589 kal_uint8 pin_status_data[SIM_MAX_PIN_DO_SIZE];
590#endif
591} sim_app_ready_ind_struct;
592
593typedef struct {
594 LOCAL_PARA_HDR
595 sim_event_enum event;
596 kal_uint8 argc;
597 kal_uint8 arg_list[MAX_SIM_EVENT_ARG_LIST_SIZE];
598} sim_event_ind_struct;
599
600typedef struct {
601 LOCAL_PARA_HDR
602 kal_uint8 access_id;
603 kal_uint8 src_id;
604 kal_uint16 file_idx;
605 kal_uint8 path[6];
606 kal_uint8 info_type;
607 kal_uint8 channel_id;
608 kal_uint16 length; /*[MAUI_01702417] mtk01612: WinMo_GEMINI : +crsm*/
609} sim_file_info_req_struct, sim_app_file_info_req_struct;
610
611typedef struct {
612 LOCAL_PARA_HDR
613 kal_uint8 access_id;
614 kal_uint8 src_id;
615 kal_uint8 file_type;
616 kal_uint16 file_idx;
617 kal_uint8 info_type;
618 kal_uint16 length;
619 kal_uint16 result;
620 kal_uint16 status_word;
621 kal_uint16 file_size;
622 kal_uint8 num_of_rec;
623 kal_uint8 res_data[256];
624 kal_uint8 sfi;
625} sim_file_info_cnf_struct, sim_app_file_info_cnf_struct;
626
627typedef struct
628{
629 LOCAL_PARA_HDR
630 kal_uint8 trans_id; //piggy-back
631 kal_uint16 file_idx; //refer to sim_file_index_enum
632 kal_uint8 path[6]; //full file path if no file index
633 kal_uint8 channel_id;
634 kal_uint8 sfi; //short file ID, refer to 3GPP 31.102
635 kal_uint16 tag_length; //1 <= T <= 3
636 kal_uint8 tag[3];
637} sim_bertlv_retrieve_data_req_struct;
638
639typedef struct
640{
641 LOCAL_PARA_HDR
642 kal_uint8 trans_id; //piggy-back
643 kal_uint16 result; //refer to sim_cmd_result_enum
644 kal_uint16 file_idx; //piggy-back if file_idx is set in request
645 kal_uint16 status_word;
646 kal_uint16 length; //the length of the data in TLV object, i.e. Tag and Length field are excluded
647} sim_bertlv_retrieve_data_cnf_struct;
648
649typedef struct
650{
651 LOCAL_PARA_HDR
652 kal_uint8 trans_id; //piggy-back
653 kal_uint16 file_idx; //refer to sim_file_index_enum
654 kal_uint8 path[6]; //full file path if no file index
655 kal_uint8 channel_id;
656 kal_uint8 sfi;
657 kal_uint8 mode; //set data, create tag, delete object refer to bertlv_ef_set_data_mode_enum
658 kal_uint16 tag_length; //1 <= T <= 3
659 kal_uint8 tag[3];
660 kal_uint16 length; //length all object data except tag and length field.
661} sim_bertlv_set_data_req_struct;
662
663typedef struct
664{
665 LOCAL_PARA_HDR
666 kal_uint8 trans_id; //piggy-back
667 kal_uint16 result; //refer to sim_cmd_result_enum
668 kal_uint16 file_idx; //piggy-back if file_idx is set in request
669 kal_uint8 mode; //piggy-back
670 kal_uint16 status_word;
671} sim_bertlv_set_data_cnf_struct;
672
673/******************* MMDC START *******************/
674typedef struct {
675 sim_file_id_enum file_id;
676 kal_uint16 para;
677 kal_uint16 length;
678 kal_uint8 path[6];
679} sim_access_extmd_read_ind_struct;
680
681typedef struct {
682 sim_file_id_enum file_id;
683 kal_uint16 para;
684 kal_uint16 length;
685 kal_uint8 path[6];
686 kal_uint8 data[260];
687} sim_access_extmd_update_ind_struct;
688
689typedef struct {
690 sim_file_id_enum file_id;
691 kal_uint8 path[6];
692} sim_access_extmd_file_info_ind_struct;
693
694typedef struct {
695 kal_uint8 rand[16];
696 kal_bool is_auth_present;
697 kal_uint8 auth[16];
698} sim_access_extmd_auth_ind_struct;
699
700typedef struct {
701 LOCAL_PARA_HDR
702 sim_access_extmd_op_enum op;
703 union
704 {
705 sim_access_extmd_read_ind_struct read_ind;
706 sim_access_extmd_update_ind_struct update_ind;
707 sim_access_extmd_file_info_ind_struct file_info_ind;
708 sim_access_extmd_auth_ind_struct auth_ind;
709 }req_field;
710} sim_access_extmd_ind_struct;
711
712typedef struct {
713 LOCAL_PARA_HDR
714 kal_bool result;
715 kal_uint16 status_word;
716 kal_uint16 length;
717 kal_uint8 res_data[256];
718} sim_access_extmd_res_struct;
719
720typedef struct {
721 kal_bool insert;
722 sim_error_cause_enum cause;
723}sim_extmd_notify_card_status;
724
725typedef struct {
726 kal_uint8 card_type;
727}sim_extmd_notify_card_type;
728
729typedef struct {
730 sat_refresh_type_enum refresh_type;
731 kal_uint8 num_of_file;
732 kal_uint16 file_list[120];
733 kal_uint8 size_of_plmn;
734 kal_uint8 *plmn_list;
735}sim_extmd_notify_file_change;
736
737typedef struct {
738 LOCAL_PARA_HDR
739 kal_uint8 src_id;
740 sim_extmd_notify_enum type;
741 union
742 {
743 sim_extmd_notify_card_status card_status;
744 sim_extmd_notify_card_type card_type;
745 sim_extmd_notify_file_change file_change;
746 }notify;
747} sim_extmd_notify_req_struct;
748
749typedef struct {
750 LOCAL_PARA_HDR
751 kal_uint8 src_id;
752 kal_bool result;
753} sim_extmd_notify_cnf_struct;
754
755/******************* MMDC END *******************/
756
757typedef struct {
758 LOCAL_PARA_HDR
759 kal_uint16 file_idx;
760 kal_uint8 pattern[16];
761 kal_uint8 length;
762 kal_uint8 mode;
763} sim_seek_req_struct;
764
765typedef struct {
766 LOCAL_PARA_HDR
767 kal_uint16 file_idx;
768 kal_uint8 length;
769 kal_uint16 result;
770 kal_uint8 data[258]; // 256 + 2 for driver usage in T=1
771} sim_seek_cnf_struct;
772
773typedef struct {
774 LOCAL_PARA_HDR
775 kal_uint8 access_id;
776 sim_dn_enum dn_type;
777 kal_bool switch_on;
778} sim_dial_mode_req_struct;
779
780typedef struct {
781 LOCAL_PARA_HDR
782 kal_uint8 access_id;
783 sim_cmd_result_enum result;
784 sim_dn_enum dn_type;
785 kal_bool switch_on;
786} sim_dial_mode_cnf_struct;
787
788typedef struct {
789 LOCAL_PARA_HDR
790 kal_uint8 access_id;
791 kal_uint8 channel_id;
792 kal_uint16 length; /*mtk01612: [MAUI_01899190] usim_on_duma*/
793} sim_status_req_struct;
794
795typedef struct {
796 LOCAL_PARA_HDR
797 kal_uint8 access_id;
798 sim_cmd_result_enum result;
799 kal_uint16 status_word;
800 kal_uint8 data[258]; // 256 + 2 for driver usage in T=1
801 kal_uint16 length;
802} sim_status_cnf_struct;
803
804typedef struct {
805 LOCAL_PARA_HDR
806 kal_uint8 switch_mode;
807} sim_error_test_req_struct;
808
809typedef struct {
810 LOCAL_PARA_HDR
811 kal_uint16 file_idx;
812 kal_uint8 access_id;
813 kal_uint8 state; /* 1: read after update */
814 kal_uint8 src_id;
815} sim_read_plmn_req_struct;
816
817typedef struct {
818 LOCAL_PARA_HDR
819 kal_uint16 file_idx;
820 kal_uint16 result;
821 kal_uint16 status_word;
822 kal_uint16 file_size;
823 kal_uint8 file[MAX_SUPPORT_PLMN_DATA_SIZE]; /* depends on the maximum supported file size of plmn type files */
824 kal_uint8 access_id;
825 kal_uint8 state; /* 1: read after update */
826 kal_uint8 src_id;
827} sim_read_plmn_cnf_struct;
828
829typedef struct {
830 LOCAL_PARA_HDR
831 kal_uint16 file_idx;
832 kal_uint16 file_size;
833 kal_uint8 file[MAX_SUPPORT_PLMN_DATA_SIZE]; /* depends on the maximum supported file size of plmn type files */
834 kal_uint8 access_id;
835 kal_uint8 src_id;
836} sim_write_plmn_req_struct;
837
838typedef struct {
839 LOCAL_PARA_HDR
840 kal_uint16 file_idx;
841 kal_uint16 result;
842 kal_uint16 status_word;
843 kal_uint8 access_id;
844 kal_uint8 src_id;
845} sim_write_plmn_cnf_struct;
846
847
848/* [MAUI_03058282] mtk80420: move sim_authenticate_req/cnf to public struct */
849
850
851typedef struct {
852 LOCAL_PARA_HDR
853 kal_uint8 next_type;
854 sim_chv_info_struct chv_info;
855} sim_l4c_verify_pin_result_ind_struct;
856
857typedef struct {
858 LOCAL_PARA_HDR
859 kal_bool is_sim_inserted;
860} sim_status_update_ind_struct;
861
862typedef struct {
863 LOCAL_PARA_HDR
864 kal_uint8 access_id;
865 kal_bool switch_on;
866} sim_acl_mode_req_struct;
867
868typedef struct {
869 LOCAL_PARA_HDR
870 kal_uint8 access_id;
871 sim_cmd_result_enum result;
872 kal_bool switch_on;
873} sim_acl_mode_cnf_struct;
874
875typedef struct {
876 LOCAL_PARA_HDR
877 kal_uint8 src_id;
878} l4c_sim_get_gsmcdma_dualsim_info_req_struct;
879
880typedef struct {
881 LOCAL_PARA_HDR
882 kal_uint8 src_id;
883 kal_bool is_sim_inserted;
884 kal_bool is_df_gsm_existed;
885 kal_bool is_df_cdma_existed;
886} l4c_sim_get_gsmcdma_dualsim_info_cnf_struct;
887
888typedef struct {
889 LOCAL_PARA_HDR
890 kal_uint8 src_id;
891 gsmcdma_dualsim_mode_enum op;
892} l4c_sim_set_gsmcdma_dualsim_mode_req_struct;
893
894typedef struct {
895 LOCAL_PARA_HDR
896 kal_uint8 src_id;
897 gsmcdma_dualsim_mode_enum op;
898 gsmcdma_dualsim_result_enum result;
899} l4c_sim_set_gsmcdma_dualsim_mode_cnf_struct;
900
901/* MSG_ID_L4C_SIM_SET_VSIM_MODE_REQ */
902typedef struct {
903 LOCAL_PARA_HDR
904 kal_uint8 src_id;
905 kal_bool switch_on;
906 kal_uint8 profile_id; /* 0-based index */
907 kal_uint8 app_type;
908} l4c_sim_set_vsim_mode_req_struct;
909
910/* MSG_ID_L4C_SIM_SET_VSIM_MODE_CNF */
911typedef struct {
912 LOCAL_PARA_HDR
913 kal_uint8 src_id;
914 sim_cmd_result_enum result;
915 sim_vsim_fcs_enum cause; /* failure cause */
916 kal_bool switch_on;
917 kal_uint8 profile_id; /* 0-based index */
918 uicc_card_type_enum vsim_type; /* SIM/USIM */
919} l4c_sim_set_vsim_mode_cnf_struct;
920
921/* MSG_ID_L4C_SIM_GET_VSIM_RSA_PUBKEY_REQ */
922typedef struct {
923 LOCAL_PARA_HDR
924 kal_uint8 src_id;
925} l4c_sim_get_vsim_rsa_pubkey_req_struct;
926
927/* MSG_ID_L4C_SIM_GET_VSIM_RSA_PUBKEY_CNF */
928typedef struct {
929 LOCAL_PARA_HDR
930 kal_uint8 src_id;
931 kal_bool result;
932
933 kal_uint16 pubkey_len;
934 kal_uint8 pubkey[536]; /* MTK format: */
935 // pubk[0:7] : "PUBK_HDR" for recognition
936 // pubk[8:11] : length of modulus
937 // pubk[12:15] : length of public exponent
938 // pubk[16:271] : modulus
939 // pubk[272:527] : public exponent
940 // pubk[528:535] : "PUBK_TAL" for recognition
941
942} l4c_sim_get_vsim_rsa_pubkey_cnf_struct;
943
944/* MSG_ID_L4C_SIM_VSIM_KI_MODE_REQ */
945typedef struct {
946 LOCAL_PARA_HDR
947 kal_uint8 src_id;
948 kal_bool enabled;
949
950 kal_uint8 profile_id;
951} l4c_sim_vsim_ki_mode_req_struct;
952
953/* MSG_ID_L4C_SIM_VSIM_KI_MODE_CNF */
954typedef struct {
955 LOCAL_PARA_HDR
956 kal_uint8 src_id;
957 kal_bool result;
958} l4c_sim_vsim_ki_mode_cnf_struct;
959
960
961/* MSG_ID_L4C_SIM_SET_VSIM_KI_REQ */
962typedef struct {
963 LOCAL_PARA_HDR
964 kal_uint8 src_id;
965
966 kal_uint8 profile_id;
967 kal_uint16 key_len;
968 kal_uint8 key[256];
969 kal_bool encrypted;
970} l4c_sim_set_vsim_ki_req_struct;
971
972/* MSG_ID_L4C_SIM_SET_VSIM_KI_CNF */
973typedef struct {
974 LOCAL_PARA_HDR
975 kal_uint8 src_id;
976 kal_bool result;
977} l4c_sim_set_vsim_ki_cnf_struct;
978
979/* MSG_ID_L4C_SIM_SET_VSIM_FILE_REQ */
980typedef struct {
981 LOCAL_PARA_HDR
982 kal_uint8 src_id;
983
984 kal_uint8 profile_id;
985 kal_uint16 file_id;
986 kal_uint16 meta_len;
987 kal_uint16 data_len;
988 kal_uint8 meta[256];
989 kal_uint8 data[256];
990} l4c_sim_set_vsim_file_req_struct;
991
992/* MSG_ID_L4C_SIM_SET_VSIM_FILE_CNF */
993typedef struct {
994 LOCAL_PARA_HDR
995 kal_uint8 src_id;
996 kal_bool result;
997 sim_vsim_fcs_enum cause; /* failure cause */
998
999 kal_uint8 profile_id;
1000 kal_uint16 file_id;
1001 kal_uint16 meta_len;
1002 kal_uint16 data_len;
1003} l4c_sim_set_vsim_file_cnf_struct;
1004
1005/* MSG_ID_L4C_SIM_SET_VSIM_PROFILE_REQ */
1006typedef struct {
1007 LOCAL_PARA_HDR
1008 kal_uint8 src_id;
1009
1010 kal_uint8 profile_id;
1011 uicc_card_type_enum vsim_type; /* SIM/USIM */
1012 kal_uint16 auth_len;
1013 kal_uint8 auth[256];
1014 kal_uint8 auth_algo_idx;
1015} l4c_sim_set_vsim_profile_req_struct;
1016
1017/* MSG_ID_L4C_SIM_SET_VSIM_PROFILE_CNF */
1018typedef struct {
1019 LOCAL_PARA_HDR
1020 kal_uint8 src_id;
1021 kal_bool result;
1022 sim_vsim_fcs_enum cause; /* failure cause */
1023
1024} l4c_sim_set_vsim_profile_cnf_struct;
1025
1026
1027/*mtk01612: [MAUI_02014578] wise detect O2 prepay SIM*/
1028typedef struct {
1029 LOCAL_PARA_HDR
1030 kal_bool is_o2_prepaid_sim;
1031} sim_o2_prepaid_sim_ind_struct;
1032
1033#if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__)
1034typedef struct {
1035 LOCAL_PARA_HDR
1036 kal_uint8 src_id;
1037 kal_bool switch_on;
1038 kal_uint8 profile_id; /* 0-based index */
1039 kal_uint8 mode;
1040 kal_uint8 len_mccmnc;
1041 kal_uint8 mccmnc[MAX_LEN_MCCMNC];
1042 kal_uint8 len_iin;
1043 kal_uint8 iin[MAX_LEN_IIN];
1044 kal_uint8 len_gid1;
1045 kal_uint8 gid1[MAX_LEN_GID1];
1046 kal_uint8 len_spn;
1047 kal_uint8 spn[MAX_LEN_SPN];
1048}l4c_sim_set_vsim_update_req_struct;
1049typedef struct {
1050 LOCAL_PARA_HDR
1051 kal_uint8 src_id;
1052 sim_cmd_result_enum result;
1053 sim_vsim_fcs_enum cause; /* failure cause */
1054 kal_uint8 profile_id;
1055 kal_bool switch_on;
1056 kal_uint8 mode; /* 0-based index */
1057 kal_uint16 file_id;
1058 uicc_card_type_enum vsim_type; /* SIM/USIM */
1059} l4c_sim_set_vsim_update_cnf_struct;
1060#endif/*#if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__)*/
1061
1062#if 0
1063/* under construction !*/
1064/* under construction !*/
1065/* under construction !*/
1066/* under construction !*/
1067/* under construction !*/
1068/* under construction !*/
1069/* under construction !*/
1070/* under construction !*/
1071/* under construction !*/
1072/* under construction !*/
1073/* under construction !*/
1074/* under construction !*/
1075/* under construction !*/
1076/* under construction !*/
1077/* under construction !*/
1078/* under construction !*/
1079/* under construction !*/
1080#endif
1081/* MAUI_03082391 */
1082typedef struct
1083{
1084 LOCAL_PARA_HDR
1085 kal_uint8 src_id;
1086 kal_uint8 channel_id;
1087 kal_uint16 req_len;
1088#ifndef __SIM_ACCESS_INTEGRATION__
1089 kal_uint8 req[APDU_REQ_MAX_LEN];
1090#endif
1091 kal_uint8 cmd_type; //0: CGLA, 1: CSIM, 2: ECGLA
1092} sim_apdu_access_req_struct;
1093
1094typedef struct
1095{
1096 LOCAL_PARA_HDR
1097 kal_uint8 src_id;
1098 kal_uint16 result;
1099 kal_uint16 rsp_len;
1100#ifndef __SIM_ACCESS_INTEGRATION__
1101 kal_uint8 rsp[APDU_RSP_MAX_LEN];
1102#endif
1103 kal_uint8 cmd_type; //0: CGLA, 1: CSIM, 2: ECGLA
1104} sim_apdu_access_cnf_struct;
1105
1106typedef struct
1107{
1108 LOCAL_PARA_HDR
1109 kal_uint8 src_id;
1110 kal_bool is_last;
1111 kal_uint16 status_word;
1112 // Move buffer_block[] to peer_buf
1113} sim_apdu_res_block_ind_struct;
1114
1115typedef struct
1116{
1117 LOCAL_PARA_HDR
1118 kal_uint8 src_id;
1119 sim_manage_channel_mode_enum op;
1120 kal_uint8 req_len;
1121 kal_uint8 req[SIM_AID_MAX_LEN];
1122} sim_manage_channel_req_struct;
1123
1124typedef struct
1125{
1126 LOCAL_PARA_HDR
1127 kal_uint8 src_id;
1128 kal_uint8 channel_id;
1129 kal_uint16 result;
1130 sim_manage_channel_mode_enum op;
1131} sim_manage_channel_cnf_struct;
1132
1133
1134/*mtk01612: [MAUI_03020152] sync polling timer*/
1135typedef struct
1136{
1137 LOCAL_PARA_HDR
1138 kal_bool is_sync_timer;
1139 kal_uint32 sync_time_period;
1140} sim_sync_poll_timer_ind_struct;
1141
1142typedef struct
1143{
1144 LOCAL_PARA_HDR
1145 kal_bool switch_on;
1146}sim_recovery_enhancement_switch_req_struct;
1147
1148typedef struct
1149{
1150 LOCAL_PARA_HDR
1151 kal_bool support_additional_interface;
1152 kal_uint8 additional_interface;
1153}sim_terminal_capability_setting_req_struct;
1154
1155typedef struct {
1156 LOCAL_PARA_HDR
1157 kal_bool is_imsi_valid; //KAL_TRUE for IMSI read successfully, KAL_FALSE for read IMSI fail
1158 kal_uint8 imsi[9];
1159 kal_uint8 mnc_length; // 0 for unkonwn.
1160 kal_bool is_iccid_valid;
1161 kal_uint8 iccid[10];
1162} sim_read_imsi_iccid_cnf_struct;
1163
1164typedef struct {
1165 LOCAL_PARA_HDR
1166 kal_uint8 src_id;
1167 kal_uint8 option;
1168} sim_read_dir_req_struct;
1169
1170typedef struct {
1171 LOCAL_PARA_HDR
1172 kal_uint8 src_id;
1173 kal_uint8 option;
1174 sim_cmd_result_enum result;
1175 kal_uint8 active_app;
1176 kal_uint8 aid[SIM_MAX_AID_LEN];
1177 kal_uint16 length; //(record size * record number)
1178 kal_uint8 dir_content[1];
1179} sim_read_dir_cnf_struct;
1180
1181/*mtk0188: SATe*/
1182//#define MAX_SUPPORT_SATE_CHANNEL 3
1183
1184/* PH 03042005 Remote SAT */
1185
1186typedef struct {
1187 LOCAL_PARA_HDR
1188 kal_uint16 cmd_id;
1189 kal_uint16 proactive_cmd_len;
1190 kal_uint8 proactive_cmd[260];
1191} sat_proactive_cmd_ind_struct;
1192
1193typedef struct {
1194 LOCAL_PARA_HDR
1195#if defined(__TC10__) && defined(__IPC_ADAPTER__)
1196 kal_uint8 src_id;
1197#endif
1198 kal_uint16 cmd_id;
1199 kal_uint8 length;
1200 kal_uint8 terminal_rsp[261];
1201} sat_terminal_rsp_struct;
1202
1203typedef struct {
1204 LOCAL_PARA_HDR
1205 kal_uint16 cmd_id;
1206 sat_procomm_struct proactive_cmd;
1207} sat_moretime_ind_struct;
1208
1209typedef struct {
1210 LOCAL_PARA_HDR
1211 kal_uint16 cmd_id;
1212 sat_procomm_struct proactive_cmd;
1213} sat_poll_interval_ind_struct;
1214
1215typedef struct {
1216 LOCAL_PARA_HDR
1217 kal_uint8 src_id;
1218 kal_uint8 length;
1219 kal_uint8 envelope[261];
1220 kal_bool is_standard; /* KAL_FALSE: AT+STKENV, otherwise KAL_TRUE: AT+CUSATE */
1221} sat_envelope_req_struct;
1222
1223typedef struct {
1224 LOCAL_PARA_HDR
1225 kal_uint8 src_id;
1226 sim_cmd_result_enum result; /* sim_cmd_result_enum */
1227 kal_uint16 length;
1228 kal_uint8 envelope_rsp[256];
1229 kal_uint16 status_word;
1230 kal_bool is_standard; /* KAL_FALSE: AT+STKENV, otherwise KAL_TRUE: AT+CUSATE */
1231} sat_envelope_cnf_struct;
1232
1233typedef struct {
1234 LOCAL_PARA_HDR
1235 kal_uint16 cmd_id;
1236 sat_procomm_struct proactive_cmd;
1237} sat_refresh_ind_struct;
1238
1239typedef struct {
1240 LOCAL_PARA_HDR
1241 kal_uint16 cmd_id;
1242 sat_procomm_struct proactive_cmd;
1243} sat_polling_off_ind_struct;
1244
1245typedef struct {
1246 LOCAL_PARA_HDR
1247 kal_uint16 cmd_id;
1248 sat_procomm_struct proactive_cmd;
1249} sat_provide_local_info_ind_struct;
1250
1251typedef struct {
1252 LOCAL_PARA_HDR
1253 kal_uint8 event_list[5]; // extend for IMS event download
1254 kal_uint16 cmd_id;
1255 sat_procomm_struct proactive_cmd;
1256} sat_setup_event_list_ind_struct;
1257
1258typedef struct {
1259 LOCAL_PARA_HDR
1260 kal_uint16 cmd_id;
1261 sat_procomm_struct proactive_cmd;
1262} sat_timer_management_ind_struct;
1263
1264/* ----End Remote SAT---- */
1265
1266typedef struct {
1267 kal_uint8 qos_length; /* QOS identifer bit*/
1268 kal_uint8 unused1; /* Unused Bit*/
1269 kal_uint8 delay_class;
1270 kal_uint8 reliability_class;
1271 kal_uint8 peak_throughput;
1272 kal_uint8 unused2; /* Unused Bit*/
1273 kal_uint8 precedence_class;
1274 kal_uint8 unused3; /* Unused Bit*/
1275 kal_uint8 mean_throughput;
1276 kal_uint8 traffic_class;
1277 kal_uint8 delivery_order;
1278 kal_uint8 delivery_of_err_sdu;
1279 kal_uint8 max_sdu_size;
1280 kal_uint8 max_bitrate_up_lnk;
1281 kal_uint8 max_bitrate_down_lnk;
1282 kal_uint8 residual_bit_err_rate;
1283 kal_uint8 sdu_err_ratio;
1284 kal_uint8 transfer_delay;
1285 kal_uint8 traffic_hndl_priority;
1286 kal_uint8 guarntd_bit_rate_up_lnk;
1287 kal_uint8 guarntd_bit_rate_down_lnk;
1288} sat_gprs_qos_struct;
1289
1290typedef struct {
1291 LOCAL_PARA_HDR
1292 kal_uint8 cmd_detail[5];
1293 kal_uint8 res;
1294} sat_more_time_res_struct;
1295
1296
1297typedef struct {
1298 LOCAL_PARA_HDR
1299 kal_uint8 cmd_detail[5];
1300 kal_uint8 priority;
1301 kal_uint8 clear_text_type;
1302 kal_uint8 immediate_res;
1303 kal_uint8 is_icon_available;
1304 sat_icon_struct icon_info;
1305
1306 kal_uint16 cmd_id;
1307 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1308} sat_dspl_text_ind_struct;
1309
1310typedef struct {
1311 LOCAL_PARA_HDR
1312 kal_uint8 cmd_detail[5];
1313 kal_uint8 res;
1314 kal_uint8 additional_info;
1315} sat_dspl_text_res_struct;
1316
1317typedef struct {
1318 LOCAL_PARA_HDR
1319 kal_uint8 cmd_detail[5];
1320 kal_uint8 is_help_info_available;
1321 kal_uint8 type_of_input;
1322 kal_uint8 is_icon_available;
1323 sat_icon_struct icon_info;
1324
1325 kal_uint16 cmd_id;
1326 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1327} sat_get_inkey_ind_struct;
1328
1329typedef struct {
1330 LOCAL_PARA_HDR
1331 kal_uint8 cmd_detail[5];
1332 kal_uint8 res;
1333 kal_uint8 is_yes_selected;
1334} sat_get_inkey_res_struct;
1335
1336typedef struct {
1337 LOCAL_PARA_HDR
1338 kal_uint8 cmd_detail[5];
1339 kal_uint8 is_help_info_available;
1340 kal_uint8 type_of_input;
1341 kal_uint8 is_input_revealed_to_user;
1342 kal_uint8 is_icon_available;
1343 sat_icon_struct icon_info;
1344 kal_uint8 len_of_min_input;
1345 kal_uint8 len_of_max_input;
1346
1347 kal_uint16 cmd_id;
1348 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1349} sat_get_input_ind_struct;
1350
1351typedef struct {
1352 LOCAL_PARA_HDR
1353 kal_uint8 cmd_detail[5];
1354 kal_uint8 res;
1355} sat_get_input_res_struct;
1356
1357typedef struct {
1358 LOCAL_PARA_HDR
1359 kal_uint8 cmd_detail[5];
1360 kal_uint8 is_help_info_available;
1361 kal_uint8 is_softkey_preferred;
1362 kal_uint8 is_icon_available;
1363 sat_icon_struct icon_info;
1364 kal_uint8 num_of_item;
1365
1366 kal_uint16 cmd_id;
1367 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1368} sat_setup_menu_ind_struct;
1369
1370typedef struct {
1371 LOCAL_PARA_HDR
1372 kal_uint8 cmd_detail[5];
1373 kal_uint8 res;
1374} sat_setup_menu_res_struct;
1375
1376typedef struct {
1377 LOCAL_PARA_HDR
1378 kal_uint8 cmd_detail[5];
1379 kal_uint8 is_help_info_available;
1380 kal_uint8 is_softkey_preferred;
1381 kal_uint8 type_of_presentation;
1382 kal_uint8 is_icon_available;
1383 sat_icon_struct icon_info;
1384 kal_uint8 is_item_id_available;
1385 kal_uint8 item_id;
1386 kal_uint8 num_of_item;
1387
1388 kal_uint16 cmd_id;
1389 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1390} sat_select_item_ind_struct;
1391
1392typedef struct {
1393 LOCAL_PARA_HDR
1394 kal_uint8 cmd_detail[5];
1395 kal_uint8 res;
1396 kal_uint8 item_id;
1397} sat_select_item_res_struct;
1398
1399
1400typedef struct {
1401 LOCAL_PARA_HDR
1402 kal_uint8 cmd_detail[5];
1403 kal_uint8 tone_id;
1404 kal_uint32 duration;
1405 kal_uint8 is_icon_available;
1406 sat_icon_struct icon_info;
1407
1408 kal_uint16 cmd_id;
1409 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1410} sat_play_tone_ind_struct;
1411
1412typedef struct {
1413 LOCAL_PARA_HDR
1414 kal_uint8 cmd_detail[5];
1415 kal_uint8 res;
1416} sat_play_tone_res_struct;
1417
1418typedef struct {
1419 LOCAL_PARA_HDR
1420 kal_uint8 cmd_detail[5];
1421 kal_uint8 condition;
1422 kal_uint32 duration;
1423 kal_uint8 type_of_modification;
1424 kal_uint8 is_icon1_available;
1425 sat_icon_struct icon_info1;
1426 kal_uint8 is_icon2_available;
1427 sat_icon_struct icon_info2;
1428 kal_uint8 size_of_ccp;
1429 kal_uint8 ccp[MAX_SAT_SIZE_OF_CCP];
1430 kal_uint8 no_addr;
1431 kal_uint8 *addr;
1432 kal_uint8 size_of_subaddr;
1433 kal_uint8 subaddr[MAX_SIM_ADDR_BCD_LEN];
1434 kal_bool contain_ims_uri;
1435 kal_uint8 media_type;
1436
1437 kal_uint16 cmd_id;
1438 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1439} sat_setup_call_ind_struct;
1440
1441typedef struct {
1442 LOCAL_PARA_HDR
1443 kal_uint8 cmd_detail[5];
1444 kal_uint8 res;
1445 kal_uint8 cause;
1446} sat_setup_call_res_struct;
1447
1448typedef struct {
1449 LOCAL_PARA_HDR
1450 kal_uint8 cmd_detail[5];
1451#if defined(__TC01__)
1452 kal_bool is_alpha_id_exist;
1453#endif
1454 kal_uint8 is_icon_available;
1455 sat_icon_struct icon_info;
1456 kal_uint8 is_sms_packed_required;
1457 kal_uint8 size_of_addr;
1458 kal_uint8 addr[MAX_SIM_ADDR_LEN];
1459 kal_uint8 no_sms_tpdu;
1460 kal_uint8 *sms_tpdu;
1461
1462 kal_uint16 cmd_id;
1463 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1464} sat_send_sms_ind_struct;
1465
1466typedef struct {
1467 LOCAL_PARA_HDR
1468 kal_uint8 cmd_detail[5];
1469 kal_uint8 res;
1470 kal_uint8 cause;
1471} sat_send_sms_res_struct;
1472
1473typedef struct {
1474 LOCAL_PARA_HDR
1475 kal_uint8 cmd_detail[5];
1476 kal_uint8 type_of_modification;
1477 kal_uint8 is_icon_available;
1478 sat_icon_struct icon_info;
1479 kal_uint8 no_ss_string;
1480 kal_uint8 *ss_string;
1481
1482 kal_uint16 cmd_id;
1483 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1484} sat_send_ss_ind_struct;
1485
1486typedef struct {
1487 LOCAL_PARA_HDR
1488 kal_uint8 cmd_detail[5];
1489 kal_uint8 res;
1490 kal_uint8 size_of_additional_info;
1491 kal_uint8 additional_info[255];
1492} sat_send_ss_res_struct;
1493
1494typedef struct {
1495 LOCAL_PARA_HDR
1496 kal_uint8 cmd_detail[5];
1497 kal_uint8 type_of_modification;
1498 kal_uint8 is_icon_available;
1499 sat_icon_struct icon_info;
1500 kal_uint8 no_ussd_string;
1501 kal_uint8 *ussd_string;
1502 kal_uint8 dcs_of_ussd_string;
1503 kal_uint8 no_alpha_id; /* Length of undecoded alpha id */
1504 kal_bool is_alpha_id_present;
1505
1506 kal_uint16 cmd_id;
1507 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1508} sat_send_ussd_ind_struct;
1509
1510typedef struct {
1511 LOCAL_PARA_HDR
1512 kal_uint8 cmd_detail[5];
1513 kal_uint8 res;
1514 kal_uint8 size_of_additional_info;
1515 kal_uint8 additional_info[255];
1516} sat_send_ussd_res_struct;
1517
1518typedef struct {
1519 LOCAL_PARA_HDR
1520 kal_uint8 type;
1521 kal_uint8 size_of_ccp1;
1522 kal_uint8 ccp1[MAX_SAT_SIZE_OF_CCP];
1523 kal_uint8 size_of_subaddr;
1524 kal_uint8 subaddr[MAX_SIM_SUB_ADDR_BCD_LEN];
1525 kal_uint8 size_of_ccp2;
1526 kal_uint8 ccp2[MAX_SAT_SIZE_OF_CCP];
1527 kal_bool is_sat_action;
1528 kal_uint8 call_id; // used by IMC
1529} sat_call_ctrl_by_sim_req_struct;
1530
1531typedef struct {
1532 LOCAL_PARA_HDR
1533 kal_uint8 res;
1534 kal_uint8 type;
1535 kal_uint8 size_of_ccp1;
1536 kal_uint8 ccp1[MAX_SAT_SIZE_OF_CCP];
1537 kal_uint8 size_of_subaddr;
1538 kal_uint8 subaddr[MAX_SIM_SUB_ADDR_BCD_LEN];
1539 kal_uint8 is_bc_repeat_ind_avail;
1540 kal_uint8 bc_repeat_ind;
1541 kal_uint8 size_of_ccp2;
1542 kal_uint8 ccp2[MAX_SAT_SIZE_OF_CCP];
1543 kal_uint8 alpha_id_len;
1544 kal_bool is_alpha_id_present;
1545 kal_uint8 call_id; //used by IMC
1546} sat_call_ctrl_by_sim_cnf_struct;
1547
1548typedef sat_call_ctrl_by_sim_req_struct sat_ss_ctrl_by_sim_req_struct;
1549typedef sat_call_ctrl_by_sim_cnf_struct sat_ss_ctrl_by_sim_cnf_struct;
1550
1551typedef struct {
1552 LOCAL_PARA_HDR
1553 kal_uint8 access_id;
1554 kal_uint8 size_of_addr1;
1555 kal_uint8 addr1[MAX_SIM_ADDR_LEN];
1556 kal_uint8 size_of_addr2;
1557 kal_uint8 addr2[MAX_SIM_ADDR_LEN];
1558} sat_send_sms_ctrl_by_sim_req_struct;
1559
1560typedef struct {
1561 LOCAL_PARA_HDR
1562 kal_uint8 access_id;
1563 kal_uint8 res;
1564 kal_uint8 size_of_addr1;
1565 kal_uint8 addr1[MAX_SIM_ADDR_LEN];
1566 kal_uint8 size_of_addr2;
1567 kal_uint8 addr2[MAX_SIM_ADDR_LEN];
1568} sat_send_sms_ctrl_by_sim_cnf_struct;
1569
1570
1571typedef struct {
1572 LOCAL_PARA_HDR
1573 kal_uint8 access_id;
1574 kal_uint8 size_of_addr;
1575 kal_uint8 addr[MAX_SIM_ADDR_LEN];
1576} sat_sms_dl_req_struct;
1577
1578typedef struct {
1579 LOCAL_PARA_HDR
1580 kal_uint8 access_id;
1581 kal_uint8 is_successful;
1582 kal_uint16 size_of_sim_ack_data;
1583 kal_uint8 sim_ack_data[258];
1584 kal_uint8 cause;
1585} sat_sms_dl_cnf_struct;
1586
1587typedef struct {
1588 LOCAL_PARA_HDR
1589 kal_uint8 size_of_cb_page_data;
1590 kal_uint8 rat;
1591 kal_uint8 current_page;
1592 kal_uint8 total_page;
1593 kal_uint8 cb_page_data[88];
1594} sat_cb_dl_req_struct;
1595
1596typedef struct {
1597 LOCAL_PARA_HDR
1598 kal_uint8 is_successful;
1599 kal_uint8 rat;
1600 kal_uint8 current_page;
1601 kal_uint8 total_page;
1602} sat_cb_dl_cnf_struct;
1603
1604typedef struct {
1605 LOCAL_PARA_HDR
1606 kal_bool is_successful;
1607 sat_sms_dl_error_cause_enum cause;
1608 kal_uint16 size_of_sim_ack_data;
1609 kal_uint8 sim_ack_data[256];
1610} sat_general_sms_pp_dl_rsp_struct;
1611
1612/* MSG_ID_SAT_NAS_SV_SOR_SECURE_PACKET_RSP */
1613typedef sat_general_sms_pp_dl_rsp_struct sat_nas_sv_sor_secure_packet_rsp_struct;
1614/* MSG_ID_SAT_VGMM_SECURE_PACKET_RSP */
1615typedef sat_general_sms_pp_dl_rsp_struct sat_vgmm_secure_packet_rsp_struct;
1616
1617typedef struct {
1618 LOCAL_PARA_HDR
1619 kal_uint8 item_id;
1620 kal_uint8 is_help_info_requested;
1621} sat_menu_select_req_struct;
1622
1623typedef struct {
1624 LOCAL_PARA_HDR
1625 kal_uint8 is_successful;
1626} sat_menu_select_cnf_struct;
1627
1628typedef struct {
1629 LOCAL_PARA_HDR
1630 kal_uint8 src_id;
1631 kal_uint8 sim_slot_id;
1632 kal_bool is_full_changed;
1633 kal_uint8 refresh_type; /* Add for SIM REFRESH type */
1634 kal_uint8 num_of_file;
1635 kal_uint16 file_list[120]; /* [MAUI_01716279] mtk02374 20090706 change to kal_uint16 due to file number is larger than 256*/
1636 kal_uint8 size_of_plmn;
1637 kal_uint8 *plmn_list; /*only used when refresh_type is TYPE_STEERING_OF_ROAMING and MOD_NWSEL SHOULD free this created ctrl buffer */
1638} sat_file_change_ind_struct;
1639
1640typedef struct {
1641 LOCAL_PARA_HDR
1642 kal_uint8 src_id;
1643 kal_uint8 sim_slot_id;
1644 kal_uint8 is_successful;
1645 sat_file_change_error_cause_enum error_cause;
1646} sat_file_change_res_struct;
1647
1648typedef struct {
1649 LOCAL_PARA_HDR
1650 kal_bool is_imei_sv;
1651} sat_imei_info_req_struct;
1652
1653typedef struct {
1654 LOCAL_PARA_HDR
1655 kal_uint8 is_imei_valid;
1656 kal_uint8 imei[9];
1657 kal_bool is_imei_sv;
1658} sat_imei_info_cnf_struct;
1659
1660typedef struct {
1661 LOCAL_PARA_HDR
1662 kal_uint8 mm_status;
1663 kal_uint8 location_info[SAT_MAX_LOC_INFO_LEN];
1664 kal_uint8 rat; /* rat_enum, in l3_inc_enums_public.h */
1665} sat_location_info_ind_struct;
1666
1667/* MSG_ID_SAT_NW_REJECT_IND from ugRAC and eRAC */
1668typedef struct {
1669 LOCAL_PARA_HDR
1670
1671 sat_nw_rej_info_enum info;
1672 union
1673 {
1674 kal_uint8 location_info[5]; /* MCC&MNC(3) + LAC/TAC(2). the location info length field of NW reject event shall be 5 Clause 8.19, TS 31.111 */
1675 kal_uint8 route_area_id[6]; /* MCC&MNC(3) + LAC(2) + RAC(1). Clause 8.91, TS 31.111 */
1676 kal_uint8 track_area_id[6]; /* MCC&MNC(3) + [EUTRAN]TAC(2) / [NGRAN]TAC(3). Clause 8.99, TS 31.111 */
1677 }info_field;
1678
1679 kal_uint8 rat;
1680 sat_nw_rej_type_enum rej_type; /* Clause 8.92, TS 31.111 */
1681 kal_uint8 rej_cause; /* Clause 8.93, TS 31.111 */
1682 kal_uint8 ext_rej_cause; /* Clause 8.136, TS 31.111 */
1683} sat_nw_reject_ind_struct;
1684
1685/*
1686 * mtk02374 20090513
1687 * add for provide local info with nw search mode
1688 */
1689typedef struct {
1690 LOCAL_PARA_HDR
1691 kal_uint8 nw_search_mode;
1692} sat_nw_search_mode_ind_struct;
1693
1694typedef struct
1695{
1696 LOCAL_PARA_HDR
1697} sat_time_zone_cnf_struct;
1698
1699typedef struct
1700{
1701 LOCAL_PARA_HDR
1702 kal_uint8 time_zone;
1703} sat_time_zone_ind_struct;
1704
1705
1706typedef struct {
1707 LOCAL_PARA_HDR
1708} sat_current_time_req_struct;
1709
1710typedef struct {
1711 LOCAL_PARA_HDR
1712 kal_uint8 time_info[6];
1713} sat_current_time_cnf_struct;
1714
1715typedef struct {
1716 LOCAL_PARA_HDR
1717 kal_uint8 mmi_info_type;
1718 kal_uint8 len_of_address;
1719 kal_uint8* address;
1720 kal_uint8 alpha_id_len;
1721 kal_uint8 alpha_id[MAX_PS_NAME_SIZE];
1722} sat_mmi_info_ind_struct;
1723
1724typedef struct {
1725 LOCAL_PARA_HDR
1726} sat_me_status_req_struct;
1727
1728typedef struct {
1729 LOCAL_PARA_HDR
1730 kal_uint8 me_status;
1731 kal_uint8 timing_advance;
1732} sat_me_status_cnf_struct;
1733
1734#if 0
1735/* under construction !*/
1736/* under construction !*/
1737/* under construction !*/
1738/* under construction !*/
1739#endif
1740
1741typedef struct {
1742 LOCAL_PARA_HDR
1743} sat_nmr_req_struct;
1744
1745typedef struct {
1746 LOCAL_PARA_HDR
1747 kal_uint8 mm_status;
1748 kal_uint8 nmr[16];
1749 kal_uint8 size_of_bcch;
1750 kal_uint8 bcch[40];
1751} sat_nmr_cnf_struct;
1752
1753/* MSG_ID_SAT_MEME_NMR_REQ / MSG_ID_SAT_EAS_NMR_REQ */
1754typedef struct {
1755 LOCAL_PARA_HDR
1756 sat_nmr_qual_enum nmr_qualifier; /* 01~04: 3G NMR, 05~08: 4G NMR. clause 8.73 in TS 31.111. */
1757} sat_meme_nmr_req_struct, sat_eas_nmr_req_struct;
1758
1759/* MSG_ID_SAT_MEME_NMR_CNF / MSG_ID_SAT_EAS_NMR_CNF */
1760typedef struct {
1761 LOCAL_PARA_HDR
1762 sat_nmr_qual_enum nmr_qualifier; /* 01~04: 3G NMR, 05~08: 4G NMR. clause 8.73 in TS 31.111. */
1763 kal_bool result; /* False if standby AS receives the NMR_REQ */
1764 kal_uint8 nmr_obj_num; /* NMR frequence number */
1765 kal_uint8 nmr_length[MAX_SAT_EUNMR_OBJ_NUM]; /* The length in byte of the NMR objects (with Guard Pattern) for nmr_obj_num frequencies */
1766 /* The actual length is nmr_length[] - NMR_OBJ_GUARD_PATTERN_LENGTH */
1767} sat_meme_nmr_cnf_struct, sat_eas_nmr_cnf_struct;
1768
1769typedef struct {
1770 LOCAL_PARA_HDR
1771} sat_language_req_struct;
1772
1773typedef struct {
1774 LOCAL_PARA_HDR
1775 kal_uint8 language[2];
1776} sat_language_cnf_struct;
1777
1778typedef struct {
1779 LOCAL_PARA_HDR
1780 kal_uint8 call_status;
1781} sat_call_status_ind_struct;
1782
1783typedef struct {
1784 LOCAL_PARA_HDR
1785 kal_uint8 connection_info; /* 0- Idle, 1- Connected */
1786} sat_eval_connection_info_ind_struct;
1787
1788typedef struct {
1789 LOCAL_PARA_HDR
1790 kal_uint8 connection_info; /* 0- Idle, 1- Connected */
1791} sat_mm_connection_info_ind_struct;
1792
1793typedef struct {
1794 LOCAL_PARA_HDR
1795 sat_pdp_status_enum pdp_status;
1796} sat_pdp_status_ind_struct;
1797
1798typedef struct {
1799 LOCAL_PARA_HDR
1800 kal_uint8 connection_status; /* 0 - disconnected, 1 - connected */
1801 kal_uint8 apn_name[64];
1802} sat_apn_connection_status_ind_struct;
1803
1804typedef struct {
1805 LOCAL_PARA_HDR
1806 kal_uint8 session_status; /* 0 - dropped, 1 - established */
1807} sat_dm_session_status_ind_struct;
1808
1809
1810/* __SATCR__ */
1811typedef struct {
1812 LOCAL_PARA_HDR
1813 kal_uint8 cmd_detail[5];
1814 kal_uint8 state; /* contactless_functionality state*/
1815 kal_uint16 cmd_id;
1816 sat_procomm_struct proactive_cmd;
1817} sat_contactless_state_changed_ind_struct;
1818
1819typedef struct {
1820 LOCAL_PARA_HDR
1821 kal_uint8 cmd_detail[5];
1822 kal_uint8 res;
1823} sat_contactless_state_changed_res_struct;
1824
1825
1826/* __SATCL__ */
1827typedef struct {
1828 LOCAL_PARA_HDR
1829 kal_uint8 cmd_detail[5];
1830 kal_uint8 target; // "target" in activate descriptor
1831 kal_uint16 cmd_id;
1832 sat_procomm_struct proactive_cmd;
1833} sat_activate_ind_struct;
1834
1835typedef struct {
1836 LOCAL_PARA_HDR
1837 kal_uint8 cmd_detail[5];
1838 kal_uint8 res;
1839} sat_activate_res_struct;
1840
1841typedef struct {
1842 LOCAL_PARA_HDR
1843 kal_uint8 cmd_detail[5];
1844 kal_uint8 is_icon_available;
1845 sat_icon_struct icon_info;
1846
1847 kal_uint16 cmd_id;
1848 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1849} sat_setup_idle_dspl_ind_struct;
1850
1851typedef struct {
1852 LOCAL_PARA_HDR
1853 kal_uint8 cmd_detail[5];
1854 kal_uint8 res;
1855} sat_setup_idle_dspl_res_struct;
1856
1857typedef struct {
1858 LOCAL_PARA_HDR
1859 kal_uint8 cmd_detail[5];
1860 kal_uint8 is_icon_available;
1861 sat_icon_struct icon_info;
1862 kal_uint8 no_at_command;
1863 kal_uint8 *at_command;
1864
1865 kal_uint16 cmd_id;
1866 sat_procomm_struct proactive_cmd; /* mtk02374 20081224 RSAT Class b */
1867} sat_run_at_command_ind_struct;
1868
1869typedef struct {
1870 LOCAL_PARA_HDR
1871 kal_uint8 cmd_detail[5];
1872 kal_uint8 res;
1873 kal_uint8 size_of_at_response;
1874 kal_uint8 at_response[MAX_AT_RESPONESE_LEN]; //mtk02514_081216
1875} sat_run_at_command_res_struct;
1876
1877typedef struct {
1878 LOCAL_PARA_HDR
1879 kal_uint8 cmd_detail[5];
1880 kal_uint8 is_icon_available;
1881 sat_icon_struct icon_info;
1882 kal_uint8 no_dtmf;
1883 kal_uint8 *dtmf;
1884
1885 kal_uint16 cmd_id;
1886 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1887} sat_send_dtmf_ind_struct;
1888
1889typedef struct {
1890 LOCAL_PARA_HDR
1891 kal_uint8 cmd_detail[5];
1892 kal_uint8 res;
1893 kal_uint8 additional_info;
1894} sat_send_dtmf_res_struct;
1895
1896typedef struct {
1897 LOCAL_PARA_HDR
1898 kal_uint8 cmd_detail[5];
1899 kal_uint8 is_language_specified;
1900 kal_uint8 iso639_language[2];
1901 kal_uint16 cmd_id;
1902 sat_procomm_struct proactive_cmd; /* PH 03042005 For Remote SAT */
1903} sat_lang_notify_ind_struct;
1904
1905typedef struct {
1906 LOCAL_PARA_HDR
1907 kal_uint8 cmd_detail[5];
1908 kal_uint8 res;
1909} sat_lang_notify_res_struct;
1910
1911typedef struct {
1912 LOCAL_PARA_HDR
1913 kal_uint8 cmd_detail[5];
1914 kal_uint8 is_icon_available;
1915 sat_icon_struct icon_info;
1916 kal_uint8 browser_mode;
1917 kal_uint8 browser_identity;
1918 kal_uint8 provision_file_id[10];
1919
1920 kal_uint16 cmd_id;
1921 sat_procomm_struct proactive_cmd; /* mtk01488: 20080930 For Remote SAT */
1922} sat_launch_browser_ind_struct;
1923
1924typedef struct {
1925 LOCAL_PARA_HDR
1926 kal_uint8 cmd_detail[5];
1927 kal_uint8 res;
1928 kal_uint8 additional_res; /* MAUI_02888481 */
1929} sat_launch_browser_res_struct;
1930
1931typedef struct {
1932 kal_uint8 addr_length; /* Address Length*/
1933 kal_uint8 addr_bcd[MAX_SIM_ADDR_BCD_LEN];
1934} sim_addr_bcd_struct;
1935#if 0
1936/* under construction !*/
1937/* under construction !*/
1938/* under construction !*/
1939/* under construction !*/
1940/* under construction !*/
1941/* under construction !*/
1942/* under construction !*/
1943/* under construction !*/
1944#endif
1945typedef struct {
1946 LOCAL_PARA_HDR
1947 kal_uint8 ti;
1948 kal_bool is_mt_call;
1949} sat_evdl_call_connect_req_struct;
1950
1951typedef struct {
1952 LOCAL_PARA_HDR
1953 kal_uint8 ti;
1954 kal_bool is_far_end;
1955 //kal_bool cause_p;
1956 //kal_uint8 cause;
1957 kal_uint8 cause_len;
1958 kal_uint8 cause[30];
1959} sat_evdl_call_disconnect_req_struct;
1960
1961typedef struct {
1962 LOCAL_PARA_HDR
1963 kal_uint8 mm_status;
1964 kal_uint8 location_info[SAT_MAX_LOC_INFO_LEN];
1965} sat_evdl_location_status_req_struct;
1966
1967typedef struct {
1968 LOCAL_PARA_HDR
1969} sat_evdl_user_activity_req_struct;
1970
1971typedef struct {
1972 LOCAL_PARA_HDR
1973} sat_evdl_idle_screen_available_req_struct;
1974
1975typedef struct {
1976 LOCAL_PARA_HDR
1977 kal_uint8 iso639_language[2];
1978} sat_evdl_language_selection_req_struct;
1979
1980typedef struct {
1981 LOCAL_PARA_HDR
1982 kal_uint8 card_reader_status;
1983} sat_evdl_card_reader_status_req_struct;
1984
1985typedef struct {
1986 LOCAL_PARA_HDR
1987 kal_uint8 browser_termination_cause;
1988} sat_evdl_browser_termination_req_struct;
1989
1990/* MSG_ID_SAT_EVDL_IMS_REG_IND */
1991typedef struct {
1992 LOCAL_PARA_HDR
1993 kal_bool is_successful;
1994 kal_uint8 num_of_impu;
1995 kal_uint8 status_code_len;
1996 kal_uint8 status_code[4];
1997} sat_evdl_ims_reg_ind_struct;
1998
1999typedef struct {
2000 LOCAL_PARA_HDR
2001 kal_uint8 channel_status[2];
2002 kal_uint8 channel_data_length;
2003} sat_evdl_data_available_req_struct;
2004
2005typedef struct {
2006 LOCAL_PARA_HDR
2007 kal_uint8 channel_status[2];
2008} sat_evdl_channel_status_req_struct;
2009
2010typedef struct {
2011 LOCAL_PARA_HDR
2012 kal_uint8 cmd_detail[5];
2013 kal_bool is_icon_available;
2014 sat_icon_struct icon_info;
2015 kal_uint8 bearer;
2016 sat_gprs_bearer_para_struct gprs_bearer;
2017 sat_csd_bearer_para_struct csd_bearer;
2018 kal_uint16 buffer_size;
2019 kal_uint8 size_of_address;
2020 kal_uint8 addr[MAX_SIM_ADDR_BCD_LEN];
2021 kal_uint8 size_of_subaddr;
2022 kal_uint8 subaddr[MAX_SIM_ADDR_BCD_LEN];
2023 kal_uint32 duration1;
2024 kal_uint32 duration2;
2025 kal_uint16 no_username;
2026 kal_uint8 username[16];
2027 kal_uint8 dcs_of_username;
2028 kal_uint16 no_passwd;
2029 kal_uint8 passwd[16];
2030 kal_uint8 dcs_of_passwd;
2031 kal_uint8 protocol_type; /* '01' UDP '02' TCP */
2032 kal_uint16 port_num;
2033 kal_int16 no_local_addr;
2034 kal_uint8 local_addr[16];
2035 kal_int16 no_dest_addr;
2036 kal_uint8 dest_addr[16];
2037 kal_uint8 dns[4];
2038 kal_uint8 apn[50];
2039 kal_uint8 apn_length;
2040
2041 kal_uint16 cmd_id;
2042 sat_procomm_struct proactive_cmd; /* mtk02374 20081224 RSAT Class e */
2043} sat_open_channel_ind_struct;
2044
2045typedef struct {
2046 LOCAL_PARA_HDR
2047 kal_uint8 cmd_detail[5];
2048 kal_uint8 res;
2049 kal_uint8 cause;
2050 kal_uint8 ch_status[2];
2051 kal_uint8 bearer;
2052 sat_gprs_bearer_para_struct bearer_para;
2053 kal_uint16 buffer_size;
2054} sat_open_gprs_channel_res_struct;
2055
2056typedef struct {
2057 LOCAL_PARA_HDR
2058 kal_uint8 cmd_detail[5];
2059 kal_uint8 res;
2060 kal_uint8 cause;
2061 kal_uint8 ch_status[2];
2062 kal_uint8 bearer;
2063 sat_csd_bearer_para_struct bearer_para;
2064 kal_uint16 buffer_size;
2065} sat_open_csd_channel_res_struct;
2066
2067typedef struct {
2068 LOCAL_PARA_HDR
2069 kal_uint8 cmd_detail[5];
2070 kal_uint8 res;
2071 kal_uint8 cause;
2072 kal_uint8 ch_status[2];
2073 kal_uint8 bearer;
2074 kal_uint16 buffer_size;
2075} sat_open_server_mode_channel_res_struct;
2076
2077typedef struct {
2078 LOCAL_PARA_HDR
2079 kal_uint8 cmd_detail[5];
2080 kal_uint8 ch_id; // sat_channel_id_enum
2081 kal_bool is_icon_available;
2082 sat_icon_struct icon_info;
2083
2084 kal_uint16 cmd_id;
2085 sat_procomm_struct proactive_cmd; /* mtk02374 20081224 RSAT Class e */
2086} sat_close_channel_ind_struct;
2087
2088typedef struct {
2089 LOCAL_PARA_HDR
2090 kal_uint8 cmd_detail[5];
2091 kal_uint8 res;
2092 kal_uint8 cause;
2093} sat_close_channel_res_struct;
2094
2095typedef struct {
2096 LOCAL_PARA_HDR
2097 kal_uint8 cmd_detail[5];
2098 kal_uint8 ch_id; //sat_channel_id_enum
2099 kal_uint8 ch_type;
2100 kal_bool is_icon_available;
2101 sat_icon_struct icon_info;
2102 kal_uint8 data_size;
2103
2104 kal_uint16 cmd_id;
2105 sat_procomm_struct proactive_cmd; /* mtk02374 20081224 RSAT Class e */
2106} sat_send_data_ind_struct;
2107
2108typedef struct {
2109 LOCAL_PARA_HDR
2110 kal_uint8 cmd_detail[5];
2111 kal_uint8 ch_type;
2112 kal_uint8 res;
2113 kal_uint8 cause;
2114 kal_uint8 ch_data_length;
2115} sat_send_data_res_struct;
2116
2117typedef struct {
2118 LOCAL_PARA_HDR
2119 kal_uint8 cmd_detail[5];
2120 kal_uint8 ch_id; //sat_channel_id_enum
2121 kal_uint8 ch_type;
2122 kal_bool is_icon_available;
2123 sat_icon_struct icon_info;
2124 kal_uint8 ch_data_length;
2125
2126 kal_uint16 cmd_id;
2127 sat_procomm_struct proactive_cmd; /* mtk02374 20081224 RSAT Class e */
2128} sat_recv_data_ind_struct;
2129
2130typedef struct {
2131 LOCAL_PARA_HDR
2132 kal_uint8 cmd_detail[5];
2133 kal_uint8 ch_type;
2134 kal_uint8 res;
2135 kal_uint8 cause;
2136 kal_uint8 ch_data_length;
2137} sat_recv_data_res_struct;
2138
2139typedef struct {
2140 LOCAL_PARA_HDR
2141 kal_uint8 cmd_detail[5];
2142 kal_uint8 ch_id; /*mtk02374 20091230 for WISE BIP*/
2143
2144 kal_uint16 cmd_id;
2145 sat_procomm_struct proactive_cmd; /* mtk02374 20081224 RSAT Class e */
2146} sat_ch_status_ind_struct;
2147
2148typedef struct {
2149 LOCAL_PARA_HDR
2150 kal_uint8 cmd_detail[5];
2151 kal_uint8 res;
2152 kal_uint8 cause;
2153 kal_uint8 channel_status[2];
2154} sat_ch_status_res_struct;
2155
2156typedef struct {
2157 LOCAL_PARA_HDR
2158} sim_imei_lock_verified_ind_struct;
2159
2160typedef struct {
2161 LOCAL_PARA_HDR
2162 cusats_uicc_state_enum uicc_state;
2163}sat_uicc_state_ind_struct;
2164
2165typedef struct {
2166 LOCAL_PARA_HDR
2167 kal_uint8 src_id;
2168 kal_uint8 mode;
2169} sat_profile_activate_req_struct;
2170
2171typedef struct {
2172 LOCAL_PARA_HDR
2173 kal_uint8 src_id;
2174 kal_bool result;
2175} sat_profile_activate_cnf_struct;
2176
2177typedef struct {
2178 LOCAL_PARA_HDR
2179 kal_uint8 src_id;
2180 sim_profile_storage_enum st;
2181 kal_bool reset;
2182} sat_profile_write_req_struct;
2183
2184typedef struct {
2185 LOCAL_PARA_HDR
2186 kal_uint8 src_id;
2187 sim_profile_storage_enum st;
2188 kal_bool result;
2189} sat_profile_write_cnf_struct;
2190
2191typedef struct {
2192 LOCAL_PARA_HDR
2193 kal_uint8 utk_enabled;
2194} sat_utk_enabled_update_req_struct;
2195
2196/* MSG_ID_SAT_SET_CT_MODE_REQ */
2197typedef struct {
2198 LOCAL_PARA_HDR
2199 kal_uint8 ct_mode;
2200} sat_set_ct_mode_req_struct;
2201
2202#if defined(__TC10__) && defined(__IPC_ADAPTER__)
2203typedef struct
2204{
2205 LOCAL_PARA_HDR
2206 kal_uint8 src_id;
2207 kal_uint16 status_word;
2208} sat_terminal_rsp_res_struct;
2209
2210typedef struct
2211{
2212 LOCAL_PARA_HDR
2213 kal_bool is_refresh_possible;
2214} sat_refresh_voting_res_struct;
2215#endif
2216
2217#ifdef __TC10__
2218typedef struct
2219{
2220 LOCAL_PARA_HDR
2221 sat_refresh_notification_enum refresh_status;
2222 sat_refresh_type_enum refresh_type;
2223 sat_refresh_init_app_enum init_app_list;
2224} sat_refresh_noti_ind_struct;
2225
2226typedef struct
2227{
2228 LOCAL_PARA_HDR
2229 sat_refresh_type_enum refresh_type;
2230} sat_refresh_voting_ind_struct;
2231
2232typedef struct
2233{
2234 LOCAL_PARA_HDR
2235 sat_call_ctrl_type_noti_enum old_call_type;
2236 sat_call_ctrl_type_noti_enum call_type;
2237 sat_call_ctrl_result_noti_enum control_result;
2238 kal_uint8 alpha_id_present;
2239 kal_uint8 alpha_id_len;
2240 kal_uint8 alpha_id[64];
2241 kal_uint8 call_id;
2242 kal_uint8 address1_len;
2243 kal_uint8 address1[41];
2244 kal_uint8 address2_len;
2245 kal_uint8 address2[41];
2246 kal_uint8 ss_string_len;
2247 kal_uint8 ss_string[255];
2248 kal_uint8 ussd_string_len;
2249 kal_uint8 ussd_string[183];
2250 kal_uint8 bc_repeat_ind;
2251 kal_uint8 subaddr_len;
2252 kal_uint8 subaddr[41];
2253 kal_uint8 ccp1_len;
2254 kal_uint8 ccp1[15];
2255 kal_uint8 ccp2_len;
2256 kal_uint8 ccp2[15];
2257} sat_call_ctrl_result_noti_ind_struct;
2258#endif /* __TC10__ */
2259
2260typedef struct {
2261 LOCAL_PARA_HDR
2262 kal_uint8 rat;
2263 kal_uint8 plmn_id[3]; /* plmn_id[0]:= (mcc2|mcc1); plmn_id[1]:=(mnc3|mcc3); plmn_id[2]:=(mnc2|mnc1); */
2264} sat_plmn_info_ind_struct;
2265
2266/* MSG_ID_SAT_RAT_SELECT_IND */
2267// Need to be sync-ed with rac_gmss_rat_select_ind_struct
2268typedef struct {
2269 LOCAL_PARA_HDR
2270 gmss_rat_enum gmss_rat;
2271 plmn_id_struct loc; /* Only MCC is valid */
2272 gmss_selected_rat_status_enum status;
2273 kal_bool is_ehrpd; /* Indicate if PS type is EHRPD if current RAT is HRPD */
2274} sat_rat_select_ind_struct;
2275
2276/* shall be identical to gmss_nwsel_* */
2277typedef struct {
2278 LOCAL_PARA_HDR
2279 susp_resu_action_enum action;
2280 susp_resu_result_enum result;
2281 susp_resu_source_enum target;
2282} nwsel_sat_susp_resu_update_cnf_struct;
2283
2284typedef struct {
2285 LOCAL_PARA_HDR
2286 susp_resu_mode_enum mode;
2287 susp_resu_action_enum action;
2288 kal_uint8 susp_id;
2289 susp_resu_source_enum source;
2290} nwsel_sat_susp_resu_update_req_struct;
2291
2292typedef struct {
2293 LOCAL_PARA_HDR
2294 kal_uint8 susp_id;
2295 susp_resu_source_enum target;
2296} nwsel_sat_suspend_status_ind_struct;
2297
2298typedef struct
2299{
2300 kal_bool vsim_ki_enabled; /* VSIM ki enable*/
2301 kal_uint8 vsim_asym_key_idx; /* 0-based index, assymetric key index for Ki protection */
2302 kal_uint8 sim_auth_algo; /* 0: COMP128v2v3, 1:XOR, only works when ki_enabled == KAL_FALSE*/
2303 kal_uint8 usim_auth_algo; /* 0: MILENAGE, only works when ki_enabled == KAL_FALSE */
2304 uicc_card_type_enum vsim_type; /* uicc_card_type_enum, 0: Not init, 1:SIM, 2:USIM for now */
2305 kal_uint16 auth_res_len;
2306 kal_uint8 auth_res[256];
2307 kal_uint16 enc_ki_len;
2308 kal_uint8 enc_ki[256]; /* Ki(16Bytes), enc_ki(256Bytes) */
2309} vsim_profile_struct;
2310
2311/* MSG_ID_SIM_SET_REGISTRATION_MODE_REQ */
2312typedef struct {
2313 LOCAL_PARA_HDR
2314 kal_bool registration_mode;
2315} sim_set_registration_mode_req_struct;
2316
2317extern const usim_ef_info_struct usim_ef_info[UICC_TOTAL_FILES];
2318
2319typedef struct
2320{
2321 LOCAL_PARA_HDR
2322 kal_uint8 key_pool_size; //number of generated key (1,2,3...)
2323} keygen_sim_ready_ind_struct;
2324
2325typedef struct
2326{
2327 kal_uint8 path[6];
2328} c2k_file_path_struct;
2329
2330/* MSG_ID_SAT_MSISDN_INFO_IND */
2331typedef struct {
2332 LOCAL_PARA_HDR
2333 kal_uint8 msisdn_size; /* include TON */
2334 kal_uint8 msisdn[MAX_CC_ADDR_BCD_LEN]; /* BCD format(include TON), example 15613331095, msisdn[0]= 0x91, msisdn[1] = 0x51, msisdn[2] = 0x16 ¡K msisdn[6] = 0xf5*/
2335} sat_msisdn_info_ind_struct;
2336
2337typedef struct {
2338 LOCAL_PARA_HDR
2339 kal_uint8 src_id;
2340 kal_bool is_roaming;
2341} sim_roaming_state_ind_struct, gmss_sim_roaming_state_ind_struct;
2342
2343typedef struct {
2344 LOCAL_PARA_HDR
2345 rat_enum rat_mode; //AT+ERAT setting
2346 rat_enum reported_rat; //actual rat mode the phone use
2347} sat_set_rat_mode_req_struct;
2348
2349typedef struct {
2350 LOCAL_PARA_HDR
2351 kal_bool result;
2352 kal_bool is_dual_mode_sim;
2353} sat_set_rat_mode_cnf_struct;
2354
2355typedef struct {
2356 LOCAL_PARA_HDR
2357 kal_bool is_cdma;
2358} nas_sv_sim_cs_stk_domain_ind_struct;
2359
yu.donge372c322023-08-30 20:25:04 -07002360#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
2361typedef struct {
2362 LOCAL_PARA_HDR
2363 sim_ecall_mode_enum ecall_mode;
2364} sim_nas_sv_set_ecall_mode_ind_struct;
2365#endif
2366
rjw6c1fd8f2022-11-30 14:33:01 +08002367typedef struct {
2368 LOCAL_PARA_HDR
2369 kal_uint8 cdma_capability; //AT+ERAT setting
2370} sat_l4bsim_set_rat_mode_ind_struct;
2371
2372typedef struct {
2373 LOCAL_PARA_HDR
2374 kal_uint8 sat_rule;
2375} sat_l4bsat_set_sat_rule_ind_struct;
2376
2377typedef struct {
2378 LOCAL_PARA_HDR
2379 kal_uint8 mcc[4];
2380 kal_uint8 mnc[4];
2381 kal_bool is_valid_gid1;
2382 kal_uint8 gid1[NUM_GID1];
2383 kal_bool is_valid_gid2;
2384 kal_uint8 gid2[NUM_GID2];
2385 kal_bool is_valid_spn;
2386 kal_uint8 spn[LEN_OF_SPN];
2387 kal_uint8 iccid[21];
2388 kal_uint8 trans_id; /* Used by DSBP_RECONFIG's users. Use 1~255 in order for each SIM task. */
2389} sim_l4bsbp_ready_ind_struct;
2390
2391typedef struct {
2392 LOCAL_PARA_HDR
2393 kal_uint8 mcc[4];
2394 kal_uint8 mnc[4];
2395} sim_iwlan_ready_ind_struct;
2396
2397typedef struct {
2398 LOCAL_PARA_HDR
2399 kal_uint8 iccid[10];
2400} sim_iccid_ready_ind_struct;
2401
2402/* <sim_duplex_op>:
2403 0: Reset SIM parameters
2404 1: Set SIM parameters */
2405typedef struct{
2406 LOCAL_PARA_HDR
2407 duplex_mode_change_action_enum sim_duplex_op;
2408}sim_duplex_mode_req_struct;
2409
2410typedef struct
2411{
2412 LOCAL_PARA_HDR
2413 kal_uint8 src_id;
2414 //kal_uint8 lock_mode; // phased out
2415 kal_uint8 sim_power_mode; // 0: plug out 1: plug in
2416 kal_bool sim_handle_plug_in; // 0: don't handle plug in event, 1: handle plug in event
2417} sim_op20_ap_simlock_req_struct, sim_ap_simpower_req_struct;
2418
2419typedef struct
2420{
2421 LOCAL_PARA_HDR
2422 kal_uint8 src_id;
2423 sim_cmd_result_enum result;
2424} sim_ap_simpower_cnf_struct;
2425
2426
2427typedef struct {
2428 LOCAL_PARA_HDR
2429 duplex_mode_change_action_enum action;
2430} sim_mm_configure_as_for_duplex_mode_change_ind_struct;
2431
2432typedef struct {
2433 LOCAL_PARA_HDR
2434 duplex_mode_change_action_enum action;
2435} sim_gmss_configure_as_for_duplex_mode_change_ind_struct;
2436
2437typedef struct
2438{
2439 LOCAL_PARA_HDR
2440 module_type orig_src_mod_id;
2441 sap_type orig_sap_id;
2442 msg_type orig_msg_id;
2443 local_para_struct *orig_local_para_ptr;
2444 void *redirect_info;
2445} sim_msg_redirect_ind_struct;
2446
2447typedef struct
2448{
2449 LOCAL_PARA_HDR
2450 kal_uint16 cmd_len;
2451 kal_uint8 proactive_cmd[256];
2452} sat_inject_proactive_cmd_ind_struct;
2453
2454/* This struct is for the object in application ready peer buffer
2455 I. There is no EF object if the SIM module didn't try to access the EF.
2456 II. If SIM module select the EF fail, the is_exist will be FALSE
2457 III. If SIM module only select the EF without reading it, the data_len will be 0.
2458 IV. If the EF data in the object, the data_len will NOT be 0. */
2459typedef struct {
2460 kal_uint8 tag;
2461 kal_uint8 curr_rec_id; /* The current read record index in data */
2462 kal_uint8 total_rec_num; /* The total record number of EF, transparent EF is 1 */
2463 sim_file_index_enum file_idx;
2464 kal_bool is_exist; /* The EF is exist or not */
2465 sim_file_structure_enum file_type;
2466 kal_uint16 rec_size; /* For tranparent EF, the rec_size is the same as file size */
2467 kal_uint16 object_len; /* the toal size of object,
2468 including of this structure length, data len and padding length */
2469 kal_uint16 data_len; /* The data length was carried in data array */
2470 kal_uint8 data[0];
2471} sim_app_ready_ef_object_struct;
2472#ifndef __SIM_ACCESS_INTEGRATION__
2473typedef struct
2474{
2475 LOCAL_PARA_HDR
2476 kal_uint8 channel_id;
2477 kal_uint16 req_len;
2478 kal_uint8 src_id;
2479 /* For error handling, MOD_SIM appends Le to C-APDU, Allocate 1 more byte in peer buffer for it*/
2480} sim_extended_apdu_access_req_struct;
2481
2482typedef struct
2483{
2484 LOCAL_PARA_HDR
2485 kal_uint16 result;
2486 kal_uint16 rsp_len;
2487 kal_uint8 src_id;
2488} sim_extended_apdu_access_cnf_struct;
2489#endif
2490typedef struct {
2491 LOCAL_PARA_HDR
2492 kal_uint8 mcc[MAX_SIM_MCC_MNC_LEN+1];
2493 kal_uint8 mnc[MAX_SIM_MCC_MNC_LEN+1];
2494 kal_uint8 msin[MAX_SIM_MSIN_LEN+1];
yu.donge372c322023-08-30 20:25:04 -07002495 kal_uint8 gid1[NUM_GID1+1];
rjw6c1fd8f2022-11-30 14:33:01 +08002496} sim_fake_id_req_struct;
2497
2498typedef struct
2499{
2500 LOCAL_PARA_HDR
2501 kal_bool is_dual_mode;
2502 uicc_app_type_enum app_type;
2503 kal_uint8 mcc[4]; /* ASCII string */
2504 kal_uint8 mnc[4]; /* ASCII string */
2505 kal_uint8 gid1_length;
2506 kal_uint8 gid1[NUM_GID1]; /* raw data from card */
2507 kal_uint8 gid2_length;
2508 kal_uint8 gid2[NUM_GID2]; /* raw data from card */
2509 kal_bool is_valid_spn;
2510 kal_uint8 spn[35]; /* raw data from card, GSM will be 17 bytes and C2K will be 35 bytes */
2511 kal_uint8 pnn_fname_length;
2512 kal_uint8 pnn_fname[50]; /* raw data from card, the PNN record#1 full name */
2513 kal_uint8 imsi[17]; /* ASCII string */
2514 kal_uint8 iccid[10]; /* raw data from card */
2515} sim_ddm_ready_ind_struct;
2516
2517typedef struct
2518{
2519 LOCAL_PARA_HDR
2520 kal_bool is_dual_mode;
2521 uicc_app_type_enum app_type;
2522 kal_uint8 mcc[4]; /* ASCII string */
2523 kal_uint8 mnc[4]; /* ASCII string */
2524 kal_uint8 gid1_length;
2525 kal_uint8 gid1[NUM_GID1]; /* raw data from card */
2526 kal_uint8 gid2_length;
2527 kal_uint8 gid2[NUM_GID2]; /* raw data from card */
2528 kal_bool is_valid_spn;
2529 kal_uint8 spn[35]; /* raw data from card, GSM will be 17 bytes and C2K will be 35 bytes */
2530 kal_uint8 pnn_fname_length;
2531 kal_uint8 pnn_fname[50]; /* raw data from card, the PNN record#1 full name */
2532 kal_uint8 imsi[17]; /* ASCII string */
2533 kal_uint8 iccid[10]; /* raw data from card */
2534 kal_uint8 no_msisdn; // MSISDN
2535 sim_addr_struct msisdn[2];
2536} sim_l5usim_ready_ind_struct;
2537
2538
2539#ifdef __TC01__
2540typedef struct {
2541 LOCAL_PARA_HDR
2542 kal_uint8 cmd_type;
2543 kal_bool result;
2544} sat_ebip_ind_struct;
2545
2546typedef struct {
2547 LOCAL_PARA_HDR
2548 kal_uint8 *buffer;
2549 kal_uint8 buffer_len;
2550} simdrv_debug_buffer_ind_struct;
2551
2552#endif
2553
2554typedef struct {
2555 LOCAL_PARA_HDR
2556 kal_bool is_ecc_session;
2557} l4c_sim_ecc_session_ind_struct;
2558
2559typedef struct {
2560 LOCAL_PARA_HDR
2561 kal_uint8 ef_imsi[9];
2562}sim_vgsm_ready_ind_struct;
2563
2564typedef struct {
2565 LOCAL_PARA_HDR
2566 kal_uint8 slot_id;
2567 kal_uint8 atr[ATR_MAX_LEN];
2568 kal_uint8 atr_len;
2569 kal_bool is_valid_eid;
2570 kal_uint8 eid[LEN_OF_EID];
2571 kal_uint8 iccid[10];
2572 kal_uint8 plug_state;
2573}l4bsim_eslotsinfo_data_ind_struct;
2574typedef struct
2575{
2576 LOCAL_PARA_HDR
2577 kal_bool is_nw_message;
2578 sat_data_connection_status_enum data_connection_status;
2579 sat_data_connection_type_enum data_connection_type;
2580 kal_bool xsm_isvalid;
2581 kal_uint8 xsm_cause;
2582 kal_uint8 ti;
2583 sat_pdp_pdn_pdu_type_enum pdp_type;
2584} sat_evdl_data_connect_ind_struct;
2585
2586#endif
2587