blob: 820d0f23f9bfb90c2087b381c29b7b0e70e929a5 [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 * Filename:
38 * --------------------------------------------------------
39 * ratdm_sit_api.h
40 *
41 * Project:
42 * --------------------------------------------------------
43 *
44 *
45 * Description:
46 * --------------------------------------------------------
47 *
48 *
49 * Author:
50 * --------------------------------------------------------
51 * -------
52 *
53 * --------------------------------------------------------
54 * $Log$
55 *
56 * 12 21 2020 vend_mtb_aricent019
57 * [MOLY00535131] [MP3 Excluded][Gen97][MT6885][Petrus][TMO-US][F4L][Seattle][3G][NSN][3G_DP] DUT 3G AVG HTTP MS/SS DL worse than REF GS9 in Moderate Location (CN Phone)
58 *
59 * 07 22 2020 vend_mtb_mobiveil024
60 * [MOLY00535131] [MP3 Excluded][Gen97][MT6885][Petrus][TMO-US][F4L][Seattle][3G][NSN][3G_DP] DUT 3G AVG HTTP MS/SS DL worse than REF GS9 in Moderate Location (CN Phone)
61 *
62 * .
63 *
64 * 09 23 2019 tc.chang
65 * [MOLY00427068] [Gen97][UPCM][RATDM][ENPDCP] Dynamic SIT.
66 *
67 * 10 31 2018 tc.chang
68 * [MOLY00361478] [Gen97] Gemini Compile Option Clean Up.
69 *
70 * 09 18 2018 tc.chang
71 * [MOLY00345990] [VMOLY] Code sync.
72 *
73 * 09 14 2018 tc.chang
74 * [MOLY00345990] [VMOLY] Code sync
75 * Rollback first. Fix build error locally
76 *
77 * 07 20 2018 kiran.bm
78 * [MOLY00338295] [CODE SYNC] [R2.MP][UG][MT6761][Merlot][O1][MP3][FT][India][Delhi][VoLTE][RJIO][IDEA][Auto][Android Linux Script][SST] Modem Warning: +EWARNING: [1][643] dpcopro_mmu_drv.c #992; (timestamp: 650294582) VRB:1.ofs:0x107.pv:0x282DFC4 rfail pidx:0x340
79 * .
80 *
81 * 11 09 2017 rajesh.sastry
82 * [MOLY00288379] ?CU official test??OPPO??17031??CU??CA NS-IOT?FDD B3,active data session on B3c CA cell, start MO voice call and CSFB to WCDMA cells, voice and data session continued MO disconnect the call, fast return to LTE network and start CA
83 *
84 * 10 16 2017 ravitej.ballakur
85 * [MOLY00280838] [UMOLYA] PDCP indirect mode corrections
86 * misc ccorrection for PDCP indirect mode and UT.
87 *
88 * 09 12 2017 sean.jheng
89 * [MOLY00275212] [RATDM] Fix UT UG cases
90 *
91 * .
92 *
93 * 09 04 2017 tc.chang
94 * [MOLY00275212] [RATDM] Fix UT UG cases.
95 *
96 * 08 29 2017 ravitej.ballakur
97 * [MOLY00274506] [BIANCO][MT6763][RDIT][L+L][MTBF][PHONE][Overnight][HQ][Lab][Ericsson][HCR]Fatal error(ADDRESS_ERROR_STORE)] err_code1:0x00000005 err_code2:0x910C7E03 err_code3:0x910C7DEB
98 * .
99 *
100 * 08 23 2017 ravitej.ballakur
101 * [MOLY00268053] [Gen93] Miscelleneous changes in RATDM UG
102 * .
103 *
104 * 08 23 2017 ravitej.ballakur
105 * [MOLY00268053] [Gen93] Miscelleneous changes in RATDM UG
106 * .
107 *
108 * 08 18 2017 ming.lee
109 * [MOLY00271498] [MT6763][Bianco][N1][EIOT-3G][TW][HQ][3GSM][HSDPA][TC-IOT-HS156] throughput not stable ,MAX 17Mb/s down to 600Kb/s
110 * .
111 *
112 * 08 18 2017 ravitej.ballakur
113 * [MOLY00271871] [MT6763][Bianco][N1][WW FT][Australia][Sydney][Overnight][Sydney][SIM1:Telstra]Trigger time:[2017-08-11 18:43:45.548535] md1:(MCU_core1.vpe0.tc0(VPE2)) [Fatal error(task)] err_code1:0x00000305 err_code2:0x8888007C err_code3:0xCCCCCCCC MD Offender:UL2
114 * .
115 *
116 * 08 01 2017 ravitej.ballakur
117 * [MOLY00268053] [Gen93] Miscelleneous changes in RATDM UG
118 * .
119 *
120 * 07 25 2017 xiaokai.liu
121 * [MOLY00266539] [TDD][MD MTBF][10.67 hours] Externel (EE),0,0,99,/data/core/,1,modem,Trigger time:[2017-07-20 01:39:42.970127]md1:(MCU_core0.vpe0.tc0(VPE0))[ASSERT] file:mcu/common/driver/sleep_drv/internal/src/ostd.c line:2224p1:0xa1000302p2:
122 * 1. dont set sit information within FLC for TDD3G
123 * 2. mark resync 0xff in rat_info
124 * 3. strong mapping RATDM buffer type to UPCM buffer type.
125 *
126 * 07 24 2017 ravitej.ballakur
127 * [MOLY00266295] [MT6763][C2K][CNOP][Regression]SIM2(CU card) send MMS fail
128 * .
129 *
130 * 07 06 2017 head.hsu
131 * [MOLY00261868] [6293]UL SIT new handling
132 * RATDM-UG, RATDM-CMN-SIG part
133 *
134 * 06 20 2017 timothy.yao
135 * [MOLY00257646] [SLIM] SIT enlarges memory size of 1.73MB when bug fix.
136 * SIT size reduction in TRUNK.
137 * (verified in MP1 local build & SE3 sanity)
138 *
139 * 06 11 2017 ravitej.ballakur
140 * [MOLY00256562] [MT6763][Bianco][N1][MTBF][PHONE][Overnight][HQ][Lab][Ericsson][ASSERT] file:mcu/common/driver/dpcopro/src/dpcopro_mmu_drv.c line:1645
141 * .
142 *
143 * 06 01 2017 ravitej.ballakur
144 * [MOLY00253823] [RATDM]code changes with specific RAT combination in CMN_SIG
145 * .
146 *
147 * 05 12 2017 ravitej.ballakur
148 * [MOLY00249237] [BIANCO][MT6763][RDIT][FT][SZ][Overnight][FDD][SIM1:CU][SIM2:CU][ASSERT] file:mcu/common/driver/dpcopro/src/dpcopro_mmu_drv.c line:1635
149 * cleaning up the upcm queue on pdp deactivation.
150 *
151 * 05 08 2017 ravitej.ballakur
152 * [MOLY00246514] [BIANCO][MT6763][RDIT] Sanity fail in case 6.2 SIM1 FTP DL xMB, SIM2 MT, SIM1 DL finish in 2G
153 * dynamic copro switch for GSM.
154 *
155 * 05 03 2017 ravitej.ballakur
156 * [MOLY00246824] [BIANCO][MT6763][RDIT][PHONE][Overnight][HQ][MTBF][Lab][Ericsson][ASSERT] file:mcu/common/driver/dpcopro/src/dpcopro_mmu_drv.c line:1591
157 * Fix for ALPS03275341
158 *
159 * 04 24 2017 ravitej.ballakur
160 * [MOLY00244615] [BIANCO][MT6763][RDIT][FT][FDD][CU][SH][SIM1:CU][SIM2:NA][ASSERT] file:mcu/common/driver/dpcopro/src/dpcopro_mmu_drv.c line:1638
161 * PDU stored in RABM but PDP deactivated, copro needs to be freed
162 *
163 * 04 24 2017 ravitej.ballakur
164 * [MOLY00244588] [BIANCO][MT6763][RDIT][FT][FDD][CU][SH][SIM1:CU][SIM2:NA]Assert fail: dpcopro_mmu_drv.c 1623 - DPCOPRO
165 * Fix resetting RATDM SIT table tail and head on IRAT to LTE
166 *
167 * 04 23 2017 anurag.pancholi
168 * [MOLY00244333] [BIANCO][MT6763] RATDM Target Warning Removal
169 * .
170 *
171 * 04 20 2017 ravitej.ballakur
172 * [MOLY00243931] [BIANCO][MT6763][RDIT][PHONE][Overnight][HQ][MTBF][Lab][Ericsson][ASSERT] file:mcu/pcore/modem/nas/ratdm/ug/src/ratdm_sit_api.c line:878
173 * Fix for ALPS03258421.
174 *
175 * 04 18 2017 ravitej.ballakur
176 * [MOLY00243205] [6293] Increase the SIT_Socket to hold 2 PS
177 * Increase SIT_Socket to hold 2 PS.
178 *
179 * 01 06 2017 ravitej.ballakur
180 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
181 * merge changes from FPGA dev branch.
182 *
183 * 12 28 2016 ravitej.ballakur
184 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
185 * Fix bug while wraparound SIT.
186 *
187 * 12 26 2016 ravitej.ballakur
188 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
189 * Fixing bug in RATDM free SDU for Target and UESIM as well as fixes for PDCP HC..
190 *
191 * 10 11 2016 ravitej.ballakur
192 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
193 * Bug fix for UESIM failure 7.1.7.4.
194 *
195 * 10 04 2016 ravitej.ballakur
196 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
197 * PDCP loopback bug fix for um mode.
198 *
199 *
200 ******************************************************************************/
201
202#ifndef _RATDM_SIT_API_H
203#define _RATDM_SIT_API_H
204
205#include "kal_general_types.h"
206#include "kal_public_defs.h"
207#include "event_info_utility.h"
208#include "mcd_l3_inc_gprs_struct.h"
209#include "l3_inc_local.h"
210#include "mmi_l3_enums.h"
211#include "kal_public_api.h"
212#include "ps_ratdm_struct.h"
213#include "global_def.h"
214#include "flc2_ent_functions.h"
215#include "l3_inc_enums.h"
216#include "mcd_l3_inc_struct.h"
217#include "upcm_ul_sit.h"
218#ifdef __GEMINI__
219#include "sim_common_enums.h"
220#endif
221
222#ifdef __UMTS_RAT__
223#include "uas_common_enums.h"
224#endif
225#include "ratdm_shaq_application_api.h"
226#include "ratdm_export_api.h"
227
228
229
230/* MACRO DEFINITION */
231#ifndef __UMTS_RAT__
232#define LAST_EXTENDED_RB_ID (32) //refer to uas_common_enums.h
233#endif // ~ #ifndef __UMTS_RAT__
234/* SIT definitions */
235#define MAX_SIT_INTERFACE 2 /* To care of 2 active PS connection at the same time */
236#define M_SIT_MAX_NSAPI (15)
237#define M_SIT_SOCKET_NSAPI_ARRAY_SIZE ((M_SIT_MAX_NSAPI)+((MAX_CS_TM_Q_NUM)+(MAX_CS_UM_Q_NUM))+(1))
238#define M_SIT_SOCKET_CID_ARRAY_SIZE ((M_SIT_MAXIMUM_CONTEXT_ID)+(1))
239#define M_SIT_SOCKET_RBID_ARRAY_SIZE ((LAST_EXTENDED_RB_ID)+(1))
240
241#define M_SIT_MINIMUM_CONTEXT_ID (1)
242#define M_SIT_MAXIMUM_CONTEXT_ID ((PS_TOT_NSAPI_NUM)+((MAX_CS_TM_Q_NUM)+(MAX_CS_UM_Q_NUM)))
243#ifdef __MTK_TARGET__
244#define M_SIT_PRIO_Q_SIZE_AFTER_DISCARD 10 /* PRIO Q SIZE after head movement*/
245#endif
246#if defined(__GEMINI__)
247#define RATDM_SIT_MAX_NUM MAX_SIM_NUM
248#else
249#define RATDM_SIT_MAX_NUM 1
250#endif
251
252/* RATDM SIT operations */
253#ifdef __MTK_TARGET__
254#define RATDM_SIT_CIRC_DIST(x,y,circ_buf_size) (((y)+(circ_buf_size)-(x)) % (circ_buf_size))
255#endif
256#define RATDM_IS_SIT_TABLE_EMPTY UPCM_SIT_IS_EMPTY
257#define RATDM_IS_SIT_TABLE_FULL UPCM_SIT_IS_FULL
258#define RATDM_IS_SIT_FREE UPCM_IS_SDU_FREED
259#define RATDM_GET_SIT_ENTRY(_tbl, _idx) (ratdm_ul_sdu_info_t *)((_tbl)->p_addr + (_idx))
260#define RATDM_GET_UPCM_SIT_ENTRY(_tbl, _idx) (upcm_ul_sdu_info_t *)((_tbl)->p_addr + (_idx))
261#define RATDM_GET_SIT_HEAD_ENTRY(_tbl) RATDM_GET_SIT_ENTRY(_tbl, (_tbl)->head)
262#define RATDM_GET_SIT_TAIL_ENTRY(_tbl) RATDM_GET_SIT_ENTRY(_tbl, (_tbl)->tail)
263#define RATDM_NEXT_SIT_IDX UPCM_SIT_IDX_NEXT
264#define RATDM_NEXT_N_SIT_IDX(_idx, _n, _size) UPCM_SIT_IDX_NEXT_N((_idx), (_n), (_size))
265#define RATDM_SIT_HEAD_NEXT(_tbl) UPCM_SIT_MV_HEAD((_tbl), 1)
266#define RATDM_SIT_TAIL_NEXT(_tbl) UPCM_SIT_MV_TAIL((_tbl), 1)
267#define RATDM_SIT_SET_TAIL(_tbl, _tail) \
268{\
269 (_tbl)->tail = (_tail);\
270}
271#define RATDM_GET_SDU_BUF_TYPE UPCM_GET_SDU_BUF_TYPE
272#define RATDM_SET_SDU_BUF_TYPE UPCM_SET_SDU_BUF_TYPE
273#define RATDM_SET_SIT_FREE UPCM_SET_SDU_FREED
274#define RATDM_CLR_SIT_FREE UPCM_CLR_SDU_FREED
275#define RATDM_SIT_FLAG_BIT_BCONFIRM ((kal_uint8)0x02)
276#define RATDM_SIT_SET_BCONFIRM(sdu_info_ptr) (sdu_info_ptr->rat_info |= RATDM_SIT_FLAG_BIT_BCONFIRM)
277#define RATDM_SIT_CLR_BCONFIRM(sdu_info_ptr) (sdu_info_ptr->rat_info &= ~RATDM_SIT_FLAG_BIT_BCONFIRM)
278#define RATDM_SIT_GET_BCONFIRM(sdu_info_ptr) ((sdu_info_ptr->rat_info & RATDM_SIT_FLAG_BIT_BCONFIRM)>>1)
279#define RATDM_SIT_FLAG_BIT_PRIO ((kal_uint8)0x01)
280#define RATDM_SIT_SET_PRIO(sdu_info_ptr,x) (sdu_info_ptr->rat_info |= (x & RATDM_SIT_FLAG_BIT_PRIO))
281#define RATDM_SIT_GET_PRIO(sdu_info_ptr) ((sdu_info_ptr->rat_info) & (RATDM_SIT_FLAG_BIT_PRIO))
282
283#define RATDM_MRAK_SIT_ENTRY_AS_RESYNC(_sit) \
284{\
285 (_sit)->rat_info = 0x0;\
286}
287#define RATDM_SET_MUI_FOR_SIT(is_prio,_idx) ((is_prio <<31)|(_idx))
288
289#ifdef __RATDM_UT__
290/* Do not free RATDM UT VRB */
291#define RATDM_FREE_SIT_ENTRY UPCM_FREE_SIT_ENTRY_WO_FREE_BUF
292#else
293#define RATDM_FREE_SIT_ENTRY UPCM_FREE_SIT_ENTRY
294#endif
295
296/* SIT enums */
297/* Error codes & Return codes */
298typedef enum
299{
300 SIT_OK,
301 SIT_GENERAL_ABORT,
302 SIT_CONVENTIONAL_TRACK,
303 SIT_UPLINK_DATA_GOTO_CONVENTIONAL_TRACK = SIT_CONVENTIONAL_TRACK,
304 SIT_KICK_UL2,
305 SIT_NOT_INITIATED,
306 SIT_CANNOT_FIND_Q,
307 SIT_CANNOT_FIND_NSAPI_FROM_CONTEXT_ID,
308 SIT_NSAPI_CHECK_FAIL,
309 SIT_EXCEPTION,
310 SIT_ABORT,
311 SIT_NOT_READY,
312 SIT_CANNOT_FIND_CID_FROM_RBID
313} SIT_retCode;
314
315/**
316 * @brief buffer type
317 */
318typedef enum
319{
320 RATDM_BUF_T_VRB = BUF_T_VRB,
321 RATDM_BUF_T_PRB = BUF_T_PRB,
322 RATDM_BUF_T_FLCV2 = BUF_T_UNUSED,
323 RATDM_BUF_T_CSR = BUF_T_GPD, // could be FLCv2/GPD/others...
324 RATDM_BUF_T_NUM = BUF_T_NUM
325} ratdm_ul_sdu_buf_type_e; // refer to ul_sdu_buf_type_e enum
326
327/* SIT Structures */
328typedef struct ratdm_ps_vrb_data_req_struct_tag
329{
330 kal_bool bConfirm;
331 kal_bool isVRB; //flag set for either VRB or PRB address
332 kal_uint8 TxRbId;
333 kal_uint16 bitLength;
334 kal_uint32 MUI;
335 kal_uint8 *sdu_addr;
336 kal_uint32 sit_entry_idx;
337} ratdm_ps_vrb_data_req_struct;
338
339
340
341typedef struct ratdm_ul_sdu_info_t_tag
342{
343 kal_int16 len;
344 kal_uint8 flags; // buffer type and free-bit
345 kal_uint8 rat_info; // priority/normal
346 kal_uint32 addr;
347 //kal_uint32 npdu_num; npdu num removed to optimize RAM space
348} ratdm_ul_sdu_info_t;
349
350typedef struct ratdm_ul_sit_t_tag
351{
352 ratdm_ul_sdu_info_t *p_addr; // SIT base address
353 kal_uint32 size; // SIT size (entry #)
354 kal_uint32 head;
355 kal_uint32 tail;
356 kal_uint32 used_size; //currently used size in bytes
357} ratdm_ul_sit_t;
358
359typedef struct
360{
361 kal_uint32 *sdu_addr;
362 kal_uint16 pkt_length;
363} ratdm_sit_ut_sdu_t;
364
365
366
367extern ratdm_ul_sit_t g_ratdm_sit_pri[RATDM_SIT_MAX_NUM][UPCM_SIT_GROUP_NUM_FOR_RATDM_SIT];
368extern ratdm_ul_sit_t g_ratdm_sit_nml[RATDM_SIT_MAX_NUM][UPCM_SIT_GROUP_NUM_FOR_RATDM_SIT];
369
370/*SIT Get and query API's */
371extern void *Get_SDU_Priority_SIT(ExtendedRbId tx_rb_id, kal_uint32 *left_bits, kal_uint8 sim_interface);
372extern void *Get_SDU_Normal_SIT(ExtendedRbId tx_rb_id, kal_uint32 *left_bits, kal_uint8 sim_interface);
373extern kal_uint32 RlcQuery_Normal_SIT_LeftBits(ExtendedRbId tx_rb_id, kal_uint8 sim_interface);
374extern kal_uint32 RlcQuery_Priority_SIT_LeftBits(ExtendedRbId tx_rb_id, kal_uint8 sim_interface);
375extern void RlcFree_SIT_SDU(ExtendedRbId tx_rb_id, kal_bool IsPrioSIT, kal_uint16 sit_entry_idx, kal_uint8 sim_interface);
376extern void FDD_urlc_vrb_va_shortage_hdlr(kal_uint32 vrb_id, kal_uint32 sim_idx);
377
378/* LoopBack API's */
379extern void SIT_LBM_CreateRB(ExtendedRbId rb_id,kal_uint8 sim_interface);
380extern void SIT_LBM_ReleaseRB(ExtendedRbId rb_id,kal_uint8 sim_interface);
381
382/*Non LB RBID RABId mapping API's*/
383extern void SIT_FillRBIdNsapiMapping(ExtendedRbId RBId, kal_uint8 nsapi, kal_uint8 sim_interface);
384#ifdef __MTK_TARGET__
385extern void SIT_MapPLMNinfo(ExtendedRbId RBId, kal_uint8 nsapi, kal_uint8 sim_interface, kal_bool is_seattle_plmn);
386extern void SIT_ResetPLMNinfo(ExtendedRbId RbId, kal_uint8 nsapi, kal_uint8 sim_interface);
387#endif
388extern void SIT_EraseRBIdNsapiMapping(ExtendedRbId RBId, kal_uint8 sim_interface);
389extern void SIT_psEraseCidNsapiMapping(kal_uint8 nsapi, kal_uint8 sim_interface);
390extern void SIT_psLeaveRatUmtsFdd(kal_uint8 sim_interface);
391extern void SIT_psFillCidNsapiMapping(kal_uint8 CID, kal_uint8 nsapi, kal_uint8 sim_interface);
392
393extern void SIT_RLC_test_enqueue(ExtendedRbId rb_id,ratdm_sit_ut_sdu_t *sdu_p, kal_bool IsPrioSIT,kal_uint8 sim_interface);
394extern void SIT_psEnqueueWithOnePacket(ratdm_ps_data_req_struct *ps_data_req,kal_uint8 sim_interface);
395extern void ratdm_SIT_free_vrb(kal_uint8 *FreePdu, kal_uint8 nsapi, kal_uint8 sim_interface);
396extern void SIT_psSimUnbind_FreeEnqueuedData(kal_uint8 nsapi, kal_uint8 sim_interface);
397
398extern void ratdm_ratadp_free_ug_epsb_ul_queue(kal_uint8 nsapi, kal_uint8 sim_interface);
399
400extern void ratdm_psEnqueueWithPriorityInfo(kal_uint8 nsapi,ratcmn_ul_sdu_93_t *p_sdus, kal_uint8 enqueue_decision, kal_uint8 sim_interface);
401extern void ratdm_sit_resync_head_n_tail(ratdm_ul_sit_t *ratdm_sit_tbl, kal_uint32 start_index);
402extern kal_bool ratdm_sit_table_free_bit_check(kal_uint8 sit_tbl_idx, kal_bool is_priority, kal_uint8 sim_interface);
403extern kal_uint16 SIT_get_activated_RAB_status(kal_uint8 sim_interface);
404
405#endif /* _RATDM_SIT_API_H */