blob: 74fda85f578e972807128ae6c6678c30321d08f0 [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 *
38 * Filename:
39 * ---------
40 * nbr_public_struct.h
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
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 * removed!
62 * removed!
63 *
64 * removed!
65 * removed!
66 * removed!
67 * removed!
68 *
69 * removed!
70 * removed!
71 *
72 * removed!
73 * removed!
74 * removed!
75 * removed!
76 *
77 * removed!
78 * removed!
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 * removed!
97 * removed!
98 *
99 * removed!
100 * removed!
101 * removed!
102 * removed!
103 *
104 * removed!
105 * removed!
106 * removed!
107 *
108 * removed!
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 * removed!
117 *
118 * removed!
119 * removed!
120 * removed!
121 *
122 * removed!
123 * removed!
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 * removed!
131 *
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
137 * removed!
138 *
139 * removed!
140 * removed!
141 * removed!
142 *
143 * removed!
144 * removed!
145 * removed!
146 *
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 * removed!
162 * removed!
163 * removed!
164 * removed!
165 * removed!
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 *
187 *------------------------------------------------------------------------------
188 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
189 *============================================================================
190 ****************************************************************************/
191
192/********************************************************************************
193* Copyright Statement:
194* --------------------
195*
196* This product has been developed using a protocol stack
197* developed by Sasken Communication Technologies Limited.
198*
199********************************************************************************/
200
201/*******************************************************************************
202* Copyright Statement:
203* --------------------
204* This software is protected by Copyright and the information contained
205* herein is confidential. The software may not be copied and the information
206* contained herein may not be used or disclosed except with the written
207* permission of MediaTek Inc. (C) 2002
208*
209*******************************************************************************
210 * FILENAME : nbr_public_struct.h
211 * SYNOPSIS :
212 *
213 * R E V I S I O N H I S T O R Y
214 *
215 */
216#ifndef _NBR_PUBLIC_STRUCT_H
217#define _NBR_PUBLIC_STRUCT_H
218
219#include "kal_general_types.h"
220#include "kal_public_defs.h"
221#include "global_type.h"
222
223#define GAS_MAX_MEASURED_CELL_NUM 6
224
225#define UAS_MAX_MEASURED_RESULTS_NUM 3
226#define UAS_MAX_CELL_MEASURED_RESULTS_NUM 6
227#define UAS_MAX_TIMESLOT_PER_SUBFRAME 7
228
229#define EAS_MAX_MEASURED_CELL_NUM 32
230
231#define NR_AS_MAX_SERVING_CELL_NUM 32
232#define NR_AS_MAX_MEASURED_CELL_NUM 32
233
234/*-----UAS cell info struct start-------------*/
235
236typedef struct
237{
238 kal_uint8 uarfcn_ul_used;
239 kal_uint16 uarfcn_ul;
240 kal_uint16 uarfcn_dl;
241} uas_freq_info_fdd_struct;
242
243typedef struct
244{
245 kal_uint16 uarfcn;
246} uas_freq_info_tdd_struct;
247
248typedef enum
249{
250 UAS_FREQ_INFO_MODE_FDD = 1,
251 UAS_FREQ_INFO_MODE_TDD,
252 UAS_FREQ_INFO_MODE_END
253} uas_freq_info_mode_enum;
254
255typedef struct uas_freq_info_mode_specific_info_struct
256{
257 kal_uint8 mode; // uas_freq_info_mode_enum
258 union
259 {
260 uas_freq_info_fdd_struct fdd;
261 uas_freq_info_tdd_struct tdd;
262 } choice;
263} uas_freq_info_mode_specific_info_struct;
264
265typedef struct
266{
267 uas_freq_info_mode_specific_info_struct mode_specific_info;
268} uas_freq_info_struct;
269
270/* Measurement results for FDD cell */
271typedef struct
272{
273 kal_uint16 psc;
274 kal_uint8 cpich_Ec_N0_used;
275 kal_uint8 cpich_Ec_N0;
276 kal_uint8 cpich_rscp_used;
277 kal_uint8 cpich_rscp;
278 kal_uint8 pathloss_used;
279 kal_uint8 pathloss;
280} uas_cell_measured_results_fdd_struct;
281
282/* Measurement results for TDD cell, not implemented now */
283typedef struct
284{
285 kal_uint8 num;
286 kal_uint8 element[2*UAS_MAX_TIMESLOT_PER_SUBFRAME];
287}uas_cell_measured_result_tdd_timeslot_iscp_struct;
288
289typedef struct
290{
291 kal_uint8 cellParameterId;
292 kal_uint8 tgsn_used;
293 kal_uint8 tgsn;
294 kal_uint8 pccpch_rscp_used;
295 kal_uint8 pccpch_rscp;
296 kal_uint8 pathloss_used;
297 kal_uint8 pathloss;
298 kal_uint8 timeSlot_iscp_used;
299 uas_cell_measured_result_tdd_timeslot_iscp_struct timeslot_iscp_list;
300
301} uas_cell_measured_results_tdd_struct;
302
303typedef enum
304{
305 UAS_CELL_MEASURED_RESULTS_MODE_FDD = 1,
306 UAS_CELL_MEASURED_RESULTS_MODE_TDD,
307 UAS_CELL_MEASURED_RESULTS_MODE_END
308} uas_cell_measured_results_mode_enum;
309
310typedef struct uas_cell_measured_results_mode_specific_info_struct
311{
312 kal_uint8 mode; // uas_cell_measured_results_mode_enum
313
314 union
315 {
316 uas_cell_measured_results_fdd_struct fdd;
317 uas_cell_measured_results_tdd_struct tdd;
318 } choice;
319} uas_cell_measured_results_mode_specific_info_struct;
320
321typedef struct
322{
323 kal_uint8 cell_id_used;
324 kal_uint32 cell_id;
325 uas_cell_measured_results_mode_specific_info_struct mode_specific_info;
326} uas_cell_measured_results_struct;
327
328/* Measured results of most 32 different cells in one UARFCN */
329typedef struct
330{
331 kal_uint8 num;
332 uas_cell_measured_results_struct element[UAS_MAX_CELL_MEASURED_RESULTS_NUM];
333} uas_cell_measured_results_list_struct;
334
335typedef struct
336{
337 kal_uint8 freq_info_used;
338 uas_freq_info_struct freq_info;
339 kal_uint8 utra_carrier_rssi_used;
340 kal_uint8 utra_carrier_rssi;
341 kal_uint8 cell_measured_results_list_used;
342 uas_cell_measured_results_list_struct cell_measured_results_list;
343} uas_measured_results_struct;
344
345/* Measurement results of most 8 different UARFCN's */
346typedef struct
347{
348 kal_uint8 num;
349 uas_measured_results_struct element[UAS_MAX_MEASURED_RESULTS_NUM];
350} uas_measured_results_list_struct;
351
352typedef struct uas_cell_plmn_id_struct
353{
354 kal_uint16 mcc;
355 kal_uint16 mnc;
356} uas_cell_plmn_id_struct;
357
358typedef struct
359{
360 kal_uint8 is_LAC_valid;
361 kal_uint16 lac;
362 kal_uint8 is_RAC_valid;
363 kal_uint8 rac;
364 kal_uint8 num_plmn_id;
365 uas_cell_plmn_id_struct plmn_id_list[6];
366} uas_cell_info_struct;
367
368typedef struct
369{
370 kal_uint8 num;
371 uas_cell_info_struct cell_info[UAS_MAX_CELL_MEASURED_RESULTS_NUM];
372} uas_cell_info_list_struct;
373
374typedef struct
375{
376 uas_cell_info_list_struct cell_info_list;
377} uas_cell_info_per_freq_struct;
378
379/* Measurement results of most 3 different UARFCN's */
380typedef struct
381{
382 kal_uint8 num_freq;
383 uas_cell_info_per_freq_struct cell_info_per_freq[UAS_MAX_MEASURED_RESULTS_NUM];
384} uas_cell_info_ext_struct;
385
386/* WCDMA cell info */
387typedef struct
388{
389 kal_uint16 mcc;
390 kal_uint16 mnc;
391 kal_uint32 uc;
392 kal_uint8 freq_info_used;
393 uas_freq_info_struct freq_info;
394 kal_uint8 psc_used;
395 kal_uint16 psc;
396 kal_uint8 measured_results_list_used;
397 uas_measured_results_list_struct measured_results_list;
398
399 // Extended information
400 uas_cell_measured_results_mode_specific_info_struct serving_meas_result;
401 uas_cell_info_struct serving_cell_ext_info;
402 uas_cell_info_ext_struct cell_info_ext_list;
403} uas_nbr_cell_info_struct;
404
405/*-----UAS cell info struct end-------------*/
406
407
408// mtk02480
409/*-----GAS cell info struct--------- */
410typedef struct
411{
412 kal_uint16 arfcn;
413 kal_uint8 bsic;
414 kal_uint8 rxlev;
415 kal_int16 rssi_in_qdbm; /* 1 means invalid */
416}gas_nbr_cell_meas_struct;
417
418typedef struct
419{
420 kal_uint16 mcc;
421 kal_uint16 mnc;
422 kal_uint16 lac;
423 kal_uint16 ci;
424}global_cell_id_struct;
425
426typedef struct
427{
428 kal_int8 nbr_meas_num;
429 gas_nbr_cell_meas_struct nbr_cells[15];
430}gas_nbr_meas_struct;
431
432
433typedef struct
434{
435 global_cell_id_struct gci;
436 kal_uint8 nbr_meas_rslt_index;
437}gas_cell_info_struct;
438
439
440typedef struct
441{
442 gas_cell_info_struct serv_info;
443 kal_uint8 ta;
444/* 091125 shuang CVM_PWR_LEV add for CVM network command power level*/
445 kal_uint8 ordered_tx_pwr_lev;
446 kal_uint8 nbr_cell_num;
447 gas_cell_info_struct nbr_cell_info[GAS_MAX_MEASURED_CELL_NUM];
448 gas_nbr_meas_struct nbr_meas_rslt;
449}gas_nbr_cell_info_struct;
450
451/*-----GAS cell info struct--end------- */
452
453/*-----EAS cell info struct start-------------*/
454
455typedef struct
456{
457 EARFCN dl_freq;
458 kal_uint16 pci; //0~503
459 kal_uint8 rsrp; //0~97
460 kal_uint8 rsrq; //0~34
461
462 kal_uint8 is_cell_id_used;
463 kal_uint32 cell_id; //0~0x0FFFFFFF
464 kal_uint16 mcc; //0~999
465 kal_uint16 mnc; //0~999
466 kal_uint8 is_2_digit_mnc; //ncell cell plmn is 2 digits or 3 digits
467 kal_uint16 tac; //0~65535
468 kal_uint8 rssi; //0~31,99
469} eas_cell_measured_results_struct;
470
471typedef struct
472{
473 kal_uint16 ta;
474 kal_uint8 s_tag_id;
475} eas_s_tag_ta_struct;
476
477/* LTE cell info */
478typedef enum {
479 EAS_NR_PDCP_INVALID = 0, // Invalid value for initialization and check
480 EAS_NR_PDCP_PRESENCE = 1, // nr pdcp is configured
481 EAS_NR_PDCP_NOT_PRESENCE = 2, // nr pdcp is not configured
482 EAS_NR_PDCP_UNKNOWN = 3 // no valid result of nr pdcp presence
483} eas_nr_pdcp_presence_enum;
484
485typedef struct
486{
487 /* Serving cell info */
488 kal_uint16 mcc; //0~999
489 kal_uint16 mnc; //0~999
490 kal_uint8 is_2_digit_mnc; //serving cell plmn is 2 digits or 3 digits
491 kal_uint32 cell_id; //0~0x0FFFFFFF
492 EARFCN dl_freq;
493 kal_uint8 ul_freq_used;
494 EARFCN ul_freq;
495 kal_uint16 pci; //0~503
496 kal_uint8 is_ta_used;
497 kal_uint16 time_advance; //0~1282
498 kal_uint8 is_rsrp_valid;
499 kal_uint8 rsrp; //0~97
500 kal_uint8 is_rsrq_valid;
501 kal_uint8 rsrq; //0~34
502 kal_uint16 tac; //0~65535
503
504 /* Neighbor cell info */
505 kal_uint8 num_nbr_cell;
506 eas_cell_measured_results_struct nbr_cell_list[EAS_MAX_MEASURED_CELL_NUM];
507
508 /* Timing advance info for sTAG */
509 eas_s_tag_ta_struct s_tag_ta;
510 kal_bool s_tag_ta_is_valid;
511 kal_uint8 rssi; //0~31,99
512
513 kal_bool is_endc_available;
514 kal_bool is_b1_nr_report_send; //for 5G icon show
515 kal_bool is_nr_cell_measured; //for 5G icon show
516 kal_bool is_nr_cap_queried;
517 eas_nr_pdcp_presence_enum nr_pdcp_bearer; //request from L4, bypass information from CHM
518} eas_nbr_cell_info_struct;
519
520/*-----EAS cell info struct--end------- */
521
522/*-----NR_AS cell info struct start-------------*/
523
524typedef struct
525{
526 kal_bool is_rsrp_valid;
527 kal_uint8 rsrp; // 0~127
528
529 kal_bool is_rsrq_valid;
530 kal_uint8 rsrq; // 0~127
531
532 kal_bool is_sinr_valid;
533 kal_uint8 sinr; // 0~127
534} ssb_measurement_struct, csi_measurement_struct;
535
536
537/* NR serving cell info */
538typedef struct
539{
540 kal_uint8 ssb_id;
541 kal_bool is_rsrp_valid;
542 kal_uint8 rsrp;
543} nr_as_ssb_info_struct;
544
545typedef struct
546{
547 kal_uint32 phys_cell_id; // 0~1007
548 kal_uint32 arfcn; // 0~3279165
549 kal_uint8 scs; // 0~4: 0=15kHz, 1=30kHz, 2=60kHz, 3=120kHz, 4=240kHz
550 kal_uint16 dl_freq_band; // 1~1024
551 kal_uint32 center_arfcn; // 0~3279165
552 kal_uint32 cell_bandwidth; // 0~400000, kHz
553
554 // In case cell broadcasts several sets of NAS sysinfo, NR AS informs
555 // first set of NAS sysinfo in SIB1 of the cell.
556
557 // NAS sys info (mcc/mnc/cell_id/tac) validity
558 kal_bool is_nas_sysinfo_valid;
559
560 kal_uint16 primary_plmn_mcc; // 0~999
561
562 kal_bool is_2_digit_mnc;
563 kal_uint16 primary_plmn_mnc; // 0~999
564
565 kal_uint64 primary_plmn_cell_id; // 36-bit
566 kal_uint32 primary_plmn_tac; // 24-bit
567
568 kal_bool is_ssb_valid;
569 ssb_measurement_struct ssb;
570
571 kal_bool is_csi_valid;
572 csi_measurement_struct csi;
573
574 kal_bool is_ta_valid;
575 kal_uint16 ta;
576
577 kal_uint8 ssb_num;
578 nr_as_ssb_info_struct ssb_list[8];
579} nr_as_serving_cell_info_struct;
580
581/* NR neighbor cell info */
582typedef struct
583{
584 kal_uint32 phys_cell_id; // 0~1007
585 kal_uint32 arfcn; // 0~3279165
586 kal_uint8 scs; // 0~4: 0=15kHz, 1=30kHz, 2=60kHz, 3=120kHz, 4=240kHz
587 kal_uint16 dl_freq_band; // 1~1024
588
589 // In case cell broadcasts several sets of NAS sysinfo, NR AS informs
590 // first set of NAS sysinfo in SIB1 of the cell.
591
592 // NAS sys info (mcc/mnc/cell_id/tac) validity
593 kal_bool is_nas_sysinfo_valid;
594
595 kal_uint16 primary_plmn_mcc; // 0~999
596
597 kal_bool is_2_digit_mnc;
598 kal_uint16 primary_plmn_mnc; // 0~999
599
600 kal_uint64 primary_plmn_cell_id; // 36-bit
601 kal_uint32 primary_plmn_tac; // 24-bit
602
603 kal_bool is_ssb_valid;
604 ssb_measurement_struct ssb;
605
606 kal_bool is_csi_valid;
607 csi_measurement_struct csi;
608
609 kal_uint8 ssb_num;
610 nr_as_ssb_info_struct ssb_list[4];
611} nr_as_cell_measured_result_struct;
612
613/* NR cell info */
614typedef struct
615{
616 kal_uint8 num_serving_cell;
617 nr_as_serving_cell_info_struct nr_serving_cell_list[NR_AS_MAX_SERVING_CELL_NUM];
618
619 kal_uint8 num_nbr_cell;
620 nr_as_cell_measured_result_struct nbr_cell_list[NR_AS_MAX_MEASURED_CELL_NUM];
621} nr_as_nbr_cell_info_struct;
622
623/*-----NR_AS cell info struct--end------- */
624
625typedef struct
626{
627 kal_uint8 is_nbr_info_valid;
628 kal_uint8 is_eas_nbr_info_valid;
629 kal_uint8 is_nr_as_nbr_info_valid;
630 eas_nbr_cell_info_struct eas_nbr_cell_info;
631 nr_as_nbr_cell_info_struct nr_as_nbr_cell_info;
632} l4c_endc_nbr_cell_info_struct;
633
634typedef union
635{
636 gas_nbr_cell_info_struct gas_nbr_cell_info;
637 uas_nbr_cell_info_struct uas_nbr_cell_info;
638 eas_nbr_cell_info_struct eas_nbr_cell_info;
639 nr_as_nbr_cell_info_struct nr_as_nbr_cell_info;
640}ps_nbr_cell_info_union_type;
641
642typedef struct l4c_nbr_cell_info_reg_cnf_struct
643{
644 LOCAL_PARA_HDR
645 kal_uint8 rat_mode;
646 kal_uint8 is_nbr_info_valid;
647 ps_nbr_cell_info_union_type ps_nbr_cell_info_union;
648} l4c_nbr_cell_info_reg_cnf_struct,l4c_nbr_cell_info_ind_struct;
649
650typedef enum
651{
652 GSM_NW_BAND_850 = 0x0001,
653 GSM_NW_BAND_E_900 = 0x0002,
654 GSM_NW_BAND_DCS_1800 = 0x0004,
655 GSM_NW_BAND_PCS_1900 = 0x0008,
656 GSM_NW_BAND_P_900 = 0x0010,
657 GSM_NW_BAND_R_900 = 0x0020,
658 GSM_NW_BAND_450 = 0x0040,
659 GSM_NW_BAND_480 = 0x0080,
660 GSM_INVALID_BAND = 0xffff
661}gsm_nw_band_enum;
662
663typedef struct gas_nw_band_info_struct
664{
665 kal_uint16 serv_band;
666 kal_uint16 nbr_band_list; /* Band value mapped to gsm_nw_band_enum */
667
668 kal_bool umts_bands_valid;
669 kal_uint16 umts_nbr_band_list[2]; /* Each bit in nbr_band_list represent the band.
670 nbr_band_list[0] bit0 represents UMTS band1.. nbr_band_list[0] bit15 represents UMTS band16
671 nbr_band_list[1] bit0 represents UMTS band17.. nbr_band_list[1] bit5 represents UMTS band22.*/
672 kal_bool lte_bands_valid;
673 kal_uint16 lte_nbr_band_list[16]; /* Each bit in lte_nbr_band_list represent the band.
674 lte_nbr_band_list[0] bit0 represents LTE band1.. lte_nbr_band_list[0] bit15 represents LTE band16
675 lte_nbr_band_list[15] bit0 represents LTE band240.. lte_nbr_band_list[15] bit15 represents LTE band256.*/
676}gas_nw_band_info_struct;
677
678typedef struct uas_nw_band_info_struct
679{
680 kal_uint8 serv_band; /* Serving Band number */
681 kal_uint16 nbr_band_list[2]; /* Each bit in nbr_band_list represent the band.
682 nbr_band_list[0] bit0 represents UMTS band1.. nbr_band_list[0] bit15 represents UMTS band16
683 nbr_band_list[1] bit0 represents UMTS band17.. nbr_band_list[1] bit5 represents UMTS band22.*/
684 kal_bool lte_bands_valid;
685 kal_uint16 lte_nbr_band_list[16]; /* Each bit in lte_nbr_band_list represent the band.
686 lte_nbr_band_list[0] bit0 represents LTE band1.. lte_nbr_band_list[0] bit15 represents LTE band16
687 lte_nbr_band_list[15] bit0 represents LTE band240.. lte_nbr_band_list[15] bit15 represents LTE band256.*/
688
689 kal_bool gsm_bands_valid;
690 kal_uint16 gsm_nbr_band_list; /* Band value mapped to gsm_nw_band_enum */
691
692
693}uas_nw_band_info_struct;
694
695typedef struct eas_nw_band_info_struct
696{
697 kal_uint16 serv_band; /* Serving Band number */
698 kal_uint16 nbr_band_list[16]; /* Each bit in nbr_band_list represent the band.
699 nbr_band_list[0] bit0 represents LTE band1.. nbr_band_list[0] bit15 represents LTE band16
700 nbr_band_list[15] bit0 represents LTE band240.. nbr_band_list[15] bit15 represents LTE band256.*/
701 kal_bool umts_bands_valid;
702 kal_uint16 umts_nbr_band_list[2]; /* Each bit in nbr_band_list represent the band.
703 nbr_band_list[0] bit0 represents UMTS band1.. nbr_band_list[0] bit15 represents UMTS band16
704 nbr_band_list[1] bit0 represents UMTS band17.. nbr_band_list[1] bit5 represents UMTS band22.*/
705
706 kal_bool gsm_bands_valid;
707 kal_uint16 gsm_nbr_band_list; /* Band value mapped to gsm_nw_band_enum */
708
709}eas_nw_band_info_struct;
710
711
712typedef union
713{
714 gas_nw_band_info_struct gas_nw_band_info;
715#ifdef __UMTS_RAT__
716 uas_nw_band_info_struct uas_nw_band_info;
717#endif
718#ifdef __LTE_RAT__
719 eas_nw_band_info_struct eas_nw_band_info;
720#endif
721#if !defined(__UMTS_RAT__) && !defined(__LTE_RAT__)
722 kal_uint32 dummy_padding;
723#endif
724}ps_nw_band_info_union_type;
725
726typedef struct l4c_nw_band_info_ind_struct
727{
728 kal_uint8 ref_count;
729 kal_uint16 msg_len;
730 kal_uint8 rat_mode;
731 kal_uint8 is_nw_band_info_valid;
732 ps_nw_band_info_union_type ps_nw_band_info_union;
733} l4c_nw_band_info_ind_struct;
734
735#ifdef __CHR_AB_INFO__
736
737//Huawei Index8 requirement: Inidication of reason for Not moving to 4G.
738typedef enum
739{
740 AS_EUTRA_INFO_NOT_AVAILABLE, // LTE info not avaialble with AS to perform measurments.
741 AS_EUTRA_CELL_NOT_FOUND, // LTE info avaialbel and triggered meansurements, but no LTE cell found.
742 AS_EUTRA_RESEL_CRIT_NOT_MET, // UE in idle and LTE measurments are going on, but cell reselection criterin not met.
743 AS_CONN_MODE_NO_HO_CCO, // UE in connected and LTE measurments are going on, either event\periodical MR not sent or NW not redirecting to 4G.
744 AS_LTE_RESEL_FAIL_S_CRI_NOT_MET, // 4G resele failed due to s criteria not satisfied.
745 AS_LTE_RESEL_FAIL_SIB_READ_ERROR, // 4G resele failed due to sib reception failed.
746 AS_LTE_RESEL_FAIL_CELL_BARRED, // 4G resele failed due to cell is barred.
747 AS_LTE_RESEL_FAIL_PLMN_MISMATCH, // 4G resele failed due to target cell's PLMN doesn't match S/E PLMN.
748 AS_LTE_RESEL_FAIL_FORBIDDEN_TA, // 4G resele failed due to target cell is in forbidden tracking area.
749 AS_3G4_HO_FAIL_PHYSICAL_CHANNEL_FAILURE, // 3G to 4G HO fail due to physical channel failure.
750 AS_3G4_HO_FAIL_FREQUENCY_NOT_IMPLEMENTED, // 3G to 4G HO fail due to evalution fail.
751 AS_3G4_HO_FAIL_PROTOCOL_ERROR, // 3G to 4G HO fail due to inconsistent or missing parameters causing protocol error
752 AS_3G4_HO_FAIL_UNSUPPORTED_CONFIGURATION, // 3G to 4G HO fail due to predefined configuration not read or default configuration not implemented..
753 AS_3G4_HO_FAIL_UNSPECIFIED_ERROR, // 3G to 4G HO fail due to unspecified error.
754 AS_LTE_CCO_FAIL_TARGET_CELL_REJECT, // CCO to 4G failed due to target cell rejected the CCO procedure
755 AS_LTE_CCO_FAIL_TARGET_CELL_NO_RESPONSE, // CCO to 4G failed due to target cell no response.
756 AS_LTE_CCO_FAIL_NAS_ABORT // CCO to 4G failed due to NAS abort
757} as_reason_not_moving_to_lte_enum;
758
759typedef enum
760{
761 NAS_LTE_CAUSE_NONE, //NO CAUSE
762 NAS_NO_USIM, //NO USIM inserted
763 NAS_LTE_CAPABILITY_NOT_SET, //SET_RAT_MODE does not have LTE
764 NAS_LTE_PS_DETACHED, //PS Attach is not requested
765 NAS_LTE_CS_SERVICE_NOT_POSSIBLE, //LTE cannot get CS normal service
766 NAS_LTE_NORMAL_SERVICE_NOT_POSSIBLE, //LTE cannot get normal service
767 NAS_LTE_IRAT_FAILED, //IRAT failed to LTE
768 NAS_LTE_HIGH_PRIO_PLMN_NOT_FOUND, //LTE PLMN not found in HIGH_PRIORITY_SEARCH
769 NAS_CS_CALL_ONGOING, //CS_CALL ongoing
770 NAS_LTE_DISABLED, //EUTRAN capability is disabled for the current PLMN
771 NAS_LTE_ENABLED_NEED_RESELECTION, //EUTRAN is enabled, need AS to reselect
772 NAS_LTE_PLMN_LOSS, //LTE cell lost
773 NAS_LTE_PLMN_NOT_FOUND_DURING_SEARCH //LTE PLMN not found during search
774} nas_reason_not_moving_to_lte_enum;
775
776typedef struct
777{
778 as_reason_not_moving_to_lte_enum as_reason; // AS reason for not moving to 4G.
779 nas_reason_not_moving_to_lte_enum nas_reason; // NAS reason for not moving to 4G.
780} ps_reason_not_moving_to_lte_struct;
781#endif /* __CHR_AB_INFO__ */
782
783#endif /* _NBR_PUBLIC_STRUCT_H */