blob: 9dce9dafc308c31a86bde817961ee7acd0b03031 [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 * ratcm_uas_struct.h
40 *
41 * Project:
42 * --------
43 * MONZA
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * removed!
55 *
56 * removed!
57 * removed!
58 * removed!
59 *
60 * removed!
61 * removed!
62 * removed!
63 *
64 * removed!
65 * removed!
66 * removed!
67 *
68 * removed!
69 * removed!
70 * removed!
71 *
72 * removed!
73 * removed!
74 *
75 * removed!
76 * removed!
77 * removed!
78 *
79 * removed!
80 * removed!
81 * removed!
82 *
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 * removed!
99 * removed!
100 *
101 * removed!
102 * removed!
103 * removed!
104 *
105 * removed!
106 * removed!
107 * removed!
108 * removed!
109 * removed!
110 * removed!
111 *
112 * removed!
113 * removed!
114 * removed!
115 * removed!
116 * removed!
117 * removed!
118 * removed!
119 * removed!
120 * removed!
121 * removed!
122 * removed!
123 * removed!
124 * removed!
125 * removed!
126 *
127 * removed!
128 * removed!
129 *
130 * removed!
131 * removed!
132 * removed!
133 *
134 * removed!
135 * removed!
136 *
137 * removed!
138 * removed!
139 * removed!
140 *
141 * removed!
142 * removed!
143 * removed!
144 *
145 * removed!
146 * removed!
147 * removed!
148 *
149 * removed!
150 * removed!
151 * removed!
152 *
153 * removed!
154 * removed!
155 * removed!
156 *
157 * removed!
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 * removed!
165 * removed!
166 * removed!
167 * removed!
168 * removed!
169 * removed!
170 * removed!
171 * removed!
172 *
173 * removed!
174 * removed!
175 * removed!
176 *
177 * removed!
178 * removed!
179 * removed!
180 *
181 * removed!
182 * removed!
183 * removed!
184 *
185 * removed!
186 * removed!
187 * removed!
188 *
189 * removed!
190 * removed!
191 * removed!
192 *
193 * removed!
194 * removed!
195 * removed!
196 *
197 * removed!
198 * removed!
199 * removed!
200 *
201 * removed!
202 * removed!
203 * removed!
204 *
205 * removed!
206 * removed!
207 * removed!
208 *
209 * removed!
210 * removed!
211 * removed!
212 *
213 * removed!
214 * removed!
215 * removed!
216 *
217 * removed!
218 * removed!
219 * removed!
220 *
221 * removed!
222 * removed!
223 * removed!
224 *
225 * removed!
226 * removed!
227 * removed!
228 *
229 * removed!
230 * removed!
231 * removed!
232 *
233 * removed!
234 * removed!
235 * removed!
236 *
237 * removed!
238 * removed!
239 * removed!
240 *
241 * removed!
242 * removed!
243 * removed!
244 *
245 * removed!
246 * removed!
247 * removed!
248 *
249 * removed!
250 * removed!
251 * removed!
252 *
253 * removed!
254 * removed!
255 * removed!
256 ******************************************************************************/
257
258#ifndef _RATCM_UAS_STRUCT_H
259#define _RATCM_UAS_STRUCT_H
260
261/* MAUI_02828210, redundant header removal */
262#include "ratcm_uas_enums.h"
263#include "mcd_l3_inc_struct.h"
264#include "kal_general_types.h"
265#include "l3_inc_enums.h"
266#include "kal_public_api.h"
267#include "ps_public_enum.h"
268#include "l3_inc_local.h"
269#include "ps_public_struct.h"
270#include "irat_common_struct.h"
271
272typedef kal_uint16 LAC;
273typedef kal_uint16 gibi_tag_type;
274/*typedef kal_uint8 PLMN_Identity[MAX_PLMN_ID_DIGIT];*/
275typedef kal_uint32 cell_identity_type;
276
277typedef struct nas_sys_info_gsm_map_struct
278{
279 kal_uint8 numOctets;
280 kal_uint8 stringData[8];
281} nas_sys_info_gsm_map_struct;
282
283typedef struct CN_DomainSysInfo
284{
285 /* Description: Identifies the type of core network domain. This an
286 enumerated type (RRC_CN_DomainIdentity_cs_domain, RRC_CN_DomainIdentity_ps_domain). */
287 domain_id_enum cn_DomainIdentity;
288 /* Description: NAS system information (GSM-MAP) This information
289 element contains system information that belongs to the
290 non-access stratum for a GSM-MAP type of PLMN. This information
291 is transparent to RRC. It may contain either information
292 specific to one CN domain (CS or PS) or information common for
293 both CN domains (Ref: [25.331;10.3.1.9]).
294 RRC_NAS_SystemInformationGSM_MAP information element description:
295 - length - Number of bytes
296 - value[8] - Array of bytes (maximum is 8). */
297 nas_sys_info_gsm_map_struct cn_specificGSM_MAP_NAS_SysInfo;
298} CN_DomainSysInfo;
299
300typedef struct CN_DomainSysInfoList
301{
302 kal_uint8 count;
303 CN_DomainSysInfo value[MAX_CN_DOMAIN];
304} CN_DomainSysInfoList;
305
306/* UMTS security keys data structure originally used by RATCM and RRCE.
307 * Now it's reused in multimode development.
308 */
309typedef struct {
310 domain_id_enum cnDomainID;
311 kal_uint8 umts_cipheringKey[CK_LEN];
312 kal_uint8 umts_integrityKey[IK_LEN];
313} umts_security_key;
314
315typedef struct{
316 kal_bool is_valid;
317 gibi_tag_type gibi_tag;
318} gibiTag_info;
319
320/****************************/
321/* UGC_INFORMATION_BROADCAST */
322/****************************/
323/* Description: this operation consists in the broadcast from IF
324 * toward User Equipment of some information in some geographical
325 * area.
326 *
327 * a GC Information broadcast indication primitive is issued to the
328 * NAS entity UE over the General Control (GC) SAP when the RRC layer
329 * finds out that the non-access part of the system information has
330 * been changed.
331 *
332 * This information is to be used by the User Equipment for instance
333 * to choose among access points or to be taken into account during
334 * initial access. The information can also be destinated to an
335 * application.
336 *
337 * UGC Information broadcast is sent to the NAS whenever the UE, in idle mode,
338 * has started camping on a cell, and has sufficient SIBs for a connection, or
339 * if the NAS data in SIB 1 changes.In addition NAS updates optionally contained
340 * in Radio Bearer Setup, Active Set Update, etc. shall be reported using this
341 * primitive. The primitive is also used subsequently to an Inter-RAT cell re-
342 * selection / change over or Inter-RAT handover to UMTS. In that case, the
343 * primitive may be issued with "additional info flag= FALSE" to indicate that
344 * no CN information is included.
345 *
346 * Note 1: GSM-MAP NAS contains LAC & RAC with the PLMN id and UTRAN cell id.
347 * The NAS should be able to map UTRAN cell id and Location Area/Routing Area.
348 *
349 * Note 2: In connected mode, e.g. subsequently to a cell reselection, CN Common
350 * GSM_MAP NAS SysInfo is not forwarded to upper layer.
351 * Ref: [23.110-340;6.2.2.1.1] & [25.304;10.1,10.2].
352 */
353typedef struct
354{
355 LOCAL_PARA_HDR
356
357 gibi_tag_type gibi_tag;
358 cell_identity_type cell_id;
359
360 kal_uint16 update_bitmask;
361
362 #define INFO_BITMASK_CN_INFO 0x0001
363 #define INFO_BITMASK_DATA_SPEED_SUPPORT 0x0002
364 #define INFO_BITMASK_AC 0x0004
365 #define INFO_BITMASK_DSAC 0x0008
366 #define INFO_BITMASK_PPACR 0x0010
367 #define INFO_BITMASK_CSG_INFO 0x0020
368 #define INFO_BITMASK_BAND_INFO 0x0040
369
370 /* CN_INFO */
371 kal_uint8 cn_info_validity;
372
373 #define CN_Info_plmn_cellType_valid 0x01
374 #define CN_Info_cn_CommonGSM_MAP_NAS_SysInfo_valid 0x02
375 #define CN_Info_cn_DomainInformationList_valid 0x04
376
377 kal_uint8 multi_plmn_count;
378 /* Range: 1 to MAX_NUM_MULTI_PLMN. */
379 plmn_id_struct multi_plmn_id[MAX_NUM_MULTI_PLMN];
380 as_cell_type_enum multi_plmn_cell_type[MAX_NUM_MULTI_PLMN];
381 as_cell_type_enum cell_type; /* Reserved for before R6 compatible */
382 plmn_id_struct plmn_id; /* Reserved for before R6 compatible */
383
384 nas_sys_info_gsm_map_struct cn_CommonGSM_MAP_NAS_SysInfo;
385 CN_DomainSysInfoList cn_DomainSysInfoList;
386 /* END CN_INFO */
387
388 data_speed_support_enum data_speed_support; /* MAUI_02361221: H-icon display */
389
390 kal_uint16 access_class;
391
392#ifdef __R6_DSAC__
393 kal_uint8 dsac_plmn_bitmask;
394 /* "1" in LSB bit for 1st PLMN CS/PS domain DSAC valid */
395 kal_uint16 cs_dsac[MAX_NUM_MULTI_PLMN];
396 kal_uint16 ps_dsac[MAX_NUM_MULTI_PLMN];
397#endif
398
399#ifdef __PPACR_SUPPORT__
400 kal_uint8 ppacr_plmn_bitmask;
401 ppacr_info_struct ppacr_info_plmn_list[MAX_NUM_MULTI_PLMN];
402#endif
403
404 csg_access_mode_enum csg_access_mode;
405 csg_info_struct csg_info;
406 kal_uint8 band;
407} ratcm_uas_sys_info_ind_struct;
408
409typedef struct
410{
411 LOCAL_PARA_HDR
412
413 cell_identity_type cell_id;
414
415 kal_uint8 multi_plmn_count;
416 /* Range: 1 to MAX_NUM_MULTI_PLMN. */
417 plmn_id_struct multi_plmn_id[MAX_NUM_MULTI_PLMN];
418
419 kal_bool cn_CommonGSM_MAP_NAS_SysInfo_present;
420 nas_sys_info_gsm_map_struct cn_CommonGSM_MAP_NAS_SysInfo;
421 CN_DomainSysInfoList cn_DomainSysInfoList;
422} ratcm_uas_cell_global_identity_info_ind_struct;
423
424typedef struct
425{
426 LOCAL_PARA_HDR
427
428 data_speed_support_enum data_speed_support;
429} ratcm_uas_update_capability_ind_struct;
430
431typedef struct
432{
433 LOCAL_PARA_HDR
434
435 kal_bool is_usim_inserted;
436 kal_bool is_delete_pending;
437} ratcm_uas_usim_info_reset_req_struct;
438
439typedef struct
440{
441 LOCAL_PARA_HDR
442 domain_id_enum connection_domain;
443 rat_type_enum active_rat;
444
445 /* 20140715 Ming: Add this field in CELL_CHANGE_FINISH_IND and RAT_CHANGE_CNF
446 * to sync the gibi_tag value between NAS and AS after interRAT procedure.
447 * (Avoid NAS sends previous rat's gibi_tag to current rat)
448 *
449 * Related issues: MOLY00051065, ALPS01461467 and ALPS01537397
450 *
451 * Note that since only problems may happen after xG3HO now, only RRCE carries this field.
452 */
453 gibiTag_info gibiTag_sync;
454} ratcm_rrce_cell_change_finish_ind_struct;
455
456typedef struct{
457 LOCAL_PARA_HDR
458 kal_uint8 plmn_band_count;
459 plmn_band_struct plmn_band[MAX_PLMN_BAND_NUM];
460}ratcm_uas_plmn_band_ind_struct;
461
462#ifdef __GEMINI__
463typedef struct
464{
465 LOCAL_PARA_HDR
466} ratcm_rrce_no_ir_sig_proc_req_struct;
467
468typedef struct {
469 LOCAL_PARA_HDR
470 as_gemini_status_enum as_gemini_status;
471} ratcm_uas_virtual_mode_ind_struct;
472#endif /* __GEMINI__ */
473
474#ifdef __LTE_RAT__
475/* RATCM -> RRCE */
476/* CSCE and RRCE uses ratcm_uas_rat_change_req_struct jointly */
477typedef struct {
478 LOCAL_PARA_HDR
479 irat_type_enum irat_type;
480 rat_type_enum source_rat;
481 rat_type_enum target_rat;
482 void *as_info_ptr;
483 umts_security_key security_key[2];
484 csfb_indicator_enum csfb_indicator;
485 kal_bool is_lai_valid; //CSFB enhancement
486 lai_struct lai; //CSFB enhancement
487 kal_bool is_mapped_rai_valid; // For 4G3 HO, AS may not have valid plmn id. AS will derive plmn id from mapped rai.
488 rai_struct mapped_rai;
489} ratcm_uas_rat_change_req_struct;
490
491typedef struct {
492 LOCAL_PARA_HDR
493 irat_type_enum irat_type;
494 rat_type_enum source_rat;
495 rat_type_enum target_rat;
496 irat_result_enum irat_result;
497 irat_reject_cause_enum irat_reject_cause; //Reject cause when irat_result is equal to IR_RESULT_REJECT.
498 void *as_info_ptr;
499} ratcm_uas_rat_change_res_struct;
500
501/* RRCE -> RATCM */
502typedef struct {
503 LOCAL_PARA_HDR
504 irat_type_enum irat_type;
505 rat_type_enum source_rat;
506 rat_type_enum target_rat;
507 void *as_info_ptr;
508 kal_uint8 nas_sec_param_to_eutra[NAS_SECURITY_PARAM_LEN];
509} ratcm_uas_rat_change_ind_struct;
510
511/* CSCE and RRCE uses ratcm_uas_rat_change_cnf_struct jointly */
512typedef struct {
513 LOCAL_PARA_HDR
514 irat_type_enum irat_type;
515 rat_type_enum source_rat;
516 rat_type_enum target_rat;
517 irat_result_enum irat_result;
518 void *as_info_ptr;
519 domain_id_enum connection_domain;
520
521 /* 20140715 Ming: Add this field in CELL_CHANGE_FINISH_IND and RAT_CHANGE_CNF
522 * to sync the gibi_tag value between NAS and AS after interRAT procedure.
523 * (Avoid NAS sends previous rat's gibi_tag to current rat)
524 *
525 * Related issues: MOLY00051065, ALPS01461467 and ALPS01537397
526 *
527 * Note that since only problems may happen after xG3HO now, only RRCE carries this field.
528 */
529 gibiTag_info gibiTag_sync;
530} ratcm_uas_rat_change_cnf_struct;
531#endif
532
533
534#endif /* _RATCM_UAS_STRUCT_H */