blob: f4d7f3bdf0b787a3b6dc6236f55c4417b09530ee [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 * em_struct.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 * Engineer mode related structures.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *==============================================================================
54 * HISTORY
55 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
56 *------------------------------------------------------------------------------
57 * removed!
58 *
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 * removed!
66 *
67 * removed!
68 * removed!
69 * removed!
70 * removed!
71 *
72 * removed!
73 * removed!
74 * removed!
75 *
76 *
77 * removed!
78 * removed!
79 * removed!
80 *
81 * removed!
82 * removed!
83 * removed!
84 *
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 * removed!
95 *
96 * removed!
97 * removed!
98 * removed!
99 *
100 * removed!
101 * removed!
102 * removed!
103 *
104 * removed!
105 * removed!
106 * removed!
107 *
108 * removed!
109 * removed!
110 * removed!
111 * removed!
112 * removed!
113 * removed!
114 * removed!
115 *
116 * removed!
117 * removed!
118 * removed!
119 *
120 * removed!
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
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 *
158 * removed!
159 * removed!
160 * removed!
161 *
162 * removed!
163 * removed!
164 * removed!
165 *
166 * removed!
167 * removed!
168 * removed!
169 *
170 * removed!
171 * removed!
172 * removed!
173 *
174 * removed!
175 * removed!
176 * removed!
177 *
178 * removed!
179 * removed!
180 * removed!
181 *
182 * removed!
183 * removed!
184 * removed!
185 *
186 * removed!
187 * removed!
188 * removed!
189 *
190 * removed!
191 * removed!
192 * removed!
193 *
194 * removed!
195 * removed!
196 * removed!
197 *
198 * removed!
199 * removed!
200 * removed!
201 *
202 * removed!
203 * removed!
204 * removed!
205 *
206 * removed!
207 * removed!
208 * removed!
209 *
210 * removed!
211 * removed!
212 * removed!
213 *
214 * removed!
215 * removed!
216 * removed!
217 *
218 * removed!
219 * removed!
220 * removed!
221 *
222 * removed!
223 * removed!
224 * removed!
225 *
226 * removed!
227 * removed!
228 * removed!
229 *
230 * removed!
231 * removed!
232 * removed!
233 *
234 * removed!
235 * removed!
236 * removed!
237 *
238 * removed!
239 * removed!
240 * removed!
241 *
242 * removed!
243 * removed!
244 * removed!
245 *
246 * removed!
247 * removed!
248 * removed!
249 *
250 * removed!
251 * removed!
252 * removed!
253 *
254 * removed!
255 * removed!
256 * removed!
257 *
258 * removed!
259 * removed!
260 * removed!
261 *
262 * removed!
263 * removed!
264 * removed!
265 *
266 * removed!
267 * removed!
268 * removed!
269 *
270 * removed!
271 * removed!
272 * removed!
273 *
274 * removed!
275 * removed!
276 * removed!
277 * removed!
278 * removed!
279 *
280 * removed!
281 * removed!
282 * removed!
283 *
284 * removed!
285 * removed!
286 * removed!
287 *
288 * removed!
289 * removed!
290 * removed!
291 *
292 * removed!
293 * removed!
294 * removed!
295 *
296 * removed!
297 * removed!
298 * removed!
299 *
300 * removed!
301 * removed!
302 * removed!
303 *
304 * removed!
305 * removed!
306 * removed!
307 *
308 * removed!
309 * removed!
310 * removed!
311 *
312 * removed!
313 * removed!
314 * removed!
315 *
316 * removed!
317 * removed!
318 * removed!
319 *
320 * removed!
321 * removed!
322 * removed!
323 * removed!
324 *
325 * removed!
326 * removed!
327 * removed!
328 *
329 * removed!
330 * removed!
331 * removed!
332 *
333 * removed!
334 * removed!
335 * removed!
336 *
337 * removed!
338 * removed!
339 * removed!
340 *
341 * removed!
342 * removed!
343 * removed!
344 *
345 * removed!
346 * removed!
347 * removed!
348 *
349 * removed!
350 * removed!
351 * removed!
352 *
353 * removed!
354 * removed!
355 * removed!
356 *
357 * removed!
358 * removed!
359 * removed!
360 *
361 * removed!
362 * removed!
363 * removed!
364 *
365 * removed!
366 * removed!
367 * removed!
368 *
369 *------------------------------------------------------------------------------
370 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
371 *==============================================================================
372 *******************************************************************************/
373
374/********************************************************************************
375* Copyright Statement:
376* --------------------
377*
378* This product has been developed using a protocol stack
379* developed by Sasken Communication Technologies Limited.
380*
381********************************************************************************/
382
383
384#ifndef _EM_STRUCT_H
385#define _EM_STRUCT_H
386
387#include "ps_public_struct.h"
388#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
389#include "kal_general_types.h"
390/*Justin: RHR*/
391//#include "rrm_context.h"
392//#include "meas_context.h"
393#include "em_public_struct.h"
394//#include "em_l4_common_public_struct.h"
395
396#define MAX_NUM_CELL_LOCK_ARFCN 3
397
398typedef enum
399{
400 CELL_LOCK_MODE_CONDITIONED = 0,
401 CELL_LOCK_MODE_ABSOLUTE
402} em_cell_lock_mode_enum;
403
404typedef struct
405{
406 kal_uint32 mod_id;
407 em_info_enum em_info_event;
408 kal_uint8 mod_bit_mask;
409} em_info_req_mod_tbl_struct;
410
411/* To identify the EM request from */
412/* Do not change the order of the enum value */
413typedef enum
414{
415 EM_FROM_ELT, //replace EM_FROM_CATCHER
416 EM_FROM_RMMI, /* tommy add for RMMI EM support */
417 EM_FROM_MTF
418} em_source_enum;
419
420typedef enum
421{
422 EM_CAUSE_OK,
423 EM_CAUSE_INVALID_INFO_TYPE
424} em_err_cause_enum;
425
426/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
427typedef enum
428{
429 /*For quest to disable MT or not*/
430 EM_MT_NOT_ALLOWED
431} em_feature_enum;
432
433/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
434typedef enum
435{
436 /*For turn on the feature or not*/
437 EM_FEATURE_ON,
438 EM_FEATURE_OFF
439} em_feature_state_enum;
440
441/* local parameter structures */
442
443/* For L4CPS_EM_UPDATE_REQ */
444typedef struct
445{
446 LOCAL_PARA_HDR
447 em_source_enum em_src;
448 em_info_status_enum info_request[NUM_OF_EM_INFO];
449} l4cps_em_update_req_struct;
450
451/*Byron: 2006/02/15: User can trigger RR to suspend cell reselection procedure in all state or transfer state*/
452typedef struct
453{
454 LOCAL_PARA_HDR
455 kal_uint8 suspend_status; /* 0: in all RR states, 1: in RR GPRS transfer */
456} l4cps_em_cell_resel_suspend_req_struct;
457
458typedef struct
459{
460 LOCAL_PARA_HDR
461 kal_bool result; /* 0: in all RR states, 1: in RR GPRS transfer */
462 kal_uint8 cause;
463}l4cps_em_cell_resel_suspend_cnf_struct;
464
465typedef l4cps_em_cell_resel_suspend_cnf_struct l4cps_em_cell_resel_resume_cnf_struct;
466
467/*Byron: 2006/08/06: Add for cell lock*/
468typedef struct {
469 LOCAL_PARA_HDR
470 kal_bool band_indicator; /* 0: not 1900 band cell, 1: 1900 band cell*/
471 kal_uint32 enabled_bitmap; /* Ex: 00000101 => The 1st and 3rd index of the array "lock_arfcn" are valid */
472 kal_uint16 lock_arfcn[MAX_NUM_CELL_LOCK_ARFCN]; /* The cell's arfcn to be locked*/
473 em_cell_lock_mode_enum mode;
474}l4cps_em_set_cell_lock_req_struct;
475
476/*Byron: 2006/08/06: Add for cell lock*/
477typedef struct {
478 LOCAL_PARA_HDR
479 kal_bool result; /*0: Turn off, 1: Turn on*/
480}l4cps_em_set_cell_lock_cnf_struct;
481
482/*Byron: 2006/08/06: Add for cell lock*/
483/* Zengyu 20100807: add header for this structure */
484typedef struct{
485 LOCAL_PARA_HDR
486 kal_bool result;
487 kal_bool band_indicator; /*0: not 1900 band cell, 1: 1900 band cell*/
488 kal_uint32 enabled_bitmap; /* Ex: 00000101 => The 1st and 3rd index of the array "lock_arfcn" are valid */
489 kal_uint16 lock_arfcn[MAX_NUM_CELL_LOCK_ARFCN]; /* The cell's arfcn to be locked*/
490 em_cell_lock_mode_enum mode;
491}l4cps_em_get_cell_lock_cnf_struct;
492
493/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
494typedef struct
495{
496 LOCAL_PARA_HDR
497 em_feature_enum em_feature;
498 em_feature_state_enum em_feature_state;
499} l4cps_em_feature_command_req_struct;
500
501/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
502typedef struct
503{
504 LOCAL_PARA_HDR
505 em_feature_enum em_feature;
506 kal_bool result; /*0: Fail, 1: Success*/
507} l4cps_em_feature_command_cnf_struct;
508
509/* For L4CPS_EM_START_CNF, L4CPS_EM_STOP_CNF */
510typedef struct
511{
512 LOCAL_PARA_HDR
513 kal_bool result;
514 kal_uint8 cause;
515 request_info_type info_request;
516} l4cps_em_start_cnf_struct;
517
518typedef l4cps_em_start_cnf_struct l4cps_em_stop_cnf_struct;
519
520/*091020 shuang SHUANG_EM_UT shuang move to the buttom of the rr em structures
521 because codegen, the struct declare should be in front of
522 the using*/
523
524/* For L4CPS_EM_STATUS_IND */
525/* James 2012/8/15 */
526#ifndef __MTK_TARGET__
527typedef struct l4cps_em_info_req_struct_tag
528#else
529typedef struct
530#endif
531{
532 LOCAL_PARA_HDR
533 em_info_enum em_info;
534} l4cps_em_info_req_struct;
535
536typedef l4cps_em_info_req_struct l4cps_em_status_ind_struct;
537
538#if 0
539/* under construction !*/
540/* under construction !*/
541/* under construction !*/
542/* under construction !*/
543/* under construction !*/
544/* under construction !*/
545/* under construction !*/
546#endif
547
548/* brwang, 20070727, [EM Cell ID Lock function] { */
549
550#define L4C_MAX_EM_CELL_LOCK_NUM 16
551typedef struct
552{
553 LOCAL_PARA_HDR
554 kal_uint8 num_of_nc_lai;
555 rr_em_lai_info_struct nc_lai[L4C_MAX_EM_CELL_LOCK_NUM];
556} l4cps_em_set_cell_id_lock_req_struct;
557
558typedef struct
559{
560 LOCAL_PARA_HDR
561 kal_bool result;
562} l4cps_em_set_cell_id_lock_cnf_struct;
563
564/* brwang, 20070727, [EM Cell ID Lock function] } */
565
566/*mtk00924: 061106 add for network event notify*/
567typedef struct
568{
569 LOCAL_PARA_HDR
570 kal_bool is_on;
571} l4cps_em_nw_event_notify_req_struct;
572
573typedef struct
574{
575 LOCAL_PARA_HDR
576 kal_bool result;
577} l4cps_em_nw_event_notify_cnf_struct;
578
579typedef struct
580{
581 LOCAL_PARA_HDR
582 kal_uint8 group_id;
583 kal_uint32 event_id;
584} l4cps_em_nw_event_notify_ind_struct;
585
586
587/* this is the header for local parameter of EM information
588 please define your EM local parameter as below:
589typedef struct
590{
591 LOCAL_PARA_HDR
592 em_info_enum em_info;
593 your_em_info_type your_em_info;
594} your_em_struct;
595*/
596typedef struct
597{
598 LOCAL_PARA_HDR
599 em_info_enum em_info;
600} l4cps_em_info_ind_hdr_struct;
601
602typedef struct
603{
604 LOCAL_PARA_HDR
605 kal_char event[MAX_MD_EVENT_STRLEN];
606} l4cps_md_event_ind_struct;
607
608typedef struct
609{
610 LOCAL_PARA_HDR
611 em_info_enum em_info;
612 kal_bool is_turned_on;
613} l4cps_event_report_req_struct;
614
615typedef l4cps_em_info_ind_hdr_struct ipca_em_info_ind_struct;
616#endif /* ~_EM_STRUCT_H */
617