blob: 466260c34fece91558349370af4c8222c0bb427b [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 * Filename:
38 * ---------
39 * dispatcher_if.h
40 *
41 * Project:
42 * --------
43 * VMOLY
44 *
45 * Description:
46 * ------------
47 * Dispatcher interface.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *******************************************************************************/
54
55#ifndef __DISPATCHER_IF_H
56#define __DISPATCHER_IF_H
57
58#include "kal_public_api.h"
59#include "qmu_bm.h"
60#include "lhif_if.h"
61#include "upcm.h"
62
63typedef void (*dispatcher_dlvr_dl_did_f)(kal_uint32 pdn_id, upcm_did* p_head, upcm_did* p_tail, kal_uint8 protocol_idx);
64
65/**
66 * @brief dispatcher_init Dispatcher module.
67 *
68 * @return TRUE
69 */
70
71kal_bool dispatcher_init(void);
72
73/**
74 * @brief dispatcher_on_ilm
75 * Receive ILM message
76 *
77 * @param ilm
78 */
79void dispatcher_on_ilm(ilm_struct *ilm);
80
81/**
82 * @brief dispatcher_reset
83 * Reset Dispatcher module.
84 *
85 * @return TRUE
86 */
87kal_bool dispatcher_reset(void);
88
89/**
90 * @brief dispatcher_rcv_ul_gpd_by_pdn
91 * Receive UL data, data are in GPD list.
92 *
93 * @param ip_type ip type.
94 * @param pdn_id PDN Connection ID
95 * @param p_head list head. (GPD based)
96 * @param p_tail list tail. (GPD based)
97 * @param protocol_idx SIMID identifier
98 */
99void dispatcher_rcv_ul_gpd_by_pdn(ip_type_e ip_type, kal_uint32 pdn_id, qbm_gpd* p_head, qbm_gpd* p_tail, kal_uint8 protocol_idx);
100
101/**
102 * @brief dispatcher_rcv_ul_meta_queue
103 * Receive UL data, LHIF Q index based.
104 *
105 * @param start_idx startidx for Q for updated data
106 * @param end_idx endidx of Q for updated data
107 * @param queue_type LHIF Q type
108 */
109void dispatcher_rcv_ul_meta_queue(kal_uint16 start_idx, kal_uint16 end_idx, LHIF_QUEUE_TYPE queue_type);
110
111
112//API to register IPCORE DL callback function
113void dispatcher_reg_cbk_dlvr_dl_did(dispatcher_dlvr_dl_did_f pf_dlvr_did);
114
115/**
116 * @brief dispatcher_on_dl_did_cbk from wtunnel
117 * Receive DL data, DID format.
118 *
119 * @param bearer_id bearer for the data
120 * @param p_head list head. (DID based)
121 * @param p_tail list tail. (DID based)
122 * @param protocol_idx simid identifier
123 */
124void dispatcher_on_dl_did_cbk(kal_uint8 bearer_id, upcm_did* p_head, upcm_did* p_tail, kal_uint8 protocol_idx);
125
126
127/**
128 * @brief dispatcher_rcv_ul_gpd_by_ebi
129 * Receive UL data, data are in GPD list.
130 *
131 * @param ebi bearer id
132 * @param p_head list head. (GPD based)
133 * @param p_tail list tail. (GPD based)
134 * @param protocol_idx SIMID identifier
135 */
136void dispatcher_rcv_ul_gpd_by_ebi(kal_uint32 ebi, qbm_gpd* p_head, qbm_gpd* p_tail, kal_uint8 protocol_idx);
137
138#if defined(__SENSITIVE_DATA_MOSAIC__)
139/**
140 * @brief dispatcher_module_clean
141 * clean sensitive context
142 *
143 * @param
144 */
145void dispatcher_module_clean();
146#endif
147
148#endif /* __DISPATCHER_IF_H */