blob: 456c67d54a812bbb2440a0049816f3ac86d7a52b [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 * ddm_common_struct.h
41 *
42 * Project:
43 * --------
44 * MOLY
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 * removed!
74 *
75 * removed!
76 * removed!
77 * removed!
78 * removed!
79 *
80 * removed!
81 * removed!
82 * removed!
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 * removed!
100 *
101 * removed!
102 * removed!
103 * removed!
104 * removed!
105 *
106 * removed!
107 * removed!
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 * removed!
114 * removed!
115 *
116 * removed!
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 * removed!
125 *
126 * removed!
127 * removed!
128 * removed!
129 * removed!
130 *
131 * removed!
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
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 * removed!
157 *
158 * removed!
159 * removed!
160 * removed!
161 *
162 *------------------------------------------------------------------------------
163 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
164 *============================================================================
165 ****************************************************************************/
166
167#ifndef _DDM_COMMON_STRUCT_H
168#define _DDM_COMMON_STRUCT_H
169
170#include "kal_public_defs.h"
171#include "d2pm_public_defs.h"
172#include "atcmd_struct.h"
173#include "netinfo_common_struct.h"
174#include "ps_public_enum.h"
175
176typedef struct
177{
178 at_token_parse_result_enum S_NSSAI_parse_result;
179 at_s_nssai_struct S_NSSAI; // string type
180 at_token_parse_result_enum SSC_mode_parse_result;
181 atcmd_SSC_mode_enum SSC_mode; // integer type
182 at_token_parse_result_enum Access_type_parse_result;
183 atcmd_Access_type_enum Access_type; // integer type
184} at_eapnset_UE_local_config_struct;
185
186#define MAX_PCSCF_NUMBER 6
187
188typedef enum {
189 DDM_APN_TYPE_UNKNOWN = 0x00000000,
190 DDM_APN_TYPE_DEFAULT = 0x00000001,
191 DDM_APN_TYPE_IMS = 0x00000002,
192 DDM_APN_TYPE_MMS = 0x00000004,
193 DDM_APN_TYPE_SUPL = 0x00000008,
194 DDM_APN_TYPE_DUN = 0x00000010,
195// DDM_APN_TYPE_HIPRI = 0x00000020,
196 DDM_APN_TYPE_FOTA = 0x00000040,
197// DDM_APN_TYPE_CBS = 0x00000080,
198 DDM_APN_TYPE_EMERGENCY = 0x00000100,
199 DDM_APN_TYPE_IA = 0x00000200,
200// DDM_APN_TYPE_DM = 0x00000400,
201// DDM_APN_TYPE_WAP = 0x00000800,
202// DDM_APN_TYPE_NET = 0x00001000,
203// DDM_APN_TYPE_CMMAIL = 0x00002000,
204// DDM_APN_TYPE_TETHERING = 0x00004000,
205// DDM_APN_TYPE_RCSE = 0x00008000,
206 DDM_APN_TYPE_XCAP = 0x00010000,
207// DDM_APN_TYPE_RCS = 0x00020000,
208 DDM_APN_TYPE_RCS_PCSCF = 0x00040000,
209 DDM_APN_TYPE_VSIM = 0x00080000,
210// DDM_APN_TYPE_BIP = 0x00100000,
211 DDM_APN_TYPE_PTT = 0x00200000,
212 DDM_APN_TYPE_NW_ASSIGNED = 0x80000000,
213} ddm_apn_type_enum;
214
215/* this is a bitmap */
216typedef enum {
217 PDX_ATTR_UNKNOWN = 0x00000000,
218 PDX_ATTR_NOT_NOTIFY = 0x00000001,
219 PDX_ATTR_IS_DANGLING = 0x00000002,
220 PDX_ATTR_IS_IA = 0x00000004,
221} pdx_attribute_enum;
222
223typedef enum {
224 DDM_PDP_TYPE_NONE = 0x0,
225 DDM_PDP_TYPE_V4 = 0x1,
226 DDM_PDP_TYPE_V6 = 0x2,
227 DDM_PDP_TYPE_V4V6 = 0x3, /* V4 | V6 */
228} ddm_pdp_type_enum;
229
230typedef struct {
231 LOCAL_PARA_HDR
232 kal_uint32 sbp_id;
233 kal_uint8 mcc[MAX_MCC_STR_LEN];
234 kal_uint8 mnc[MAX_MNC_STR_LEN];
235} ddm_dsbp_ready_ind_struct;
236
237typedef struct {
238 kal_uint32 apn_type_activate; /* ddm_apn_type */
239 kal_uint32 apn_type_all; /* ddm_apn_type */
240} apn_type_info_struct;
241
242typedef struct {
243 kal_int32 p_cid; // to activate a dedicated bearer
244 kal_int32 fb_cid; // to activate an IPv4v6 fallback bearer
245 kal_int32 old_cid; // for SSC mode 3
246} cid_info_struct;
247
248typedef struct {
249 kal_bool cgdcont_req_present;
250 at_cgdcont_req_struct cgdcont_req;
251 kal_bool egpco_req_present;
252 at_egpco_req_struct egpco_req;
253} d2_legacy_at_struct;
254
255typedef struct {
256 kal_uint32 network_interface_id;
257} network_interface_id_info_struct;
258
259typedef enum
260{
261 // DDM_RES_SUCC_RETRY, not exist
262 DDM_RES_NONE = D2PM_RES_NONE,
263 DDM_RES_FAIL = D2PM_RES_FAIL,
264 DDM_RES_SUCC = D2PM_RES_SUCC,
265 // a subsequent CID
266 DDM_RES_FAIL_ABORT = D2PM_RES_FAIL_ABORT,
267 DDM_RES_SUCC_ABORT = D2PM_RES_SUCC_ABORT,
268 DDM_RES_FAIL_CONT = D2PM_RES_FAIL_CONT,
269 DDM_RES_SUCC_CONT = D2PM_RES_SUCC_CONT,
270 // otherwise
271 DDM_RES_REJ = D2PM_RES_REJ,
272 DDM_RES_RETRY = D2PM_RES_RETRY,
273 DDM_RES_MAX = 0x7FFFFFFF
274}ddm_res_enum;
275
276// => Common strcuture
277typedef atcmd_request_type_enum ddm_req_type_enum;
278//typedef at_cgpaddr_ind_struct ddm_ip_info_struct; // [GT] NOT to use at_cmd format for Wi-Fi, etc.
279typedef network_ip_info_struct ddm_ip_info_struct;
280//typedef at_cgcontrdp_ind_struct ddm_net_info_struct; // [GT] NOT to use at_cmd format for Wi-Fi, etc.
281typedef net_info_struct ddm_net_info_struct;
282typedef retry_info_struct ddm_retry_info_struct;
283
284typedef ims_info_struct ddm_ims_info_struct;
285// => AT Command interface
286typedef at_cgact_req_struct ddm_get_data_call_list_req_struct;
287typedef at_cgact_ind_struct ddm_get_data_call_list_cnf_struct;
288typedef at_cgact_ind_struct ddm_get_data_call_list_ind_struct;
289typedef at_cgcontrdp_req_struct ddm_get_dynamic_param_req_struct;
290typedef at_cgcontrdp_ind_struct ddm_get_dynamic_param_cnf_struct;
291typedef at_cgcontrdp_ind_struct ddm_get_dynamic_param_ind_struct;
292typedef at_cgscontrdp_req_struct ddm_get_secondary_dynamic_param_req_struct;
293typedef at_cgscontrdp_ind_struct ddm_get_secondary_dynamic_param_cnf_struct;
294typedef at_cgscontrdp_ind_struct ddm_get_secondary_dynamic_param_ind_struct;
295typedef at_cgpaddr_req_struct ddm_get_pdp_address_req_struct;
296typedef at_cgpaddr_ind_struct ddm_get_pdp_address_cnf_struct;
297typedef at_cgpaddr_ind_struct ddm_get_pdp_address_ind_struct;
298typedef at_cgeqosrdp_req_struct ddm_get_qos_req_struct;
299typedef at_cgeqosrdp_ind_struct ddm_get_qos_cnf_struct;
300typedef at_cgeqosrdp_ind_struct ddm_get_qos_ind_struct;
301typedef at_c5gqosrdp_req_struct ddm_get_5gqos_req_struct;
302typedef at_c5gqosrdp_ind_struct ddm_get_5gqos_cnf_struct;
303typedef at_c5gqosrdp_ind_struct ddm_get_5gqos_ind_struct;
304typedef at_cgtftrdp_req_struct ddm_get_tft_req_struct;
305typedef at_cgtftrdp_ind_struct ddm_get_tft_cnf_struct;
306typedef at_cgtftrdp_ind_struct ddm_get_tft_ind_struct;
307typedef at_eglnkpf_req_struct ddm_set_packet_filter_req_struct;
308typedef at_cgtftrdp_ind_struct ddm_set_packet_filter_cnf_struct;
309typedef at_cgtftrdp_ind_struct ddm_set_packet_filter_ind_struct;
310typedef at_eglnkpf_req_struct ddm_get_packet_filter_req_struct;
311typedef at_eglnkpf_ind_struct ddm_get_packet_filter_cnf_struct;
312typedef at_eglnkpf_ind_struct ddm_get_packet_filter_ind_struct;
313typedef at_cgcmod_req_struct ddm_modify_data_call_req_struct;
314typedef at_cmd_cnf_struct ddm_modify_data_call_cnf_struct; // [GT] at_cgcmod_req_struct does NOT exist
315typedef at_cmd_cnf_struct ddm_modify_data_call_ind_struct; // [GT] at_cgcmod_req_struct does NOT exist
316
317#endif // _DDM_COMMON_STRUCT_H
318
319