blob: 139f51daef6cd708d72931308d01552f71a8298a [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 * ppp_l4_enums.h
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *==============================================================================
54 * HISTORY
55 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
56 *------------------------------------------------------------------------------
57 * removed!
58 *
59 * removed!
60 * removed!
61 * removed!
62 *
63 * removed!
64 * removed!
65 * removed!
66 *
67 * removed!
68 * removed!
69 * removed!
70 *
71 * removed!
72 * removed!
73 * removed!
74 *
75 * removed!
76 * removed!
77 * removed!
78 *
79 * removed!
80 * removed!
81 * removed!
82 * removed!
83 * removed!
84 * removed!
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 * removed!
97 * removed!
98 * removed!
99 * removed!
100 * removed!
101 * removed!
102 * removed!
103 *
104 * removed!
105 * removed!
106 * removed!
107 * removed!
108 * removed!
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 * removed!
128 *
129 *------------------------------------------------------------------------------
130 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
131 *==============================================================================
132 ******************************************************************************/
133
134/*******************************************************************************
135* Copyright Statement:
136* --------------------
137*
138* This product has been developed using a protocol stack
139* developed by Sasken Communication Technologies Limited.
140*
141*******************************************************************************/
142
143
144#ifndef _PPP_L4_ENUMS_H
145#define _PPP_L4_ENUMS_H
146
147typedef enum
148{
149 NORMAL_LINK_TERMINATION,
150 ABNORMAL_LINK_TERMINATION
151} mmi_link_free_enum;
152
153typedef enum
154{
155 PPPE_MOBILE_DEACT,
156 PPPE_NW_DEACT
157} pppcsd_deact_cause_enum;
158
159typedef enum
160{
161 PPPE_NONE,
162 PPPE_LCP_FAIL,
163 PPPE_AUTH_FAIL,
164 PPPE_IPCP_FAIL,
165 PPPE_ESC_DETECT,
166 PPPE_PLUGOUT_DETECT,
167 PPPE_PPP_GPRS_DIALUP_ALREADY_ACTIVATED,
168 PPPE_PPP_NOT_ACTIVATED_BY_EXT_MODEM_YET,
169 PPPE_PPP_ALREADY_ACTIVATED_BY_EXT_MODEM,
170 PPPE_PPP_NOT_ACTIVATED_BY_WAP_OVER_CSD_YET,
171 PPPE_PPP_ALREADY_ACTIVATED_BY_WAP_OVER_CSD,
172 PPPE_PPP_WRONG_CSD_MOD_ID,
173 PPPE_PPP_DETECT_AT_CMD_DURING_DIALUP, //[MONZA00008185]
174 PPPE_PPP_DETECT_ESCAPE_DURING_DIALUP, //[MONZA00008185]
175 PPPE_PPP_IN_GEMINI_DIALUP_ACTIVATED_BY_ANOTHER_L4C, // change feature 2008 03 26
176 PPPE_PPP_DIALUP_ABORTED_BY_L4C_AT_CGACT_0,
177 PPPE_PPP_DIALUP_WITH_UNSUPPORTED_PDP_TYPE, // __PPP_TYPE_PDP_DIALUP_SUPPORT__
178 PPPE_PPP_PDP_CONTEXT_INCORRECT,
179 PPPE_PPP_ERROR_CAUSE_ENUM_SIZE
180} ppp_error_cause_enum;
181
182typedef enum
183{
184 NULL_L2P = 1,
185 PPP,
186 MANUFACTURER_PROTOCOL
187} mmi_ltwoh_protocol_enum;
188
189enum
190{
191 PPPE_RESULT_SUCCESS,
192 PPPE_RESULT_FAILED
193};
194
195typedef enum {
196 FSM_INITIAL,
197 FSM_STARTING,
198 FSM_CLOSED,
199 FSM_STOPPED,
200 FSM_CLOSING,
201 FSM_STOPPING,
202 FSM_REQSENT,
203 FSM_ACKRCVD,
204 FSM_ACKSENT,
205 FSM_OPENED,
206 FSM_STATE_SIZE
207} ppp_fsm_state_enum;
208
209typedef enum {
210 VENDOREXT = 0,
211 CONF_REQ = 1,
212 CONF_ACK = 2,
213 CONF_NAK = 3,
214 CONF_REJ = 4,
215 TERM_REQ = 5,
216 TERM_ACK = 6,
217 CODE_REJ = 7,
218 PROTO_REJ = 8,
219 ECHO_REQ = 9,
220 ECHO_RPLY = 10,
221 DISCARD_REQ = 11,
222 IDENTIFICATION = 12,
223 TIMEREMAIN = 13,
224 RESET_REQ = 14,
225 RESET_ACK = 15,
226 NULL_CODE = 0xFF
227} ppp_fsm_code_enum;
228
229/*
230 * PPP Phase
231 */
232typedef enum
233{
234 PPP_INIT_STATE = 0,
235 PPP_TYPE_PDP_DIALUP_INIT_STATE = PPP_INIT_STATE,
236 PPP_LCP_STATE,
237 PPP_AUTH_STATE,
238 PPP_PDP_STATE,
239 PPP_IPCP_STATE,
240 PPP_IPV6CP_STATE,
241 PPP_DATA_STATE,
242 PPP_TERM_0_STATE,
243 PPP_TERM_1_STATE,
244 PPP_TERM_2_STATE,
245 PPP_TERM_3_STATE,
246 /*
247 * When Used for GPRS dialup, the state PPP_TERM_3_STATE
248 * means PPP will send L4CPPP_DEACTIVATE_CNF to L4C after receiving TAF_EXT_PDP_DEACTIVATE_ACK_RSP,
249 * After 2 scenarios, PPP will enter this state:
250 * (1) CBM L4C deactivate PPP in PPP_DATA_STATE, or
251 * (2) AT+CGACT=0 L4C deactivate PPP in PPP_PDP_STATE, PPP_IPCP_STATE, PPP_DATA_STATE, PPP_TERM_1_STATE, or PPP_TERM_2_STATE
252 */
253 PPP_TERM_4_STATE,
254 /*
255 * When Used for GPRS dialup, the state PPP_TERM_4_STATE
256 * means PPP will send L4CPPP_DEACTIVATE_CNF to L4C after receiving Term_Ack,
257 * After 1 scenarios, PPP will enter this state:
258 * (1) AT+CGACT=0 L4C deactivate PPP in PPP_LCP_STATE, PPP_AUTH_STATE, PPP_TERM_0_STATE
259 */
260 PPP_TYPE_PDP_DIALUP_PDP_ACTIVATING_STATE, /* __PPP_TYPE_PDP_DIALUP_SUPPORT__ */
261 PPP_TYPE_PDP_DIALUP_PDP_ACTIVATED_STATE, /* __PPP_TYPE_PDP_DIALUP_SUPPORT__ */
262 PPP_TYPE_PDP_DIALUP_LCP_NEGOTIATING_STATE, /* __PPP_TYPE_PDP_DIALUP_SUPPORT__ */
263 PPP_TYPE_PDP_DIALUP_AUTH_NEGOTIATING_STATE, /* __PPP_TYPE_PDP_DIALUP_SUPPORT__ */
264 PPP_TYPE_PDP_DIALUP_NCP_NEGOTIATING_STATE, /* __PPP_TYPE_PDP_DIALUP_SUPPORT__ */
265 PPP_TYPE_PDP_DIALUP_DATA_STATE, /* __PPP_TYPE_PDP_DIALUP_SUPPORT__ */
266 PPP_TYPE_PDP_DIALUP_DEACTIVATING_STATE, /* __PPP_TYPE_PDP_DIALUP_SUPPORT__ */
267 PPP_TYPE_PDP_LAST_STATE = PPP_TYPE_PDP_DIALUP_DEACTIVATING_STATE,
268 PPP_STATE_SIZE
269} ppp_state_enum;
270
271/*
272 * PPP FSM index
273 */
274typedef enum
275{
276 LCP,
277 AUTH,
278 IPCP, //IPV4 or IPV4V6 or IPV6
279 IPV6CP, //IPV4 + IPV6
280 PPP_FSM_SIZE
281} ppp_fsm_idx_enum;
282
283typedef enum /* remember who activate CSD, WAP or EXT-MODEM*/ /*Not Used*/
284{
285 CSD_CONTEXT_OCCUPIED_BY_NONE,
286 CSD_CONTEXT_OCCUPIED_BY_WAP_OVER_CSD,
287 CSD_CONTEXT_OCCUPIED_BY_EXT_MODEM,
288 CSD_CONTEXT_OCCUPIED_BY_WHO_ENUM_SIZE
289} csd_context_occupied_by_which_app_enum;
290
291typedef enum // For __PPP_TYPE_PDP_DIALUP_SUPPORT__
292{
293 PPP_PDP_NW_PPP_STATUS_NOT_RUNNING = 0,
294 PPP_PDP_NW_PPP_STATUS_RUNNING,
295 PPP_PDP_NW_PPP_STATUS_UE_HAS_SENT_TERM_REQ,
296 PPP_PDP_NW_PPP_STATUS_UE_HAS_RCVD_TERM_REQ,
297 PPP_PDP_NW_PPP_STATUS_ENUM_SIZE
298}ppppdp_nw_ppp_status_enum;
299
300typedef enum // For __PPP_TYPE_PDP_DIALUP_SUPPORT__
301{
302 PPP_PDP_NW_PDP_STATUS_NOT_ACTIVATED = 0,
303 PPP_PDP_NW_PDP_STATUS_ACTIVATING,
304 PPP_PDP_NW_PDP_STATUS_ACTIVATED,
305 PPP_PDP_NW_PDP_STATUS_DISCONNECTING,
306 PPP_PDP_NW_PDP_STATUS_ENUM_SIZE
307}ppppdp_nw_pdp_status_enum;
308
309typedef enum // For __PPP_TYPE_PDP_DIALUP_SUPPORT__
310{
311 PPP_PDP_PC_PPP_STATUS_NOT_RUNNING = 0,
312 PPP_PDP_PC_PPP_STATUS_RUNNING,
313 PPP_PDP_PC_PPP_STATUS_UE_HAS_SENT_TERM_REQ,
314 PPP_PDP_PC_PPP_STATUS_UE_HAS_RCVD_TERM_REQ,
315 PPP_PDP_PC_PPP_STATUS_ENUM_SIZE
316}ppppdp_pc_ppp_status_enum;
317
318typedef enum // For __PPP_TYPE_PDP_DIALUP_SUPPORT__
319{
320 PPP_PDP_FINAL_MSG_TO_L4_NONE = 0,
321 PPP_PDP_FINAL_MSG_TO_L4_IS_ACTIVATE_CNF_FAIL, // 1
322 PPP_PDP_FINAL_MSG_TO_L4_IS_DEACTIVATE_IND, // 2
323 PPP_PDP_FINAL_MSG_TO_L4_IS_DEACTIVATE_CNF, // 3
324 PPP_PDP_FINAL_MSG_TO_L4_ENUM_SIZE
325}ppppdp_final_msg_to_l4_enum;
326
327typedef enum
328{
329 PPPPDP_EVENT_SEE_IP_PACKET,
330 PPPPDP_EVENT_RCV_L4CPPP_ACTIVATE_REQ,
331 PPPPDP_EVENT_RCV_TAF_EXT_PDP_ACTIVATE_REJ_RSP,
332 PPPPDP_EVENT_RCV_TAF_EXT_PDP_ACTIVATE_ACK_RSP,
333 PPPPDP_EVENT_RCV_L4CPPP_PPPTYPEPDP_UART_TRANSFER_IND,
334 PPPPDP_EVENT_RCV_L4C_DEACTIVATE_REQ,
335 PPPPDP_EVENT_RCV_NW_PDP_DEACTIVATE_REQ,
336 PPPPDP_EVENT_RCV_NW_PDP_DEACTIVATE_ACK_RSP, //
337 PPPPDP_EVENT_RCV_PC_PPP_LCP_TERM_REQ,
338 PPPPDP_EVENT_RCV_PC_PPP_LCP_TERM_ACK,
339 PPPPDP_EVENT_RCV_NW_PPP_LCP_TERM_REQ,
340 PPPPDP_EVENT_RCV_NW_PPP_LCP_TERM_ACK,
341 PPPPDP_EVENT_RCV_AT_COMMAND,
342 PPPPDP_EVENT_RCV_UART_PLUGOUT,
343 PPPPDP_EVENT_RCV_ESCAPE,
344 PPPPDP_EVENT_SEE_AUTH_FRAME,
345 PPPPDP_EVENT_SEE_NCP_FRAME,
346 PPPPDP_EVENT_SEE_NCP_IPV4CP_NW_TO_PC_CONF_ACK_FRAME,
347 PPPPDP_EVENT_ALL_DISCONNECT_CONDITIONS_ARE_FULFILLED,
348 PPPPDP_EVENT_ENUM_SIZE
349} ppp_ppp_pdp_event_enum;
350
351#endif
352
353