blob: b7ccea6654bd89de12f79829d6edbf0b05a05676 [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 * pdn_public_defs.h
41 *
42 * Project:
43 * --------
44 *
45 *
46 * Description:
47 * ------------
48 *
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 * removed!
64 *
65 * removed!
66 * removed!
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 * removed!
77 * removed!
78 *
79 * removed!
80 * removed!
81 * removed!
82 *
83 * removed!
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 *
91 * removed!
92 * removed!
93 * removed!
94 * removed!
95 *
96 * removed!
97 * removed!
98 * removed!
99 *
100 * removed!
101 * removed!
102 *
103 * removed!
104 * removed!
105 * removed!
106 *
107 * removed!
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 * removed!
114 *
115 * removed!
116 * removed!
117 * removed!
118 * removed!
119 *
120 * removed!
121 * removed!
122 *
123 * removed!
124 * removed!
125 * removed!
126 *
127 * removed!
128 * removed!
129 *
130 * removed!
131 * removed!
132 *
133 * removed!
134 * removed!
135 * removed!
136 * removed!
137 * removed!
138 *
139 * removed!
140 * removed!
141 * removed!
142 * removed!
143 *
144 * removed!
145 * removed!
146 *
147 * removed!
148 * removed!
149 * removed!
150 *
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 *
176 *------------------------------------------------------------------------------
177 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
178 *============================================================================
179 ****************************************************************************/
180
181#ifndef __PDN_PUBLIC_DEFS_H__
182#define __PDN_PUBLIC_DEFS_H__
183
184#include "kal_public_defs.h"
185#include "d2pm_public_defs.h"
186#include "d2cm_public_defs.h"
187#include "d2rm_public_defs.h"
188#include "iwlan_public_defs.h"
189#include "atcmd_struct.h"
190
191typedef enum {
192 DCCHG_C2K_IRAT = 0,
193 DCCHG_NW_MOD_99,
194 DCCHG_NW_MOD_39,
195 //DCCHG_ROAMING,
196 DCCHG_MAX = 0x7FFFFFFF
197} data_call_change_reason_enum;
198
199typedef enum {
200 RETRY_TYPE_NO_SUGGEST,
201 RETRY_TYPE_NO_RETRY,
202 RETRY_TYPE_WITH_SUGGEST,
203 RETRY_TYPE_DEFAULT_POLICY,
204 RETRY_TYPE_MAX = 0x7FFFFFFF
205} retrytime_type_enum;
206
207typedef enum {
208 RETRY_RESET_POWER_CYCLE_OFF,
209 RETRY_RESET_POWER_CYCLE_ON,
210 RETRY_RESET_APN_CONFIG_CHANGED,
211} retrytime_reset_event_enum;
212
213
214typedef enum {
215 RESET_USER_AP,
216 RESET_USER_MD,
217 RETRY_USER_MAX = 0x7FFFFFFF
218} data_retry_reset_user_enum;
219typedef struct apn_data_retry_info {
220 kal_uint8 apn[APN_STRING_LEN];
221 ddm_apn_type_enum apn_type;
222 kal_bool error_occured;
223 kal_uint32 error_cause;
224#ifdef __TC01__
225 kal_uint16* timer_id;
226#endif
227 retrytime_type_enum retrytime_type;
228 kal_uint32 retry_time;
229 kal_uint8 retry_count;
230 kal_uint32 end_time;
231 kal_bool retry_count_exhaustible;
232 kal_bool retry_count_setted;
233 kal_bool has_power_off;
234 kal_bool is_from_mcf;
235 kal_bool is_s_nssai_present;
236 at_s_nssai_struct s_nssai;
237}apn_data_retry_info_t;
238
239typedef enum {
240 RETRY_PDN_TYPE_ALL = 0,
241 RETRY_PDN_TYPE_IMS,
242 RETRY_PDN_TYPE_EMERGENCY,
243 RETRY_PDN_TYPE_NON_IMS,
244 RETRY_PDN_TYPE_NON_EMERGENCY,
245 RETRY_PDN_TYPE__MAX = 0x7FFFFFFF
246}data_retry_pdn_type_enum;
247
248typedef enum {
249 RETRY_RAT_ALL = 0,
250 RETRY_RAT_5G,
251 RETRY_RAT_LTE,
252 RETRY_RAT_23G,
253 RETRY_RAT_MAX = 0x7FFFFFFF
254}data_retry_rat_enum;
255
256typedef struct mcf_data_retry_info {
257 data_retry_rat_enum rat;
258 data_retry_pdn_type_enum pdn_type;
259 retrytime_type_enum retry_type; // 0: NO_RETRY, 1: Retry with suggest time, 2: No suggest time
260 kal_uint16 error_cause[20];
261 kal_uint8 error_cause_count;
262 kal_uint32 retry_time[10];
263 kal_uint8 retry_time_count;
264 kal_bool all_error_cause_set;
265 kal_bool default_error_cause_set;
266 kal_uint8 retry_time_idx;
267}mcf_data_retry_info_t;
268
269typedef struct mcf_parsed_data_retry_info {
270 mcf_data_retry_info_t retry_info[20]; // we assume effective_retry_info_cnt < 20, so we use 20 for its size
271 kal_uint8 effective_retry_info_cnt;
272 kal_bool is_valid;
273} mcf_parsed_data_retry_info_t;
274
275typedef struct pco_info {
276 kal_bool IE_present;
277 kal_uint8 IE[IE_STRING_LEN]; // string type
278 kal_bool contents_present;
279 kal_uint8 contents[AT_EGPCORDP_CONTENTS_STRING_LEN]; // string type
280} pco_info_t;
281
282#endif
283