blob: b7ccea6654bd89de12f79829d6edbf0b05a05676 [file] [log] [blame]
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* pdn_public_defs.h
*
* Project:
* --------
*
*
* Description:
* ------------
*
*
* Author:
* -------
*
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#ifndef __PDN_PUBLIC_DEFS_H__
#define __PDN_PUBLIC_DEFS_H__
#include "kal_public_defs.h"
#include "d2pm_public_defs.h"
#include "d2cm_public_defs.h"
#include "d2rm_public_defs.h"
#include "iwlan_public_defs.h"
#include "atcmd_struct.h"
typedef enum {
DCCHG_C2K_IRAT = 0,
DCCHG_NW_MOD_99,
DCCHG_NW_MOD_39,
//DCCHG_ROAMING,
DCCHG_MAX = 0x7FFFFFFF
} data_call_change_reason_enum;
typedef enum {
RETRY_TYPE_NO_SUGGEST,
RETRY_TYPE_NO_RETRY,
RETRY_TYPE_WITH_SUGGEST,
RETRY_TYPE_DEFAULT_POLICY,
RETRY_TYPE_MAX = 0x7FFFFFFF
} retrytime_type_enum;
typedef enum {
RETRY_RESET_POWER_CYCLE_OFF,
RETRY_RESET_POWER_CYCLE_ON,
RETRY_RESET_APN_CONFIG_CHANGED,
} retrytime_reset_event_enum;
typedef enum {
RESET_USER_AP,
RESET_USER_MD,
RETRY_USER_MAX = 0x7FFFFFFF
} data_retry_reset_user_enum;
typedef struct apn_data_retry_info {
kal_uint8 apn[APN_STRING_LEN];
ddm_apn_type_enum apn_type;
kal_bool error_occured;
kal_uint32 error_cause;
#ifdef __TC01__
kal_uint16* timer_id;
#endif
retrytime_type_enum retrytime_type;
kal_uint32 retry_time;
kal_uint8 retry_count;
kal_uint32 end_time;
kal_bool retry_count_exhaustible;
kal_bool retry_count_setted;
kal_bool has_power_off;
kal_bool is_from_mcf;
kal_bool is_s_nssai_present;
at_s_nssai_struct s_nssai;
}apn_data_retry_info_t;
typedef enum {
RETRY_PDN_TYPE_ALL = 0,
RETRY_PDN_TYPE_IMS,
RETRY_PDN_TYPE_EMERGENCY,
RETRY_PDN_TYPE_NON_IMS,
RETRY_PDN_TYPE_NON_EMERGENCY,
RETRY_PDN_TYPE__MAX = 0x7FFFFFFF
}data_retry_pdn_type_enum;
typedef enum {
RETRY_RAT_ALL = 0,
RETRY_RAT_5G,
RETRY_RAT_LTE,
RETRY_RAT_23G,
RETRY_RAT_MAX = 0x7FFFFFFF
}data_retry_rat_enum;
typedef struct mcf_data_retry_info {
data_retry_rat_enum rat;
data_retry_pdn_type_enum pdn_type;
retrytime_type_enum retry_type; // 0: NO_RETRY, 1: Retry with suggest time, 2: No suggest time
kal_uint16 error_cause[20];
kal_uint8 error_cause_count;
kal_uint32 retry_time[10];
kal_uint8 retry_time_count;
kal_bool all_error_cause_set;
kal_bool default_error_cause_set;
kal_uint8 retry_time_idx;
}mcf_data_retry_info_t;
typedef struct mcf_parsed_data_retry_info {
mcf_data_retry_info_t retry_info[20]; // we assume effective_retry_info_cnt < 20, so we use 20 for its size
kal_uint8 effective_retry_info_cnt;
kal_bool is_valid;
} mcf_parsed_data_retry_info_t;
typedef struct pco_info {
kal_bool IE_present;
kal_uint8 IE[IE_STRING_LEN]; // string type
kal_bool contents_present;
kal_uint8 contents[AT_EGPCORDP_CONTENTS_STRING_LEN]; // string type
} pco_info_t;
#endif