blob: 0c4df4ffa84bef86b8c29ee458db6b953e996396 [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) 2012
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 * dast_ddm_struct.h
40 *
41 * Project:
42 * --------
43 *
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 *
52 *
53 *
54 * ==========================================================================
55 * $Log$
56 *
57 * 12 06 2016 dennis.tsai
58 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
59 * add last pdn member for deact pdn cnf.
60 *
61 * 12 05 2016 chia-yu.ku
62 * [MOLY00213562] [DDM][93MD] The initial version of DAST_DATA
63 *
64 * [Detail]
65 * CGEV
66 * - NW PDN DEACT handling
67 * [Solution ] DAST Data
68 *
69 * CR-Id: MOLY00213562
70 * Feature: Data Domain Service
71 *
72 * 12 01 2016 dennis.tsai
73 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
74 * Add MSG_ID_DAST_DDM_BIND_NW_INTF_REQ for binding nw interface.
75 *
76 * 12 01 2016 dennis.tsai
77 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
78 * Add interface id and apn type to act_data_call_req_struct.
79 *
80 * 11 30 2016 dennis.tsai
81 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
82 * query apn, ipaddr, mtu after receiving +cgev.
83 * add MSG_ID_DDM_L4BPDN_CGDATA_CNF handling.
84 *
85 * 11 30 2016 chia-yu.ku
86 * [MOLY00213562] [DDM][93MD] The initial version of DAST_DATA
87 *
88 * [Detail]
89 * EAPNLOCK / EAPNSET
90 * - ATP_SET_OR_EXECUTE_MODE
91 * - ATP_READ_MODE
92 * - + Removed
93 * EAPNACT
94 * - ACT & DEACT reviewed
95 * - Co-operating with Netagent
96 * - Functionization
97 * - Bugfixing
98 * EPDN
99 * CGEV
100 * - APN from DDM
101 * IA
102 * - Not to send ACT_DATA_CALL req. and make AP interfaces up
103 * - Removing mod_dast_eapnact_set_or_execute()
104 * CGCONTRDP
105 * - Dummy
106 * CGACT
107 * - Dummy
108 *
109 * [Solution ] DAST Data
110 *
111 * CR-Id: MOLY00213562
112 * Feature: Data Domain Service
113 *
114 * 11 29 2016 chia-yu.ku
115 * [MOLY00213562] [DDM][93MD] The initial version of DAST_DATA
116 *
117 * [Detail]
118 * EAPNLOCK / EAPNSET
119 * - ATP_SET_OR_EXECUTE_MODE
120 * - ATP_READ_MODE
121 * - + Removed
122 * EAPNACT
123 * - ACT & DEACT reviewed
124 * - Co-operating with Netagent
125 * - Functionization
126 * - Bugfixing
127 * EPDN
128 * CGEV
129 * IA
130 * - Not to send ACT_DATA_CALL req. and make AP interfaces up
131 * - Removing mod_dast_eapnact_set_or_execute()
132 * CGCONTRDP
133 * - Dummy
134 * CGACT
135 * - Dummy
136 *
137 * [Solution ] DAST Data
138 *
139 * CR-Id: MOLY00213562
140 * Feature: Data Domain Service
141 *
142 * 11 23 2016 dennis.tsai
143 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
144 * change dast_ddm_act_data_call_cnf_struct member.
145 *
146 * 11 22 2016 dennis.tsai
147 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
148 * Fix dast_ddm_define_attach_pdn_ind_struct name.
149 *
150 * 11 22 2016 dennis.tsai
151 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
152 * Add urc cgev ind message interface for DAST/DDM.
153 *
154 * 11 21 2016 chia-yu.ku
155 * [MOLY00213562] [DDM][93MD] The initial version of DAST_DATA
156 *
157 * [Detail]
158 * EAPNLOCK / EAPNSET
159 * - ATP_SET_OR_EXECUTE_MODE
160 * - ATP_READ_MODE
161 * EAPNACT
162 * - ACT & DEACT reviewed
163 *
164 * [Solution ] DAST Data
165 *
166 * CR-Id: MOLY00213562
167 * Feature: Data Domain Service
168 *
169 * 11 19 2016 chia-yu.ku
170 * [MOLY00213562] [DDM][93MD] The initial version of DAST_DATA
171 *
172 * [Detail]
173 * EAPNLOCK / EAPNSET
174 * - ATP_SET_OR_EXECUTE_MODE
175 * - ATP_READ_MODE
176 * EAPNACT
177 *
178 * [Solution ] DAST Data
179 *
180 * CR-Id: MOLY00213562
181 * Feature: Data Domain Service
182 *
183 * 11 18 2016 dennis.tsai
184 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
185 * add define_attach_pdn_rsp error handling.
186 *
187 * 11 18 2016 chia-yu.ku
188 * [MOLY00213562] [DDM][93MD] The initial version of DAST_DATA
189 *
190 * [Detail]
191 * EAPNLOCK / EAPNSET
192 * EAPNACT
193 * ps_id for mutli-PS
194 * Rmoving limits.h
195 *
196 * [Solution ] DAST Data
197 *
198 * CR-Id: MOLY00213562
199 * Feature: Data Domain Service
200 *
201 * 11 16 2016 yts.chen
202 * [MOLY00211239] [6293][DAST] dast_nw check-in
203 *
204 * .
205 *
206 * 11 16 2016 yts.chen
207 * [MOLY00211239] [6293][DAST] dast_nw check-in
208 *
209 * .
210 *
211 * 11 16 2016 chia-yu.ku
212 * [MOLY00211618] [DDM][93MD] The initial version of MAL System Service Leverage
213 * .
214 *
215 * 11 16 2016 yts.chen
216 * [MOLY00211239] [6293][DAST] dast_nw check-in modify dast_ddm_define_attach_pdn_rsp_struct
217 *
218 * .
219 *
220 * 11 14 2016 dennis.tsai
221 * [MOLY00212031] [MT6293]Integration checking for DAST/DDM
222 * fix mtu set/read method.
223 *
224 * 11 14 2016 mingchun.cheng
225 * [MOLY00210549] [MT6293] DAST/DDM integration check in
226 * .
227 *
228 * 11 13 2016 mingchun.cheng
229 * [MOLY00210549] [MT6293] DAST/DDM integration check in
230 * rollback
231 *
232 * 11 10 2016 yts.chen
233 * [MOLY00211239] [6293][DAST] dast_nw check-in
234 *
235 * .
236 *
237 * 11 03 2016 mingchun.cheng
238 * [MOLY00210549] [MT6293] DAST/DDM integration check in
239 * .
240 *
241 *
242 * [MOLY00210968] [MT6293] DAST modify include header files
243 *
244 * .
245 *
246 ****************************************************************************/
247
248#ifndef _DAST_DDM_STRUCT_H
249#define _DAST_DDM_STRUCT_H
250
251#include "kal_general_types.h"
252#include "kal_public_defs.h"
253#include "atcmd_struct.h"
254#include "ps_public_enum.h"
255#include "ddm_common_struct.h"
256
257// Type definitions
258typedef enum
259{
260 DAST_DDM_RES_FAIL = -1,
261 DAST_DDM_RES_SUCC,
262 DAST_DDM_RES_FAIL_ABORT,
263 DAST_DDM_RES_SUCC_ABORT,
264 DAST_DDM_RES_FAIL_RETRY,
265// DAST_DDM_RES_SUCC_RETRY, not exist
266 DAST_DDM_RES_FAIL_CONT,
267 DAST_DDM_RES_SUCC_CONT,
268 DAST_DDM_RES_MAX = 0xFFFFFFFF
269}dast_ddm_res_enum;
270
271// Macros
272#define DDM_APN_LEN (32)
273#define DDM_USRNAME_LEN (32)
274#define DDM_PASSWD_LEN (32)
275#define DAST_DDM_REQ_LOCAL_PARA_HDR \
276 LOCAL_PARA_HDR \
277 kal_uint32 src_id;
278
279#define DAST_DDM_CNF_LOCAL_PARA_HDR \
280 LOCAL_PARA_HDR \
281 kal_uint32 src_id;
282
283#define DAST_DDM_IND_LOCAL_PARA_HDR \
284 LOCAL_PARA_HDR \
285 kal_uint32 src_id;
286
287#define DAST_DDM_RSP_LOCAL_PARA_HDR \
288 LOCAL_PARA_HDR \
289 kal_uint32 src_id;
290
291// Functions
292// N/A
293
294// Implementation
295/*******************************************************************************
296* DAST to DDM REQ *
297*******************************************************************************/
298
299typedef struct
300{
301 DAST_DDM_REQ_LOCAL_PARA_HDR
302}dast_ddm_common_req_struct;
303
304// MSG_ID_DAST_DDM_ACT_DATA_CALL_REQ
305typedef struct
306{
307 DAST_DDM_REQ_LOCAL_PARA_HDR
308
309 kal_int32 cid, vcid; // NEED_TO_BE_NOTICED, just a temporary solution, but NOT the final one
310 atcmd_request_type_enum req_type;
311 kal_uint8 apn[APN_STRING_LEN];
312 kal_uint8 pdp_type[PDP_TYPE_STRING_LEN];
313 kal_uint8 roam_prot[ROAMING_IP_TYPE_STRING_LEN];
314 kal_uint32 auth_type;
315 kal_uint8 username[USERID_STRING_LEN];
316 kal_uint8 passwd[PASSWORD_STRING_LEN];
317 kal_bool carrier_enabled;
318 kal_uint32 max_conn;
319 kal_uint32 max_conn_time;
320 kal_uint32 wait_time;
321 kal_uint32 inact_time;
322 network_interface_id_info_struct interface_id;
323 apn_type_info_struct apn_type_info;
324}dast_ddm_act_data_call_req_struct;
325
326// MSG_ID_DAST_DDM_DEACT_DATA_CALL_REQ
327typedef struct
328{
329 DAST_DDM_REQ_LOCAL_PARA_HDR
330
331 kal_int32 cid, vcid;
332}dast_ddm_deact_data_call_req_struct;
333
334// MSG_ID_DAST_DDM_GET_DATA_CALL_LIST_REQ
335typedef struct
336{
337 DAST_DDM_REQ_LOCAL_PARA_HDR
338
339 at_cgact_req_struct cmd;
340}dast_ddm_get_data_call_list_req_struct;
341
342// MSG_ID_DAST_DDM_GET_DYNAMIC_PARAM_REQ
343typedef struct
344{
345 DAST_DDM_REQ_LOCAL_PARA_HDR
346
347 at_cgcontrdp_req_struct cmd;
348}dast_ddm_get_dynamic_param_req_struct;
349
350// MSG_ID_DAST_DDM_BIND_NW_INTF_REQ
351typedef struct
352{
353 DAST_DDM_REQ_LOCAL_PARA_HDR
354
355 network_interface_id_info_struct interface_id;
356 apn_type_info_struct apn_type_info;
357}dast_ddm_bind_nw_intf_req_struct;
358
359/*******************************************************************************
360* DDM TO DAST CNF *
361*******************************************************************************/
362
363// MSG_ID_DAST_DDM_ACT_DATA_CALL_CNF
364typedef struct
365{
366 DAST_DDM_CNF_LOCAL_PARA_HDR
367
368 kal_int32 cid, vcid;
369 at_cgpaddr_ind_struct cgpaddr_cmd;//for ip address
370 kal_uint32 IPv4_MTU;// for mtu
371 dast_ddm_res_enum res_code;
372}dast_ddm_act_data_call_cnf_struct;
373
374// MSG_ID_DAST_DDM_DEACT_SETUP_DATA_CALL_CNF
375typedef struct
376{
377 DAST_DDM_CNF_LOCAL_PARA_HDR
378 kal_bool is_last_pdn;
379 kal_int32 cid;
380 dast_ddm_res_enum res_code;
381}dast_ddm_deact_data_call_cnf_struct;
382
383// MSG_ID_DAST_DDM_GET_DATA_CALL_LIST_CNF
384typedef struct
385{
386 DAST_DDM_CNF_LOCAL_PARA_HDR
387
388 at_cgact_ind_struct cmd;
389 kal_uint32 cmd_count;
390 dast_ddm_res_enum res_code;
391}dast_ddm_get_data_call_list_cnf_struct;
392
393// MSG_ID_DAST_DDM_GET_DYNAMIC_PARAM_CNF
394typedef struct
395{
396 DAST_DDM_CNF_LOCAL_PARA_HDR
397 at_cgcontrdp_ind_struct cmd;
398 kal_uint32 cmd_count;
399 dast_ddm_res_enum res_code;
400}dast_ddm_get_dynamic_param_cnf_struct;
401
402/*******************************************************************************
403* DDM TO DAST IND *
404*******************************************************************************/
405
406// +CGEV: use at_cgev_ind_struct directly
407
408typedef struct
409{
410 DAST_DDM_IND_LOCAL_PARA_HDR
411 kal_bool apn_present;
412 kal_uint8 apn[APN_STRING_LEN];
413 kal_bool cgpaddr_cmd_present;
414 at_cgpaddr_ind_struct cgpaddr_cmd;
415 kal_bool IPv4_MTU_present;
416 kal_uint32 IPv4_MTU;
417 at_cgev_ind_struct cgev_cmd;
418 kal_uint32 cid;
419}dast_ddm_urc_cgev_ind_struct;
420
421// MSG_ID_DAST_DDM_DEFINE_ATTACH_PDN_IND
422typedef struct
423{
424 DAST_DDM_IND_LOCAL_PARA_HDR
425}dast_ddm_define_attach_pdn_ind_struct;
426
427/*******************************************************************************
428* DAST TO DDM RSP *
429*******************************************************************************/
430
431// MSG_ID_DAST_DDM_DEFINE_ATTACH_PDN_RSP
432typedef struct {
433 DAST_DDM_RSP_LOCAL_PARA_HDR
434 kal_bool is_success;
435 ps_cause_enum err_cause;
436 kal_uint32 cid;
437 atcmd_request_type_enum req_type;
438 kal_uint8 apn[APN_STRING_LEN];
439 kal_uint8 pdp_type[PDP_TYPE_STRING_LEN];
440 kal_uint8 roam_prot[ROAMING_IP_TYPE_STRING_LEN];
441 kal_uint32 auth_type;
442 kal_uint8 username[USERID_STRING_LEN];
443 kal_uint8 passwd[PASSWORD_STRING_LEN];
444} dast_ddm_define_attach_pdn_rsp_struct;
445
446#endif