blob: d62195d7f57f0145c1fd11364cec127ae503f3e9 [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 * L4C2TCM_STRUCT.H
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 * This file describes the common struct of TCM and L4C.
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 *
60 * removed!
61 * removed!
62 * removed!
63 * removed!
64 * removed!
65 *
66 * removed!
67 * removed!
68 * removed!
69 * removed!
70 * removed!
71 * removed!
72 *
73 * removed!
74 * removed!
75 * removed!
76 *
77 * removed!
78 * removed!
79 * removed!
80 *
81 * removed!
82 * removed!
83 * removed!
84 *
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 *
97 * removed!
98 * removed!
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 *
106 * removed!
107 * removed!
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 * removed!
114 *
115 * removed!
116 * removed!
117 * removed!
118 *
119 * removed!
120 * removed!
121 * removed!
122 *
123 * removed!
124 * removed!
125 * removed!
126 *
127 * removed!
128 * removed!
129 *
130 * removed!
131 * removed!
132 * removed!
133 *
134 * removed!
135 * removed!
136 * removed!
137 *
138 * removed!
139 * removed!
140 * removed!
141 *
142 * removed!
143 * removed!
144 * removed!
145 *
146 * removed!
147 * removed!
148 * removed!
149 *
150 * removed!
151 * removed!
152 * removed!
153 *
154 * removed!
155 * removed!
156 * removed!
157 * removed!
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 *
165 * removed!
166 * removed!
167 * removed!
168 *
169 * removed!
170 * removed!
171 * removed!
172 *
173 * removed!
174 * removed!
175 * removed!
176 *
177 * removed!
178 * removed!
179 * removed!
180 *
181 * removed!
182 * removed!
183 * removed!
184 *
185 * removed!
186 * removed!
187 * removed!
188 *
189 * removed!
190 * removed!
191 * removed!
192 *
193 * removed!
194 * removed!
195 * removed!
196 *
197 * removed!
198 * removed!
199 * removed!
200 *
201 * removed!
202 * removed!
203 * removed!
204 *
205 * removed!
206 * removed!
207 * removed!
208 *
209 * removed!
210 * removed!
211 * removed!
212 *
213 * removed!
214 * removed!
215 * removed!
216 *
217 * removed!
218 * removed!
219 * removed!
220 *
221 * removed!
222 * removed!
223 * removed!
224 * removed!
225 * removed!
226 * removed!
227 * removed!
228 *
229 * removed!
230 * removed!
231 * removed!
232 * removed!
233 * removed!
234 * removed!
235 * removed!
236 *
237 * removed!
238 * removed!
239 * removed!
240 *
241 * removed!
242 * removed!
243 * removed!
244 *
245 * removed!
246 * removed!
247 * removed!
248 *
249 * removed!
250 * removed!
251 * removed!
252 *
253 * removed!
254 * removed!
255 * removed!
256 *
257 * removed!
258 * removed!
259 * removed!
260 *
261 * removed!
262 * removed!
263 * removed!
264 *
265 * removed!
266 * removed!
267 * removed!
268 *
269 * removed!
270 * removed!
271 * removed!
272 *
273 * removed!
274 * removed!
275 * removed!
276 *
277 * removed!
278 * removed!
279 * removed!
280 *
281 * removed!
282 * removed!
283 * removed!
284 *
285 * removed!
286 * removed!
287 * removed!
288 *
289 * removed!
290 * removed!
291 * removed!
292 *
293 * removed!
294 * removed!
295 * removed!
296 *
297 * removed!
298 * removed!
299 * removed!
300 *
301 * removed!
302 * removed!
303 * removed!
304 *
305 * removed!
306 * removed!
307 * removed!
308 *
309 * removed!
310 * removed!
311 * removed!
312 *
313 * removed!
314 * removed!
315 * removed!
316 *
317 * removed!
318 * removed!
319 * removed!
320 *
321 * removed!
322 * removed!
323 * removed!
324 *
325 * removed!
326 * removed!
327 * removed!
328 *
329 * removed!
330 * removed!
331 * removed!
332 *
333 *------------------------------------------------------------------------------
334 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
335 *============================================================================
336 ****************************************************************************/
337
338/********************************************************************************
339* Copyright Statement:
340* --------------------
341*
342* This product has been developed using a protocol stack
343* developed by Sasken Communication Technologies Limited.
344*
345********************************************************************************/
346
347#ifndef _L4C2TCM_STRUCT_H
348#define _L4C2TCM_STRUCT_H
349
350#include "ps_public_struct.h"
351
352#include "l4c2abm_struct.h"
353#include "kal_public_api.h"
354#include "tcm_api.h"
355#include "ps_public_enum.h"
356#include "l4c2tcm_func.h"
357#include "irat_common_struct.h"
358#include "l4c_common_enum.h"
359
360/* __MEDIATEK_SMART_QOS__ */
361#include "nvram_editor_data_item.h"
362
363#include "c2k_irat_msg_struct.h"
364
365/* __APP_SECONDARY_PDP_SUPPORT__ */
366typedef struct {
367 LOCAL_PARA_HDR
368 kal_uint8 context_id;
369} tcm_pdp_reactivate_req_struct;
370
371typedef struct {
372 LOCAL_PARA_HDR
373 kal_uint8 context_id;
374} l4c_tcm_eps_attach_req_struct;
375
376typedef struct {
377 LOCAL_PARA_HDR
378 kal_uint8 context_id;
379 kal_bool cause2_present;
380 ps_cause_enum cause2;
381} l4c_tcm_eps_attach_pdn_act_ind_struct; // convert it to CGEV
382
383typedef struct {
384 LOCAL_PARA_HDR
385 kal_uint8 context_id;
386 l4ctcm_act_reason req_reason; /* Used by ETCM */
387 l4ctcm_egact_support_rat_enum rat;
388 //l4ctcm_egact_cause_enum cause;
389} tcm_pdp_activate_req_struct;
390
391typedef struct {
392 LOCAL_PARA_HDR
393 kal_uint8 context_id;
394} tcm_pdp_activate_rej_rsp_struct;
395
396typedef struct {
397 LOCAL_PARA_HDR
398 kal_uint8 context_id;
399 kal_uint8 qfi; // Used only by vgtcm, 0 for activate flow, 0xff for normal modify, others for deactivate specified flow
400} tcm_pdp_modify_req_struct;
401
402typedef struct {
403 LOCAL_PARA_HDR
404 kal_uint8 context_id;
405 #ifdef __LOCAL_DEACTIVATE_PDP_SUPPORT__
406 kal_bool local_deactivate_pdp; /* __LOCAL_DEACTIVATE_PDP_SUPPORT__ */
407 #endif // ~ __LOCAL_DEACTIVATE_PDP_SUPPORT__
408 tcm_pdp_deact_reason_enum deact_reason; // Used only in RAT_TCM >> ETCM >> ESM (due to MSG_ID_TCM_RAT_TCM_INIT_DEACTIVATE_CONTEXT_IND).
409 l4ctcm_egact_support_rat_enum rat;
410} tcm_pdp_deactivate_req_struct;
411
412/* for __APP_SECONDARY_PDP_SUPPORT__ */
413typedef struct {
414 LOCAL_PARA_HDR
415 kal_uint8 context_id;
416 kal_bool is_qos_present; // indicates if QoS modification
417 nvram_editor_qos_struct modify_qos; // modifying QoS value
418} ltcm_pdp_qos_tft_modify_req_struct;
419/* ~for __APP_SECONDARY_PDP_SUPPORT__ */
420
421typedef struct {
422 LOCAL_PARA_HDR
423 kal_uint8 context_id;
424 kal_uint8 apn_length;
425 kal_uint8 apn[100];
426 kal_uint8 dcomp_algo;
427 kal_uint8 hcomp_algo;
428 kal_uint8 pdp_type;
429 kal_uint8 pdp_addr_len;
430 kal_uint8 addr_val[16]; // AT+CGDCONT should not set static IPv6 address, so 16*u8 size is okay?
431 kal_uint8 ipv4addralloc; // __REL8__
432 kal_uint8 p_cscf_discovery; //R10
433 kal_uint8 im_cn_signalling_flag; //R10
434 kal_uint8 request_type; //R12
435 l4c_cmd_conflict_check_option_enum check_option;
436 nas_priority_config_enum nas_priority_config ; // __MTC_SUPPORT__
437 eab_override_config_enum eab_override_config ; // __MTC_SUPPORT__
438 l4c_tcm_securepco_enum secure_pco; // no use?
439 l4c_tcm_activate_pdp_request_ipv4_mtu_enum act_pdp_with_pco_req_v4_mtu;
440 l4c_tcm_local_addr_ind_enum local_addr_ind; //no use?
441 l4c_tcm_non_ip_mtu_discovery_enum non_ip_mtu_discovery;
442 l4c_tcm_reliable_data_service_enum reliable_data_service;
443 l4c_tcm_ssc_mode_enum ssc_mode;
444 kal_bool s_nssai_present;
445 l4c_tcm_s_nssai_struct s_nssai;
446 l4c_tcm_access_type_enum access_type;
447 l4c_tcm_rqos_ind_enum rqos_ind;
448 l4c_tcm_mh6_pdu_enum mh6_pdu;
449 l4c_tcm_always_on_pdu_enum always_on_pdu;
450 kal_uint8 psi;
451 kal_bool old_psi_present;
452 kal_uint8 old_psi;
453 kal_bool vgpdp_type_present;
454 kal_uint8 vgpdp_type;
455 kal_bool vgapn_present;
456 kal_uint8 vgapn_length;
457 kal_uint8 vgapn[100];
458 l4c_tcm_ladn_dnn_enum ladn_dnn;
459} l4ctcm_set_pri_pdp_info_req_struct;
460
461typedef struct {
462 LOCAL_PARA_HDR
463 kal_uint8 context_id;
464} l4ctcm_set_this_is_an_invalid_apn_notify_req_struct;
465
466
467typedef struct {
468 LOCAL_PARA_HDR
469 kal_uint8 context_id;
470 pdp_addr_type_enum roaming_ip_type;
471 kal_uint8 psi;
472} l4ctcm_set_extended_pdp_info_req_struct;
473
474typedef struct {
475 LOCAL_PARA_HDR
476 kal_bool clear_all_apn_info;
477 kal_uint8 apn_idx; /* apn table entry index */
478 kal_uint8 apn_length;
479 kal_uint8 apn[MAX_APN_LEN];
480 kal_uint16 inactivity_time;
481}l4ctcm_sync_apn_info_req_struct;
482
483typedef struct {
484 kal_bool is_mobile_data_enable_present;
485 kal_bool is_mobile_data_enable;
486 kal_bool is_mobile_data_roaming_enable_present;
487 kal_bool is_mobile_data_roaming_enable;
488 kal_bool is_volte_enable_present;
489 kal_bool is_volte_enable;
490 kal_bool is_vzw_ims_test_mode_enable_present;
491 kal_bool is_vzw_ims_test_mode_enable;
492} l4c_cellular_network_config;
493
494typedef struct {
495 LOCAL_PARA_HDR
496 l4c_cellular_network_config config;
497}l4ctcm_cellular_network_config_req_struct;
498
499typedef struct {
500 LOCAL_PARA_HDR
501 kal_uint8 context_id;
502 kal_uint8 prim_context_id;
503 kal_uint8 dcomp_algo;
504 kal_uint8 hcomp_algo;
505 kal_uint8 im_cn_signalling_flag; //R10
506} l4ctcm_set_sec_pdp_info_req_struct;
507
508typedef struct {
509 LOCAL_PARA_HDR
510 kal_uint8 context_id;
511 kal_uint8 qos_type;
512 kal_uint8 delay_class;
513 kal_uint8 reliability_class;
514 kal_uint8 peak_throughput;
515 kal_uint8 precedence_class;
516 kal_uint8 mean_throughput;
517} l4ctcm_set_qos_info_req_struct;
518
519typedef struct {
520 LOCAL_PARA_HDR
521 kal_uint8 context_id;
522 kal_uint8 qos_type;
523 kal_uint8 traffic_class;
524 kal_uint8 delivery_order;
525 kal_uint8 delivery_of_err_sdu;
526 kal_uint8 max_sdu_size;
527 kal_uint8 max_bitrate_up_lnk;
528 kal_uint8 max_bitrate_down_lnk;
529 kal_uint8 residual_bit_err_rate;
530 kal_uint8 sdu_err_ratio;
531 kal_uint8 transfer_delay;
532 kal_uint8 traffic_hndl_priority;
533 kal_uint8 guarntd_bit_rate_up_lnk;
534 kal_uint8 guarntd_bit_rate_down_lnk;
535 kal_uint8 signalling_indication;
536 kal_uint8 source_statistics_descriptor;
537 kal_uint8 ext_max_bitrate_down_lnk;
538 kal_uint8 ext_guarntd_bit_rate_down_lnk;
539 kal_uint8 ext_max_bitrate_up_lnk;
540 kal_uint8 ext_guarntd_bit_rate_up_lnk;
541 kal_uint8 ext2_max_bitrate_down_lnk;
542 kal_uint8 ext2_guarntd_bit_rate_down_lnk;
543 kal_uint8 ext2_max_bitrate_up_lnk;
544 kal_uint8 ext2_guarntd_bit_rate_up_lnk;
545} l4ctcm_set_eqos_info_req_struct;
546
547typedef struct{
548 LOCAL_PARA_HDR
549 kal_uint8 pdn_num; /**< PDN No. */
550 pdn_info_struct pdn[MAX_PDN_NUM]; /**< PDN information */
551}l4ctcm_set_multiple_pdn_info_req_struct;
552
553
554typedef struct{
555 LOCAL_PARA_HDR
556
557 kal_uint8 action_context_id;
558
559 /** Set target field to this value */
560 kal_uint32 value;
561
562 /** Used to indicate which field we want to change */
563 l4ctcm_session_info_block_field_enum field;
564}l4ctcm_set_specific_context_req_struct;
565
566//mtk04121
567typedef struct {
568 LOCAL_PARA_HDR
569 kal_uint8 context_id;
570 kal_uint8 qci;
571 kal_uint8 max_bitrate_up_lnk;
572 kal_uint8 max_bitrate_down_lnk;
573 kal_uint8 guarntd_bit_rate_up_lnk;
574 kal_uint8 guarntd_bit_rate_down_lnk;
575 kal_uint8 ext_max_bitrate_up_lnk;
576 kal_uint8 ext_max_bitrate_down_lnk;
577 kal_uint8 ext_guarntd_bit_rate_up_lnk;
578 kal_uint8 ext_guarntd_bit_rate_down_lnk;
579 kal_uint8 ext2_max_bitrate_up_lnk;
580 kal_uint8 ext2_max_bitrate_down_lnk;
581 kal_uint8 ext2_guarntd_bit_rate_up_lnk;
582 kal_uint8 ext2_guarntd_bit_rate_down_lnk;
583
584 kal_bool is_use_ext_qos_for_dl_gbr;
585 kal_bool is_use_ext_qos_for_ul_gbr;
586 kal_bool is_use_ext_qos_for_dl_mbr;
587 kal_bool is_use_ext_qos_for_ul_mbr;
588 kal_uint64 ext_eps_qos_dl_gbr;
589 kal_uint64 ext_eps_qos_ul_gbr;
590 kal_uint64 ext_eps_qos_dl_mbr;
591 kal_uint64 ext_eps_qos_ul_mbr;
592} l4ctcm_set_eps_qos_info_req_struct;
593
594typedef struct {
595 LOCAL_PARA_HDR
596 l4c_vgqos_struct qos_info;
597} l4ctcm_set_vgqos_info_req_struct;
598
599typedef struct {
600 LOCAL_PARA_HDR
601} l4ctcm_start_req_struct;
602
603typedef struct {
604 LOCAL_PARA_HDR
605 kal_uint8 context_id;
606 kal_uint8 auth_type;
607} l4ctcm_set_ppp_auth_info_req_struct;
608
609typedef struct {
610 LOCAL_PARA_HDR
611
612 l4c_cgauth_info_struct cgauth_info;
613 kal_uint8 psi;
614} l4ctcm_set_cgauth_info_req_struct;
615
616typedef struct {
617 LOCAL_PARA_HDR
618 kal_uint8 context_id;
619 kal_uint32 channel_id;
620 pdp_addr_type_enum pdp_type;
621}l4ctcm_enter_data_mode_req_struct;
622
623typedef struct {
624 LOCAL_PARA_HDR
625 kal_uint8 context_id;
626}l4ctcm_leave_data_mode_req_struct;
627
628/* __MEDIATEK_SMART_QOS__ */
629typedef struct {
630 LOCAL_PARA_HDR
631 kal_bool is_msq_on ; /* True: Use R6 QOS if the current PLMN (NW/SIM) is on MSQ list (nvram_ef_msq_list_struct). */
632} l4ctcm_set_msq_mode_req_struct;
633
634typedef struct {
635 LOCAL_PARA_HDR
636 nvram_ef_msq_entry_struct entry ;
637} l4ctcm_set_msq_entry_req_struct;
638/* __MEDIATEK_SMART_QOS__ */
639
640/* mtk00714 w0637: AT definition */
641typedef struct {
642 LOCAL_PARA_HDR
643 kal_uint8 context_id;
644 kal_uint16 undefine_action; //l4c_action_enum
645} l4ctcm_undefine_pdp_info_req_struct;
646
647typedef struct
648{
649 LOCAL_PARA_HDR
650 kal_uint8 on_off;
651} l4ctcm_set_acl_mode_req_struct;
652
653typedef struct
654{
655 LOCAL_PARA_HDR
656 kal_uint16 start_index;
657 kal_uint16 max_read_entries;
658} l4ctcm_get_acl_entries_req_struct;
659
660typedef struct
661{
662 kal_uint8 apn[MAX_APN_LEN];
663} tcm_acl_entry_struct;
664
665typedef struct
666{
667 kal_uint8 context_id;
668 kal_bool is_success;
669 ps_cause_enum error_cause;
670} l4ctcm_at_report_struct;
671
672typedef struct
673{
674 LOCAL_PARA_HDR
675 kal_uint16 index;
676 tcm_acl_entry_struct acl_entry;
677} l4ctcm_set_acl_entry_req_struct;
678
679typedef struct
680{
681 LOCAL_PARA_HDR
682 tcm_acl_entry_struct acl_entry;
683} l4ctcm_add_acl_entry_req_struct;
684
685typedef struct
686{
687 LOCAL_PARA_HDR
688 kal_bool del_all;
689 kal_uint16 index;
690 tcm_acl_entry_struct acl_entry;
691} l4ctcm_del_acl_entry_req_struct;
692
693typedef struct
694{
695 LOCAL_PARA_HDR
696 kal_uint8 query_id;
697 kal_uint8 last_cid;
698} l4ctcm_query_ext_gprs_history_req_struct;
699
700typedef struct
701{
702 LOCAL_PARA_HDR
703 kal_uint8 reset_id;
704 kal_bool reset_all;
705 kal_bool reset_certain_cid_last_history;
706 kal_uint8 context_id;
707 kal_bool reset_total_history;
708} l4ctcm_reset_ext_gprs_history_req_struct;
709
710typedef struct
711{
712 LOCAL_PARA_HDR
713 kal_bool is_main_ps;
714} l4ctcm_data_allow_req_struct;
715
716
717typedef struct
718{
719 LOCAL_PARA_HDR
720 kal_uint8 context_id;
721 kal_bool clean_egpco_context;
722
723 kal_bool req_v4_dns;//000D
724
725 kal_bool req_v6_dns; //0003
726
727 kal_bool req_msisdn; //000E
728
729 kal_bool req_pcscf_reselection_support; //0012
730
731 kal_bool ps_data_off_support_present; //0017
732 kal_uint8 ps_data_off_support_value;
733
734 kal_bool req_op_pco_id; //FF00
735 kal_uint32 op_pco_id;
736 plmn_id_rat_struct op_pco_plmn_id;
737
738 kal_bool req_v6_epdg; //FF01
739 plmn_id_rat_struct epdg_v6_cointainer; // VZ_REQ_LTEDATA_40923 : always set to 311480
740
741 kal_bool req_v4_epdg; //FF02
742 plmn_id_rat_struct epdg_v4_cointainer; // VZ_REQ_LTEDATA_40923 : always set to 311480
743
744 kal_bool req_vzw_5guw; //FF03
745 plmn_id_rat_struct vzw_5guw_cointainer; // Unified_5G_Icon_Logic : always set to 311480
746
747 kal_uint8 psi;
748}l4ctcm_set_egpco_req_struct;
749
750typedef struct {
751 LOCAL_PARA_HDR
752 kal_bool is_ims_roaming_enable;
753} l4ctcm_set_eimsroam_config_value_req_struct;
754
755
756#endif
757
758