blob: 0b667a10f52a8df8395907639e51d65e808f901e [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 * rmpc2mac_struct.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 *
48 * Author:
49 * -------
50 * -------
51 *
52 *=============================================================================
53 * HISTORY
54 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
55 *------------------------------------------------------------------------------
56 * removed!
57 *
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 *
66 * removed!
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 * removed!
85 *
86 * removed!
87 * removed!
88 * removed!
89 *
90 * removed!
91 * removed!
92 * removed!
93 *
94 * removed!
95 * removed!
96 * removed!
97 *
98 *------------------------------------------------------------------------------
99 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
100 *=============================================================================
101 ******************************************************************************/
102
103/********************************************************************************
104* Copyright Statement:
105* --------------------
106*
107* This product has been developed using a protocol stack
108* developed by Sasken Communication Technologies Limited.
109*
110********************************************************************************/
111
112#ifndef _RMPC2MAC_STRUCT_H
113#define _RMPC2MAC_STRUCT_H
114
115/*Evelyn: Remove redundant header and file */
116#include "kal_general_types.h"
117#include "rmc_peer_struct.h"
118#include "rr_common_def.h"
119
120typedef struct {
121 kal_uint8 is_valid;
122 kal_uint8 length_of_list;
123 kal_uint16 freq_list[64];
124} freq_alloc_list_struct;
125
126typedef struct {
127 kal_uint8 bit_offset;
128 kal_uint8 no_ul_assign_ptr;
129 kal_uint8 ul_assign_ptr_size;
130 kal_uint8 *ul_assign_ptr;
131} rmpc_mac_pkt_ul_assign_ind_struct;
132
133typedef struct {
134 pkt_chan_desc_struct pkt_ch_desc;
135 timing_advance_struct timing_adv;
136 freq_alloc_list_struct freq_alloc;
137 kal_uint8 no_ia_rest_octs;
138 kal_uint8 ia_rest_octs_size;
139 kal_uint8 *ia_rest_octs;
140} rmpc_mac_imm_pkt_ul_assign_ind_struct;
141
142typedef struct {
143 kal_uint8 before_time_valid;
144 channel_desc_struct chan_desc_before_time;
145 freq_alloc_list_struct freq_alloc_before_time;
146 STARTING_TIME_STRUCT_1 start_time;
147 channel_desc_struct chan_desc_after_time;
148 freq_alloc_list_struct freq_alloc_after_time;
149 kal_uint8 no_ul_asgn;
150 kal_uint8 ul_asgn_size;
151 kal_uint8 *ul_asgn;
152} rmpc_mac_pdch_pkt_ul_assign_ind_struct;
153
154typedef struct {
155 kal_uint8 bit_offset;
156 kal_uint8 no_dl_assign_ptr;
157 kal_uint8 dl_assign_ptr_size;
158 kal_uint8 *dl_assign_ptr;
159} rmpc_mac_pkt_dl_assign_ind_struct;
160
161typedef struct {
162 pkt_chan_desc_struct pkt_ch_desc;
163 timing_advance_struct timing_adv;
164 freq_alloc_list_struct freq_alloc;
165 kal_uint8 no_ia_rest_octs;
166 kal_uint8 ia_rest_octs_size;
167 kal_uint8 *ia_rest_octs;
168} rmpc_mac_imm_pkt_dl_assign_ind_struct;
169
170typedef struct {
171 kal_uint8 before_time_valid;
172 channel_desc_struct chan_desc_before_time;
173 freq_alloc_list_struct freq_alloc_before_time;
174 STARTING_TIME_STRUCT_1 start_time;
175 channel_desc_struct chan_desc_after_time;
176 freq_alloc_list_struct freq_alloc_after_time;
177 kal_uint8 no_dl_asgn;
178 kal_uint8 dl_asgn_size;
179 kal_uint8 *dl_asgn;
180} rmpc_mac_pdch_pkt_dl_assign_ind_struct;
181
182// Evelyn : merge control message indication ro RMPC as mac_rmpc_ctrl_msg_ind
183#if 0
184/* under construction !*/
185/* under construction !*/
186/* under construction !*/
187/* under construction !*/
188/* under construction !*/
189/* under construction !*/
190/* under construction !*/
191/* under construction !*/
192/* under construction !*/
193/* under construction !*/
194/* under construction !*/
195/* under construction !*/
196/* under construction !*/
197/* under construction !*/
198/* under construction !*/
199#endif
200
201/* Exce 030827: Change interface; RES_REQ fowarded back to MAC is kept in the primitive itself */
202typedef struct {
203 LOCAL_PARA_HDR
204 /* Evelyn 20090415: Merge R6 */
205 // Evelyn MTBF: Change the packet access structure
206 multiple_res_req_struct res_req_msg; /* Exce 030827: Note that forwarded back RES_REQ in the primitve is ALWAYS valid */
207 ts_frame_no_struct ts_frame_no;
208 kal_uint8 access_type;
209 pkt_assign_type_enum pkt_assign_type_tag;
210 union {
211 rmpc_mac_pkt_ul_assign_ind_struct pkt_ul_assign;
212 rmpc_mac_imm_pkt_ul_assign_ind_struct imm_ul_assign;
213 rmpc_mac_pdch_pkt_ul_assign_ind_struct pdch_ul_assign;
214 } pkt_assign_type_value;
215} rmpc_mac_ul_assign_ind_struct;
216
217/* Exce 030827: Change interface; RES_REQ fowarded back to MAC is kept in the primitive itself, also remove unnecessary fields. */
218typedef struct {
219 LOCAL_PARA_HDR
220// kal_uint8 no_res_req_msg;
221// kal_uint8 res_req_msg_size;
222 kal_bool is_res_req_msg_valid;
223/* Evelyn 20090415: Merge R6 */
224 multiple_res_req_struct res_req_msg;
225 ts_frame_no_struct ts_frame_no;
226 pkt_assign_type_enum pkt_assign_type_tag;
227 union {
228 rmpc_mac_pkt_dl_assign_ind_struct pkt_dl_assign;
229 rmpc_mac_imm_pkt_dl_assign_ind_struct imm_dl_assign;
230 rmpc_mac_pdch_pkt_dl_assign_ind_struct pdch_dl_assign;
231 } pkt_assign_type_value;
232} rmpc_mac_dl_assign_ind_struct;
233
234typedef struct {
235 LOCAL_PARA_HDR
236 kal_uint8 ready_flag;
237 kal_uint8 conf_reqd;
238 kal_uint8 no_rmpc_msg_ptr;
239 kal_uint8 rmpc_msg_ptr_size;
240 kal_uint8 *rmpc_msg_ptr;
241} rmpc_mac_si_info_ready_ind_struct;
242
243/* Lanslo 20051102: for MNT */
244#if (!defined(__MTK_TARGET__)) || defined(__MAC_SHOW_TRANS_DATA__)
245typedef struct {
246 LOCAL_PARA_HDR
247 tbf_rel_type_enum rel_cause;
248 kal_bool is_for_rmpc_test;
249} rmpc_mac_cell_status_ind_struct;
250#endif
251
252// Evelyn : merge control message indication ro RMPC as mac_rmpc_ctrl_msg_ind
253#if 0
254/* under construction !*/
255/* under construction !*/
256/* under construction !*/
257/* under construction !*/
258/* under construction !*/
259/* under construction !*/
260/* under construction !*/
261/* under construction !*/
262/* under construction !*/
263/* under construction !*/
264/* under construction !*/
265/* under construction !*/
266/* under construction !*/
267/* under construction !*/
268#endif
269
270/* Evelyn 20090415: Merge R6 */
271typedef struct{
272 LOCAL_PARA_HDR
273 rmpc_mac_ctrl_msg_type_enum msg_type;
274 kal_uint8* enc_data_ptr;
275 kal_uint8 req_id;
276} rmpc_mac_ctrl_msg_req_struct;
277
278typedef struct{
279 LOCAL_PARA_HDR
280 rmpc_mac_ctrl_msg_type_enum msg_type;
281 kal_uint8 req_id;
282} rmpc_mac_ctrl_msg_delete_req_struct;
283
284
285typedef enum {
286 SERV_SI_PTR,
287 PS_HO_BEGIN_TARGET_CELL_SI_PTR,
288 PS_HO_FAIL_OLD_SERV_SI_PTR
289} mac_si_ptr_query_type_enum;
290
291#endif