blob: 3442060eadbaade7305837a812cc12cde43eccb4 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * ps_public_struct.h
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 * This file contains the ABM network internal APIs
49 * and these APIs can only be used by MMI CBM and DA
50 *
51 * Author:
52 * -------
53 * -------
54 *
55 *============================================================================
56 ****************************************************************************/
57#ifndef _PS_PUBLIC_STRUCT_H_
58#define _PS_PUBLIC_STRUCT_H_
59
60#include "kal_public_defs.h"
61//#include "kal_non_specific_general_types.h"
62#include "kal_public_defs.h"
63#include "ps_public_enum.h"
64#include "sim_ps_enum.h"
65#include "sim_public_enum.h"
66#include "kal_general_types.h"
67#include "sim_exported_enum.h"
68#include "l3_inc_enums_public.h"
69#include "atcmd_struct.h"
70
71#if (!defined(__MAUI_BASIC__)) && (!(defined(__NR_L1SIM__) || defined(__LTE_L1SIM__)))
72#include "mcd_l3_inc_struct.h"
73#endif
74#include "gmss_public.h"
75
76//used to be in mcd_l4_common.h
77extern kal_uint32 l4_pun_src_buff[180];
78extern kal_uint32 l4_pun_dest_buff[200];
79
80#if defined(__WHITE_CELL_LOCK__)
81#define MAX_NUM_BAND 40
82#else
83#define MAX_NUM_BAND 8
84#endif
85
86#define MAX_NUM_CHANNEL 32
87#define MAX_NUM_OF_SIGNAL_THRESH 10
88
89typedef struct _l4_addr_bcd_struct
90{
91 kal_uint8 addr_length;
92 kal_uint8 addr_bcd[MAX_CC_ADDR_BCD_LEN];
93} l4_addr_bcd_struct;
94
95#if (defined L1_SIM)
96#ifdef MAX_PS_NAME_SIZE
97#undef MAX_PS_NAME_SIZE
98#endif
99#define MAX_PS_NAME_SIZE (42)
100#endif
101
102typedef struct _l4_name_struct
103{
104 kal_uint8 name_length;
105 kal_uint8 name_dcs;
106 kal_uint8 name[MAX_PS_NAME_SIZE];
107} l4_name_struct;
108
109
110
111#if defined(__WIFI_SUPPORT__)
112/* WIFI test*/
113#include "wndrv_ft_types.h"
114#endif
115
116#ifdef __MULTI_LEVEL_BACKLIGHT_SUPPORT__
117#include "custom_hw_default.h"
118#endif
119
120#include "global_type.h"
121
122typedef struct l4c_result_struct
123{
124 kal_uint8 flag; /*l4c_result_enum*/
125 kal_uint16 cause;
126
127} l4c_result_struct;
128
129typedef struct
130{
131 kal_uint32 total_rx_data;
132 kal_uint32 total_tx_data;
133 kal_uint32 last_rx_data;
134 kal_uint32 last_tx_data;
135} l4c_gprs_statistics_info_struct;
136
137typedef struct
138{
139 kal_uint8 apn[MAX_APN_LEN];
140} l4c_tcm_acl_entry_struct;
141
142/* Poying: MSBB. */
143typedef struct {
144 kal_uint16 protocol_id;
145 kal_uint8 protocol_config_len;
146 kal_uint8 protocol_config[MAX_CONFIG_OPTION_CONTENT_LEN];
147} config_option_struct;
148
149typedef struct
150{
151 kal_bool is_sst_present;
152 kal_uint8 sst;
153
154 kal_bool is_sd_present;
155 kal_uint8 sd[TCM_S_NSSAI_SD_LEN];
156
157 kal_bool is_mapped_configured_sst_present;
158 kal_uint8 mapped_configured_sst;
159
160 kal_bool is_mapped_configured_sd_present;
161 kal_uint8 mapped_configured_sd[TCM_S_NSSAI_SD_LEN];
162} l4c_tcm_s_nssai_struct;
163
164typedef struct
165{
166 kal_uint8 context_id;
167 kal_uint8 apn_length;
168 kal_uint8 apn [ MAX_APN_LEN ];
169 kal_uint8 dcomp_algo; /*atci_dcomp_algo_enum*/
170 kal_uint8 hcomp_algo; /*atci_hcomp_algo_enum*/
171 pdp_addr_type_enum pdp_type; /*pdp_type_enum*/
172 pdp_addr_len_enum pdp_addr_len;
173 kal_uint8 addr_val[ MAX_PDP_ADDR_LEN ];
174 kal_uint8 ipv4addralloc;
175 kal_uint8 request_type; //R12
176 kal_uint8 p_cscf_discovery; //R10
177 kal_uint8 im_cn_signalling_flag; //R10
178 nas_priority_config_enum nas_priority_config ; // __MTC_SUPPORT__
179 eab_override_config_enum eab_override_config ; // __MTC_SUPPORT__
180 l4c_tcm_securepco_enum secure_pco;
181 l4c_tcm_activate_pdp_request_ipv4_mtu_enum act_pdp_with_pco_req_v4_mtu;
182 l4c_tcm_local_addr_ind_enum local_addr_ind;
183 l4c_tcm_non_ip_mtu_discovery_enum non_ip_mtu_discovery;
184 l4c_tcm_reliable_data_service_enum reliable_data_service;
185 l4c_tcm_ssc_mode_enum ssc_mode;
186 kal_bool s_nssai_present;
187 l4c_tcm_s_nssai_struct s_nssai;
188 l4c_tcm_access_type_enum access_type;
189 l4c_tcm_rqos_ind_enum rqos_ind;
190 l4c_tcm_mh6_pdu_enum mh6_pdu;
191 l4c_tcm_always_on_pdu_enum always_on_pdu;
192 kal_uint8 psi;
193 l4c_tcm_ladn_dnn_enum ladn_dnn;
194
195 /* Used for SSC Mode 3 PDU session re-restablishment in 5G. */
196 kal_bool old_psi_present;
197 kal_uint8 old_psi;
198
199 kal_bool vgpdp_type_present;
200 pdp_addr_type_enum vgpdp_type;
201 kal_bool vgapn_present;
202 kal_uint8 vgapn_length;
203 kal_uint8 vgapn[MAX_APN_LEN];
204} l4c_prim_pdp_info_struct;
205
206typedef struct
207{
208 kal_uint8 context_id;
209 pdp_addr_type_enum roaming_ip_type;
210 kal_uint8 psi;
211} l4c_extended_pdp_info_struct;
212
213
214typedef struct
215{
216 kal_uint8 apn_idx; /* apn table entry index */
217 kal_uint8 apn_length;
218 kal_uint8 apn[MAX_APN_LEN];
219 kal_uint16 inactivity_time; /* unit: minute */
220}l4c_apn_info_struct;
221
222
223typedef struct
224{
225 kal_uint8 context_id; /* child context */
226 kal_uint8 prim_context_id; /* parent context */
227 kal_uint8 dcomp_algo; /* atci_dcomp_algo_enum */
228 kal_uint8 hcomp_algo; /* atci_hcomp_algo_enum */
229 //mtk04121
230 kal_uint8 im_cn_signalling_flag; //R10
231} l4c_sec_pdp_info_struct;
232
233//mtk02219
234#if !defined(__LTE_RAT__)
235typedef struct {
236 kal_uint8 pfi;
237 kal_uint8 epi;
238 kal_uint8 src_addr_sb_net_mask_len;
239 kal_uint8 src_addr_sb_net_mask[MAX_SRC_ADDR_SBNET_MASK_LEN];
240 kal_bool prot_number_present;
241 kal_uint8 prot_number_next_hdr;
242 kal_uint8 dst_port_len;
243 kal_uint16 dst_port_range[2];
244 kal_uint8 src_port_len;
245 kal_uint16 src_port_range[2];
246 kal_bool ipsec_spi_present;
247 kal_uint32 ipsec_spi;
248 kal_uint8 tos_len;
249 kal_uint8 tos_traffic_class_mask[2];
250 kal_bool flow_label_present;
251 kal_uint32 flow_label;
252} l4c_pf_struct;
253
254typedef struct
255{
256 kal_uint8 context_id;
257 kal_uint8 tot_pf_count;
258 l4c_pf_struct pf[8]; //mtk02126 8 is the max number of packet filters in 27.007 v 7.05
259} l4c_tft_struct;
260#else
261
262//mtk02219
263typedef struct {
264 kal_uint8 pfi;
265 kal_uint8 epi;
266 kal_uint8 src_addr_sb_net_mask_len;
267 kal_uint8 src_addr_sb_net_mask[MAX_SRC_ADDR_SBNET_MASK_LEN];
268 kal_bool prot_number_present;
269 kal_uint8 prot_number_next_hdr;
270 kal_uint8 dst_port_len;
271 kal_uint16 dst_port_range[2];
272 kal_uint8 src_port_len;
273 kal_uint16 src_port_range[2];
274 kal_bool ipsec_spi_present;
275 kal_uint32 ipsec_spi;
276 kal_uint8 tos_len;
277 kal_uint8 tos_traffic_class_mask[2];
278 kal_bool flow_label_present;
279 kal_uint32 flow_label;
280} l4c_pf_struct_only_for_mmi;
281
282//mtk02219
283typedef struct
284{
285 kal_uint8 context_id;
286 kal_uint8 tot_pf_count;
287 l4c_pf_struct_only_for_mmi pf[8]; //mtk02126 8 is the max number of packet filters in 27.007 v 7.05
288} l4c_tft_struct_only_for_mmi;
289#endif
290
291typedef struct
292{
293 atci_qos_enum qos_type; /*atci_qos_enum*/
294 kal_uint8 context_id;
295 delay_class_enum delay_class; /*delay_class_enum*/
296 reliability_class_enum reliability_class; /*reliability_class_enum*/
297 peak_throughput_class peak_throughput; /*peak_throughput_class*/
298 precedence_class_enum precedence_class; /*precedence_class_enum*/
299 mean_throughput_enum mean_throughput; /*mean_throughput_enum*/
300} l4c_qos_struct;
301
302typedef struct
303{
304 atci_qos_enum qos_type; /*atci_qos_enum*/
305 kal_uint8 context_id;
306 kal_uint8 traffic_class;
307 kal_uint8 delivery_order;
308 kal_uint8 delivery_of_err_sdu;
309 kal_uint8 max_sdu_size;
310 kal_uint8 max_bitrate_up_lnk;
311 kal_uint8 max_bitrate_down_lnk;
312 kal_uint8 residual_bit_err_rate;
313 kal_uint8 sdu_err_ratio;
314 kal_uint8 transfer_delay;
315 kal_uint8 traffic_hndl_priority;
316 kal_uint8 guarntd_bit_rate_up_lnk;
317 kal_uint8 guarntd_bit_rate_down_lnk;
318 kal_uint8 signalling_indication;
319 kal_uint8 source_statistics_descriptor;
320 kal_uint8 ext_max_bitrate_down_lnk;
321 kal_uint8 ext_guarntd_bit_rate_down_lnk;
322 kal_uint8 ext_max_bitrate_up_lnk;
323 kal_uint8 ext_guarntd_bit_rate_up_lnk;
324 kal_uint8 ext2_max_bitrate_down_lnk;
325 kal_uint8 ext2_guarntd_bit_rate_down_lnk;
326 kal_uint8 ext2_max_bitrate_up_lnk;
327 kal_uint8 ext2_guarntd_bit_rate_up_lnk;
328} l4c_eqos_struct;
329
330//mtk04121
331typedef struct
332{
333 kal_uint8 context_id;
334 kal_uint8 qci;
335 kal_bool max_bitrate_present;
336 kal_uint8 max_bitrate_up_lnk;
337 kal_uint8 max_bitrate_down_lnk;
338 kal_uint8 ext_max_bitrate_up_lnk;
339 kal_uint8 ext_max_bitrate_down_lnk;
340 kal_uint8 ext2_max_bitrate_up_lnk;
341 kal_uint8 ext2_max_bitrate_down_lnk;
342 kal_bool guarntd_bit_rate_present;
343 kal_uint8 guarntd_bit_rate_up_lnk;
344 kal_uint8 guarntd_bit_rate_down_lnk;
345 kal_uint8 ext_guarntd_bit_rate_up_lnk;
346 kal_uint8 ext_guarntd_bit_rate_down_lnk;
347 kal_uint8 ext2_guarntd_bit_rate_up_lnk;
348 kal_uint8 ext2_guarntd_bit_rate_down_lnk;
349
350 kal_bool is_use_ext_qos_for_dl_gbr;
351 kal_bool is_use_ext_qos_for_ul_gbr;
352 kal_bool is_use_ext_qos_for_dl_mbr;
353 kal_bool is_use_ext_qos_for_ul_mbr;
354 kal_uint64 ext_eps_qos_dl_gbr;
355 kal_uint64 ext_eps_qos_ul_gbr;
356 kal_uint64 ext_eps_qos_dl_mbr;
357 kal_uint64 ext_eps_qos_ul_mbr;
358} l4c_eps_qos_struct;
359
360//mtk04121
361typedef struct
362{
363 kal_uint8 qci;
364 kal_uint8 unused1;
365 kal_uint8 unused2;
366 kal_uint8 unused3;
367 kal_uint8 max_bitrate_up_lnk;
368 kal_uint8 max_bitrate_down_lnk;
369 kal_uint8 guarntd_bit_rate_up_lnk;
370 kal_uint8 guarntd_bit_rate_down_lnk;
371 kal_uint8 ext_max_bitrate_up_lnk;
372 kal_uint8 ext_max_bitrate_down_lnk;
373 kal_uint8 ext_guarntd_bit_rate_up_lnk;
374 kal_uint8 ext_guarntd_bit_rate_down_lnk;
375 kal_uint8 ext2_max_bitrate_up_lnk;
376 kal_uint8 ext2_max_bitrate_down_lnk;
377 kal_uint8 ext2_guarntd_bit_rate_up_lnk;
378 kal_uint8 ext2_guarntd_bit_rate_down_lnk;
379
380 kal_bool is_use_ext_qos_for_dl_gbr;
381 kal_bool is_use_ext_qos_for_ul_gbr;
382 kal_bool is_use_ext_qos_for_dl_mbr;
383 kal_bool is_use_ext_qos_for_ul_mbr;
384 kal_uint64 ext_eps_qos_dl_gbr;
385 kal_uint64 ext_eps_qos_ul_gbr;
386 kal_uint64 ext_eps_qos_dl_mbr;
387 kal_uint64 ext_eps_qos_ul_mbr;
388} tcm_eps_qos_struct;
389
390typedef struct
391{
392 kal_uint8 qfi;
393 kal_bool vqi_present;
394 kal_uint32 vqi;
395 kal_bool dl_gfbr_present;
396 kal_uint64 dl_gfbr;
397 kal_bool ul_gfbr_present;
398 kal_uint64 ul_gfbr;
399 kal_bool dl_mfbr_present;
400 kal_uint64 dl_mfbr;
401 kal_bool ul_mfbr_present;
402 kal_uint64 ul_mfbr;
403 kal_bool avg_window_present; /* used for neg_qos. */
404 kal_uint32 avg_window; /* used for neg_qos. */
405} tcm_vgqos_struct;
406
407typedef struct
408{
409 kal_uint8 context_id;
410 tcm_vgqos_struct vgqos;
411} l4c_vgqos_struct;
412
413typedef struct
414{
415 kal_uint8 authentication_type;
416 kal_uint8 user_name[MAX_GPRS_USER_NAME_LEN];
417 kal_uint8 password[MAX_GPRS_PASSWORD_LEN];
418 kal_uint8 dns[MAX_GPRS_IP_ADDR];
419 kal_uint8 sec_dns[MAX_GPRS_IP_ADDR];
420 kal_uint8 apn[MAX_GPRS_APN_LEN];
421 kal_uint8 apn_length;
422
423 //nvram_editor_qos_struct req_qos;
424 kal_uint8 dcomp_algo; // Fixed value: SND_NO_DCOMP
425 kal_uint8 hcomp_algo; // Fixed value: SND_NO_PCOMP
426 kal_uint8 pdp_type; // Fixed value: IPV4_ADDR_TYPE 0x21 for IPv4
427 kal_uint8 pdp_addr_len; // Fixed value: NULL_PDP_ADDR_LEN = 0x01, if use fixed IP address, this should be IPV4_ADDR_LEN = 0x04
428 kal_uint8 pdp_addr_val[MAX_GPRS_IP_ADDR]; // should be all 0
429} l4c_gprs_account_info_struct; //10A_DA_Revise, new gprs account struct, mtk02285
430
431typedef struct
432{
433 kal_uint8 call_id;
434 kal_uint8 call_state;
435 kal_uint8 mpty;
436 kal_uint8 number[MAX_CC_ADDR_LEN];
437} l4c_call_list_entry_struct;
438
439typedef struct
440{
441 kal_uint8 length;
442 l4c_call_list_entry_struct list[L4C_MAX_CALL_LIST_LEN];
443} l4c_call_list_struct;
444
445typedef struct
446{
447 kal_uint8 type;
448 kal_uint8 length;
449 kal_uint8 number[MAX_CC_ADDR_LEN];
450} l4c_number_struct;
451
452typedef struct
453{
454 kal_uint8 type;
455 kal_uint8 length;
456 kal_uint8 number[MAX_CC_ADDR_LEN];
457} l4c_sub_addr_struct;
458
459typedef struct {
460 kal_uint8 bs_code;
461 kal_uint8 ss_status;
462 kal_uint8 no_reply_timer;
463 kal_uint8 subaddress_flag;
464 kal_char address[MAX_CC_ADDR_LEN];
465 kal_char subaddress[MAX_CC_SUB_ADDR_LEN];
466} forwarding_list_struct;
467
468typedef struct {
469 kal_uint8 bs_code;
470 kal_uint8 ss_status;
471} barring_list_struct;
472
473typedef struct {
474 kal_uint8 ss_status;
475 kal_uint8 subaddress_flag;
476 l4_addr_bcd_struct address;
477 l4_addr_bcd_struct subaddress;
478 kal_uint8 bs_code;
479} ccbs_list_struct;
480
481typedef struct
482{
483 kal_bool cug_flag;
484 kal_uint8 clir_flag;
485 kal_uint8 call_type;
486 csmss_string_op_enum opcode;
487 l4c_number_struct addr;
488} l4c_ss_string_info_struct;
489
490typedef struct {
491 kal_uint8 icon_attr;
492 kal_uint8 icon_id;
493} sat_icon_struct;
494
495typedef struct {
496 kal_uint8 length;
497 kal_uint8 procomm[256];
498 rsat_config_enum is_wait_for_rsp;
499} sat_procomm_struct;
500
501typedef struct {
502 kal_uint8 p_class;
503 kal_uint8 d_class;
504 kal_uint8 r_class;
505 kal_uint8 peak_rate;
506 kal_uint8 mean_rate;
507 kal_uint8 proto_type;
508} sat_gprs_bearer_para_struct;
509
510typedef struct {
511 kal_uint8 speed;
512 kal_uint8 service_name;
513 kal_uint8 ce;
514} sat_csd_bearer_para_struct;
515
516//agps begin
517/* OCTET STRING Ext-GeographicalInformation */
518typedef struct L4C_SS_Ext_GeographicalInformation
519{
520 kal_uint8 numOctets;
521 kal_uint8 stringData[20];
522}
523L4C_SS_Ext_GeographicalInformation;
524
525/* OCTET STRING DecipheringKeys */
526typedef struct L4C_SS_DecipheringKeys
527{
528 kal_uint8 numOctets;
529 kal_uint8 stringData[15];
530}
531L4C_SS_DecipheringKeys;
532
533/* OCTET STRING Add-GeographicalInformation */
534typedef struct L4C_SS_Add_GeographicalInformation
535{
536 kal_uint8 numOctets;
537 kal_uint8 stringData[91];
538}
539L4C_SS_Add_GeographicalInformation;
540
541/* BIT STRING DeferredLocationEventType */
542#define L4C_SS_DeferredLocationEventType_msAvailable 0x00000001
543
544#define L4C_SS_DeferredLocationEventType_enteringIntoArea 0x00000002
545
546#define L4C_SS_DeferredLocationEventType_leavingFromArea 0x00000004
547
548#define L4C_SS_DeferredLocationEventType_beingInsideArea 0x00000008
549
550typedef struct L4C_SS_DeferredLocationEventType
551{
552 kal_uint8 numBits;
553 kal_uint8 stringData[2];
554}
555L4C_SS_DeferredLocationEventType;
556
557/* OCTET STRING AddressString */
558typedef struct L4C_SS_AddressString
559{
560 kal_uint8 numOctets;
561 kal_uint8 stringData[20];
562}
563L4C_SS_AddressString;
564
565typedef L4C_SS_AddressString L4C_SS_ISDN_AddressString;
566
567typedef struct
568{
569 kal_uint32 valueLen;
570 kal_uint8 *value;
571}L4C_LCS_applib2_UnKnowExtensionItem;
572
573typedef struct
574{
575 kal_uint32 valueLen; // Extension Number
576 L4C_LCS_applib2_UnKnowExtensionItem *value; // Point to the first
577}L4C_LCS_applib2_UnKnowExtensionItemArray;
578
579/* SEQUENCE PrivateExtension */
580typedef struct L4C_SS_PrivateExtension
581{
582 L4C_LCS_applib2_UnKnowExtensionItemArray UnKnowItem;
583}
584L4C_SS_PrivateExtension;
585
586/* SEQUENCE OF PrivateExtensionList */
587typedef struct L4C_SS_PrivateExtensionList
588{
589 kal_uint8 numElements;
590
591 L4C_SS_PrivateExtension element[10];
592}
593L4C_SS_PrivateExtensionList;
594
595/* SEQUENCE ExtensionContainer */
596typedef struct L4C_SS_ExtensionContainer
597{
598 kal_uint8 validity;
599
600 #define L4C_SS_ExtensionContainer_privateExtensionList_valid 0x02
601 #define L4C_SS_ExtensionContainer_pcs_Extensions_valid 0x01
602
603 L4C_SS_PrivateExtensionList privateExtensionList; /* OPTIONAL */
604}
605L4C_SS_ExtensionContainer;
606
607/* OCTET STRING USSD-DataCodingScheme */
608typedef struct L4C_SS_USSD_DataCodingScheme
609{
610 kal_uint8 numOctets;
611 kal_uint8 stringData[1];
612}
613L4C_SS_USSD_DataCodingScheme;
614
615/* OCTET STRING USSD-String */
616typedef struct L4C_SS_USSD_String
617{
618 kal_uint8 numOctets;
619 kal_uint8 stringData[160];
620}
621L4C_SS_USSD_String;
622
623/* DEFINED NameString */
624typedef L4C_SS_USSD_String L4C_SS_NameString;
625
626/* DEFINED RequestorIDString */
627typedef L4C_SS_USSD_String L4C_SS_RequestorIDString;
628
629/* SEQUENCE LCSClientName */
630typedef struct L4C_SS_LCSClientName
631{
632 kal_uint8 validity;
633
634 #define L4C_SS_LCSClientName_lcs_FormatIndicator_valid 0x01
635
636 L4C_SS_USSD_DataCodingScheme dataCodingScheme; /* MANDATORY */
637 L4C_SS_NameString nameString; /* MANDATORY */
638
639 kal_uint8 lcs_FormatIndicator; /* OPTIONAL */ /* L4C_SS_LCS_FormatIndicator */
640}
641L4C_SS_LCSClientName;
642
643/* SEQUENCE LCSRequestorID */
644typedef struct L4C_SS_LCSRequestorID
645{
646 kal_uint8 validity;
647
648 #define L4C_SS_LCSRequestorID_lcs_FormatIndicator_valid 0x01
649
650 L4C_SS_USSD_DataCodingScheme dataCodingScheme; /* MANDATORY */
651 L4C_SS_RequestorIDString requestorIDString; /* MANDATORY */
652
653 kal_uint8 lcs_FormatIndicator; /* OPTIONAL */ /* L4C_SS_LCS_FormatIndicator */
654}
655L4C_SS_LCSRequestorID;
656
657/* DEFINED LCSCodewordString */
658typedef L4C_SS_USSD_String L4C_SS_LCSCodewordString;
659
660/* SEQUENCE LCSCodeword */
661typedef struct L4C_SS_LCSCodeword
662{
663 L4C_SS_USSD_DataCodingScheme dataCodingScheme; /* MANDATORY */
664 L4C_SS_LCSCodewordString lcsCodewordString; /* MANDATORY */
665}
666L4C_SS_LCSCodeword;
667
668/* INTEGER LCSServiceTypeID */
669typedef kal_uint8 L4C_SS_LCSServiceTypeID;
670
671/* INTEGER AgeOfLocationInformation */
672typedef kal_uint16 L4C_SS_AgeOfLocationInformation;
673
674/* SEQUENCE LocationNotificationRes */
675typedef struct L4C_SS_LocationNotificationRes
676{
677 kal_uint8 validity;
678
679 #define L4C_SS_LocationNotificationRes_verificationResponse_valid 0x01
680
681 kal_uint8 verificationResponse; /* OPTIONAL */ /* L4C_SS_VerificationResponse */
682}
683L4C_SS_LocationNotificationRes;
684
685/* OCTET STRING LCS-ReferenceNumber */
686typedef struct L4C_SS_LCS_ReferenceNumber
687{
688 kal_uint8 numOctets;
689 kal_uint8 stringData[1];
690}
691L4C_SS_LCS_ReferenceNumber;
692
693/* OCTET STRING GSN-Address */
694typedef struct L4C_SS_GSN_Address
695{
696 kal_uint8 numOctets;
697 kal_uint8 stringData[17];
698}
699L4C_SS_GSN_Address;
700
701/* SEQUENCE LCS-AreaEventReportArg */
702typedef struct L4C_SS_LCS_AreaEventReportArg
703{
704 kal_uint8 validity;
705
706 #define L4C_SS_LCS_AreaEventReportArg_r_gmlc_address_valid 0x01
707
708 L4C_SS_LCS_ReferenceNumber referenceNumber; /* MANDATORY */
709 L4C_SS_GSN_Address h_gmlc_address; /* MANDATORY */
710 L4C_SS_GSN_Address r_gmlc_address; /* OPTIONAL */
711}
712L4C_SS_LCS_AreaEventReportArg;
713
714typedef struct L4C_SS_LCS_AreaEventCancellationArg
715{
716 L4C_SS_LCS_ReferenceNumber referenceNumber; /* MANDATORY */
717 L4C_SS_GSN_Address h_gmlc_address; /* MANDATORY */
718}
719L4C_SS_LCS_AreaEventCancellationArg;
720
721/* OCTET STRING AreaIdentification */
722typedef struct L4C_SS_AreaIdentification
723{
724 kal_uint8 numOctets;
725 kal_uint8 stringData[7];
726}
727L4C_SS_AreaIdentification;
728
729/* SEQUENCE Area */
730typedef struct L4C_SS_Area
731{
732 kal_uint8 areaType; /* MANDATORY */ /* L4C_SS_AreaType */
733 L4C_SS_AreaIdentification areaIdentification; /* MANDATORY */
734}
735L4C_SS_Area;
736
737/* SEQUENCE OF AreaList */
738typedef struct L4C_SS_AreaList
739{
740 kal_uint8 numElements;
741
742 L4C_SS_Area element[10];
743}
744L4C_SS_AreaList;
745
746/* SEQUENCE AreaDefinition */
747typedef struct L4C_SS_AreaDefinition
748{
749 L4C_SS_AreaList areaList; /* MANDATORY */
750}
751L4C_SS_AreaDefinition;
752
753/* INTEGER IntervalTime */
754typedef kal_uint16 L4C_SS_IntervalTime;
755
756/* SEQUENCE AreaEventInfo */
757typedef struct L4C_SS_AreaEventInfo
758{
759 kal_uint8 validity;
760
761 #define L4C_SS_AreaEventInfo_occurrenceInfo_valid 0x02
762 #define L4C_SS_AreaEventInfo_intervalTime_valid 0x01
763
764 L4C_SS_AreaDefinition areaDefinition; /* MANDATORY */
765 kal_uint8 occurrenceInfo; /* OPTIONAL */ /* L4C_SS_OccurrenceInfo */
766 L4C_SS_IntervalTime intervalTime; /* OPTIONAL */
767}
768L4C_SS_AreaEventInfo;
769
770/* SEQUENCE LCS-AreaEventRequestArg */
771typedef struct L4C_SS_LCS_AreaEventRequestArg
772{
773 kal_uint8 validity;
774
775 #define L4C_SS_LCS_AreaEventRequestArg_r_gmlc_address_valid 0x01
776
777 L4C_SS_LCS_ReferenceNumber referenceNumber; /* MANDATORY */
778 L4C_SS_GSN_Address h_gmlc_address; /* MANDATORY */
779 L4C_SS_GSN_Address r_gmlc_address; /* OPTIONAL */
780 L4C_SS_DeferredLocationEventType deferredLocationEventType; /* MANDATORY */
781 L4C_SS_AreaEventInfo areaEventInfo; /* MANDATORY */
782}
783L4C_SS_LCS_AreaEventRequestArg;
784
785/* SEQUENCE ResponseTime */
786typedef struct L4C_SS_ResponseTime
787{
788 kal_uint8 responseTimeCategory; /* MANDATORY */ /* L4C_SS_ResponseTimeCategory */
789}
790L4C_SS_ResponseTime;
791
792/* OCTET STRING Vertical-Accuracy */
793typedef struct L4C_SS_Vertical_Accuracy
794{
795 kal_uint8 numOctets;
796 kal_uint8 stringData[1];
797}
798L4C_SS_Vertical_Accuracy;
799
800/* OCTET STRING Horizontal-Accuracy */
801typedef struct L4C_SS_Horizontal_Accuracy
802{
803 kal_uint8 numOctets;
804 kal_uint8 stringData[1];
805}
806L4C_SS_Horizontal_Accuracy;
807
808/* SEQUENCE LCS-QoS */
809typedef struct L4C_SS_LCS_QoS
810{
811 kal_uint8 validity;
812
813 #define L4C_SS_LCS_QoS_horizontal_accuracy_valid 0x10
814 #define L4C_SS_LCS_QoS_verticalCoordinateRequest_valid 0x08
815 #define L4C_SS_LCS_QoS_vertical_accuracy_valid 0x04
816 #define L4C_SS_LCS_QoS_responseTime_valid 0x02
817 #define L4C_SS_LCS_QoS_extensionContainer_valid 0x01
818
819 L4C_SS_Horizontal_Accuracy horizontal_accuracy; /* OPTIONAL */
820 kal_int8 verticalCoordinateRequest; /* OPTIONAL */
821 L4C_SS_Vertical_Accuracy vertical_accuracy; /* OPTIONAL */
822 L4C_SS_ResponseTime responseTime; /* OPTIONAL */
823 L4C_SS_ExtensionContainer extensionContainer; /* OPTIONAL */
824}
825L4C_SS_LCS_QoS;
826
827/* BIT STRING SupportedGADShapes */
828#define L4C_SS_SupportedGADShapes_ellipsoidPoint 0x00000001
829
830#define L4C_SS_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle 0x00000002
831
832#define L4C_SS_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse 0x00000004
833
834#define L4C_SS_SupportedGADShapes_polygon 0x00000008
835
836#define L4C_SS_SupportedGADShapes_ellipsoidPointWithAltitude 0x00000010
837
838#define L4C_SS_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid 0x00000020
839
840#define L4C_SS_SupportedGADShapes_ellipsoidArc 0x00000040
841
842typedef struct L4C_SS_SupportedGADShapes
843{
844 kal_uint8 numBits;
845 kal_uint8 stringData[2];
846}
847L4C_SS_SupportedGADShapes;
848
849/* OCTET STRING GPSAssistanceData */
850typedef struct L4C_SS_GPSAssistanceData
851{
852 kal_uint8 numOctets;
853 kal_uint8 stringData[38];
854}
855L4C_SS_GPSAssistanceData;
856
857/* SEQUENCE LCSClientExternalID */
858typedef struct L4C_SS_LCSClientExternalID
859{
860 kal_uint8 validity;
861
862 #define L4C_SS_LCSClientExternalID_externalAddress_valid 0x02
863 #define L4C_SS_LCSClientExternalID_extensionContainer_valid 0x01
864
865 L4C_SS_ISDN_AddressString externalAddress; /* OPTIONAL */
866 L4C_SS_ExtensionContainer extensionContainer; /* OPTIONAL */
867}
868L4C_SS_LCSClientExternalID;
869
870/* SEQUENCE LocationType */
871typedef struct L4C_SS_LocationType
872{
873 kal_uint8 validity;
874
875 #define L4C_SS_LocationType_deferredLocationEventType_valid 0x01
876
877 kal_uint8 locationEstimateType; /* MANDATORY */ /* L4C_SS_LocationEstimateType */
878
879 L4C_SS_DeferredLocationEventType deferredLocationEventType; /* OPTIONAL */
880}
881L4C_SS_LocationType;
882
883/* SEQUENCE LCS-MOLRArg */
884typedef struct L4C_SS_LCS_MOLRArg
885{
886 kal_uint16 validity;
887
888 #define L4C_SS_LCS_MOLRArg_locationMethod_valid 0x0200
889 #define L4C_SS_LCS_MOLRArg_lcs_QoS_valid 0x0100
890 #define L4C_SS_LCS_MOLRArg_lcsClientExternalID_valid 0x0080
891 #define L4C_SS_LCS_MOLRArg_mlc_Number_valid 0x0040
892 #define L4C_SS_LCS_MOLRArg_gpsAssistanceData_valid 0x0020
893 #define L4C_SS_LCS_MOLRArg_supportedGADShapes_valid 0x0010
894 #define L4C_SS_LCS_MOLRArg_lcsServiceTypeID_valid 0x0008
895 #define L4C_SS_LCS_MOLRArg_ageOfLocationInfo_valid 0x0004
896 #define L4C_SS_LCS_MOLRArg_locationType_valid 0x0002
897 #define L4C_SS_LCS_MOLRArg_pseudonymIndicator_valid 0x0001
898
899 kal_uint8 molr_Type; /* MANDATORY */ /* L4C_SS_MOLR_Type */
900 kal_uint8 locationMethod; /* OPTIONAL */ /* L4C_SS_LocationMethod */
901 L4C_SS_LCS_QoS lcs_QoS; /* OPTIONAL */
902 L4C_SS_LCSClientExternalID lcsClientExternalID; /* OPTIONAL */
903 L4C_SS_ISDN_AddressString mlc_Number; /* OPTIONAL */
904 L4C_SS_GPSAssistanceData gpsAssistanceData; /* OPTIONAL */
905
906 L4C_SS_SupportedGADShapes supportedGADShapes; /* OPTIONAL */
907
908 L4C_SS_LCSServiceTypeID lcsServiceTypeID; /* OPTIONAL */
909 L4C_SS_AgeOfLocationInformation ageOfLocationInfo; /* OPTIONAL */
910 L4C_SS_LocationType locationType; /* OPTIONAL */
911 kal_uint8 pseudonymIndicator; /* OPTIONAL */
912}
913L4C_SS_LCS_MOLRArg;
914
915/* SEQUENCE LocationNotificationArg */
916typedef struct L4C_SS_LocationNotificationArg
917{
918 kal_uint8 validity;
919
920 #define L4C_SS_LocationNotificationArg_lcsClientExternalID_valid 0x10
921 #define L4C_SS_LocationNotificationArg_lcsClientName_valid 0x08
922 #define L4C_SS_LocationNotificationArg_lcsRequestorID_valid 0x04
923 #define L4C_SS_LocationNotificationArg_lcsCodeword_valid 0x02
924 #define L4C_SS_LocationNotificationArg_lcsServiceTypeID_valid 0x01
925
926 kal_uint8 notificationType; /* MANDATORY */ /* L4C_SS_NotificationToMSUser */
927 L4C_SS_LocationType locationType; /* MANDATORY */
928 L4C_SS_LCSClientExternalID lcsClientExternalID; /* OPTIONAL */
929 L4C_SS_LCSClientName lcsClientName; /* OPTIONAL */
930
931 L4C_SS_LCSRequestorID lcsRequestorID; /* OPTIONAL */
932 L4C_SS_LCSCodeword lcsCodeword; /* OPTIONAL */
933 L4C_SS_LCSServiceTypeID lcsServiceTypeID; /* OPTIONAL */
934}
935L4C_SS_LocationNotificationArg;
936
937/* SEQUENCE LCS-MOLRRes */
938typedef struct L4C_SS_LCS_MOLRRes
939{
940 kal_uint8 validity;
941
942 #define L4C_SS_LCS_MOLRRes_locationEstimate_valid 0x04
943 #define L4C_SS_LCS_MOLRRes_decipheringKeys_valid 0x02
944 #define L4C_SS_LCS_MOLRRes_add_LocationEstimate_valid 0x01
945
946 L4C_SS_Ext_GeographicalInformation locationEstimate; /* OPTIONAL */
947 L4C_SS_DecipheringKeys decipheringKeys; /* OPTIONAL */
948
949 L4C_SS_Add_GeographicalInformation add_LocationEstimate; /* OPTIONAL */
950}
951L4C_SS_LCS_MOLRRes;
952//agps end
953
954//eq begin
955typedef struct {
956
957 kal_uint32 PWM1_freq_Level_Info[5];
958 kal_uint32 PWM1_duty_Level_Info[5];
959 kal_uint32 PWM2_freq_Level_Info[5];
960 kal_uint32 PWM2_duty_Level_Info[5];
961 kal_uint32 PWM3_freq_Level_Info[5];
962 kal_uint32 PWM3_duty_Level_Info[5];
963
964 kal_uint8 MainLCD_Contrast_Level_Info[15];
965 kal_uint8 MainLCD_Bias_Level_Info[5];
966 kal_uint8 MainLCD_Linerate_Level_Info[5];
967 kal_uint8 MainLCD_Temp_Level_Info[5];
968
969 kal_uint8 SubLCD_Contrast_Level_Info[15];
970 kal_uint8 SubLCD_Bias_Level_Info[5];
971 kal_uint8 SubLCD_Linerate_Level_Info[5];
972 kal_uint8 SubLCD_Temp_Level_Info[5];
973
974 kal_uint32 Battery_Level_Info[10];
975
976#ifdef __MULTI_LEVEL_BACKLIGHT_SUPPORT__
977 kal_uint32 bl_PWM_freq_Level_Info[PWM_MAX_BACKLIGHT_LEVEL];
978 kal_uint32 bl_PWM_duty_Level_Info[PWM_MAX_BACKLIGHT_LEVEL];
979#endif
980}
981l4c_hw_profile_struct;
982
983typedef struct {
984 kal_uint8 rtc_sec;
985 kal_uint8 rtc_min;
986 kal_uint8 rtc_hour;
987 kal_uint8 rtc_day;
988 kal_uint8 rtc_mon;
989 kal_uint8 rtc_wday;
990 kal_uint8 rtc_year;
991} rtc_format_struct;
992
993typedef struct {
994 kal_uint8 alarm_format;
995 kal_uint8 alarm_index;
996 kal_uint8 type;
997 kal_uint8 text[30];
998 kal_uint8 recurr;
999 rtc_format_struct data_time;
1000} rtc_alarm_info_struct;
1001
1002typedef struct mmi_at_alarm_info_struct
1003{
1004 kal_uint8 alarm_index;
1005 kal_uint8 recurr;
1006 rtc_format_struct date_time;
1007} mmi_at_alarm_info_struct;
1008
1009typedef enum{
1010 VT_EM_REVERSE_INVALID = -1,
1011 VT_EM_REVERSE_DATA = 0,
1012 VT_EM_REVERSE_NULL
1013}vt_em_reverse_channel_data_type;
1014
1015typedef enum{
1016 VT_EM_AL_INVALID = -1,
1017 VT_EM_AL2_WITH_SEQUENCE_NUMBER = 0,
1018 VT_EM_AL2_WITHOUT_SEQUENCE_NUMBER,
1019 VT_EM_AL3_CONTROL_FIELD_SIZE_0,
1020 VT_EM_AL3_CONTROL_FIELD_SIZE_1,
1021 VT_EM_AL3_CONTROL_FIELD_SIZE_2
1022}vt_em_al_choice;
1023
1024typedef enum{
1025 VT_EM_MUX_LEVEL_INVALID = -1,
1026 VT_EM_MUX_LEVEL_0 = 0,
1027 VT_EM_MUX_LEVEL_1,
1028 VT_EM_MUX_LEVEL_1_WITH_DOUBLE_FLAG,
1029 VT_EM_MUX_LEVEL_2,
1030 VT_EM_MUX_LEVEL_2_WITH_OPTIONAL_HEADER,
1031 VT_EM_MUX_LEVEL_3,
1032 VT_EM_MUX_LEVEL_3_WITH_OPTIONAL_HEADER
1033}vt_em_mux_level_choice;
1034
1035typedef enum{
1036 VT_EM_WNSRP_INVALID = -1,
1037 VT_EM_WNSRP_OFF = 0,
1038 VT_EM_WNSRP_ON
1039}vt_em_wnsrp_choice;
1040
1041typedef enum{
1042 VT_EM_CODEC_INVALID = -1,
1043 VT_EM_CODEC_MPEG4_H263 = 0,
1044 VT_EM_CODEC_H263_MPEG4
1045}vt_em_video_codec_preference_choice;
1046
1047typedef enum{
1048 VT_EM_AUTO_DROP_INVALID = -1,
1049 VT_EM_DISABLE_AUTO_DROP_IF_CHANNEL_FAIL = 0,
1050 VT_EM_ENABLE_AUTO_DROP_IF_CHANNEL_FAIL
1051}vt_em_auto_drop_if_channel_fail_choice;
1052
1053typedef enum{
1054 VT_EM_TERMINAL_TYPE_INVALID = -1,
1055 VT_EM_TERMINAL_TYPE_NORMAL = 0,
1056 VT_EM_TERMINAL_TYPE_MASTER,
1057 VT_EM_TERMINAL_TYPE_SLAVE
1058}vt_em_terminal_type_choice;
1059
1060typedef struct{
1061 vt_em_mux_level_choice mux_level_choice;
1062 vt_em_wnsrp_choice wnsrp_choice;
1063 vt_em_al_choice audio_al_choice;
1064 vt_em_al_choice video_al_choice;
1065 vt_em_reverse_channel_data_type video_reverse_data_type_choice;
1066 vt_em_video_codec_preference_choice video_codec_preference_choice;
1067 vt_em_auto_drop_if_channel_fail_choice auto_drop_if_channel_fail_choice;
1068 vt_em_terminal_type_choice terminal_type_choice;
1069 kal_int32 timer_T101; //default = -1 (if its value equals -1, no change should be made)
1070 kal_int32 timer_T109; //default = -1 (if its value equals -1, no change should be made)
1071 kal_int32 timer_T401; //default = -1 (if its value equals -1, no change should be made)
1072 kal_int32 user_specified_1; //default = -1 (if its value equals -1, no change should be made)
1073 kal_int32 user_specified_2; //default = -1 (if its value equals -1, no change should be made)
1074 kal_uint8 user_specified_3[64]; //get input length by strlen() (end by EOF)
1075}vt_em_config_struct;
1076
1077typedef struct
1078{
1079 kal_uint8 mcc[3]; //MCC
1080 kal_uint8 mnc[3]; //MNC
1081 kal_uint8 lac[2]; //LAC
1082 kal_uint16 cell_id; //cell ID
1083 kal_uint8 nc_info_index; // index in rlc array to acquire the corresponding arfcn, bsic, rxlevel...
1084 kal_uint8 rac;//RAC EM_RAC
1085#ifdef __PS_SERVICE__
1086 /*091014 WISDOM_EM Michael Shuang NMO*/
1087 kal_uint8 nmo;
1088#endif
1089 kal_uint8 supported_Band;
1090} rr_em_lai_info_struct;
1091
1092#if 0
1093/* under construction !*/
1094/* under construction !*/
1095/* under construction !*/
1096/* under construction !*/
1097/* under construction !*/
1098/* under construction !*/
1099/* under construction !*/
1100/* under construction !*/
1101/* under construction !*/
1102/* under construction !*/
1103/* under construction !*/
1104/* under construction !*/
1105/* under construction !*/
1106/* under construction !*/
1107/* under construction !*/
1108/* under construction !*/
1109/* under construction !*/
1110/* under construction !*/
1111/* under construction !*/
1112/* under construction !*/
1113/* under construction !*/
1114/* under construction !*/
1115/* under construction !*/
1116/* under construction !*/
1117/* under construction !*/
1118/* under construction !*/
1119/* under construction !*/
1120/* under construction !*/
1121/* under construction !*/
1122/* under construction !*/
1123/* under construction !*/
1124/* under construction !*/
1125/* under construction !*/
1126/* under construction !*/
1127/* under construction !*/
1128/* under construction !*/
1129/* under construction !*/
1130/* under construction !*/
1131/* under construction !*/
1132/* under construction !*/
1133/* under construction !*/
1134/* under construction !*/
1135/* under construction !*/
1136/* under construction !*/
1137/* under construction !*/
1138/* under construction !*/
1139/* under construction !*/
1140/* under construction !*/
1141/* under construction !*/
1142/* under construction !*/
1143/* under construction !*/
1144/* under construction !*/
1145/* under construction !*/
1146/* under construction !*/
1147/* under construction !*/
1148/* under construction !*/
1149/* under construction !*/
1150/* under construction !*/
1151/* under construction !*/
1152/* under construction !*/
1153/* under construction !*/
1154/* under construction !*/
1155/* under construction !*/
1156/* under construction !*/
1157/* under construction !*/
1158/* under construction !*/
1159/* under construction !*/
1160/* under construction !*/
1161/* under construction !*/
1162/* under construction !*/
1163/* under construction !*/
1164/* under construction !*/
1165/* under construction !*/
1166/* under construction !*/
1167/* under construction !*/
1168/* under construction !*/
1169/* under construction !*/
1170/* under construction !*/
1171/* under construction !*/
1172/* under construction !*/
1173/* under construction !*/
1174/* under construction !*/
1175/* under construction !*/
1176/* under construction !*/
1177/* under construction !*/
1178/* under construction !*/
1179/* under construction !*/
1180/* under construction !*/
1181/* under construction !*/
1182/* under construction !*/
1183/* under construction !*/
1184/* under construction !*/
1185/* under construction !*/
1186/* under construction !*/
1187/* under construction !*/
1188/* under construction !*/
1189/* under construction !*/
1190/* under construction !*/
1191/* under construction !*/
1192/* under construction !*/
1193/* under construction !*/
1194/* under construction !*/
1195/* under construction !*/
1196#endif
1197
1198typedef struct
1199{
1200#if 0
1201/* under construction !*/
1202/* under construction !*/
1203/* under construction !*/
1204/* under construction !*/
1205/* under construction !*/
1206/* under construction !*/
1207/* under construction !*/
1208/* under construction !*/
1209/* under construction !*/
1210/* under construction !*/
1211/* under construction !*/
1212/* under construction !*/
1213/* under construction !*/
1214/* under construction !*/
1215/* under construction !*/
1216/* under construction !*/
1217/* under construction !*/
1218/* under construction !*/
1219/* under construction !*/
1220/* under construction !*/
1221/* under construction !*/
1222#endif
1223 kal_uint8 unused;
1224}pmu6223_config_param_struct;
1225
1226#if 0
1227/* under construction !*/
1228/* under construction !*/
1229/* under construction !*/
1230/* under construction !*/
1231/* under construction !*/
1232/* under construction !*/
1233/* under construction !*/
1234/* under construction !*/
1235/* under construction !*/
1236/* under construction !*/
1237/* under construction !*/
1238/* under construction !*/
1239/* under construction !*/
1240/* under construction !*/
1241/* under construction !*/
1242/* under construction !*/
1243/* under construction !*/
1244/* under construction !*/
1245/* under construction !*/
1246/* under construction !*/
1247/* under construction !*/
1248/* under construction !*/
1249/* under construction !*/
1250/* under construction !*/
1251/* under construction !*/
1252/* under construction !*/
1253/* under construction !*/
1254/* under construction !*/
1255/* under construction !*/
1256/* under construction !*/
1257/* under construction !*/
1258/* under construction !*/
1259/* under construction !*/
1260/* under construction !*/
1261/* under construction !*/
1262/* under construction !*/
1263/* under construction !*/
1264/* under construction !*/
1265/* under construction !*/
1266/* under construction !*/
1267/* under construction !*/
1268/* under construction !*/
1269/* under construction !*/
1270/* under construction !*/
1271/* under construction !*/
1272/* under construction !*/
1273/* under construction !*/
1274/* under construction !*/
1275/* under construction !*/
1276/* under construction !*/
1277/* under construction !*/
1278/* under construction !*/
1279/* under construction !*/
1280/* under construction !*/
1281/* under construction !*/
1282/* under construction !*/
1283/* under construction !*/
1284/* under construction !*/
1285/* under construction !*/
1286/* under construction !*/
1287/* under construction !*/
1288/* under construction !*/
1289/* under construction !*/
1290/* under construction !*/
1291/* under construction !*/
1292/* under construction !*/
1293/* under construction !*/
1294/* under construction !*/
1295/* under construction !*/
1296/* under construction !*/
1297/* under construction !*/
1298/* under construction !*/
1299/* under construction !*/
1300/* under construction !*/
1301/* under construction !*/
1302/* under construction !*/
1303/* under construction !*/
1304/* under construction !*/
1305/* under construction !*/
1306/* under construction !*/
1307/* under construction !*/
1308/* under construction !*/
1309/* under construction !*/
1310/* under construction !*/
1311/* under construction !*/
1312/* under construction !*/
1313/* under construction !*/
1314/* under construction !*/
1315/* under construction !*/
1316/* under construction !*/
1317/* under construction !*/
1318/* under construction !*/
1319/* under construction !*/
1320/* under construction !*/
1321/* under construction !*/
1322/* under construction !*/
1323/* under construction !*/
1324/* under construction !*/
1325/* under construction !*/
1326/* under construction !*/
1327/* under construction !*/
1328/* under construction !*/
1329/* under construction !*/
1330/* under construction !*/
1331/* under construction !*/
1332/* under construction !*/
1333/* under construction !*/
1334/* under construction !*/
1335/* under construction !*/
1336/* under construction !*/
1337/* under construction !*/
1338/* under construction !*/
1339/* under construction !*/
1340/* under construction !*/
1341/* under construction !*/
1342/* under construction !*/
1343/* under construction !*/
1344/* under construction !*/
1345/* under construction !*/
1346/* under construction !*/
1347/* under construction !*/
1348/* under construction !*/
1349/* under construction !*/
1350/* under construction !*/
1351/* under construction !*/
1352/* under construction !*/
1353/* under construction !*/
1354/* under construction !*/
1355/* under construction !*/
1356/* under construction !*/
1357/* under construction !*/
1358/* under construction !*/
1359/* under construction !*/
1360/* under construction !*/
1361/* under construction !*/
1362/* under construction !*/
1363/* under construction !*/
1364/* under construction !*/
1365/* under construction !*/
1366/* under construction !*/
1367/* under construction !*/
1368/* under construction !*/
1369/* under construction !*/
1370/* under construction !*/
1371/* under construction !*/
1372/* under construction !*/
1373/* under construction !*/
1374/* under construction !*/
1375/* under construction !*/
1376/* under construction !*/
1377/* under construction !*/
1378/* under construction !*/
1379/* under construction !*/
1380/* under construction !*/
1381/* under construction !*/
1382/* under construction !*/
1383/* under construction !*/
1384/* under construction !*/
1385/* under construction !*/
1386/* under construction !*/
1387/* under construction !*/
1388/* under construction !*/
1389/* under construction !*/
1390/* under construction !*/
1391/* under construction !*/
1392/* under construction !*/
1393/* under construction !*/
1394#endif
1395
1396typedef struct
1397{
1398#if 0
1399/* under construction !*/
1400/* under construction !*/
1401/* under construction !*/
1402/* under construction !*/
1403/* under construction !*/
1404/* under construction !*/
1405/* under construction !*/
1406/* under construction !*/
1407/* under construction !*/
1408/* under construction !*/
1409/* under construction !*/
1410/* under construction !*/
1411/* under construction !*/
1412/* under construction !*/
1413/* under construction !*/
1414/* under construction !*/
1415/* under construction !*/
1416/* under construction !*/
1417/* under construction !*/
1418/* under construction !*/
1419/* under construction !*/
1420/* under construction !*/
1421/* under construction !*/
1422/* under construction !*/
1423/* under construction !*/
1424/* under construction !*/
1425/* under construction !*/
1426/* under construction !*/
1427/* under construction !*/
1428/* under construction !*/
1429/* under construction !*/
1430#endif
1431 kal_uint8 unused;
1432}pmu6238_config_param_struct;
1433
1434#if 0
1435/* under construction !*/
1436/* under construction !*/
1437/* under construction !*/
1438/* under construction !*/
1439/* under construction !*/
1440/* under construction !*/
1441/* under construction !*/
1442/* under construction !*/
1443/* under construction !*/
1444/* under construction !*/
1445/* under construction !*/
1446/* under construction !*/
1447/* under construction !*/
1448#endif
1449typedef struct
1450{
1451 //pmu6326_read_reg_struct read_reg;
1452 //pmu6326_write_reg_struct write_reg;
1453 kal_uint8 unused;
1454}pmu6326_config_param_struct;
1455#if 0
1456/* under construction !*/
1457/* under construction !*/
1458/* under construction !*/
1459/* under construction !*/
1460/* under construction !*/
1461/* under construction !*/
1462/* under construction !*/
1463/* under construction !*/
1464/* under construction !*/
1465/* under construction !*/
1466/* under construction !*/
1467/* under construction !*/
1468/* under construction !*/
1469/* under construction !*/
1470/* under construction !*/
1471/* under construction !*/
1472/* under construction !*/
1473/* under construction !*/
1474/* under construction !*/
1475/* under construction !*/
1476/* under construction !*/
1477/* under construction !*/
1478/* under construction !*/
1479/* under construction !*/
1480/* under construction !*/
1481/* under construction !*/
1482/* under construction !*/
1483/* under construction !*/
1484/* under construction !*/
1485/* under construction !*/
1486/* under construction !*/
1487/* under construction !*/
1488/* under construction !*/
1489/* under construction !*/
1490/* under construction !*/
1491/* under construction !*/
1492/* under construction !*/
1493/* under construction !*/
1494/* under construction !*/
1495/* under construction !*/
1496/* under construction !*/
1497/* under construction !*/
1498/* under construction !*/
1499/* under construction !*/
1500/* under construction !*/
1501/* under construction !*/
1502/* under construction !*/
1503/* under construction !*/
1504/* under construction !*/
1505/* under construction !*/
1506/* under construction !*/
1507/* under construction !*/
1508/* under construction !*/
1509/* under construction !*/
1510/* under construction !*/
1511/* under construction !*/
1512/* under construction !*/
1513/* under construction !*/
1514/* under construction !*/
1515/* under construction !*/
1516/* under construction !*/
1517/* under construction !*/
1518/* under construction !*/
1519/* under construction !*/
1520/* under construction !*/
1521/* under construction !*/
1522/* under construction !*/
1523/* under construction !*/
1524/* under construction !*/
1525/* under construction !*/
1526/* under construction !*/
1527/* under construction !*/
1528/* under construction !*/
1529/* under construction !*/
1530/* under construction !*/
1531/* under construction !*/
1532/* under construction !*/
1533/* under construction !*/
1534/* under construction !*/
1535/* under construction !*/
1536/* under construction !*/
1537/* under construction !*/
1538/* under construction !*/
1539/* under construction !*/
1540/* under construction !*/
1541/* under construction !*/
1542/* under construction !*/
1543/* under construction !*/
1544/* under construction !*/
1545/* under construction !*/
1546/* under construction !*/
1547/* under construction !*/
1548/* under construction !*/
1549/* under construction !*/
1550/* under construction !*/
1551/* under construction !*/
1552/* under construction !*/
1553/* under construction !*/
1554/* under construction !*/
1555/* under construction !*/
1556/* under construction !*/
1557/* under construction !*/
1558/* under construction !*/
1559/* under construction !*/
1560/* under construction !*/
1561/* under construction !*/
1562/* under construction !*/
1563/* under construction !*/
1564/* under construction !*/
1565/* under construction !*/
1566/* under construction !*/
1567/* under construction !*/
1568/* under construction !*/
1569/* under construction !*/
1570/* under construction !*/
1571/* under construction !*/
1572/* under construction !*/
1573/* under construction !*/
1574/* under construction !*/
1575/* under construction !*/
1576/* under construction !*/
1577/* under construction !*/
1578/* under construction !*/
1579/* under construction !*/
1580/* under construction !*/
1581/* under construction !*/
1582/* under construction !*/
1583/* under construction !*/
1584/* under construction !*/
1585/* under construction !*/
1586/* under construction !*/
1587/* under construction !*/
1588/* under construction !*/
1589/* under construction !*/
1590/* under construction !*/
1591/* under construction !*/
1592/* under construction !*/
1593/* under construction !*/
1594/* under construction !*/
1595/* under construction !*/
1596/* under construction !*/
1597/* under construction !*/
1598/* under construction !*/
1599/* under construction !*/
1600/* under construction !*/
1601/* under construction !*/
1602/* under construction !*/
1603/* under construction !*/
1604/* under construction !*/
1605/* under construction !*/
1606/* under construction !*/
1607/* under construction !*/
1608/* under construction !*/
1609/* under construction !*/
1610/* under construction !*/
1611/* under construction !*/
1612/* under construction !*/
1613/* under construction !*/
1614/* under construction !*/
1615/* under construction !*/
1616/* under construction !*/
1617/* under construction !*/
1618/* under construction !*/
1619/* under construction !*/
1620/* under construction !*/
1621/* under construction !*/
1622/* under construction !*/
1623/* under construction !*/
1624/* under construction !*/
1625/* under construction !*/
1626/* under construction !*/
1627/* under construction !*/
1628/* under construction !*/
1629#endif
1630
1631typedef struct
1632{
1633#if 0
1634/* under construction !*/
1635/* under construction !*/
1636/* under construction !*/
1637/* under construction !*/
1638/* under construction !*/
1639/* under construction !*/
1640/* under construction !*/
1641/* under construction !*/
1642/* under construction !*/
1643/* under construction !*/
1644/* under construction !*/
1645/* under construction !*/
1646/* under construction !*/
1647/* under construction !*/
1648/* under construction !*/
1649/* under construction !*/
1650/* under construction !*/
1651/* under construction !*/
1652/* under construction !*/
1653/* under construction !*/
1654/* under construction !*/
1655/* under construction !*/
1656/* under construction !*/
1657/* under construction !*/
1658/* under construction !*/
1659/* under construction !*/
1660/* under construction !*/
1661/* under construction !*/
1662/* under construction !*/
1663/* under construction !*/
1664/* under construction !*/
1665/* under construction !*/
1666#endif
1667 kal_uint8 unused;
1668}pmic_config_param_struct;
1669
1670typedef struct
1671{
1672 LOCAL_PARA_HDR
1673
1674 kal_uint8 src_id;
1675 kal_uint16 arfcn; /* input */
1676 kal_int16 afc; /* input */
1677 kal_uint8 band; /* input */
1678 kal_int8 tsc; /* input */
1679 kal_int8 pcl[4]; /* input */
1680 kal_uint8 pattern; /* input */
1681 kal_int8 timeSlotmask; /* input */
1682 kal_uint8 cs[4]; /* input */
1683 kal_bool isEgprs; /* input */
1684}rf_test_gsm_tx_test_struct, l4cl1_em_rf_test_gsm_tx_test_req_struct;
1685
1686
1687typedef struct
1688{
1689 LOCAL_PARA_HDR
1690
1691 kal_uint8 src_id;
1692 kal_int16 arfcn; /* input */
1693 kal_int16 gain; /* input */
1694 kal_uint8 band; /* input */
1695 kal_uint8 pattern; /* input */
1696}rf_test_gsm_rx_test_struct, l4cl1_em_rf_test_gsm_rx_test_req_struct;
1697
1698#if defined(__2G_RX_DIVERSITY_PATH_SUPPORT__)
1699typedef struct
1700{
1701 LOCAL_PARA_HDR
1702
1703 kal_uint8 src_id;
1704 kal_int16 arfcn; /* input */
1705 kal_int16 gain_prx; /* input */
1706 kal_int16 gain_drx; /* input */
1707 kal_uint8 band; /* input */
1708 kal_uint8 pattern; /* input */
1709} rf_test_gsm_rx_test_two_path_struct, l4cl1_em_rf_test_gsm_rx_test_two_path_req_struct;
1710#endif
1711
1712typedef struct
1713{
1714 LOCAL_PARA_HDR
1715 kal_uint8 src_id;
1716 kal_int32 rssi_edBm;
1717 kal_int16 error_cause;
1718}l4cl1_em_rf_test_gsm_rx_test_ind_struct;
1719
1720typedef struct
1721{
1722 LOCAL_PARA_HDR
1723 kal_uint8 src_id;
1724 kal_int16 error_cause;
1725}l4cl1_em_rf_test_gsm_tx_test_ind_struct;
1726
1727typedef struct
1728{
1729 LOCAL_PARA_HDR
1730 kal_uint8 src_id; /* input */ /* output */
1731 kal_uint8 band; /* input */
1732 kal_int16 arfcn_in; /* input */
1733 kal_int16 arfcn_out[20]; /* output */
1734 kal_int16 power[20]; /* output */
1735 kal_int16 error_cause; /* output */
1736}rf_test_gsm_power_scan_struct,
1737l4cl1_em_rf_test_gsm_power_scan_req_struct,
1738l4cl1_em_rf_test_gsm_power_scan_cnf_struct;
1739
1740#if defined(__2G_RX_DIVERSITY_PATH_SUPPORT__)
1741typedef struct
1742{
1743 LOCAL_PARA_HDR
1744 kal_uint8 src_id;
1745 kal_int32 rssi_edBm_prx;
1746 kal_int32 rssi_edBm_drx;
1747 kal_int16 error_cause;
1748}l4cl1_em_rf_test_gsm_rx_test_two_path_ind_struct;
1749#endif
1750
1751typedef struct
1752{
1753 rf_test_gsm_tx_test_struct gsm_tx_test;
1754 rf_test_gsm_rx_test_struct gsm_rx_test;
1755 rf_test_gsm_power_scan_struct gsm_power_scan;
1756#if defined(__2G_RX_DIVERSITY_PATH_SUPPORT__)
1757 rf_test_gsm_rx_test_two_path_struct gsm_rx_test_2_path;
1758#endif
1759}rf_test_gsm_param_struct;
1760
1761
1762typedef struct
1763{
1764 kal_bool tas_en;
1765 kal_bool rxd_en;
1766 kal_bool tx_on_flag;
1767 kal_uint8 error_cause;
1768 kal_uint8 rat;
1769 kal_uint8 repeat_times;
1770 kal_uint8 dl_bw;
1771 kal_uint8 ul_bw;
1772 kal_uint8 vrb_start;
1773 kal_uint8 vrb_len;
1774 kal_uint8 ant_state;
1775 kal_int16 tx_power;
1776 kal_int16 rxm_gain;
1777 kal_int16 rxd_gain;
1778 kal_uint16 band;
1779 EARFCN arfcn;
1780}em_rf_scan_req_struct;
1781
1782typedef struct
1783{
1784 kal_uint8 mono_enable; /* input */
1785}fm_radio_mono_struct;
1786
1787typedef struct
1788{
1789 kal_uint8 stereo_enable; /* input */
1790 kal_uint8 sblend_onoff; /* input */
1791}fm_radio_stereo_struct;
1792
1793typedef struct
1794{
1795 kal_uint8 level; /* input */
1796}fm_radio_rssi_struct;
1797
1798typedef struct
1799{
1800 kal_uint8 item_value; /* input */
1801}fm_radio_if_count_delta_struct;
1802
1803typedef struct
1804{
1805 fm_radio_mono_struct fm_radio_mono;
1806 fm_radio_stereo_struct fm_radio_stereo;
1807 fm_radio_rssi_struct fm_radio_rssi;
1808 fm_radio_if_count_delta_struct fm_radio_if;
1809}fm_radio_config_param_struct;
1810
1811#if defined(__WIFI_SUPPORT__)
1812typedef struct
1813{
1814 kal_uint8 ich; /* output */
1815 kal_uint8 qch; /* output */
1816}rf_test_wifi_tx_get_dac_offset_struct;
1817
1818typedef struct
1819{
1820 kal_uint8 contry_code[2]; /* input */
1821 kal_uint32 ch_freq; /* input */
1822 kal_uint8 tx_rate; /* input */
1823 kal_uint8 tx_ant; /* input */
1824 kal_uint8 gain; /* input */
1825 wndrv_test_bandwidth_enum txBw;
1826 wndrv_test_guard_intval_enum txGI;
1827 wndrv_test_mode_sel_enum txMode;
1828}rf_test_wifi_tx_common_struct;
1829
1830typedef struct
1831{
1832 kal_uint8 contry_code[2]; /* input */
1833 kal_uint32 ch_freq; /* input */
1834 kal_uint8 tx_rate; /* input */
1835 kal_uint8 tx_ant; /* input */
1836 kal_uint8 gain; /* input */
1837 kal_uint32 pkt_count; /* input */
1838 kal_uint32 pkt_interval; /* input */
1839 kal_uint32 pkt_length; /* input */
1840 kal_uint8 tx_pattern; /* input */
1841 kal_bool short_peramble; /* input */
1842 kal_uint8 mac_header[24]; /* input */
1843 wndrv_test_bandwidth_enum txBw; /* input */
1844 wndrv_test_guard_intval_enum txGI; /* input */
1845 wndrv_test_mode_sel_enum txMode; /* input */
1846}rf_test_wifi_tx_cont_pkt_struct;
1847
1848typedef struct
1849{
1850 kal_uint32 ch_freq; /* input */
1851 kal_uint32 pau_total; /* output -- pau_rx_ptk_count */
1852 kal_uint32 pau_err; /* output -- pau_crc_err_count */
1853 kal_uint32 pau_ccca; /* output -- pau_cca_count */
1854 kal_uint32 pau_fifo_full; /* output -- pau_rx_fifo_full_count */
1855 kal_uint32 int_ok; /* int_rx_ok_num */
1856 kal_uint32 int_err; /* int_crc_err_num */
1857 kal_uint32 rssi_mean; /* int_rssi_mean */
1858 kal_uint32 rssi_max; /* int_rssi_max */
1859 kal_uint32 rssi_min; /* int_rssi_min */
1860 kal_uint32 rssi_variance; /* int_rssi_variance */
1861 kal_uint32 int_long_preamble; /* int_long_preamble_num */
1862 kal_uint32 int_short_preamble; /* int_short_preamble_num */
1863 wndrv_test_bandwidth_enum rxBw; /* input */
1864}rf_test_wifi_rx_cont_pkt_struct;
1865
1866typedef struct
1867{
1868 kal_uint8 pwr_mgt; /* input */
1869}rf_test_wifi_power_save_struct;
1870
1871typedef struct
1872{
1873 kal_uint32 mcr_index;
1874 kal_uint32 mcr32;
1875}rf_test_wifi_reg_mcr32_write_struct;
1876
1877typedef struct
1878{
1879 kal_uint32 mcr_index; /* input */
1880 kal_uint32 mcr32; /* output */
1881}rf_test_wifi_reg_mcr32_read_struct;
1882
1883typedef struct
1884{
1885 kal_uint32 mcr_index; /* input */
1886 kal_uint16 mcr16; /* input */
1887}rf_test_wifi_reg_mcr16_write_struct;
1888
1889typedef struct
1890{
1891 kal_uint32 mcr_index; /* intput */
1892 kal_uint16 mcr16; /* output */
1893}rf_test_wifi_reg_mcr16_read_struct;
1894
1895typedef struct
1896{
1897 kal_uint32 bbcr_index; /* intput */
1898 kal_uint8 bbcr; /* intput */
1899}rf_test_wifi_reg_bbcr_write_struct;
1900
1901typedef struct
1902{
1903 kal_uint32 bbcr_index; /* intput */
1904 kal_uint8 bbcr; /* output */
1905}rf_test_wifi_reg_bbcr_read_struct;
1906
1907typedef struct
1908{
1909 kal_uint32 eeprom_index; /* intput */
1910 kal_uint16 eeprom; /* intput */
1911}rf_test_wifi_reg_eeprom_write_struct;
1912
1913typedef struct
1914{
1915 kal_uint32 eeprom_index; /* intput */
1916 kal_uint16 eeprom; /* output */
1917}rf_test_wifi_reg_eeprom_read_struct;
1918
1919typedef struct
1920{
1921 kal_uint32 efuse_index; /* intput */
1922 kal_uint32 efuse; /* intput */
1923}rf_test_wifi_reg_efuse_write_struct;
1924
1925typedef struct
1926{
1927 kal_uint32 efuse_index; /* intput */
1928 kal_uint32 efuse; /* intput */
1929}rf_test_wifi_reg_efuse_read_struct;
1930
1931typedef struct
1932{
1933 rf_test_wifi_tx_get_dac_offset_struct wifi_get_dac;
1934 rf_test_wifi_tx_common_struct wifi_tx_common;
1935 rf_test_wifi_tx_cont_pkt_struct wifi_tx_cont_pkt;
1936 rf_test_wifi_rx_cont_pkt_struct wifi_rx_cont_pkt;
1937 rf_test_wifi_power_save_struct wifi_power_save;
1938 rf_test_wifi_reg_mcr32_write_struct wifi_mcr32_write;
1939 rf_test_wifi_reg_mcr32_read_struct wifi_mcr32_read;
1940 rf_test_wifi_reg_mcr16_write_struct wifi_mcr16_write;
1941 rf_test_wifi_reg_mcr16_read_struct wifi_mcr16_read;
1942 rf_test_wifi_reg_bbcr_write_struct wifi_bbcr_write;
1943 rf_test_wifi_reg_bbcr_read_struct wifi_bbcr_read;
1944 rf_test_wifi_reg_eeprom_write_struct wifi_eeprom_write;
1945 rf_test_wifi_reg_eeprom_read_struct wifi_eeprom_read;
1946 rf_test_wifi_reg_efuse_write_struct wifi_efuse_write;
1947 rf_test_wifi_reg_efuse_read_struct wifi_efuse_read;
1948}rf_test_wifi_param_struct;
1949#endif
1950
1951//typedef struct _l4cul1_rssi_measurement_ind_struct
1952//{
1953// LOCAL_PARA_HDR
1954// kal_int16 rssi; /* RSSI. Range: -400 ~ -100 means (-100 ~ -25)dBm 0.25 dB step */
1955// kal_uint16 uarfcn; /* UARFCN */
1956//
1957//} l4cul1_rssi_measurement_ind_struct;
1958
1959
1960//eq end
1961
1962typedef struct
1963{
1964 kal_uint8 addr_length;
1965 kal_uint8 addr_bcd[11];
1966}l4c_sms_addr_struct;
1967
1968typedef struct
1969{
1970 l4c_sms_addr_struct sca;
1971 kal_uint8 tpdu[176];
1972 kal_uint8 pdu_len;
1973 kal_uint8 tpdu_len;
1974}l4c_usm_cmgw_struct;
1975
1976typedef struct
1977{
1978 kal_uint8 mode;
1979 kal_uint8 mt;
1980 kal_uint8 bm;
1981 kal_uint8 ds;
1982 kal_uint8 bfr;
1983}l4c_usm_cnmi_struct;
1984
1985typedef struct
1986{
1987 kal_uint16 reply_index;
1988 kal_uint16 data_len;
1989 kal_uint8 length;
1990 kal_uint8 pdu[176];
1991}l4c_usm_cmss_struct;
1992
1993typedef struct {
1994 l4_name_struct name;
1995 l4c_number_struct number_info;
1996} l4c_sms_mailbox_info_struct;
1997
1998typedef struct {
1999 kal_uint8 line_no; /* Number of Line*/
2000 kal_uint8 msp_no;
2001 kal_uint8 waiting_num;
2002 kal_uint8 ind_type;
2003 kal_bool is_show_num;
2004 kal_bool is_clear;
2005 kal_bool is_from_storage;
2006} l4csmsal_msg_waiting_ind_ext_struct;
2007
2008typedef struct {
2009 kal_uint16 mid[60]; // = [SMSAL_MMI_CBMI_MAX_ENTRY]
2010 kal_uint16 dcs[30]; // = [SMSAL_CB_MAX_ENTRY]
2011 kal_uint16 mir[60]; // = [SMSAL_CB_MAX_ENTRY*2]
2012 kal_uint8 mid_mask[60]; // = [SMSAL_MMI_CBMI_MAX_ENTRY]
2013 kal_uint8 mir_mask[30]; // = [SMSAL_CB_MAX_ENTRY]
2014 kal_uint8 dcs_mask[30]; // = [SMSAL_CB_MAX_ENTRY]
2015 kal_uint8 para_ind; /* used in set_cb_mode_req only */
2016
2017 kal_bool is_all_language_on;
2018
2019 /* used in get_cb_mode_cnf */
2020 kal_bool is_cb_ready;
2021 kal_bool is_sim_change;
2022
2023 l4c_cb_set_type_enum set_type;
2024} l4c_cb_info_struct;
2025
2026typedef struct {
2027 kal_uint16 ref; /* concat. message reference*/
2028 kal_uint8 total_seg; /* total segments*/
2029 kal_uint8 seg; /* indicate which segment*/
2030} smsal_concat_struct;
2031
2032typedef struct {
2033 kal_uint8 mem1; /* Storage type for Memory1*/
2034 kal_uint8 mem2; /* Storage type for Memory2*/
2035 kal_uint8 mem3; /* Storage type for Memory3*/
2036 kal_uint16 used1;
2037 kal_uint16 used2;
2038 kal_uint16 used3;
2039 kal_uint16 total1;
2040 kal_uint16 total2;
2041 kal_uint16 total3;
2042} smsal_prefer_storage_struct;
2043
2044/* Message Waiting Indication Status */
2045typedef struct
2046{
2047#ifdef __REL6__
2048 kal_uint8 mbi_id[5]; //5 = NUM_OF_MSG_WAITING_TYPE
2049#else
2050 kal_uint8 mbi_id[4]; //4 = NUM_OF_MSG_WAITING_TYPE
2051#endif
2052} smsal_mbi_struct;
2053
2054typedef struct {
2055 kal_uint8 mti; /* smsal_mti_enum */
2056 kal_uint8 status; /* Status of message*/
2057 kal_uint8 storage_type;
2058 kal_uint16 index; /* Index of message*/
2059} smsal_inbox_struct;
2060
2061typedef struct {
2062 kal_uint16 msg_count; /* Message Count*/
2063 smsal_inbox_struct inbox_list[40];
2064} smsal_inbox_list_struct;
2065
2066typedef struct {
2067 kal_uint8 mti; /* smsal_mti_enum */
2068 kal_uint8 status; /* Status of message*/
2069 kal_uint8 storage_type;
2070 kal_uint16 index; /* Index of message*/
2071} smsal_outbox_struct;
2072
2073typedef struct {
2074 kal_uint16 msg_count; /* Message Count*/
2075 smsal_outbox_struct outbox_list[40];
2076} smsal_outbox_list_struct;
2077
2078// Enhanced Voice Mail Information
2079typedef struct
2080{
2081 kal_uint16 id;
2082
2083 kal_uint8 msg_len_insec;
2084 kal_uint8 msg_retention_day; // max 31
2085
2086 kal_uint8 priority;
2087
2088 kal_uint8 msg_ext_flg;
2089
2090 l4_addr_bcd_struct calling_line_addr;
2091
2092 kal_uint8 msg_ext_len;
2093 kal_uint8 *msg_ext_data;
2094}smsal_evmi_msg_struct;
2095
2096typedef struct {
2097 kal_uint8 addr_length;
2098 kal_uint8 addr_bcd[11];
2099} sms_addr_struct;
2100
2101typedef struct
2102{
2103 LOCAL_PARA_HDR
2104 kal_bool is_cbs_required;
2105} smsal_4g5g_cbch_req_struct;
2106
2107typedef struct
2108{
2109 LOCAL_PARA_HDR
2110 kal_uint16 cbmi[CB_MAX_MSG_CBMI_NUM];
2111 kal_uint16 cbmid[CB_MAX_MSG_CBMID_NUM];
2112 kal_uint16 cbmir[CB_MAX_MSG_CBMIR_NUM];
2113 kal_uint8 dcs[CB_MAX_LANG_NUM]; /* DCS is one byte in TS23.041 9.3.18 & TS23.038, however, here 2 bytes represents ISO639 + DCS */
2114 kal_bool is_all_language_on;
2115} smsal_4g5g_cb_update_req_struct;
2116
2117typedef struct
2118{
2119 LOCAL_PARA_HDR
2120 kal_uint16 message_id;
2121 kal_uint16 serial_number;
2122 kal_uint8 data_coding_scheme;
2123} smsal_4g5g_cb_data_ind_struct;
2124
2125typedef struct
2126{
2127 LOCAL_PARA_HDR
2128 kal_uint16 message_id;
2129 kal_uint16 serial_number;
2130} smsal_4g5g_cb_msg_removal_req_struct;
2131
2132typedef struct
2133{
2134 LOCAL_PARA_HDR
2135 kal_bool is_etws_needed;
2136 kal_bool is_etws_testing_on;
2137} l4c_4g5g_etws_setting_req_struct;
2138
2139typedef struct
2140{
2141 LOCAL_PARA_HDR
2142 kal_uint16 warning_type;
2143 kal_uint16 message_id;
2144 kal_uint16 serial_number;
2145} l4c_4g5g_etws_information_ind_struct;
2146
2147
2148typedef struct {
2149 kal_uint8 storage;
2150 kal_uint8 type;
2151 kal_uint8 num_index;
2152 kal_uint8 aas_id;
2153 kal_uint16 index;
2154 kal_uint16 record_index;
2155 l4c_number_struct tel;
2156 l4_name_struct alpha_id;
2157} l4c_phb_entry_struct;
2158
2159typedef struct {
2160 kal_uint16 record_size; /* size of record in storage */
2161 kal_uint16 record_num; /* rec number */
2162 kal_uint8 alpha_length; /* alpha length */
2163 kal_uint8 occurrence;
2164 kal_bool is_support; /* to indicate the EF is supported or not */
2165} l4c_phb_desc_struct;
2166
2167typedef l4_name_struct phb_sne_struct;
2168typedef l4_name_struct phb_aas_struct;
2169typedef l4_name_struct phb_gas_struct;
2170
2171typedef struct {
2172 kal_uint8 email_length;
2173 kal_uint16 record_index; /* Record index in physical storage*/
2174 kal_uint16 adn_record_index; /* adn record index */
2175 kal_uint8 email_address[PHB_MAX_EMAIL_LENGTH]; /* email address */
2176 kal_uint8 email_dcs;
2177} phb_email_struct;
2178
2179typedef struct
2180{
2181 kal_uint8 gas_id[PHB_MAX_ASSOCIATE_GRP];
2182} phb_grp_struct;
2183
2184typedef struct
2185{
2186 kal_uint8 ctrl_info;
2187 kal_uint8 hidden_info;
2188} phb_pbc_struct;
2189
2190typedef union {
2191 phb_sne_struct sne;
2192 phb_aas_struct aas;
2193 phb_gas_struct gas;
2194 phb_grp_struct grp;
2195 phb_email_struct email;
2196 phb_pbc_struct pbc;
2197} l4c_phb_usim_field;
2198
2199typedef struct {
2200 l4c_phb_usim_field field;
2201} l4c_phb_usim_entry;
2202
2203typedef struct {
2204 kal_uint8 storage;
2205 kal_uint8 type;
2206 kal_uint16 index;
2207 kal_uint16 record_index;
2208 l4_addr_bcd_struct tel;
2209 l4_name_struct alpha_id;
2210} l4c_phb_bcd_entry_struct;
2211
2212
2213typedef struct
2214{
2215 kal_uint16 num_of_entry;
2216 l4c_phb_bcd_entry_struct phb_entry[1000/NVRAM_PHB_SIZE];
2217} l4c_phb_entries_struct;
2218
2219/* for AT/MMI */
2220typedef struct {
2221 kal_uint8 plmn_id[7];
2222 kal_uint8 status; /*l4c_cops_status_enum*/
2223} l4c_plmn_info_struct;
2224
2225typedef struct {
2226 kal_uint8 plmn_id[7];
2227 kal_uint8 status; /*l4c_cops_status_enum*/
2228 kal_uint8 rat;
2229 kal_uint8 lac[3];
2230 endc_sib_status_enum endc_sib_status;
2231} l4c_rat_plmn_info_struct;
2232
2233typedef struct l4c_nw_time_zone_time_struct
2234{
2235 kal_uint8 year;
2236 kal_uint8 month;
2237 kal_uint8 day;
2238 kal_uint8 hour;
2239 kal_uint8 min;
2240 kal_uint8 sec;
2241 kal_uint8 time_zone;
2242} l4c_nw_time_zone_time_struct;
2243
2244//mtk01616_080301: NOTE! this structure should sync with rac_ecc_number_struct
2245typedef struct l4c_rac_ecc_number_struct
2246{
2247 kal_uint8 category;
2248 l4_addr_bcd_struct tel_number;
2249} l4c_rac_ecc_number_struct;
2250
2251//mtk02374
2252typedef struct {
2253 kal_uint8 chv1_count;
2254 kal_uint8 chv2_count;
2255 kal_uint8 ubchv1_count;
2256 kal_uint8 ubchv2_count;
2257 kal_uint8 is_chv1_enabled;
2258 kal_uint8 is_chv1_verified;
2259 kal_uint8 is_chv2_enabled;
2260 kal_uint8 is_chv2_verified;
2261 kal_uint8 chv_key_ref[2];
2262} sim_chv_info_struct;
2263
2264typedef struct {
2265 kal_uint8 chv1_status;
2266 kal_uint8 chv2_status;
2267 kal_uint8 ubchv1_status;
2268 kal_uint8 ubchv2_status;
2269} sim_chv_status_struct;
2270
2271typedef struct {
2272 kal_uint8 ecc[3];
2273 kal_uint8 esc; // emergency service category //
2274 kal_uint8 name_length;
2275 kal_uint8 name_dcs;
2276 kal_uint8 name[MAX_SIM_NAME_LEN];
2277} sim_ecc_entry_struct;
2278
2279typedef struct
2280{
2281 kal_bool cache_updated;
2282 kal_uint16 file_info_len;
2283 kal_uint8 file_info_buff[USIM_CACHE_MAX_FILE_SIZE];
2284 kal_uint8 sw1;
2285 kal_uint8 sw2;
2286} usim_cache_struct;
2287
2288typedef struct {
2289 kal_uint8 alpha_id_dcs;
2290 kal_uint8 alpha_id_size;
2291 kal_uint8 alpha_id[32];
2292 kal_uint8 ton_npi;
2293 kal_uint8 digit_size;
2294 kal_uint8 digit[41];
2295} l4csmu_addr_struct;
2296
2297typedef struct {
2298 kal_uint8 alpha_id_size;
2299 kal_uint8 alpha_id[21];
2300 kal_uint8 ton_npi;
2301 kal_uint8 digit_size;
2302 kal_uint8 digit[4];//[41];
2303 kal_uint8 index_level;
2304 kal_bool network_specific;
2305 kal_bool premium_rate;
2306} l4csmu_info_num_struct;
2307
2308typedef struct {
2309 kal_uint8 rand[16];
2310 kal_bool is_auth_present;
2311 kal_uint8 auth[16];
2312 sim_interface_enum sim_id;
2313} smu_supc_sim_authenticate_request_struct;
2314
2315typedef struct {
2316 kal_uint16 result;
2317 kal_uint8 kc[8];
2318 kal_uint8 sres[4];
2319 kal_uint8 ck[16];
2320 kal_uint8 ik[16];
2321 kal_uint8 res[16];
2322 kal_uint8 res_len;
2323 kal_uint8 auts[16];
2324 kal_uint8 auts_len;
2325} smu_supc_sim_authenticate_response_struct;
2326
2327typedef struct {
2328 LOCAL_PARA_HDR
2329 kal_uint8 cmd_detail[5];
2330 kal_bool is_icon_available;
2331 sat_icon_struct icon_info;
2332 kal_uint8 bearer_type;
2333} l4csmu_sat_open_channel_ind_struct;
2334
2335typedef struct {
2336 LOCAL_PARA_HDR
2337 kal_uint8 cmd_detail[5];
2338 kal_uint8 state;
2339 kal_bool is_icon_available;
2340 sat_icon_struct icon_info;
2341} l4csmu_sat_close_channel_ind_struct;
2342
2343typedef struct {
2344 LOCAL_PARA_HDR
2345 kal_uint8 cmd_detail[5];
2346 kal_uint8 state;
2347 kal_bool is_icon_available;
2348 sat_icon_struct icon_info;
2349} l4csmu_sat_send_data_ind_struct;
2350
2351typedef struct {
2352 LOCAL_PARA_HDR
2353 kal_uint8 cmd_detail[5];
2354 kal_uint8 state;
2355 kal_bool is_icon_available;
2356 sat_icon_struct icon_info;
2357} l4csmu_sat_recv_data_ind_struct;
2358
2359typedef struct {
2360 kal_uint8 hnb_name_length;
2361 kal_uint8 hnb_name[MAX_HNB_NAME_LEN];
2362 csg_type_enum csg_type;
2363 kal_uint32 csg_id;
2364 kal_int8 power_level;
2365} csg_info_struct;
2366
2367typedef struct {
2368 LOCAL_PARA_HDR
2369 kal_uint8 gsm_tx_pwr_red;
2370 kal_uint8 umts_tx_pwr_red;
2371} l4c_max_tx_pwr_red_req_struct;
2372
2373typedef struct {
2374 pdp_addr_type_enum ip_addr_type;
2375 kal_uint8 ipv4[IPV4_ADDR_LEN];
2376 kal_uint8 ipv6[IPV6_ADDR_LEN];
2377} ip_addr_struct;
2378
2379typedef struct
2380{
2381 EARFCN earfcn;
2382 kal_uint8 bandwidth;
2383} interrat_lte_cell_info_struct;
2384
2385typedef struct {
2386 kal_bool is_dnsv4_present ;
2387 kal_uint8 dnsv4[IPV4_ADDR_LEN] ;
2388} ipv4_dns_struct ;
2389
2390typedef struct {
2391 kal_bool is_dnsv6_present ;
2392 kal_uint8 dnsv6[IPV6_ADDR_LEN] ;
2393} ipv6_dns_struct ;
2394
2395#define NUM_OF_DNS_ADDR 2
2396typedef struct {
2397 ipv4_dns_struct v4[NUM_OF_DNS_ADDR];
2398 ipv6_dns_struct v6[NUM_OF_DNS_ADDR];
2399} dns_struct ;
2400
2401/* to replace l4ctst_at_response_ind_struct */
2402typedef struct {
2403 LOCAL_PARA_HDR
2404 kal_uint8 length;
2405 kal_uint8 string[128];
2406}atptst_at_response_ind_struct;
2407
2408typedef struct {
2409 kal_uint8 ref_count;
2410 kal_uint16 msg_len;
2411 ratcm_utest_loopback_mode_cmd_enum cmd;
2412} upcm_ratcm_test_mode_ind_struct;
2413
2414typedef struct {
2415 LOCAL_PARA_HDR
2416 kal_bool remote_wakeup_enable;
2417}l4c_usb_suspend_req_struct;
2418
2419#ifndef __MTK_TARGET__
2420// for MSG_ID_L4C_INJECT_SBP_CHANGE_IND
2421typedef struct {
2422 LOCAL_PARA_HDR
2423 kal_bool is_sbp_feature_change;
2424 sbp_md_feature_enum sbp_feature;
2425 kal_bool new_feature_val;
2426 kal_bool is_sbp_data_change;
2427 sbp_md_feature_data_enum sbp_data;
2428 kal_uint8 new_data_val;
2429}l4c_inject_sbp_change_ind_struct;
2430
2431typedef struct {
2432 LOCAL_PARA_HDR
2433 rat_enum rat_mode;
2434} l4c_ut_set_rac_rat_mode_context_ind_struct;
2435#endif
2436
2437typedef struct
2438{
2439 // if is_in_dynamic_sbp = TRUE, sbp_id is SIM SBP ID, else it is legacy SBP ID
2440 kal_uint32 sbp_id;
2441 kal_uint32 sbp_sub_id;
2442 kal_bool is_in_dynamic_sbp;
2443 protocol_id_enum ps_id;
2444 kal_uint8 mcc[MAX_MCC_STR_LEN];
2445 kal_uint8 mnc[MAX_MNC_STR_LEN];
2446 kal_uint8 iccid[21];
2447 kal_uint8 trans_id; // trans_id correspondign to SIM READY IND
2448 kal_bool is_boot_up;
2449} sbp_reconfig_custom_param_struct;
2450
2451typedef kal_bool (*SBP_RECONFIG_CUSTOM_FUNC)(sbp_reconfig_custom_param_struct *param_ptr);
2452
2453
2454typedef struct {
2455 module_type mod_id;
2456 sap_type sap_id;
2457 kal_uint8 reconfig_type;
2458 kal_uint8 gemini_check;
2459 SBP_RECONFIG_CUSTOM_FUNC custom_func_ptr; /* IMS customized */
2460}reconfigure_module_info_struct;
2461
2462typedef struct {
2463 module_type mod_id;
2464 kal_uint8 max_sim_num; /* Num of modules */
2465}l4bpwr_module_info_struct;
2466
2467typedef struct {
2468 module_type mod_id;
2469 sap_type sap_id;
2470 kal_uint32 reconfig_type;
2471 kal_uint8 gemini_check;
2472 SBP_RECONFIG_CUSTOM_FUNC custom_func_ptr; /* IMS customized */
2473}sbp_reconfigure_module_info_struct;
2474
2475typedef struct {
2476 LOCAL_PARA_HDR
2477 kal_uint8 reconfig_type;
2478}l4c_me_reconfigure_req_struct, l4c_me_volte_reconfigure_req_struct, l4c_me_ims_reconfigure_req_struct, l4c_me_dsbp_reconfigure_cnf_struct;
2479
2480typedef struct {
2481 LOCAL_PARA_HDR
2482 kal_uint8 reconfig_type;
2483 kal_uint8 trans_id; // trans_id corresponding to SIM READY IND
2484 kal_uint32 sim_sbp_id;
2485}l4c_me_dsbp_reconfigure_req_struct;
2486
2487typedef struct {
2488 LOCAL_PARA_HDR
2489 sbp_reconfig_custom_param_struct sbp_parameters;
2490 kal_bool is_all;
2491} l4c_sbp_dsbp_reconfigure_req_struct;
2492
2493typedef struct {
2494 LOCAL_PARA_HDR
2495 kal_bool is_all;
2496} l4c_sbp_dsbp_reconfigure_cnf_struct;
2497
2498typedef struct {
2499 LOCAL_PARA_HDR
2500 kal_uint8 trans_id; // trans_id correspondign to SIM READY IND
2501}l4bsbp_me_reconfigure_not_occur_req_struct;
2502
2503
2504typedef struct {
2505 LOCAL_PARA_HDR
2506 l4_rf_state_enum rf_state;
2507 rfoff_cause_enum rfoff_cause;
2508 l4_sim_state_enum sim_state;
2509 kal_bool is_power_off; /* used by IMC to teardown IMS anyway */
2510}l4bpwr_phone_state_req_struct;
2511
2512typedef struct {
2513 LOCAL_PARA_HDR
2514 kal_bool result;
2515 kal_uint16 cause;
2516}l4bpwr_phone_state_cnf_struct;
2517
2518typedef struct {
2519 LOCAL_PARA_HDR
2520 ostd_ap_core_status_enum ap_core_status;
2521}ostd_ap_core_status_req_struct, l4bpwr_ap_core_status_req_struct;
2522
2523typedef struct
2524{
2525 kal_uint8 result;
2526 kal_uint8 plmn_id[7];
2527 kal_uint8 lac[2];
2528 kal_uint16 cell_id;
2529 kal_uint16 arfcn;
2530 kal_uint8 bsic;
2531 kal_uint8 si3_raw_data[23];
2532}l4c_pseudo_bs_info_struct;
2533
2534
2535#if (defined L1_SIM)
2536 typedef union{
2537 kal_uint32 u_integer_num;
2538 kal_int32 integer_num;
2539 kal_uint8 string_s[MAX_ATCMD_EGMC_SHORT_STR_LEN];
2540 }l4c_at_cmd_param_union;
2541#else
2542 typedef union{
2543 kal_uint32 u_integer_num;
2544 kal_int32 integer_num;
2545 kal_uint8 string_s[MAX_ATCMD_EGMC_SHORT_STR_LEN+1];
2546 }l4c_at_cmd_param_union;
2547#endif
2548
2549typedef struct{
2550 kal_uint8 param_num;
2551
2552 l4c_at_cmd_param_type type[MAX_ATCMD_EGMC_PARAM_NUM];
2553 l4c_at_cmd_param_union param[MAX_ATCMD_EGMC_PARAM_NUM];
2554}l4c_general_modem_configure_struct;
2555
2556
2557typedef struct {
2558 LOCAL_PARA_HDR
2559
2560 kal_uint8 src_id;
2561 kal_uint8 configure_string[MAX_ATCMD_EGMC_CONFIG_STR_LEN+1];
2562 l4c_general_modem_configure_struct data;
2563}l4c_general_modem_configure_set_req_struct;
2564
2565typedef struct {
2566 LOCAL_PARA_HDR
2567
2568 kal_uint8 src_id;
2569 kal_bool result;
2570 kal_uint8 configure_string[MAX_ATCMD_EGMC_CONFIG_STR_LEN+1];
2571 l4c_general_modem_configure_struct data;
2572}l4c_general_modem_configure_set_cnf_struct;
2573
2574typedef struct {
2575 LOCAL_PARA_HDR
2576
2577 kal_uint8 src_id;
2578 kal_uint8 configure_string[MAX_ATCMD_EGMC_CONFIG_STR_LEN+1];
2579}l4c_general_modem_configure_query_req_struct;
2580
2581typedef struct {
2582 LOCAL_PARA_HDR
2583
2584 kal_uint8 src_id;
2585 kal_uint8 configure_string[MAX_ATCMD_EGMC_CONFIG_STR_LEN+1];
2586 l4c_general_modem_configure_struct data;
2587}l4c_general_modem_configure_query_cnf_struct;
2588
2589typedef struct{
2590 kal_char *plmnId;
2591 emm_op_enum op;
2592} plmn_id_op_struct;
2593
2594typedef struct{
2595 kal_char *plmnId;
2596 vgmm_op_enum op;
2597} vgmm_plmn_id_op_struct;
2598
2599#ifdef __TX_PWR_EXTENSION__
2600typedef struct {
2601 LOCAL_PARA_HDR
2602 /*
2603 *nv_write 0: clear band_no power offset in NVRAM
2604 *nv_write 1: write band_no power offset to NVRAM
2605 *nv_write 0xFF: not clear and not write band_no power offset to NVRAM
2606 *
2607 */
2608 kal_uint8 src_id;
2609 kal_uint8 nv_write;
2610 kal_uint8 band_no;
2611 kal_int16 max_tx_pwr_offset; /* 1/16 dB*/
2612}l4cnl1_set_max_tx_pwr_offset_req_struct;
2613
2614typedef struct {
2615 LOCAL_PARA_HDR
2616 kal_uint8 src_id;
2617 kal_bool result;
2618}l4cnl1_set_max_tx_pwr_offset_cnf_struct;
2619
2620typedef struct {
2621 kal_uint8 band;
2622 kal_uint8 tx_path; /*0/1*/
2623 kal_int32 pwr_value;
2624}nl1_tx_pwr_struct;
2625
2626typedef struct {
2627 LOCAL_PARA_HDR
2628 kal_uint8 src_id;
2629}l4cnl1_get_tx_pwr_req_struct;
2630
2631typedef struct {
2632 LOCAL_PARA_HDR
2633 kal_uint8 src_id;
2634 nl1_tx_pwr_struct tx_pwr[2];
2635}l4cnl1_get_tx_pwr_cnf_struct;
2636typedef l4cnl1_get_tx_pwr_cnf_struct l4cnl1_get_tx_power_cnf_struct; // for logging
2637#endif
2638
2639
2640typedef struct _l4_cnap_struct
2641{
2642 kal_uint8 name_length;
2643 kal_uint8 name_dcs;
2644 kal_uint8 name[MAX_CHAR_CNAP * 2+1+2]; // +2 addition for KSC5601 DCS alphabet type
2645} l4_cnap_struct;
2646
2647typedef struct {
2648 kal_uint8 mcc2;
2649 kal_uint8 mcc1;
2650 kal_uint8 mnc3;
2651 kal_uint8 mcc3;
2652 kal_uint8 mnc2;
2653 kal_uint8 mnc1;
2654} pam_plmn_id_struct;
2655
2656typedef struct
2657{
2658 kal_uint8 apn_len;
2659 ps_cause_enum pam_cause;
2660 pam_plmn_id_struct plmn_id;
2661 rat_enum reject_rat;
2662 kal_bool is_backoff_timer_deactivated;
2663 kal_uint32 backoff_timer_timeout_timestamp;
2664 pam_procedure_enum reject_proc;
2665} pam_non_standard_backoff_timer_struct;
2666
2667typedef struct
2668{
2669 LOCAL_PARA_HDR
2670 at_cabtsri_ind_struct cabtsri_ind; // for standard AT cmd: +CABTSRI
2671 pam_non_standard_backoff_timer_struct info; // for other related back-off timer info
2672} pam_backoff_timer_report_ind_struct; //this struct should be removed after L4/TCM remove MSG_ID_PAM_BACKOFF_TIMER_REPORT_IND
2673
2674
2675typedef struct {
2676 kal_bool is_sst_present;
2677 kal_uint8 sst;
2678
2679 kal_bool is_sd_present;
2680 kal_uint8 sd[S_NSSAI_SD_LEN];
2681
2682 kal_bool is_mapped_configured_sst_present;
2683 kal_uint8 mapped_configured_sst;
2684
2685 kal_bool is_mapped_configured_sd_present;
2686 kal_uint8 mapped_configured_sd[S_NSSAI_SD_LEN];
2687} pdus_s_nssai_struct;
2688
2689typedef struct {
2690 kal_bool qos_5qi_present;
2691 kal_bool gfbr_ul_present;
2692 kal_bool gfbr_dl_present;
2693 kal_bool mfbr_ul_present;
2694 kal_bool mfbr_dl_present;
2695 kal_bool avg_window_present;
2696 kal_bool ebi_present;
2697
2698 kal_uint8 qos_5qi;
2699 kal_uint64 gfbr_ul;
2700 kal_uint64 gfbr_dl;
2701 kal_uint64 mfbr_ul;
2702 kal_uint64 mfbr_dl;
2703 kal_uint16 avg_window;
2704 kal_uint8 ebi;
2705} qos_params_struct;
2706
2707typedef struct {
2708 kal_uint8 qfi_with_default_rule;
2709 kal_uint32 num_of_active_flow;
2710 vgsm_flow_state_enum state[VGSM_MAX_QFI_NUM];
2711 qos_params_struct flow_params[VGSM_MAX_QFI_NUM];
2712
2713} pdus_qos_flow_struct;
2714
2715typedef struct {
2716 kal_uint8 qfi;
2717 qos_params_struct qos_profile;
2718} qf_params_struct;
2719
2720typedef struct {
2721 kal_uint8 num_of_qf_params;
2722 qf_params_struct qf_params[VGSM_MAX_QFI_NUM];
2723} qos_flow_descriptions_struct;
2724
2725typedef struct {
2726 kal_uint8 qfi;
2727 vgsm_flow_action_enum qfi_action;
2728
2729} qos_flow_action_struct;
2730
2731typedef struct {
2732 kal_uint8 num_of_flow_action;
2733 qos_flow_action_struct flow_action[VGSM_MAX_QFI_NUM];
2734
2735} qos_flow_action_table_struct;
2736
2737typedef struct {
2738 kal_uint64 dl;
2739 kal_uint64 ul;
2740} pdus_session_ambr_struct;
2741
2742typedef struct
2743{
2744 LOCAL_PARA_HDR
2745 sbp_reconfig_custom_param_struct sbp_parameters;
2746} l4c_sms_dsbp_reconfigure_ind_struct;
2747
2748typedef struct
2749{
2750 LOCAL_PARA_HDR
2751 sbp_reconfig_custom_param_struct sbp_parameters;
2752}l4c_imcsms_dsbp_reconfigure_ind_struct;
2753
2754typedef struct
2755{
2756 LOCAL_PARA_HDR
2757 sbp_reconfig_custom_param_struct sbp_parameters;
2758}l4c_dsbp_setting_info_ind_struct;
2759
2760typedef struct
2761{
2762 LOCAL_PARA_HDR
2763 sbp_reconfig_custom_param_struct sbp_parameters;
2764}l4c_smsal_dsbp_reconfigure_ind_struct;
2765
2766typedef struct
2767{
2768 LOCAL_PARA_HDR
2769 sbp_reconfig_custom_param_struct sbp_parameters;
2770} l4c_atci_dsbp_reconfigure_ind_struct;
2771
2772typedef struct
2773{
2774 LOCAL_PARA_HDR
2775 vdm_call_status_enum indication;
2776 vdm_call_domain_enum call_domain;
2777 kal_bool is_emergency;
2778} vdm_me_call_status_req_struct;
2779
2780
2781
2782typedef struct {
2783 module_type mod_id;
2784 sap_type sap_id;
2785 vdm_call_status_enum reg_type;
2786 kal_uint8 gemini_check;
2787} call_status_notify_module_info_struct;
2788
2789typedef struct {
2790 LOCAL_PARA_HDR
2791
2792 ia_apn_change_cause_enum cause;
2793} ia_apn_change_req_struct;
2794
2795typedef struct {
2796 LOCAL_PARA_HDR
2797
2798 kal_uint8 ap_cid;
2799 kal_uint8 d2_cid;
2800 kal_uint8 ps_cid;
2801} l4aps_tcm_update_cid_mapping_req_struct;
2802
2803typedef struct {
2804 LOCAL_PARA_HDR
2805
2806 kal_uint8 d2_cid;
2807 kal_bool result;
2808} l4aps_tcm_update_cid_mapping_cnf_struct;
2809
2810typedef struct {
2811 kal_uint16 ref; /* concat. message reference*/
2812 kal_uint8 total_seg; /* total segments*/
2813 kal_uint8 seg; /* indicate which segment*/
2814} sms_concat_struct;
2815
2816typedef struct
2817{
2818 LOCAL_PARA_HDR
2819 sbp_reconfig_custom_param_struct sbp_parameters;
2820}tcm_dsbp_reconfigure_ind_struct;
2821
2822typedef struct
2823{
2824 LOCAL_PARA_HDR
2825 sbp_reconfig_custom_param_struct sbp_parameters;
2826}sm_dsbp_reconfigure_ind_struct;
2827
2828typedef struct
2829{
2830 LOCAL_PARA_HDR
2831 kal_uint8 hvolte_mode;
2832} l4c_hvolte_mode_switch_ind_struct;
2833
2834typedef struct
2835{
2836 l4_rf_state_enum rf_state;
2837 rfoff_cause_enum rfoff_cause;
2838 l4_sim_state_enum sim_state;
2839} phone_state_info_struct;
2840
2841typedef struct {
2842 LOCAL_PARA_HDR
2843 kal_bool is_power_off;
2844 phone_state_info_struct phone_state_info[MAX_SIM_NUM];
2845}l4bpwr_phone_state_finished_ind_struct;
2846
2847typedef struct {
2848 LOCAL_PARA_HDR
2849 kal_bool is_power_off;
2850 phone_state_info_struct phone_state_info[MAX_SIM_NUM];
2851}l4bpwr_mt_phone_state_ind_struct;
2852
2853#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
2854typedef struct
2855{
2856 kal_uint16 len;
2857 kal_uint8 uri[MAX_PHB_XDN_URI_LEN + 1];
2858
2859} l4_phb_uri_struct;
2860#endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
2861
2862typedef struct
2863{
2864 LOCAL_PARA_HDR
2865 sbp_reconfig_custom_param_struct sbp_parameters;
2866} l4c_cc_dsbp_reconfigure_ind_struct;
2867
2868/* For AT SLA support*/
2869typedef struct
2870{
2871 kal_uint8 cmd[20]; /* This value should be same as ATP_TABLE_DATA_SIZE*/
2872}atp_factory_at_cmd_table_item;
2873
2874
2875typedef struct
2876{
2877 kal_uint8 num_of_band;
2878 nw_scan_band_enum band[MAX_NUM_BAND];
2879 kal_uint8 num_of_channel;
2880 kal_uint32 channel[MAX_NUM_CHANNEL];
2881} network_scan_input_struct;
2882
2883typedef struct
2884{
2885 LOCAL_PARA_HDR
2886 kal_uint8 diff;
2887 kal_uint8 period;
2888} l4c_nl1icd_rfpd_set_ind_struct;
2889
2890#if (!defined(__MAUI_BASIC__)) && (!(defined(__NR_L1SIM__) || defined(__LTE_L1SIM__)))
2891typedef struct {
2892 plmn_id_struct plmn_id;
2893 kal_uint16 tac;
2894} public_enas_tai_struct;
2895
2896typedef struct en_sos_urn_association_struct {
2897 kal_uint8 emergency_number_byte_count;
2898 kal_uint8 emergency_number[MAX_EN_NUMBER_LENGTH];
2899 kal_uint16 emergency_sos_urn_count;
2900 kal_uint8 emergency_sos_urn[MAX_SOS_URN_LENGTH];
2901} en_sos_urn_association_struct;
2902
2903typedef struct extended_emergency_number_list_struct {
2904 plmn_id_struct eenl_plmn;
2905 eenl_validity_enum eenl_validity;
2906 kal_uint8 en_sos_urn_association_count;
2907 en_sos_urn_association_struct *en_sos_urn_association;
2908} extended_emergency_number_list_struct;
2909
2910typedef struct
2911{
2912 /* Cell Identity NR */
2913 NRARFCN nrarfcn; // NRARFCN
2914 kal_uint16 pci; // PCID
2915 kal_uint16 dl_freq_band; // BAND
2916 kal_uint8 num_of_plmn_list;
2917 plmn_id_struct plmn_list[MAX_NUM_MULTI_PLMN]; // MCC + MNC
2918 kal_uint8 cell_id[5]; // CI
2919 kal_uint8 tac[3]; // TAC
2920 kal_bool reg_status; // 0 for non-serving cell; 1 for serving cell
2921
2922 /* Signal Strength NR */
2923 kal_int16 ss_rsrp_in_qdbm; // RSRP, 0x8000 for invalid
2924 kal_int16 ss_rsrq_in_qdb; // RSRQ, 0x8000 for invalid
2925 kal_int16 ss_sinr_in_qdb; // SINR, 0x8000 for invalid
2926
2927 kal_int16 csi_rsrp_in_qdbm; // not support, 0x8000 for invalid
2928 kal_int16 csi_rsrq_in_qdb; // not support, 0x8000 for invalid
2929 kal_int16 csi_sinr_in_qdb; // not support, 0x8000 for invalid
2930} network_scan_5g_output_struct;
2931
2932typedef struct
2933{
2934 /* Cell Identity LTE */
2935 EARFCN earfcn; // EARFCN
2936 kal_uint16 pci; // PCID
2937 kal_uint16 dl_freq_band; // BAND
2938 kal_uint8 num_of_plmn_id; // Number of elements in plmn_id_list
2939 plmn_id_struct plmn_id_list[MAX_NUM_MULTI_PLMN]; // MCC + MNC
2940 kal_uint32 cell_id; // CI
2941 kal_uint16 tac; // TAC
2942 kal_bool reg_status; // 0 for non-serving cell; 1 for seving cell
2943
2944 /* Signal Strength LTE */
2945 kal_int16 rssi; // RSSI
2946 kal_int16 rsrp; // RSRP
2947 kal_int16 rsrq; // RSRQ
2948 kal_int16 snr; // SNR
2949} network_scan_4g_output_struct;
2950
2951/* 2G Part*/
2952typedef struct
2953{
2954 /* Cell Identity 2G*/
2955 kal_uint16 arfcn; //ARFCN
2956 kal_uint8 bsic; //BSIC
2957 plmn_id_struct plmn_id; //MCC + MNC
2958 kal_uint16 cell_id; // CI
2959 kal_uint8 lai[2]; //LAC
2960 /* Signal Strength 2G */
2961 kal_int16 rssi; //RSSI
2962 kal_bool reg_status; // 0: non-Serving cell; 1: Serving cell
2963} network_scan_2g_output_struct;
2964
2965typedef struct
2966{
2967 /* Cell Identity UMTS*/
2968 kal_uint16 uarfcn; // UARFCN
2969 kal_uint16 psc; // PSC
2970 plmn_id_struct plmn_id; // MCC + MNC
2971 kal_uint32 cell_id; // CI
2972 kal_uint16 lac; //LAC
2973 /* Signal Strength UMTS*/
2974 kal_int16 rscp; // rscp
2975 kal_int16 ecno; // EcNO
2976 kal_int32 rssi; // RSSI
2977 kal_bool reg_status; // Registration Status (Serving Cell/Non Serving cell)
2978 umts_duplex_mode_type umts_duplex_mode; // Duplex mode(UMTS_WCDMA_DUPLEX_MODE)
2979} network_scan_3g_output_struct;
2980
2981typedef union
2982{
2983 network_scan_2g_output_struct nw_scan_2g_output;
2984 network_scan_3g_output_struct nw_scan_3g_output;
2985} network_scan_23g_union;
2986
2987typedef union
2988{
2989 network_scan_2g_output_struct nw_scan_2g_output;
2990 network_scan_3g_output_struct nw_scan_3g_output;
2991 network_scan_4g_output_struct nw_scan_4g_output;
2992} network_scan_234g_union_type;
2993
2994typedef union
2995{
2996 network_scan_2g_output_struct nw_scan_2g_output;
2997 network_scan_3g_output_struct nw_scan_3g_output;
2998 network_scan_4g_output_struct nw_scan_4g_output;
2999 network_scan_5g_output_struct nw_scan_5g_output;
3000} network_scan_rat_union_type;
3001#endif
3002
3003typedef struct
3004{
3005 kal_uint32 cell_id;
3006 kal_uint16 lac_or_tac_value;
3007 kal_uint8 plmn_id[MAX_PLMN_LEN+1];
3008} l4bnw_cell_info_struct;
3009
3010typedef struct
3011{
3012 rat_enum current_rat;
3013
3014 l4bnw_cell_info_struct cs_cell_info;
3015 l4bnw_cell_info_struct ps_cell_info;
3016
3017 /* C2K cell info */
3018 kal_uint16 sid;
3019 kal_uint16 nid;
3020 kal_uint16 base_id;
3021} l4bnw_cs_ps_cell_info_struct;
3022
3023/* For AT CMD ON/OFF support*/
3024typedef struct
3025{
3026 kal_uint8 cmd[20]; /* This value should be same as ATP_TABLE_DATA_SIZE*/
3027}atp_block_at_cmd_table_item;
3028
3029typedef struct
3030{
3031 LOCAL_PARA_HDR
3032 kal_uint8 trans_id; // piggy-back
3033 kal_uint8 sim_ef_type; // 0 - Unknown, 1 - OPL, 2 - PNN, 3 - OPL5G
3034} l4c_eons_sim_data_req_struct;
3035
3036typedef struct
3037{
3038 LOCAL_PARA_HDR
3039 kal_uint8 trans_id; // piggy-back
3040 kal_bool result; // TRUE for data exit (peer buffer), FALSE for no data exist
3041 kal_uint8 sim_ef_type; // 0 - Unknown, 1 - OPL, 2 - PNN, 3 - OPL5G
3042 kal_uint8 num_record;
3043 kal_uint8 rec_size;
3044} l4c_eons_sim_data_cnf_struct;
3045
3046typedef struct
3047{
3048 LOCAL_PARA_HDR
3049 kal_uint32 event_type;
3050} l4c_dhl_event_notify_struct;
3051
3052typedef struct
3053{
3054 LOCAL_PARA_HDR
3055
3056 rat_enum rat; /*1 - GSM, 2 - UMTS, 4 - LTE*/
3057 kal_uint8 signal_type; /* When rat GSM, 0 - RSSI, when rat UMTS, 0 - RSCP, When rat LTE, 0 - RSRP, 1 - RSRP, 2 - RSSNR */
3058 kal_uint8 mode; /* 0 - reset all thresholds. 1 - set threshold as provided in parameters below */
3059 kal_uint8 num_of_thresholds;
3060 kal_int16 threshold[MAX_NUM_OF_SIGNAL_THRESH];
3061 kal_uint32 HysterisisMS;
3062 kal_uint32 HysterisisDB;
3063} l4cps_set_signal_reporting_criteria_req_struct;
3064
3065
3066typedef struct
3067{
3068 LOCAL_PARA_HDR
3069 kal_uint8 sig1;
3070 kal_uint8 sig2;
3071 kal_uint8 ber;
3072 kal_int32 rssi_in_qdbm;
3073 kal_int32 rscp_in_qdbm;
3074 kal_int32 ecn0_in_qdbm;
3075 kal_int32 rsrq_in_qdbm;
3076 kal_int32 rsrp_in_qdbm;
3077 kal_int16 rs_snr_in_qdb;
3078 kal_int16 serv_band;
3079 rat_enum rat;
3080} l4c_public_signal_info_ind_struct;
3081
3082
3083#ifdef __TX_PWR_EXTENSION__
3084typedef struct{
3085 kal_int8 tx_pwr_value;
3086 kal_uint8 band;
3087 kal_uint8 phy_idx;
3088}l4c_tx_pwr_info_per_antenna;
3089#endif
3090#endif /* _PS_PUBLIC_STRUCT_H_ */