blob: d0820c745227f424643ef72ac2b00e847b3d99ae [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) 2012
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 * Filename:
38 * ---------
39 * tftlib_msg_struct.h
40 *
41 * Project:
42 * --------
43 * MOLY
44 *
45 * Description:
46 * ------------
47 * message and common structure definition for TFTLIB (for UT/IT only)
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * $Log$
55 *
56 * 08 12 2020 terence.kuo
57 * [MOLY00557318] [MT6875][Margaux][Q0][R3][MP6][SQC][Internal][WW FT][China][Quzhou][5GMM][MDST][SWIFT][S][CMCC+Invalid][Error times:1]System API Dump,1165,29,99,/data/vendor/core/,1,,mtkrild:AT command pending too long. assert!!! AT cmd: EAPNACT.timer: 900000ms
58 * . Provide a new API which constructs context for default bearer without tft to TCM.
59 *
60 * 04 15 2020 terence.kuo
61 * [MOLY00508241] Memory reduction - l4 ps cid reduction and reduce maximum number of support flow
62 * 1. Support setting null for pf_act_list parameter.
63 * 2. Support qos flow deactivation.
64 * 3. Record qr's precedence into context in tftlib_set_user_defined_tft() if rate is 5g.
65 * 4. Add primitive traces to record current applied qr/ tft status for analysis.
66 * 5. trace enhancement
67 *
68 * 04 06 2020 terence.kuo
69 * [MOLY00508241] Memory reduction - l4 ps cid reduction and reduce maximum number of support flow
70 * . Add primitive traces to record current applied qr/ tft status for analysis.
71 *
72 * 03 31 2020 terence.kuo
73 * [MOLY00508241] Memory reduction - l4 ps cid reduction and reduce maximum number of support flow
74 * 1. Support setting null for pf_act_list parameter.
75 * 2. Support qos flow deactivation.
76 * 3. Record qr's precedence into context in tftlib_set_user_defined_tft() if rate is 5g.
77 * 4. Add the trace to record the number of pdus/ qos flow/ qos rule/ packet filter.
78 *
79 * 11 22 2019 terence.kuo
80 * [MOLY00460830] [MT6885][Petrus][MP1][Ericsson][IODT][SA FullStack][Kista][5G] Fatal Error (0x823, 0x1000, 0xcccccccc) - (LISR)PHY LTMR Inst1
81 *
82 * . Claer the header and next of applied/ defined qrs correctly.
83 *
84 * 09 23 2019 terence.kuo
85 * [MOLY00442505] Update for March CR and trace enhancements.
86 *
87 * . Update for March CR and trace enhancements.
88 *
89 * 09 04 2019 terence.kuo
90 * [MOLY00434754] Upgrade CGTFT to support 5GC
91 *
92 * . Update CGTFT behaviors in tftlib.
93 *
94 * 03 26 2019 jeffery.chen
95 * [MOLY00393456] [Gen97][VMOLY] 45G InterRAT & interSystem feature
96 *
97 * [TFTLIB] interface part.
98 *
99 * 03 26 2019 jeffery.chen
100 * [MOLY00393456] [Gen97][VMOLY] 45G InterRAT & interSystem feature
101 *
102 * [TFTLIB] interface part.
103 *
104 * 12 14 2018 jeffery.chen
105 * [MOLY00372635] [VMOLY] L4/TCM/TFTLIB/VGSM phase2 check-in
106 *
107 * [TFTLIB] phase2 check-in.
108 *
109 * 09 14 2018 jeffery.chen
110 * [MOLY00306148] [NAS] pangu giant CR
111 *
112 * [TFTLIB] pass 1st NAS MoDIS IT.
113 *
114 * 08 17 2018 jeffery.chen
115 * [MOLY00306148] [NAS] pangu giant CR
116 * [TFTLIB] re-architecture.
117 *
118 * 08 17 2018 jeffery.chen
119 * [MOLY00306148] [NAS] pangu giant CR
120 *
121 * [TFTLIB] re-architecture.
122 *
123 * 10 19 2016 renhuang.liu
124 * [MOLY00203260] [TFTLIB] Logging mechanism refinement
125 * 93 TFTLIB re-arch 4
126 *
127 * 10 17 2016 renhuang.liu
128 * [MOLY00205035] [TFTLIB] Memory management in TFT internal
129 * Resolve build error:
130 * pcore/modem/interface/general/../../l4/tcm/tftlib/../common/tcm_context.h:559:29: fatal error: tcm_ugtcm_timer.h: No such file or directory
131 *
132 * 10 17 2016 renhuang.liu
133 * [MOLY00205035] [TFTLIB] Memory management in TFT internal
134 * Resolve the build error:
135 * pcore/modem/interface/general/../../l4/tcm/tftlib/../common/tcm_context.h:559:29: fatal error: tcm_ugtcm_timer.h: No such file or directory
136 *
137 * 10 16 2016 renhuang.liu
138 * [MOLY00205035][TFTLIB] Memory management in TFT internal
139 *
140 * 09 26 2016 vera.yeh
141 * [MOLY00205116] [6293][ESM][TFTLIB] new feature/re-arch item porting to UMOLYA trunk
142 * [TFTLIB][OA] PS.DEV porting to UMOLYA.Trunk.
143 * 1. TFTLIB UT enhancement
144 * 2. UL_PF_CHECK
145 *
146 * 11 17 2014 jeffery.chen
147 * [MOLY00084634] [UMOLY][R10][R11] NAS check-in from 6291_DEV to UMOLY
148 * [R10][R11] NAS check-in from 6291_DEV to UMOLY
149 *
150 * 09 10 2014 jeffery.chen
151 * [MOLY00078264] [UMOLY][R10][R11] NAS check-in from CBr to 6291_DEV
152 * [R10][R11] NAS check-in from CBr to 6291_DEV
153 *
154 * 01 29 2014 joe.chang
155 * [MOLY00055334] [MT6290][SGLTE DSDS] New feature check-in MOLY
156 * TFTLIB check-in related interface
157 *
158 * 01 21 2014 wcpuser_integrator
159 * [MOLY00054475] SGLTE option rename
160 * .
161 *
162 * 11 18 2013 joe.chang
163 * [MOLY00045033] [MOLY][SM][ESM][TCM][TFT][Custom] NRSPCA(NISPCA) Network Requested/Initiated Secondary PDP Context Activation
164 * Check-in TFTLIB part
165 *
166 * 11 06 2013 joe.chang
167 * [MOLY00045302] [MT6290][LTE] TFTLIB API update for multi-context project
168 * Check-in TFTLIB part
169 *
170 * 10 31 2013 joe.chang
171 * [MOLY00044423] [MT6290] New TFT AT command development merge back to MOLY
172 * check in TFTLIB related change
173 *
174 * 08 12 2013 joe.chang
175 * [MOLY00033348] [MT6290][MMDC] MMDC type 2 single load feature for TFTLIB
176 * code check in
177 *
178 * 06 10 2013 joe.chang
179 * [MOLY00025286] [MT7208][NW-UE SIM] [TC 10.8.1] AT+CGCMOD Error due to TFT compose issue
180 * TFTLIB modification for AT+CGTFT interpretation (support both difference set & full set)
181 *
182 * 05 27 2013 joe.chang
183 * [MOLY00023789] [MT6290][TFTLIB] New architecture & EM support
184 * TFTLIB part check-in
185 *
186 * 11 07 2012 joe.chang
187 * [MOLY00005322] TATAKA merge to MOLY
188 * [Joe] TFTLIB part is check in done.
189 ****************************************************************************/
190
191
192#ifndef TFTLIB_MSG_STRUCT_H_
193#define TFTLIB_MSG_STRUCT_H_
194
195#include "kal_public_defs.h"
196#include "l3_inc_enums.h"
197
198//#include "tftlib_timer.h"
199#include "tftlib_common_struct.h"
200#include "ipfc_export_plugin_rqos.h"
201
202/***** message structure definition *****/
203
204/* MSG_ID_TFTLIB_VGSM_RQOS_UPDATE_REQ */
205typedef struct {
206 LOCAL_PARA_HDR
207 kal_uint8 psi;
208 kal_uint8 qfi;
209 kal_uint8 rule_idx;
210 pkt_filter_act_enum action;
211 pkt_filter_struct pf;
212
213} tftlib_vgsm_rqos_update_req_struct;
214
215
216//#ifdef __TFTLIB_UT__
217typedef struct
218{
219 LOCAL_PARA_HDR
220 kal_uint32 sim_indx;
221 tft_bearer_act_enum bearer_act;
222 kal_uint16 no_auth_qos_rules;
223 kal_uint8 auth_qos_rules[MAX_QOS_RULES_LEN];
224
225} tftlib_qrs_precheck_struct;
226
227typedef struct
228{
229 LOCAL_PARA_HDR
230 kal_uint32 sim_indx;
231 kal_uint8 psi;
232 kal_uint8 qfi;
233 kal_uint8 qri;
234 kal_uint16 qr_raw_len;
235 kal_uint8 qr_raw[MAX_TFT_LEN];
236 bearer_type_enum bearer_type;
237 tft_proc_dir_enum proc_dir;
238 tft_bearer_act_enum bearer_act;
239 etft_enum etft;
240 kal_uint8 precedence;
241
242} tftlib_qr_decode_struct;
243
244typedef struct
245{
246 LOCAL_PARA_HDR
247 kal_uint32 sim_indx;
248 kal_uint8 bearer_id;
249 kal_uint16 tft_raw_len;
250 kal_uint8 tft_raw[MAX_TFT_LEN];
251 bearer_type_enum bearer_type;
252 tft_proc_dir_enum proc_dir;
253 tft_bearer_act_enum bearer_act;
254 bcm_enum bcm;
255 etft_enum etft;
256 rat_ind_enum rat;
257
258} tftlib_tft_decode_struct;
259
260
261typedef struct
262{
263 LOCAL_PARA_HDR
264 kal_uint32 sim_indx;
265 tft_info_struct tft;
266 etft_enum etft;
267
268} tftlib_tft_encode_struct;
269
270
271typedef struct
272{
273 LOCAL_PARA_HDR
274 kal_uint32 sim_indx;
275 kal_uint8 bearer_id;
276 bearer_type_enum bearer_type;
277 bcm_enum bcm; // 20131106_Joe: Added to support 2/3G 'MS/NW'
278 rat_ind_enum rat;
279
280} tftlib_tft_validate_struct;
281
282
283typedef struct
284{
285 LOCAL_PARA_HDR
286 kal_uint32 sim_indx;
287 tft_info_struct src_tft;
288 pf_direction_enum pf_dir;
289
290} tftlib_tft_dir_extract_struct;
291
292
293typedef struct
294{
295 LOCAL_PARA_HDR
296 kal_uint32 sim_indx;
297 kal_uint8 cid;
298 tft_info_struct tft;
299 tft_proc_dir_enum proc_dir;
300 tft_bearer_act_enum bearer_act;
301 rat_ind_enum rat;
302 kal_bool is_pf_act_list_null;
303} tftlib_set_applied_tft_struct;
304
305
306typedef struct
307{
308 LOCAL_PARA_HDR
309 kal_uint32 sim_indx;
310 kal_uint8 ebi;
311 tft_info_struct tft;
312 bearer_type_enum bearer_type;
313 tft_proc_dir_enum proc_dir;
314 tft_bearer_act_enum bearer_act;
315 rat_ind_enum rat;
316 kal_bool is_pf_act_list_null;
317} tftlib_set_applied_tft_by_ebi_struct;
318
319
320typedef struct
321{
322 LOCAL_PARA_HDR
323 kal_uint32 sim_indx;
324 kal_uint8 psi;
325 kal_uint8 qfi;
326 kal_uint8 qri;
327 tft_info_struct qr;
328 bearer_type_enum bearer_type;
329 tft_proc_dir_enum proc_dir;
330 tft_bearer_act_enum bearer_act;
331 kal_bool is_pf_act_list_null;
332} tftlib_set_applied_qr_struct;
333
334
335typedef struct
336{
337 LOCAL_PARA_HDR
338 kal_uint32 sim_indx;
339 kal_uint8 psi;
340 kal_uint8 qfi;
341
342} tftlib_update_deact_qr_list_to_del_qf_struct;
343
344
345typedef struct
346{
347 LOCAL_PARA_HDR
348 kal_uint32 sim_indx;
349 tftlib_trc_func_name_enum tftlib_api;
350
351} tftlib_generic_api_req_struct;
352
353
354typedef struct
355{
356 LOCAL_PARA_HDR
357 kal_uint32 sim_indx;
358 kal_uint8 psi;
359 kal_uint8 qfi;
360 kal_uint8 rule_idx;
361 pkt_filter_act_enum action;
362 pkt_filter_struct pf;
363 kal_bool is_pf_act_list_null;
364
365} tftlib_rqos_set_applied_qr_struct;
366
367typedef struct
368{
369 LOCAL_PARA_HDR
370 kal_uint32 sim_indx;
371 kal_uint8 psi;
372 kal_uint8 NextQri;
373
374} tftlib_qr_get_pf_act_list_struct;
375
376typedef struct
377{
378 LOCAL_PARA_HDR
379 kal_uint32 sim_indx;
380 kal_uint8 ebi;
381
382} tftlib_tft_get_pf_act_list_struct;
383
384typedef struct
385{
386 LOCAL_PARA_HDR
387 kal_uint32 sim_indx;
388 kal_uint8 psi;
389 kal_uint8 qfi;
390
391} tftlib_qf_has_any_rule_struct;
392
393typedef struct
394{
395 LOCAL_PARA_HDR
396 kal_uint32 sim_indx;
397 kal_uint8 cid;
398 tft_compose_type_enum tft_compose_type;
399 bearer_type_enum bearer_type;
400 tft_bearer_act_enum bearer_act;
401 bcm_enum bcm;
402 rat_ind_enum rat;
403
404} tftlib_compose_tft_to_nw_struct;
405
406
407typedef struct
408{
409 LOCAL_PARA_HDR
410 kal_uint32 sim_indx;
411 kal_uint8 psi;
412 kal_uint8 qfi;
413 kal_uint8 cid;
414 tft_compose_type_enum tft_compose_type;
415 bearer_type_enum bearer_type;
416 vg_act_enum vg_act;
417
418} tftlib_compose_and_encode_qrs_to_nw_struct;
419
420typedef struct
421{
422 LOCAL_PARA_HDR
423 kal_uint32 sim_indx;
424 kal_uint8 psi;
425 tft_deact_qr_list_struct deact_qr_list;
426
427} tftlib_compose_and_encode_deact_qr_list_to_nw_struct;
428
429
430typedef struct
431{
432 LOCAL_PARA_HDR
433 kal_uint32 sim_indx;
434 kal_uint8 psi;
435 kal_uint8 qfi;
436 kal_uint8 cid;
437
438} tftlib_set_cid_for_applied_qr_struct;
439
440typedef struct
441{
442 LOCAL_PARA_HDR
443 kal_uint32 sim_indx;
444 kal_uint8 ebi;
445 kal_uint8 cid;
446
447} tftlib_set_cid_for_applied_tft_struct;
448
449typedef struct
450{
451 LOCAL_PARA_HDR
452 kal_uint32 sim_indx;
453 kal_uint8 ebi;
454
455} tftlib_construct_context_for_default_bearer_wo_tft_struct;
456
457typedef struct
458{
459 LOCAL_PARA_HDR
460 kal_uint32 sim_indx;
461 kal_uint8 cid;
462 tft_ctxt_type_enum tft_ctxt_type;
463
464} tftlib_del_tft_struct;
465
466typedef struct
467{
468 LOCAL_PARA_HDR
469 kal_uint32 sim_indx;
470 tftlib_trc_func_name_enum del_api;
471 kal_uint8 psi; // valid for TFTLIB_DEL_APPLIED_QR_BY_PSI, TFTLIB_DEL_APPLIED_QR_BY_PSI_QFI, TFTLIB_DEL_APPLIED_QR_BY_PSI_QRI
472 kal_uint8 qfi; // valid for TFTLIB_DEL_APPLIED_QR_BY_PSI_QFI
473 kal_uint8 qri; // valid for TFTLIB_DEL_APPLIED_QR_BY_PSI_QRI
474 kal_uint8 ebi; // valid for TFTLIB_DEL_APPLIED_TFT_BY_EBI
475 tft_ctxt_type_enum tft_ctxt_type;
476 kal_bool is_pf_act_list_null;
477} tftlib_del_applied_tft_or_qr_struct;
478
479typedef struct
480{
481 LOCAL_PARA_HDR
482 kal_uint32 sim_indx;
483
484} tftlib_del_all_tft_struct;
485
486
487typedef struct
488{
489 LOCAL_PARA_HDR
490 kal_uint32 sim_indx;
491 kal_uint8 cid;
492 tft_info_list_struct tft_list;
493
494} tftlib_get_user_defined_tft_struct;
495
496
497typedef struct
498{
499 LOCAL_PARA_HDR
500 kal_uint32 sim_indx;
501 kal_uint8 cid;
502
503} tftlib_get_applied_tft_struct;
504
505typedef struct
506{
507 LOCAL_PARA_HDR
508 kal_uint32 sim_indx;
509 kal_uint8 cid;
510
511} tftlib_get_applied_qr_struct;
512
513
514typedef struct
515{
516 LOCAL_PARA_HDR
517 kal_uint32 sim_indx;
518 kal_uint8 cid;
519 tft_info_struct tft;
520 rat_ind_enum rat;
521 etft_enum etft;
522
523} tftlib_set_user_defined_tft_struct;
524
525typedef struct
526{
527 LOCAL_PARA_HDR
528 kal_uint32 sim_indx;
529 kal_uint8 cid;
530 kal_bool qri_present;
531 kal_uint8 qri;
532 kal_uint8 delpf_id;
533 rat_ind_enum rat;
534} tftlib_set_usr_delpf_struct;
535
536typedef struct
537{
538 LOCAL_PARA_HDR
539 kal_uint32 sim_indx;
540 kal_uint8 cid;
541 kal_bool qri_present;
542 kal_uint8 qri;
543} tftlib_get_usr_delpf_struct;
544
545typedef struct
546{
547 LOCAL_PARA_HDR
548 kal_uint32 sim_indx;
549 kal_uint8 cid;
550} tftlib_clear_usr_delpf_struct;
551
552typedef struct
553{
554 LOCAL_PARA_HDR
555 kal_uint32 sim_indx;
556 kal_uint8 cid;
557 kal_uint8 lnkpf_id;
558 rat_ind_enum rat;
559} tftlib_set_usr_lnkpf_struct;
560
561typedef struct
562{
563 LOCAL_PARA_HDR
564 kal_uint32 sim_indx;
565 kal_uint8 cid;
566} tftlib_get_usr_lnkpf_struct;
567
568typedef struct
569{
570 LOCAL_PARA_HDR
571 kal_uint32 sim_indx;
572 kal_uint8 cid;
573} tftlib_clear_usr_lnkpf_struct;
574
575typedef struct
576{
577 LOCAL_PARA_HDR
578 kal_uint32 sim_indx;
579 kal_uint8 cid;
580 kal_uint8 primary_cid;
581 bearer_type_enum bearer_type;
582 tft_info_struct tcm_user_defined_tft;
583
584} tftlib_define_epsb_context_struct;
585
586
587typedef struct
588{
589 LOCAL_PARA_HDR
590 kal_uint32 sim_indx;
591 kal_uint8 cid;
592 kal_uint8 bearer_id;
593 kal_uint8 linked_bearer_id;
594 bearer_type_enum bearer_type;
595 tft_info_struct tcm_applied_tft;
596 tft_info_struct tcm_user_defined_tft;
597} tftlib_act_epsb_context_struct;
598
599typedef struct
600{
601 LOCAL_PARA_HDR
602 kal_uint32 sim_idx;
603 kal_uint8 rule_idx;
604} tftlib_get_rqos_rule_struct;
605
606
607
608
609//#endif /* #ifdef __TFTLIB_UT__ */
610
611
612typedef struct
613{
614 LOCAL_PARA_HDR
615 tft_validate_result_enum tftlib_ret_decode_result;
616 tft_info_struct tftlib_ret_tft;
617 tft_fail_action_enum fail_action;
618
619} tftlib_tft_decode_exec_result_struct;
620
621
622typedef struct
623{
624 LOCAL_PARA_HDR
625 kal_bool tftlib_ret_func_result;
626 kal_uint16 tft_raw_len;
627 kal_uint8 tftlib_ret_tft_raw[MAX_TFT_LEN];
628
629} tftlib_tft_encode_exec_result_struct;
630
631
632typedef struct
633{
634 LOCAL_PARA_HDR
635 kal_bool tftlib_ret_func_result;
636 kal_uint16 qrs_raw_len;
637 kal_uint8 qrs_raw[MAX_QOS_RULES_LEN];
638
639} tftlib_qrs_encode_exec_result_struct;
640
641
642typedef struct
643{
644 LOCAL_PARA_HDR
645 pkt_filter_act_list_struct tftlib_ret_pf_act_list;
646 tft_deact_bearer_list_struct tftlib_ret_deact_bearer_list;
647 tft_info_struct tcm_applied_tft;
648
649} tftlib_set_applied_tft_exec_result_struct;
650
651
652typedef struct
653{
654 LOCAL_PARA_HDR
655 kal_bool result;
656 pkt_filter_act_list_struct tftlib_ret_pf_act_list;
657 tft_deact_qr_list_struct tftlib_ret_deact_qr_list;
658 tft_info_struct tcm_applied_qr;
659
660} tftlib_set_applied_qr_exec_result_struct;
661
662
663typedef struct
664{
665 LOCAL_PARA_HDR
666 kal_bool result;
667 pkt_filter_act_list_struct tftlib_ret_pf_act_list;
668 tftlib_rqos_rule_struct rqos_applied_qr;
669
670} tftlib_rqos_set_applied_qr_exec_result_struct;
671
672
673typedef struct
674{
675 LOCAL_PARA_HDR
676 kal_bool tftlib_ret_func_result;
677 tft_info_struct tftlib_ret_tft;
678
679} tftlib_compose_tft_to_nw_exec_result_struct;
680
681
682typedef struct
683{
684 LOCAL_PARA_HDR
685 tft_info_struct tcm_applied_tft;
686 tft_info_struct tcm_user_defined_tft;
687
688} tftlib_current_tft_context_status_struct; // used when tftlib_del_tft / tftlib_get_user_defined_tft / tftlib_get_applied_tft is called
689
690
691typedef struct
692{
693 LOCAL_PARA_HDR
694 tftlib_trc_func_name_enum tftlib_api;
695 kal_bool tftlib_exec_result;
696 tft_validate_result_enum tftlib_validate_result;
697 tft_fail_action_enum fail_action;
698
699} tftlib_generic_exec_result_struct;
700
701
702typedef struct
703{
704 LOCAL_PARA_HDR
705 tftlib_qf_has_rule_enum result;
706
707} tftlib_qf_has_any_rule_exec_result_struct;
708
709typedef struct
710{
711 LOCAL_PARA_HDR
712 kal_bool result;
713} tftlib_rqos_set_timer_exec_result_struct;
714
715typedef struct
716{
717 LOCAL_PARA_HDR
718 kal_bool result;
719 pkt_filter_struct pf;
720} tftlib_rqos_add_rule_exec_result_struct;
721
722typedef struct
723{
724 LOCAL_PARA_HDR
725 kal_bool result;
726 tft_deact_qr_list_struct tftlib_ret_deact_qr_list;
727
728} tftlib_update_deact_qr_list_to_del_qf_exec_result_struct;
729
730typedef struct
731{
732 LOCAL_PARA_HDR
733 kal_bool tftlib_ret_func_result;
734 tft_info_struct tcm_user_defined_tft;
735
736} tftlib_set_user_defined_tft_exec_result_struct;
737
738typedef struct
739{
740 LOCAL_PARA_HDR
741 kal_bool tftlib_ret_func_result;
742 tft_info_struct defined_tft_qr;
743 kal_uint8 defined_tft_qr_len;
744} tftlib_get_user_defined_tft_exec_result_struct;
745
746typedef struct
747{
748 LOCAL_PARA_HDR
749 kal_bool tftlib_ret_func_result;
750 tft_info_struct applied_tft_qr;
751 tft_info_struct next_applied_tft_qr;
752 kal_uint8 applied_tft_qr_len;
753
754} tftlib_get_applied_tft_qr_exec_result_struct;
755
756typedef struct
757{
758 LOCAL_PARA_HDR
759 kal_bool tftlib_ret_func_result;
760 tft_info_struct applied_tft_qr;
761 tft_info_struct next_applied_tft_qr;
762
763} tftlib_set_cid_for_applied_tft_qr_exec_result_struct;
764
765typedef struct
766{
767 LOCAL_PARA_HDR
768 kal_bool tftlib_ret_func_result;
769 tft_info_struct applied_tft;
770
771} tftlib_construct_context_for_default_bearer_wo_tft_exec_result_struct;
772
773/* Set TFTLIB context structure */
774
775typedef struct
776{
777 LOCAL_PARA_HDR
778 kal_bool is_mtk_ap_exist;
779
780} tftlib_set_mtk_ap_status_req_struct;
781
782typedef struct
783{
784 LOCAL_PARA_HDR
785 kal_bool is_prim_log_enable;
786
787} tftlib_enable_prim_log_req_struct;
788
789
790
791/* EM message structure */
792
793
794typedef struct
795{
796 LOCAL_PARA_HDR
797 kal_bool is_em_enable;
798
799} tftlib_enable_em_info_req_struct;
800
801typedef struct
802{
803 LOCAL_PARA_HDR
804 kal_uint32 sim_indx;
805 kal_bool bearer_status_from_TCM_view;
806 bearer_type_enum bearer_type;
807 tft_proc_dir_enum proc_dir;
808 tft_bearer_act_enum bearer_action;
809 kal_uint8 cid;
810 kal_uint8 ebi;
811 kal_uint8 primary_cid;
812 kal_uint8 linked_ebi;
813
814 kal_bool applied_tft_status; // TRUE: active, FALSE: inactive or invalid
815 tft_info_struct applied_tft;
816
817 kal_uint8 tft_conflict_bearer_deact_num;
818 kal_uint8 tft_conflict_bearer_deact_list[TFTLIB_MAX_BEARER_CTXT_NUM];
819
820} em_tftlib_applied_tft_update_ind_struct;
821
822
823typedef struct
824{
825 LOCAL_PARA_HDR
826 kal_uint32 sim_indx;
827 kal_bool bearer_status_from_TCM_view;
828 bearer_type_enum bearer_type;
829 kal_uint8 cid;
830 kal_uint8 ebi;
831 kal_uint8 primary_cid;
832 kal_uint8 linked_ebi;
833
834 kal_bool is_cgtft_set;
835 kal_bool cgtft_result;
836 pkt_filter_struct cgtft_content;
837
838 kal_bool is_egdelpf_set;
839 kal_bool egdelpf_result;
840 kal_uint8 delpf_id;
841
842 kal_bool is_eglnkpf_set;
843 kal_bool eglnkpf_result;
844 kal_uint8 lnkpf_id;
845
846 kal_bool user_defined_tft_status;
847 tft_info_struct user_defined_tft;
848
849} em_tftlib_user_defined_tft_update_ind_struct;
850
851
852typedef struct
853{
854 LOCAL_PARA_HDR
855 kal_uint32 sim_indx;
856 kal_bool bearer_status_from_TCM_view;
857 bearer_type_enum bearer_type;
858 tft_proc_dir_enum proc_dir;
859 tft_bearer_act_enum bearer_action;
860 kal_uint8 cid;
861 kal_uint8 ebi;
862 kal_uint8 primary_cid;
863 kal_uint8 linked_ebi;
864
865 tft_validate_result_enum nw_assigned_tad_validate_result;
866 tft_info_struct nw_assigned_tad;
867
868} em_tftlib_nw_assigned_tad_update_ind_struct;
869
870
871typedef struct
872{
873 LOCAL_PARA_HDR
874 kal_uint32 sim_indx;
875 kal_bool bearer_status_from_TCM_view;
876 bearer_type_enum bearer_type;
877 tft_bearer_act_enum bearer_action;
878 kal_uint8 cid;
879 kal_uint8 ebi;
880 kal_uint8 primary_cid;
881 kal_uint8 linked_ebi;
882
883 tft_compose_type_enum compose_type;
884 kal_bool ue_composed_tad_validate_result;
885 tft_info_struct ue_composed_tad;
886
887} em_tftlib_ue_composed_tad_update_ind_struct;
888
889
890typedef struct
891{
892 LOCAL_PARA_HDR
893 kal_uint32 sim_indx;
894 kal_uint8 psi;
895 kal_uint32 t3583;
896} tftlib_rqos_set_timer_struct;
897
898typedef struct
899{
900 LOCAL_PARA_HDR
901 kal_uint32 t3583;
902} tftlib_ipfc_rqos_enable_struct;
903
904typedef struct
905{
906 LOCAL_PARA_HDR
907 kal_uint8 info_cnt;
908 ipc_rq_info_t rq_info;
909} tftlib_ipcore_nas_rq_info_struct;
910
911typedef struct
912{
913 LOCAL_PARA_HDR
914} tftlib_usir_handle_struct;
915
916typedef struct {
917
918 LOCAL_PARA_HDR
919 tftlib_trc_func_name_enum tftlib_api;
920
921 // count info
922 kal_uint8 total_qos_flow_count;
923 kal_uint8 total_qos_rule_count;
924 kal_uint16 total_pkt_filter_count;
925 kal_uint8 pdus_info_len;
926
927 // pdu session info
928 pdus_info_struct pdus_info[MAX_NUM_OF_SUPPORTED_PDUS];
929} tftlib_pdu_session_info_struct;
930
931
932typedef struct {
933
934 LOCAL_PARA_HDR
935 tftlib_trc_func_name_enum tftlib_api;
936
937 // count info
938 kal_uint16 total_pkt_filter_count;
939 kal_uint8 bearer_info_len;
940
941 // pdu session info
942 bearer_info_struct bearer_info[TFTLIB_MAX_BEARER_CTXT_NUM];
943} tftlib_bearer_info_struct;
944
945
946/* Packet filter struct for debug */
947typedef struct
948{
949 kal_uint8 id; // Packet filter index
950 kal_uint8 precedence; // Packet filter evaluation precedence index
951 kal_bool pf_is_occupied; // This packet filter is used or not
952}pkt_filter_dbg_struct;
953
954typedef struct
955{
956 kal_uint16 mem_alloc_num;
957 kal_uint16 mem_free_num;
958}tftlib_ctrl_buf_statistics_struct;
959
960typedef struct
961{
962 void *buf_addr;
963 pkt_filter_struct **pf_ptr;
964}tftlib_pf_in_ctrl_buff_struct;
965
966typedef struct
967{
968 void *buf_addr;
969 kal_char *file_name;
970 kal_uint32 line;
971}tftlib_non_pf_in_ctrl_buff_struct;
972
973typedef struct
974{
975 tftlib_pf_in_ctrl_buff_struct pf_alloc_mem[TFTLIB_MAX_PF_IN_CTRL_BUF_NUM];
976 kal_uint16 pf_alloc_mem_cnt;
977 tftlib_non_pf_in_ctrl_buff_struct non_pf_alloc_mem[TFTLIB_MAX_NON_PF_IN_CTRL_BUF_NUM];
978 tftlib_ctrl_buf_statistics_struct tftlib_ctrl_buf_statistics;
979}tftlib_ctrl_buff_dbg_struct;
980
981typedef struct{
982 kal_uint8 pf_occupied_num_in_pool;
983 pkt_filter_dbg_struct pf_dbg_pool[TFTLIB_MAX_PF_NUM_IN_POOL];
984 kal_uint8 pf_alloc_num_in_ctrl_buf;
985}pf_alloc_dbg_struct;
986
987
988typedef struct
989{
990 LOCAL_PARA_HDR
991 kal_uint32 sim_indx;
992 pf_alloc_dbg_struct tftlib_pf_alloc;
993 tftlib_ctrl_buff_dbg_struct tftlib_ctrl_buf;
994} tftlib_pf_and_mem_alloc_update_status_struct;
995
996typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi5_applied_tft_update_ind_struct;
997typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi6_applied_tft_update_ind_struct;
998typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi7_applied_tft_update_ind_struct;
999typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi8_applied_tft_update_ind_struct;
1000typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi9_applied_tft_update_ind_struct;
1001typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi10_applied_tft_update_ind_struct;
1002typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi11_applied_tft_update_ind_struct;
1003typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi12_applied_tft_update_ind_struct;
1004typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi13_applied_tft_update_ind_struct;
1005typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi14_applied_tft_update_ind_struct;
1006typedef em_tftlib_applied_tft_update_ind_struct em_tftlib_ebi15_applied_tft_update_ind_struct;
1007
1008
1009typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid0_user_defined_tft_update_ind_struct;
1010typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid1_user_defined_tft_update_ind_struct;
1011typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid2_user_defined_tft_update_ind_struct;
1012typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid3_user_defined_tft_update_ind_struct;
1013typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid4_user_defined_tft_update_ind_struct;
1014typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid5_user_defined_tft_update_ind_struct;
1015typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid6_user_defined_tft_update_ind_struct;
1016typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid7_user_defined_tft_update_ind_struct;
1017typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid8_user_defined_tft_update_ind_struct;
1018typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid9_user_defined_tft_update_ind_struct;
1019typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid10_user_defined_tft_update_ind_struct;
1020typedef em_tftlib_user_defined_tft_update_ind_struct em_tftlib_cid11_user_defined_tft_update_ind_struct;
1021
1022
1023typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid0_ue_composed_tad_update_ind_struct;
1024typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid1_ue_composed_tad_update_ind_struct;
1025typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid2_ue_composed_tad_update_ind_struct;
1026typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid3_ue_composed_tad_update_ind_struct;
1027typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid4_ue_composed_tad_update_ind_struct;
1028typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid5_ue_composed_tad_update_ind_struct;
1029typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid6_ue_composed_tad_update_ind_struct;
1030typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid7_ue_composed_tad_update_ind_struct;
1031typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid8_ue_composed_tad_update_ind_struct;
1032typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid9_ue_composed_tad_update_ind_struct;
1033typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid10_ue_composed_tad_update_ind_struct;
1034typedef em_tftlib_ue_composed_tad_update_ind_struct em_tftlib_cid11_ue_composed_tad_update_ind_struct;
1035
1036
1037typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi5_nw_assigned_tad_update_ind_struct;
1038typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi6_nw_assigned_tad_update_ind_struct;
1039typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi7_nw_assigned_tad_update_ind_struct;
1040typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi8_nw_assigned_tad_update_ind_struct;
1041typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi9_nw_assigned_tad_update_ind_struct;
1042typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi10_nw_assigned_tad_update_ind_struct;
1043typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi11_nw_assigned_tad_update_ind_struct;
1044typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi12_nw_assigned_tad_update_ind_struct;
1045typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi13_nw_assigned_tad_update_ind_struct;
1046typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi14_nw_assigned_tad_update_ind_struct;
1047typedef em_tftlib_nw_assigned_tad_update_ind_struct em_tftlib_ebi15_nw_assigned_tad_update_ind_struct;
1048
1049typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi5_applied_tft_update_ind_struct;
1050typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi6_applied_tft_update_ind_struct;
1051typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi7_applied_tft_update_ind_struct;
1052typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi8_applied_tft_update_ind_struct;
1053typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi9_applied_tft_update_ind_struct;
1054typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi10_applied_tft_update_ind_struct;
1055typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi11_applied_tft_update_ind_struct;
1056typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi12_applied_tft_update_ind_struct;
1057typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi13_applied_tft_update_ind_struct;
1058typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi14_applied_tft_update_ind_struct;
1059typedef em_tftlib_applied_tft_update_ind_struct tftlib_ebi15_applied_tft_update_ind_struct;
1060typedef em_tftlib_applied_tft_update_ind_struct tftlib_applied_tft_update_ind_struct;
1061
1062
1063typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid0_user_defined_tft_update_ind_struct;
1064typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid1_user_defined_tft_update_ind_struct;
1065typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid2_user_defined_tft_update_ind_struct;
1066typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid3_user_defined_tft_update_ind_struct;
1067typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid4_user_defined_tft_update_ind_struct;
1068typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid5_user_defined_tft_update_ind_struct;
1069typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid6_user_defined_tft_update_ind_struct;
1070typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid7_user_defined_tft_update_ind_struct;
1071typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid8_user_defined_tft_update_ind_struct;
1072typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid9_user_defined_tft_update_ind_struct;
1073typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid10_user_defined_tft_update_ind_struct;
1074typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_cid11_user_defined_tft_update_ind_struct;
1075typedef em_tftlib_user_defined_tft_update_ind_struct tftlib_user_defined_tft_update_ind_struct;
1076
1077
1078typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid0_ue_composed_tad_update_ind_struct;
1079typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid1_ue_composed_tad_update_ind_struct;
1080typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid2_ue_composed_tad_update_ind_struct;
1081typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid3_ue_composed_tad_update_ind_struct;
1082typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid4_ue_composed_tad_update_ind_struct;
1083typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid5_ue_composed_tad_update_ind_struct;
1084typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid6_ue_composed_tad_update_ind_struct;
1085typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid7_ue_composed_tad_update_ind_struct;
1086typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid8_ue_composed_tad_update_ind_struct;
1087typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid9_ue_composed_tad_update_ind_struct;
1088typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid10_ue_composed_tad_update_ind_struct;
1089typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_cid11_ue_composed_tad_update_ind_struct;
1090typedef em_tftlib_ue_composed_tad_update_ind_struct tftlib_ue_composed_tad_update_ind_struct;
1091
1092
1093typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi5_nw_assigned_tad_update_ind_struct;
1094typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi6_nw_assigned_tad_update_ind_struct;
1095typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi7_nw_assigned_tad_update_ind_struct;
1096typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi8_nw_assigned_tad_update_ind_struct;
1097typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi9_nw_assigned_tad_update_ind_struct;
1098typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi10_nw_assigned_tad_update_ind_struct;
1099typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi11_nw_assigned_tad_update_ind_struct;
1100typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi12_nw_assigned_tad_update_ind_struct;
1101typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi13_nw_assigned_tad_update_ind_struct;
1102typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi14_nw_assigned_tad_update_ind_struct;
1103typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_ebi15_nw_assigned_tad_update_ind_struct;
1104typedef em_tftlib_nw_assigned_tad_update_ind_struct tftlib_nw_assigned_tad_update_ind_struct;
1105
1106#endif /* ----- #ifndef TFTLIB_MSG_STRUCT_H_ ----- */