blob: 807e34f015456a82b27b6cf03b39ff85109ad3eb [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
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 * l4c2smu_struct.h
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 ****************************************************************************/
54
55/********************************************************************************
56* Copyright Statement:
57* --------------------
58*
59* This product has been developed using a protocol stack
60* developed by Sasken Communication Technologies Limited.
61*
62********************************************************************************/
63
64
65/*******************************************************************************
66* Copyright Statement:
67* --------------------
68* This software is protected by Copyright and the information contained
69* herein is confidential. The software may not be copied and the information
70* contained herein may not be used or disclosed except with the written
71* permission of MediaTek Inc. (C) 2002
72*
73*******************************************************************************
74 * FILENAME : l4c2smu_struct.h
75 * SYNOPSIS : Functions for encoding/decoding.
76 *
77 * R E V I S I O N H I S T O R Y
78 *
79 */
80#ifndef _L4C2SMU_STRUCT_H
81#define _L4C2SMU_STRUCT_H
82
83#include "ps_public_struct.h"
84#include "ps2sim_struct.h"
85#include "ps2sat_struct.h"
86#include "kal_general_types.h"
87#include "ps_public_enum.h"
88#include "device.h"
89#include "l4c_common_enum.h"
90#include "sim_public_enum.h"
91#include "sim_ps_enum.h"
92#include "smu_def.h"
93#include "smu_common_enums.h"
94#include "smu_tmo_sml.h"
95#include "rmmi_common_enum.h"
96#include "custom_nvram_extra.h"
97#include "custom_nvram_sec.h"
98#include "kal_public_defs.h"
99#include "l3_inc_enums.h"
100#ifdef __MBIM_MS_NETWORK_BLACKLIST__
101#include "l5_l4c_enums.h"
102#include "l5_l4c_struct.h"
103#endif
104
105typedef struct {
106 LOCAL_PARA_HDR
107 l4c_source_id_enum src_id;
108 power_on_status_enum poweron_mode;//add for system error with exception handle
109} l4csmu_start_req_struct;
110
111typedef struct {
112 LOCAL_PARA_HDR
113 l4c_source_id_enum src_id;
114 l4c2smu_res_enum response;
115 kal_bool cause_present;
116 sim_cmd_result_enum cause;
117 smu_chv1_phonelock_status_enum chv1_phonelock_status;
118 sim_lp_struct lp[2];
119 rmmi_err_id_enum rmmi_error_cause;
120 sim_chv_info_struct chv_info;
121 sim_ecc_struct ecc;
122 kal_uint8 is_valid_rat_mode; //mtk01616_110315
123 kal_uint8 rat_mode; //RAT mode setting value in EF_RAT
124 sim_additional_error_cause_enum additional_error_cause;
125 kal_bool is_sim_disable;
126} l4csmu_start_cnf_struct;
127
128typedef struct {
129 LOCAL_PARA_HDR
130 l4c_source_id_enum src_id;
131 smu_security_type_enum type;
132 sim_security_operation_enum op;
133 kal_uint8 key1[SML_MAX_SUPPORT_KEY_LEN];
134 kal_uint8 key2[SML_MAX_SUPPORT_KEY_LEN];
135 kal_uint8 channel_id;
136} l4csmu_security_req_struct, l4csmu_app_security_req_struct;
137
138typedef struct {
139 LOCAL_PARA_HDR
140 l4c_source_id_enum src_id;
141 smu_security_type_enum type;
142 kal_uint32 cphs_retry_count; /* Only for CPHS Locks */
143 l4c2smu_res_enum response;
144 kal_bool cause_present;
145 sim_cmd_result_enum cause;
146 rmmi_err_id_enum rmmi_error_cause;
147 sim_chv_info_struct chv_info;
148 kal_uint8 channel_id;
149} l4csmu_security_cnf_struct, l4csmu_app_security_cnf_struct;
150
151typedef struct {
152 LOCAL_PARA_HDR
153 uicc_app_type_enum app_type;
154 kal_uint8 channel_id;
155 kal_uint8 mcc[4];
156 kal_uint8 mnc[4];
157#ifdef __SIM_MULTI_PIN__
158 kal_uint8 pin_status_data[SIM_MAX_PIN_DO_SIZE];
159#endif
160} l4csmu_app_ready_ind_struct;
161
162typedef struct {
163 LOCAL_PARA_HDR
164 sim_event_enum event;
165 kal_uint8 argc;
166 kal_uint8 arg_list[MAX_SIM_EVENT_ARG_LIST_SIZE];
167} l4csmu_event_ind_struct;
168
169typedef struct {
170 LOCAL_PARA_HDR
171 kal_uint8 src_id;
172 uicc_app_type_enum app_type;
173} l4csmu_app_start_req_struct;
174
175typedef struct {
176 LOCAL_PARA_HDR
177 l4c_source_id_enum src_id;
178 uicc_app_type_enum app_type;
179 kal_uint8 channel_id;
180 kal_uint16 result;
181} l4csmu_app_start_cnf_struct;
182
183typedef struct {
184 LOCAL_PARA_HDR
185 l4c_source_id_enum src_id;
186 sml_cat_enum category; /* sml_cat_enum */
187 sml_op_enum op; /* sml_op_enum */
188 kal_uint8 key[CAT_KEY_MAX_SUPPORT_LEN];
189 kal_uint8 len; /* valid bytes in data[] */
190 kal_uint8 data[10]; /* the data for add command */
191} l4csmu_set_personalization_req_struct;
192
193typedef struct {
194 LOCAL_PARA_HDR
195 l4c_source_id_enum src_id;
196 sml_cat_enum category; /* sml_cat_enum */
197 sml_op_enum op; /* sml_op_enum */
198 kal_bool result;
199 sml_state_enum state; /* sml_state_enum */
200 kal_uint32 retry_count;
201 kal_uint8 num_of_sets; /* number of sets in this category */
202 kal_uint8 space_of_sets;/* number of empty sets in this category */
203} l4csmu_set_personalization_cnf_struct;
204
205#ifdef __CARRIER_RESTRICTION__
206typedef struct {
207 LOCAL_PARA_HDR
208 l4c_source_id_enum src_id;
209 smu_crrst_op_enum op;
210 kal_uint8 key[SML_MAX_SUPPORT_KEY_LEN];
211 kal_uint8 list;
212 smu_crrst_cat_enum category;
213 kal_uint8 len; /* valid bytes in data[] */
214 kal_uint8 data[23]; /* the data for add, remove command */
215 kal_uint8 multi_sim_policy;
216 kal_uint8 allowed_carriers_prioritized;
217} l4csmu_set_carrier_restriction_req_struct;
218
219typedef struct {
220 LOCAL_PARA_HDR
221 l4c_source_id_enum src_id;
222 smu_crrst_cat_enum category;
223 smu_crrst_op_enum op;
224 kal_bool result;
225} l4csmu_set_carrier_restriction_cnf_struct;
226
227typedef struct {
228 LOCAL_PARA_HDR
229 l4c_source_id_enum src_id;
230} l4csmu_carrier_restriction_status_req_struct;
231
232typedef struct {
233 LOCAL_PARA_HDR
234 l4c_source_id_enum src_id;
235 smu_crrst_state_enum crrst_state;
236 kal_uint8 multi_sim_policy;
237 kal_uint8 allowed_carriers_prioritized;
238 smu_carrier_restriction_list_struct white_list;
239 smu_carrier_restriction_list_struct black_list;
240} l4csmu_carrier_restriction_status_cnf_struct;
241
242typedef struct {
243 LOCAL_PARA_HDR
244 l4c_source_id_enum src_id;
245 kal_uint8 algo_type;
246 kal_uint32 max_retry_count;
247 kal_uint8 crrst_hck[NVRAM_SML_S_MAX_SUPPORT_HCK_LEN];
248 kal_uint8 crrst_salt[NVRAM_SML_S_MAX_SUPPORT_SALT_LEN];
249 kal_uint8 crrst_inter_cnt[NVRAM_SML_S_MAX_SUPPORT_INTER_CNT_LEN];
250} l4csmu_set_crrst_secure_data_req_struct;
251
252typedef struct {
253 LOCAL_PARA_HDR
254 l4c_source_id_enum src_id;
255 kal_bool result;
256} l4csmu_set_crrst_secure_data_cnf_struct;
257#endif
258
259// TMO SML
260typedef struct {
261 LOCAL_PARA_HDR
262 l4c_source_id_enum src_id;
263} l4csmu_get_shared_key_req_struct;
264
265typedef struct {
266 LOCAL_PARA_HDR
267 l4c_source_id_enum src_id;
268 kal_bool result;
269 kal_uint8 envelope_type;
270 kal_uint32 encrypted_key_len;
271 kal_uint8 encrypted_key[SML_TMO_MAX_ENCRYPTED_KEY_LENGTH];
272} l4csmu_get_shared_key_cnf_struct;
273
274
275typedef struct {
276 LOCAL_PARA_HDR
277 l4c_source_id_enum src_id;
278 kal_uint16 slb_len;
279} l4csmu_update_slb_req_struct;
280
281typedef struct {
282 LOCAL_PARA_HDR
283 l4c_source_id_enum src_id;
284 kal_bool result;
285 kal_uint16 rmmi_error_cause;
286} l4csmu_update_slb_cnf_struct;
287
288typedef struct {
289 LOCAL_PARA_HDR
290 l4c_source_id_enum src_id;
291} l4csmu_reset_slb_req_struct;
292
293typedef struct {
294 LOCAL_PARA_HDR
295 l4c_source_id_enum src_id;
296 kal_bool result;
297 kal_uint16 rmmi_error_cause;
298} l4csmu_reset_slb_cnf_struct;
299
300typedef struct {
301 LOCAL_PARA_HDR
302 l4c_source_id_enum src_id;
303} l4csmu_get_slb_version_req_struct;
304
305typedef struct {
306 LOCAL_PARA_HDR
307 l4c_source_id_enum src_id;
308 kal_bool result;
309 kal_uint8 version[SML_TMO_SIZE_OF_VERSION];
310} l4csmu_get_slb_version_cnf_struct;
311
312typedef struct {
313 LOCAL_PARA_HDR
314 l4c_source_id_enum src_id;
315} l4csmu_get_sim_lock_status_req_struct;
316
317typedef struct {
318 LOCAL_PARA_HDR
319 l4c_source_id_enum src_id;
320 kal_bool result;
321 kal_uint8 lock_state;
322 kal_uint32 unlock_time_left;
323 kal_uint8 num;
324 kal_uint8 sim_plmn_gid[SML_TMO_SIZE_OF_MCC_MNC+SML_TMO_SIZE_OF_GID];
325} l4csmu_get_sim_lock_status_cnf_struct;
326
327typedef struct {
328 LOCAL_PARA_HDR
329 l4c_source_id_enum src_id;
330} l4csmu_get_modem_config_req_struct;
331
332typedef struct {
333 LOCAL_PARA_HDR
334 l4c_source_id_enum src_id;
335 kal_bool result;
336 kal_uint16 length;
337 kal_uint8 blob[2048];
338} l4csmu_get_modem_config_cnf_struct;
339
340typedef struct {
341 LOCAL_PARA_HDR
342 l4c_source_id_enum src_id;
343} l4csmu_get_api_version_req_struct;
344
345typedef struct {
346 LOCAL_PARA_HDR
347 l4c_source_id_enum src_id;
348 kal_uint8 api_version[SML_TMO_SIZE_OF_API_VERSION];
349 kal_bool result;
350} l4csmu_get_api_version_cnf_struct;
351
352typedef struct {
353 LOCAL_PARA_HDR
354 kal_uint8 nw_time_zone;
355 nw_time_zone_time_struct nw_time;
356} l4csmu_update_nw_time_req_struct;
357
358typedef struct {
359 LOCAL_PARA_HDR
360 sml_event_enum event;
361} l4csmu_sml_event_ind_struct;
362
363
364typedef struct {
365 LOCAL_PARA_HDR
366 l4c_source_id_enum src_id;
367 smu_sim_access_cmd_enum cmd;
368 kal_uint16 fileid;
369 kal_uint8 p1;
370 kal_uint8 p2;
371 kal_uint8 p3;
372 kal_uint8 data[255];
373 kal_uint8 pathid[4];
374 kal_uint8 pathid_length;
375 kal_uint8 channel_id;
376} l4csmu_sim_access_req_struct;
377
378typedef struct {
379 LOCAL_PARA_HDR
380 l4c_source_id_enum src_id;
381 kal_uint8 sw1;
382 kal_uint8 sw2;
383 kal_uint16 length;
384 kal_uint8 res_data[256+1];
385 l4c2smu_res_enum response;
386 kal_bool cause_present;
387 sim_cmd_result_enum cause;
388} l4csmu_sim_access_cnf_struct;
389
390typedef struct {
391 LOCAL_PARA_HDR
392 sim_file_index_enum file_idx;
393 l4c_source_id_enum src_id;
394 kal_uint8 idx;
395 smu_plmnsel_op_enum op;
396 kal_uint8 plmn_data[5];
397} l4csmu_plmn_sel_write_req_struct;
398
399typedef struct {
400 LOCAL_PARA_HDR
401 l4c_source_id_enum src_id;
402 l4c2smu_res_enum response;
403 kal_bool cause_present;
404 sim_cmd_result_enum cause;
405} l4csmu_plmn_sel_write_cnf_struct;
406
407typedef struct {
408 LOCAL_PARA_HDR
409 l4c_source_id_enum src_id;
410 kal_uint8 currency_code[3];
411 kal_uint8 puct_data[18];
412} l4csmu_puct_write_req_struct;
413
414typedef struct {
415 LOCAL_PARA_HDR
416 l4c_source_id_enum src_id;
417 l4c2smu_res_enum response;
418 kal_bool cause_present;
419 sim_cmd_result_enum cause;
420} l4csmu_puct_write_cnf_struct;
421
422typedef struct {
423 LOCAL_PARA_HDR
424 l4c_source_id_enum src_id;
425} l4csmu_puct_read_req_struct;
426
427typedef struct {
428 LOCAL_PARA_HDR
429 l4c_source_id_enum src_id;
430 l4c2smu_res_enum response;
431 kal_bool cause_present;
432 sim_cmd_result_enum cause;
433 kal_uint8 currency_code[3];
434 kal_uint8 puct_data[18];
435} l4csmu_puct_read_cnf_struct;
436
437
438#if 0
439/* under construction !*/
440/* under construction !*/
441/* under construction !*/
442/* under construction !*/
443/* under construction !*/
444/* under construction !*/
445/* under construction !*/
446/* under construction !*/
447/* under construction !*/
448/* under construction !*/
449/* under construction !*/
450/* under construction !*/
451/* under construction !*/
452/* under construction !*/
453/* under construction !*/
454/* under construction !*/
455/* under construction !*/
456/* under construction !*/
457/* under construction !*/
458/* under construction !*/
459/* under construction !*/
460/* under construction !*/
461/* under construction !*/
462/* under construction !*/
463/* under construction !*/
464/* under construction !*/
465/* under construction !*/
466/* under construction !*/
467/* under construction !*/
468/* under construction !*/
469/* under construction !*/
470/* under construction !*/
471/* under construction !*/
472/* under construction !*/
473#endif
474typedef struct {
475 LOCAL_PARA_HDR
476 l4c_source_id_enum src_id;
477 sim_dn_enum dn_type;
478 kal_uint8 switch_on;
479} l4csmu_dial_mode_req_struct;
480
481typedef struct {
482 LOCAL_PARA_HDR
483 l4c_source_id_enum src_id;
484 l4c2smu_res_enum response;
485 kal_bool cause_present;
486 sim_cmd_result_enum cause;
487} l4csmu_dial_mode_cnf_struct;
488
489
490typedef struct {
491 LOCAL_PARA_HDR
492 kal_uint8 is_spn_valid; // SPN
493 kal_uint8 is_spn_RPLMN_required;
494 kal_uint8 spn[LEN_OF_SPN];
495 kal_uint8 is_opname_valid; // OPN
496 kal_uint8 opname[LEN_OF_OPNAME + 1];
497 kal_uint8 is_sopname_valid; // sOPN
498 kal_uint8 sopname[11];
499 kal_uint8 no_msisdn; // MSISDN
500 l4csmu_addr_struct msisdn[2];
501 kal_uint8 no_info_num; // Information Numbers
502 l4csmu_info_num_struct *info_num;
503 kal_uint8 is_valid_csp;
504 kal_uint8 csp[22]; // Custom Service Profile
505 kal_uint8 is_puct_valid;
506 kal_uint8 ef_puct[5];
507 kal_uint8 is_autolock_enable; /* SML */
508 kal_uint8 autolock_result; /* SML */
509 kal_uint8 autolock_remain; /* SML */
510 /* Acting HPLMN */ /* mtk01488 */
511 kal_bool is_valid_ef_acting_hplmn;
512 kal_uint8 ef_acting_hplmn[3];
513 kal_uint8 digits_of_mnc;
514 kal_bool is_usim;
515 kal_bool is_valid_ef_ehplmn;
516 kal_uint8 num_of_ehplmn;
517 kal_uint8 ef_ehplmn[MAX_EHPLMN_EF_LEN];
518} l4csmu_mmi_info_ind_struct;
519
520typedef struct {
521 LOCAL_PARA_HDR
522 l4c_source_id_enum src_id;
523} l4csmu_sml_status_req_struct;
524
525typedef struct {
526 LOCAL_PARA_HDR
527 l4c_source_id_enum src_id;
528 sml_state_enum state[7];
529 kal_uint32 retry_count[7];
530 kal_uint8 autolock_count[7];
531 kal_uint8 num_of_sets[7];
532 kal_uint8 total_size_of_cat[7];
533 sml_key_state_enum key_state[7];
534 kal_uint8 ef_imsi[8];
535 kal_uint8 is_valid_gid1;
536 kal_uint8 ef_gid1;
537 kal_uint8 is_valid_gid2;
538 kal_uint8 ef_gid2;
539 kal_uint8 digits_of_mnc;
540} l4csmu_sml_status_cnf_struct;
541
542typedef struct {
543 LOCAL_PARA_HDR
544 kal_bool cipher_ind; //20050202 Benson add for MMI cipher indication display
545 /* Johnny: cipher_ind is useless now, L4C will use l4csmu_get_cipher_ind_status() to get cipher_ind status from SMU */
546 kal_uint8 is_valid_rat_mode; //To indicare RAT Mode is valid.
547 kal_uint8 rat_mode; //RAT mode setting value to overwrite
548 kal_bool is_uicc_activated;
549} l4csmu_mmrr_ready_ind_struct;
550
551#ifdef __SMS_DEPERSONALIZATION__
552
553typedef struct {
554 LOCAL_PARA_HDR
555 kal_uint16 length; //length of peer buf data; unit:byte
556 kal_uint8 access_id;
557} l4csmu_sms_depersonalization_req_struct; //Kinki: JRD require. [MAUI_01255000]
558
559typedef struct {
560 LOCAL_PARA_HDR
561 kal_bool response; //Kinki: kal_bool
562 kal_bool cause_present; //present only when response is FALSE
563 smu_sms_depersonalization_enum cause;
564 kal_uint16 length; //length of peer buf data; unit:byte
565 kal_uint8 access_id; //SMU piggy-back
566} l4csmu_sms_depersonalization_cnf_struct; //Kinki: JRD require. [MAUI_01255000]
567
568#endif
569
570typedef struct {
571 LOCAL_PARA_HDR
572 kal_uint8 uicc_unlock_code;
573} l4csmu_uicc_unlock_code_ind_struct;
574
575#ifdef __SAT__
576
577typedef struct {
578 LOCAL_PARA_HDR
579 kal_uint8 cmd_detail[5];
580 kal_bool is_icon_available;
581 sat_icon_struct icon_info;
582 kal_uint8 bearer_type;
583} l4csat_open_channel_ind_struct;
584
585typedef struct {
586 LOCAL_PARA_HDR
587 kal_uint8 cmd_detail[5];
588 kal_bool res;
589} l4csat_open_channel_req_struct;
590
591typedef struct {
592 LOCAL_PARA_HDR
593 kal_uint8 res; /* sat_terminal_res_enum */
594 kal_uint8 cause; /* sat_additional_info_for_res_enum */
595} l4csmu_sat_open_channel_cnf_struct;
596
597typedef struct {
598 LOCAL_PARA_HDR
599 kal_uint8 state;
600} l4csmu_sat_notify_mmi_ind_struct;
601
602typedef struct {
603 kal_uint8 context_id;
604 kal_uint8 name_length;
605 kal_uint8 name_dcs;
606 kal_uint8 authentication_type;
607 kal_uint8 name[32];
608 kal_uint8 user_name[16];
609 kal_uint8 password[16];
610 kal_uint8 dns[4];
611 kal_uint8 apn [100];
612 kal_uint8 apn_length;
613 sat_gprs_qos_struct req_qos;
614} gprs_data_account_struct;
615
616typedef struct {
617 LOCAL_PARA_HDR
618 gprs_data_account_struct gprs_data_account;
619} l4csat_set_gprs_data_account_ind_struct;
620
621typedef struct {
622 LOCAL_PARA_HDR
623 kal_bool result;
624 kal_uint8 cause;
625} l4csat_set_gprs_data_account_res_struct;
626
627typedef struct {
628 LOCAL_PARA_HDR
629 sat_csd_bearer_para_struct bearer_para;
630 kal_uint8 size_of_address;
631 kal_uint8 addr[MAX_SIM_ADDR_BCD_LEN];
632 kal_uint8 size_of_subaddr;
633 kal_uint8 subaddr[MAX_SIM_ADDR_BCD_LEN];
634 kal_uint32 duration1;
635 kal_uint32 duration2;
636} l4csat_csm_open_csd_ind_struct;
637
638typedef struct {
639 LOCAL_PARA_HDR
640 sat_csd_bearer_para_struct bearer_para;
641} l4csat_csm_bearer_info_ind_req_struct;
642
643typedef struct {
644 LOCAL_PARA_HDR
645 kal_bool result;
646 kal_uint16 cause; /* cm_enum_cause */
647} l4csat_csm_open_csd_res_struct;
648
649typedef struct {
650 LOCAL_PARA_HDR
651} l4csat_cc_call_disc_ind_struct;
652
653typedef struct {
654 LOCAL_PARA_HDR
655 kal_bool result;
656 kal_uint16 cause; /* cm_enum_cause */
657} l4csat_cc_call_disc_res_struct;
658
659typedef struct {
660 LOCAL_PARA_HDR
661 kal_bool result;
662 kal_uint16 cause; /* cm_enum_cause */
663} l4csat_cc_call_disc_ind_req_struct;
664
665typedef struct {
666 LOCAL_PARA_HDR
667 kal_uint8 res;
668} l4csmu_sat_send_data_req_struct;
669
670typedef struct {
671 LOCAL_PARA_HDR
672 kal_uint8 res; /* sat_terminal_res_enum */
673 kal_uint8 cause; /* sat_additional_info_for_res_enum */
674} l4csmu_sat_send_data_cnf_struct;
675
676typedef struct {
677 LOCAL_PARA_HDR
678 kal_uint8 res;
679} l4csmu_sat_recv_data_req_struct;
680
681typedef struct {
682 LOCAL_PARA_HDR
683 kal_uint8 res; /* sat_terminal_res_enum */
684 kal_uint8 cause; /* sat_additional_info_for_res_enum */
685} l4csmu_sat_recv_data_cnf_struct;
686
687typedef struct {
688 LOCAL_PARA_HDR
689 kal_uint8 res;
690} l4csmu_sat_close_data_req_struct;
691
692// Nick start
693typedef struct {
694 LOCAL_PARA_HDR
695 kal_uint8 nw_acct_id;
696 kal_bool is_addr_valid;
697 kal_uint8 size_of_address;
698 kal_uint8 addr[MAX_SIM_ADDR_BCD_LEN];
699 kal_bool is_subaddr_valid;
700 kal_uint8 size_of_subaddr;
701 kal_uint8 subaddr[MAX_SIM_ADDR_BCD_LEN];
702 kal_bool is_username_valid;
703 kal_uint8 no_username;
704 kal_uint8 username[16];
705 kal_uint8 dcs_of_username;
706 kal_bool is_passwd_valid;
707 kal_uint8 no_passwd;
708 kal_uint8 passwd[16];
709 kal_uint8 dcs_of_passwd;
710 kal_bool is_local_addr_valid;
711 kal_uint8 no_local_addr;
712 kal_uint8 local_addr[16];
713 kal_bool is_dest_addr_valid;
714 kal_uint8 no_dest_addr;
715 kal_uint8 dest_addr[16];
716 sat_csd_bearer_para_struct csd_bearer;
717} l4csmu_sat_set_csd_prof_ind_struct;
718
719typedef struct {
720 LOCAL_PARA_HDR
721 kal_uint8 res;
722// sat_csd_bearer_para_struct csd_bearer;
723} l4csmu_sat_set_csd_prof_res_struct;
724
725typedef struct {
726 LOCAL_PARA_HDR
727 kal_uint8 nw_acct_id;
728 kal_bool is_apn_valid;
729 kal_uint8 apn_length;
730 kal_uint8 apn[50];
731 kal_bool is_username_valid;
732 kal_uint8 no_username;
733 kal_uint8 username[16];
734 kal_uint8 dcs_of_username;
735 kal_bool is_passwd_valid;
736 kal_uint8 no_passwd;
737 kal_uint8 passwd[16];
738 kal_uint8 dcs_of_passwd;
739 kal_bool is_local_addr_valid;
740 kal_uint8 no_local_addr;
741 kal_uint8 local_addr[16];
742 kal_bool is_dest_addr_valid;
743 kal_uint8 no_dest_addr;
744 kal_uint8 dest_addr[16];
745 sat_gprs_bearer_para_struct gprs_bearer;
746} l4csmu_sat_set_gprs_prof_ind_struct;
747
748typedef struct {
749 LOCAL_PARA_HDR
750 kal_uint8 res;
751// sat_gprs_bearer_para_struct gprs_bearer;
752} l4csmu_sat_set_gprs_prof_res_struct;
753
754typedef struct {
755 LOCAL_PARA_HDR
756 kal_uint8 bearer_type;
757 sat_gprs_bearer_para_struct gprs_bearer;
758 sat_csd_bearer_para_struct csd_bearer;
759} l4csmu_sat_bearer_para_req_struct ;
760
761typedef struct {
762 LOCAL_PARA_HDR
763 kal_uint8 cmd_detail[5];
764 kal_uint8 res;
765 kal_uint8 additional_info;
766} l4csmu_sat_open_channel_req_struct;
767
768typedef struct {
769 LOCAL_PARA_HDR
770 kal_uint8 state;
771} l4csmu_sat_channel_disc_evdl_ind_struct;
772
773#endif // __SAT__
774
775typedef struct {
776 LOCAL_PARA_HDR
777 kal_uint16 nonce_len;
778 kal_uint8 nonce[256]; //Random String: 80 byte
779} l4csmu_ut_set_nonce_req_struct;
780
781typedef struct {
782 LOCAL_PARA_HDR
783 kal_uint8 mode;
784 kal_uint8 unlock_code;
785 kal_uint16 sig_len;
786 kal_uint8 sig[512]; //sig(B64): 344 byte + 1 byte('\0')
787} l4csmu_ut_sig_verify_req_struct;
788
789typedef struct {
790 LOCAL_PARA_HDR
791 l4c_source_id_enum src_id;
792} l4csmu_sml_get_lock_codes_req_struct;
793
794typedef struct {
795 LOCAL_PARA_HDR
796 l4c_source_id_enum src_id;
797 kal_uint8 num_of_sets[SML_SUPPORT_CAT_SIZE];
798 kal_uint8 code_cat_n[SML_CFG_CAT_N_SIZE];
799 kal_uint8 code_cat_ns[SML_CFG_CAT_NS_SIZE];
800 kal_uint8 code_cat_sp[SML_CFG_CAT_SP_SIZE];
801 kal_uint8 code_cat_c[SML_CFG_CAT_C_SIZE];
802 kal_uint8 code_cat_sim[SML_CFG_CAT_SIM_SIZE];
803 kal_uint8 code_cat_ns_sp[SML_CFG_CAT_NS_SP_SIZE];
804 kal_uint8 code_cat_sim_c[SML_CFG_CAT_SIM_C_SIZE];
805} l4csmu_sml_get_lock_codes_cnf_struct;
806
807typedef struct {
808 kal_uint8 algo_type;
809 kal_uint8 key[CAT_KEY_MAX_SUPPORT_LEN];
810 kal_uint8 salt[NVRAM_SML_S_MAX_SUPPORT_SALT_LEN];
811 kal_uint8 iter_cnt[NVRAM_SML_S_MAX_SUPPORT_INTER_CNT_LEN];
812} l4csmu_set_key_data_struct;
813
814typedef union
815{
816 kal_uint32 max_retry_count;
817 l4csmu_set_key_data_struct key_data;
818 kal_uint8 key_state;
819} l4csmu_set_custom_data_union;
820
821typedef struct {
822 LOCAL_PARA_HDR
823 l4c_source_id_enum src_id;
824 sml_cat_enum category;
825 sml_custom_op_enum op;
826 l4csmu_set_custom_data_union data;
827} l4csmu_set_custom_personalization_req_struct;
828
829typedef struct {
830 LOCAL_PARA_HDR
831 l4c_source_id_enum src_id;
832 kal_bool result;
833} l4csmu_set_custom_personalization_cnf_struct;
834
835//MSG_ID_L4CSMU_OP129_UPDATE_SIMLOCK_SETTING_REQ
836typedef struct {
837 LOCAL_PARA_HDR
838
839 l4c_source_id_enum src_id;
840 kal_bool is_last_data;
841 kal_uint16 data_offset;
842 kal_uint16 data_len;
843 kal_uint8 lock_setting[1000];
844}l4csmu_op129_update_simlock_setting_req_struct;
845
846//MSG_ID_L4CSMU_OP129_UPDATE_SIMLOCK_SETTING_CNF
847typedef struct {
848 LOCAL_PARA_HDR
849
850 l4c_source_id_enum src_id;
851 kal_bool result;
852 kal_uint16 rmmi_error_cause;
853}l4csmu_op129_update_simlock_setting_cnf_struct;
854
855// MSG_ID_L4CSMU_OP129_GET_SIMLOCK_DATA_REQ
856typedef struct {
857 LOCAL_PARA_HDR
858
859 l4c_source_id_enum src_id;
860 kal_uint8 list_type;
861}l4csmu_op129_get_simlock_data_req_struct;
862
863// MSG_ID_L4CSMU_OP129_GET_SIMLOCK_DATA_CNF
864typedef struct {
865 LOCAL_PARA_HDR
866
867 l4c_source_id_enum src_id;
868 kal_uint8 list_type;
869 kal_uint16 triplet_number[SML_OP129_CAT_MAX];
870 kal_uint8 simlock_data[2048];
871}l4csmu_op129_get_simlock_data_cnf_struct;
872
873typedef struct {
874 LOCAL_PARA_HDR
875 l4c_source_id_enum src_id;
876 kal_uint16 slb_len;
877} l4csmu_sl_update_blob_req_struct;
878
879typedef struct {
880 LOCAL_PARA_HDR
881 l4c_source_id_enum src_id;
882 kal_bool result;
883 kal_uint16 rmmi_error_cause;
884} l4csmu_sl_update_blob_cnf_struct;
885
886typedef struct {
887 LOCAL_PARA_HDR
888 l4c_source_id_enum src_id;
889} l4csmu_sl_get_sim_lock_status_req_struct;
890
891typedef struct {
892 LOCAL_PARA_HDR
893 l4c_source_id_enum src_id;
894 kal_bool result;
895 kal_uint8 lock_state;
896} l4csmu_sl_get_sim_lock_status_cnf_struct;
897
898typedef struct {
899 LOCAL_PARA_HDR
900 kal_uint8 sml_lock_rule;
901 kal_uint16 sml_lock_sub_rule;
902 kal_uint8 sml_device_lock_status;
903 kal_uint8 sml_lock_rule_policy;
904 kal_uint8 sml_state_is_valid_sim;
905} l4csmu_sml_lock_status_update_ind_struct;
906
907typedef struct {
908 LOCAL_PARA_HDR
909 l4c_source_id_enum src_id;
910 kal_uint8 rule;
911 kal_uint16 sub_rule;
912} l4csmu_update_gblob_lock_rule_req_struct;
913
914typedef struct {
915 LOCAL_PARA_HDR
916 l4c_source_id_enum src_id;
917 kal_bool result;
918} l4csmu_update_gblob_lock_rule_cnf_struct;
919
920typedef struct {
921 LOCAL_PARA_HDR
922 l4c_source_id_enum src_id;
923 kal_uint8 op;
924 kal_uint16 gblob_data_len;
925 kal_uint8 gblob_data[2048];
926} l4csmu_update_gblob_data_req_struct;
927
928typedef struct {
929 LOCAL_PARA_HDR
930 l4c_source_id_enum src_id;
931 kal_bool result;
932} l4csmu_update_gblob_data_cnf_struct;
933
934typedef struct {
935 LOCAL_PARA_HDR
936 l4c_source_id_enum src_id;
937 kal_uint8 op;
938 kal_uint8 dev_key_len;
939 kal_uint8 dev_key[SML_GBLOB_SIZE_OF_DEV_HCK];
940 kal_uint8 new_lock_state;
941} l4csmu_gblob_dev_lock_verify_req_struct;
942
943typedef struct {
944 LOCAL_PARA_HDR
945 l4c_source_id_enum src_id;
946 kal_bool result;
947} l4csmu_gblob_dev_lock_verify_cnf_struct;
948
949typedef struct {
950 LOCAL_PARA_HDR
951 l4c_source_id_enum src_id;
952 kal_uint8 dev_algo_type;
953 kal_uint8 dev_hck[SML_GBLOB_SIZE_OF_DEV_HCK];
954 kal_uint32 dev_max_retry_cnt;
955 kal_uint8 dev_salt[SML_GBLOB_SIZE_OF_DEV_SALT];
956 kal_uint8 dev_inter_cnt[SML_GBLOB_SIZE_OF_DEV_INTCNT];
957} l4csmu_update_gblob_dev_lock_algo_req_struct;
958
959typedef struct {
960 LOCAL_PARA_HDR
961 l4c_source_id_enum src_id;
962 kal_bool result;
963} l4csmu_update_gblob_dev_lock_algo_cnf_struct;
964
965typedef struct {
966 LOCAL_PARA_HDR
967 l4c_source_id_enum src_id;
968 kal_uint8 slot_id;
969 kal_uint8 imei[16];
970} l4csmu_update_gblob_imei_req_struct;
971
972typedef struct {
973 LOCAL_PARA_HDR
974 l4c_source_id_enum src_id;
975 kal_bool result;
976} l4csmu_update_gblob_imei_cnf_struct;
977
978#ifdef __CUST_SML_RULE__
979typedef struct {
980 LOCAL_PARA_HDR
981 l4c_source_id_enum src_id;
982 kal_uint8 cust_code;
983 kal_uint8 cust_rule;
984} l4csmu_update_gblob_cust_rule_req_struct;
985
986typedef struct {
987 LOCAL_PARA_HDR
988 l4c_source_id_enum src_id;
989 kal_bool result;
990} l4csmu_update_gblob_cust_rule_cnf_struct;
991#endif
992
993typedef struct {
994 LOCAL_PARA_HDR
995 l4c_source_id_enum src_id;
996} l4csmu_get_gblob_dev_lock_status_req_struct;
997
998typedef struct {
999 LOCAL_PARA_HDR
1000 l4c_source_id_enum src_id;
1001 kal_uint8 lock_state;
1002 kal_uint8 dev_algo;
1003 kal_uint32 max_retry_count;
1004 kal_uint32 remain_retry_count;
1005} l4csmu_get_gblob_dev_lock_status_cnf_struct;
1006
1007typedef struct {
1008 LOCAL_PARA_HDR
1009 l4c_source_id_enum src_id;
1010 dsml_simlock_data_struct simlock_data;
1011} smu_ut_dynamic_simmelock_req_struct;
1012
1013typedef struct {
1014 LOCAL_PARA_HDR
1015 l4c_source_id_enum src_id;
1016 dsml_result_enum result;
1017} smu_ut_dynamic_simmelock_cnf_struct;
1018
1019/* TMO Movial Solution */
1020typedef struct {
1021 LOCAL_PARA_HDR
1022
1023 kal_uint8 src_id;
1024 kal_uint8 unlock_req_type;
1025 kal_uint8 imsi[TMO_RSU_IMSI_SIZE];
1026 kal_uint8 imei[TMO_RSU_IMEI_SIZE];
1027} l4csmu_tmo_rsu_create_unlock_msg_req_struct;
1028
1029typedef struct {
1030 LOCAL_PARA_HDR
1031
1032 kal_uint8 src_id;
1033 kal_uint16 raw_len;
1034 kal_uint8 imei[TMO_RSU_IMEI_SIZE];
1035 kal_uint8 raw_msg[TMO_MAX_MSG_LEN];
1036} l4csmu_tmo_rsu_process_msg_req_struct;
1037
1038typedef struct {
1039 LOCAL_PARA_HDR
1040
1041 kal_uint8 src_id;
1042} l4csmu_tmo_rsu_get_sml_status_req_struct;
1043
1044typedef struct {
1045 LOCAL_PARA_HDR
1046
1047 kal_uint8 src_id;
1048 kal_uint8 imei[TMO_RSU_IMEI_SIZE];
1049} l4csmu_tmo_rsu_get_reg_msg_req_struct;
1050
1051typedef struct {
1052 LOCAL_PARA_HDR
1053
1054 kal_uint8 src_id;
1055} l4csmu_tmo_rsu_create_unlock_msg_cnf_struct;
1056
1057typedef struct {
1058 LOCAL_PARA_HDR
1059
1060 kal_uint8 src_id;
1061} l4csmu_tmo_rsu_process_msg_cnf_struct;
1062
1063typedef struct {
1064 LOCAL_PARA_HDR
1065
1066 kal_uint8 src_id;
1067 kal_uint8 lock_response[TMO_RSU_LOCK_STATE_RESPONSE_BLOB_SIZE];
1068} l4csmu_tmo_rsu_get_sml_status_cnf_struct;
1069
1070typedef struct {
1071 LOCAL_PARA_HDR
1072
1073 kal_uint8 src_id;
1074} l4csmu_tmo_rsu_get_reg_msg_cnf_struct;
1075
1076typedef struct {
1077 LOCAL_PARA_HDR
1078
1079 kal_uint8 src_id;
1080 kal_uint8 rsu_version_str[8];
1081} l4csmu_tmo_rsu_get_adapter_config_req_struct;
1082
1083typedef struct {
1084 LOCAL_PARA_HDR
1085
1086 kal_uint8 src_id;
1087 kal_uint16 blob_length;
1088 kal_uint8 adapter_config[256];
1089} l4csmu_tmo_rsu_get_adapter_config_cnf_struct;
1090
1091typedef struct {
1092 LOCAL_PARA_HDR
1093
1094 l4c_source_id_enum src_id;
1095 kal_uint16 data_len;
1096 kal_uint8 data[SML_TMO_MOVIAL_MAX_BLOB_SIZE];
1097} l4csmu_tmo_rsu_update_blob_req_struct;
1098
1099typedef struct {
1100 LOCAL_PARA_HDR
1101
1102 l4c_source_id_enum src_id;
1103 kal_bool result;
1104 kal_uint16 rmmi_error_cause;
1105} l4csmu_tmo_rsu_update_blob_cnf_struct;
1106
1107#ifdef __MBIM_MS_NETWORK_BLACKLIST__
1108typedef struct {
1109 LOCAL_PARA_HDR
1110 kal_uint8 num_of_black_list;
1111 kal_uint8 black_list[MAX_NW_BLACK_LIST*3];
1112} l4csmu_set_nw_black_list_req_struct;
1113
1114typedef struct {
1115 LOCAL_PARA_HDR
1116 nw_black_list_operator_result_enum result;
1117 kal_bool black_list_lock_state;
1118} l4csmu_set_nw_black_list_cnf_struct;
1119
1120typedef struct {
1121 LOCAL_PARA_HDR
1122 kal_bool black_list_lock_state;
1123 kal_bool card_error;
1124 kal_bool is_init;
1125 kal_uint8 num_of_black_list;
1126 kal_uint8 black_list[MAX_NW_BLACK_LIST*3];
1127} l4csmu_nw_black_list_state_ind_struct;
1128#endif
1129
1130typedef struct {
1131 LOCAL_PARA_HDR
1132 l4c_source_id_enum src_id;
1133 sml_cat_enum category;
1134 kal_uint8 salt_length;
1135 kal_uint16 hck_length;
1136 kal_uint32 iter_count;
1137 kal_uint8 ctrl_key_str[2*SML_MAX_SUPPORT_KEY_LEN + 1];
1138} l4csmu_generate_hck_req_struct;
1139
1140typedef struct {
1141 LOCAL_PARA_HDR
1142 l4c_source_id_enum src_id;
1143 kal_bool result;
1144} l4csmu_generate_hck_cnf_struct;
1145
1146#endif
1147
1148
1149