blob: 6048aab424cebc62efdfa9990a2f557325b0ea33 [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) 2015
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/** \file
37 *
38 * Filename:
39 * ---------
40 * mmss_def.h
41 *
42 * Project:
43 * --------
44 * UMOLY
45 *
46 * Description:
47 * ------------
48 * This file defines the public structures between MD1 and MD3.
49 *
50 * Author:
51 * -------
52 *
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
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 * removed!
75 *
76 *------------------------------------------------------------------------------
77 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
78 *============================================================================
79 ****************************************************************************/
80
81#ifndef _GMSS_MD1_MD3_COMMON_H
82#define _GMSS_MD1_MD3_COMMON_H
83
84#ifdef __cplusplus
85extern "C" {
86#endif
87
88#include "l3_inc_enums_public.h"
89
90typedef struct
91{
92 kal_uint8 mcc1;
93 kal_uint8 mcc2;
94 kal_uint8 mcc3;
95 kal_uint8 mnc1;
96 kal_uint8 mnc2;
97 kal_uint8 mnc3;
98} gmss_plmn_id_struct;
99
100typedef struct {
101 gmss_plmn_id_struct plmn_id;
102 kal_uint8 rat; /* nwsel_rat_enum */
103} gmss_plmn_id_rat_struct;
104
105typedef struct
106{
107 irat_system_type_enum rat;
108 kal_uint8 band;
109 kal_uint16 channel; /* used for 3GPP2 only */
110 kal_uint8 ef_imsi[9]; // the IMSI of UIM which adds the record
111} mmss_cdma_rec_type;
112
113typedef struct
114{
115 irat_system_type_enum rat;
116 kal_uint16 band;
117 /**< band
118 ** for GSM band ID (binary):
119 ** 0: GSM450; 1: GSM 480; 10: GSM 750; 11: GSM 850; 100: P-GMS900; 101: E-GSM900; 110: R-GSM900; 111: DCS 1800; 1000: PCS 1900
120 ** for UMTS band ID (binary):
121 ** 0: IMT-2000; 1: PCS-1900; 2: WCDMA_III_1700; 3: WCDMA_IV_1700; 4: WCDMA_V_850; 5: WCDMA_VI_800; 6: WCDMA_VII_2600; 7: WCDMA_VIII_900
122 ** for LTE band ID (binary):
123 ** 0: band 1; 1: band 2; 11: band 3; 100: band 4; 101: band 5; 110: band 6; 111: band 7; 1000: band 8;
124 ** 1001: band 9; 1010: band 10; 1011: band 11; 1100: band 12; 1101: band 13; 1110: band 14; 10001: band 17
125 */
126 gmss_plmn_id_struct plmn_id; /* used for 3GPP only */
127 kal_uint8 ef_imsi[9]; // the IMSI of SIM which adds the record
128} mmss_3gpp_rec_type;
129
130typedef union {
131
132 irat_system_type_enum rat;
133 mmss_cdma_rec_type mmss_cdma;
134 mmss_3gpp_rec_type mmss_3gpp;
135
136} mmss_sys_rec_union;
137
138typedef struct
139{
140 /* Number of system record stored in list.
141 */
142 kal_uint8 num;
143
144 /* List type of this list.
145 */
146 mmss_list_type_enum list_type;
147
148 /* Array for holding the system record references.
149 */
150 mmss_sys_rec_union sys_recs[SYS_MAX_MMSS_REC_NUM];
151
152} mmss_nv_list_struct;
153
154typedef struct
155{
156 /* Number of system record stored in list.
157 */
158 kal_uint8 num;
159
160 /* List type of this list.
161 */
162 mmss_list_type_enum list_type;
163
164 /* Array for holding the system record references.
165 */
166 mmss_3gpp_rec_type sys_recs[SYS_MAX_MMSS_REC_NUM];
167
168} mmss_3gpp_list_struct;
169
170typedef struct
171{
172 /* Number of system record stored in list.
173 */
174 kal_uint8 num;
175
176 /* List type of this list.
177 */
178 mmss_list_type_enum list_type;
179
180 /* Array for holding the system record references.
181 */
182 mmss_cdma_rec_type sys_recs[SYS_MAX_MMSS_REC_NUM];
183
184} mmss_3gpp2_list_struct;
185
186typedef union
187{
188 mmss_nv_list_struct mmss_nv_list;
189 mmss_3gpp_list_struct mmss_3gpp_list;
190 mmss_3gpp2_list_struct mmss_3gpp2_list;
191} mmss_list_union;
192
193#ifdef __cplusplus
194}
195#endif
196
197#endif /* _GMSS_MD1_MD3_COMMON_H */