blob: c83a5174fad8d7d43a80d8633ac7642376e1679e [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) 2012
*
* 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:
* ---------
* l4bpdn_l4c_struct.h
*
* Project:
* --------
*
*
* Description:
* ------------
*
*
* Author:
* -------
*
*
*
* ==========================================================================
****************************************************************************/
#ifndef _L4BPDN_L4C_STRUCT_H
#define _L4BPDN_L4C_STRUCT_H
#include "kal_general_types.h"
#include "kal_public_defs.h"
#include "atcmd_struct.h"
#include "ps_public_enum.h"
#include "l3_inc_enums.h"
#include "mcd_l3_inc_struct.h"
#include "l3_inc_local.h"
#include "ddm_common_struct.h"
#if 1 /* General purpose AT-CMD message */
/*********************************************************************************************************
* General purpose AT-CMD: Start *
*********************************************************************************************************/
typedef struct {
LOCAL_PARA_HDR
at_cmd_common_header_req_struct cmd;
} l4bpdn_l4c_cmd_common_header_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cmd_cnf_struct cmd;
/* In the above field (cmd),
* if cmd.is_success == KAL_FALSE, the cmd.err_cause is a converted cause according to 27.007.
* The below original_cause is an "unconverted" counterpart for reference. */
kal_bool is_original_cause_from_3gpp_present; /* True: If (cmd.is_success == KAL_FALSE) AND (is from 3GPP MD) */
ps_cause_enum original_cause_from_3gpp; /* Valid if is_original_cause_from_3gpp_present == KAL_TRUE */
} l4bpdn_l4c_cmd_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgev_ind_struct cmd;
/* True: If (event is CGEV_EVENT_NW_PDN_DEACT or CGEV_EVENT_NW_DEACT or CGEV_EVENT_NW_REACT) AND (the CGEV is from 3GPP)
* False: If (event is not the above) OR (the CGEV is from 3GPP2) */
kal_bool is_cgev_deact_cause_from_3gpp;
ps_cause_enum cgev_deact_cause;
/* True: If (event is CGEV_EVENT_NW_MODIFY) AND (the CGEV is from 3GPP)
* False: If (event is not the above) OR (the CGEV is from 3GPP2) */
kal_bool is_cgev_modify_cause_from_3gpp;
ps_cause_enum cgev_modify_cause;
} l4bpdn_l4c_cgev_ind_struct;
/*********************************************************************************************************
* General purpose AT-CMD: End *
*********************************************************************************************************/
#endif
#if 1 /* MSG: L4PBDN -> L4C */
/*********************************************************************************************************
* MSG: L4PBDN -> L4C: Start *
*********************************************************************************************************/
typedef struct {
LOCAL_PARA_HDR
at_cgpiaf_req_struct cmd;
} l4bpdn_l4c_cgpiaf_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
at_token_parse_result_enum cached_ff03_present;
kal_uint8 cached_ff03; // integer type
} l4bpdn_l4c_nw_applied_cache_data_notify_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdcont_req_struct cmd;
kal_uint8 psi;
/* Used for SSC Mode 3 PDU session re-restablishment in 5G. */
kal_bool old_psi_present;
kal_uint8 old_psi;
/* Used for L4 two params (URSP requirement).
* Condition:
* - If current is 5G-RAT and VGPDP/VGAPN is present (AT_TOKEN_PARSE_RESULT_OK)
-> Use the corresponding parameters in below
* - Otherwise: (non-5G-RAT or in 5G but VGPDP/VGAPN is NOT AT_TOKEN_PARSE_RESULT_OK
-> Use paramters in the above cmd (i.e., the normal CGDCONT command) . */
at_token_parse_result_enum VGPDP_type_parse_result;
kal_uint8 VGPDP_type[PDP_TYPE_STRING_LEN]; // string type
at_token_parse_result_enum VGAPN_parse_result;
kal_uint8 VGAPN[APN_STRING_LEN]; // string type
/* use to indicate is this dnn in ladn list */
at_token_parse_result_enum ladn_dnn_present;
kal_uint8 ladn_dnn; // integer type
} l4bpdn_l4c_cgdcont_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdscont_req_struct cmd;
} l4bpdn_l4c_cgdscont_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtft_req_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_cgtft_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqreq_req_struct cmd;
} l4bpdn_l4c_cgqreq_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqmin_req_struct cmd;
} l4bpdn_l4c_cgqmin_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqreq_req_struct cmd;
} l4bpdn_l4c_cgeqreq_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqmin_req_struct cmd;
} l4bpdn_l4c_cgeqmin_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqneg_req_struct cmd;
} l4bpdn_l4c_cgeqneg_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgact_req_struct cmd;
ddm_apn_type_enum apn_type;
} l4bpdn_l4c_cgact_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgcmod_req_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_cgcmod_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdata_req_struct cmd;
} l4bpdn_l4c_cgdata_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgpaddr_req_struct cmd;
} l4bpdn_l4c_cgpaddr_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauto_req_struct cmd;
} l4bpdn_l4c_cgauto_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgans_req_struct cmd;
} l4bpdn_l4c_cgans_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgerep_req_struct cmd;
} l4bpdn_l4c_cgerep_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgcontrdp_req_struct cmd;
} l4bpdn_l4c_cgcontrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgscontrdp_req_struct cmd;
} l4bpdn_l4c_cgscontrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtftrdp_req_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_cgtftrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqos_req_struct cmd;
} l4bpdn_l4c_cgeqos_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqosrdp_req_struct cmd;
} l4bpdn_l4c_cgeqosrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqos_req_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_c5gqos_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqosrdp_req_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_c5gqosrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdel_req_struct cmd;
} l4bpdn_l4c_cgdel_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauth_req_struct cmd;
kal_uint8 psi;
} l4bpdn_l4c_cgauth_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cladn_req_struct cmd;
} l4bpdn_l4c_cladn_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_ecncfg_req_struct cmd;
} l4bpdn_l4c_ecncfg_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egdcont_req_struct cmd;
kal_uint8 psi;
} l4bpdn_l4c_egdcont_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapnetmr_req_struct cmd;
} l4bpdn_l4c_vzwapnetmr_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapne_req_struct cmd;
} l4bpdn_l4c_vzwapne_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpau_req_struct cmd;
} l4bpdn_l4c_egpau_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egact_req_struct cmd;
ddm_apn_type_enum apn_type;
} l4bpdn_l4c_egact_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgsdata_req_struct cmd;
} l4bpdn_l4c_cgsdata_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_acttest_req_struct cmd;
} l4bpdn_l4c_acttest_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_psbearer_req_struct cmd;
} l4bpdn_l4c_psbearer_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egfb_req_struct cmd;
} l4bpdn_l4c_egfb_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egld_req_struct cmd;
} l4bpdn_l4c_egld_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egdelpf_req_struct cmd;
} l4bpdn_l4c_egdelpf_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_eglnkpf_req_struct cmd;
} l4bpdn_l4c_eglnkpf_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpcordp_req_struct cmd;
} l4bpdn_l4c_egpcordp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpco_req_struct cmd;
kal_uint8 psi;
} l4bpdn_l4c_egpco_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_edallow_req_struct cmd;
} l4bpdn_l4c_edallow_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 sim_slot_id;
} l4bpdn_l4c_set_default_sim_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
} l4bpdn_l4c_pdn_revive_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
} l4bpdn_l4c_pdn_revive_abort_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool is_success;
kal_uint8 lte_attach_cid; /* used if (is_success == KAL_TRUE) */
ps_cause_enum err_cause; /* used if (is_success == KAL_FALSE) */
} l4bpdn_l4c_lte_attach_pdn_define_needed_rsp_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool is_ims_roaming_enable;
} l4bpdn_l4c_set_eimsroam_config_value_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_eapnsync_req_struct cmd;
} l4bpdn_l4c_eapnsync_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_evzwapfcia_req_struct cmd;
} l4bpdn_l4c_evzwapfcia_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_eggrntrspt_req_struct cmd;
} l4bpdn_l4c_eggrntrspt_req_struct;
/*********************************************************************************************************
* MSG: L4PBDN -> L4C: End *
*********************************************************************************************************/
#endif
#if 1 /* MSG: L4C -> L4BPDN */
/*********************************************************************************************************
* MSG: L4C -> L4BPDN: Start *
*********************************************************************************************************/
typedef struct {
LOCAL_PARA_HDR
at_cgdcont_ind_struct cmd;
kal_uint8 psi;
kal_bool old_psi_present;
kal_uint8 old_psi;
kal_bool vgpdp_type_present;
kal_uint8 vgpdp_type[PDP_TYPE_STRING_LEN]; // string type
kal_bool vgapn_present;
kal_uint8 vgapn[MAX_APN_LEN]; // string type
} l4bpdn_l4c_cgdcont_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdscont_ind_struct cmd;
} l4bpdn_l4c_cgdscont_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtft_ind_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_cgtft_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqreq_ind_struct cmd;
} l4bpdn_l4c_cgqreq_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqmin_ind_struct cmd;
} l4bpdn_l4c_cgqmin_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqreq_ind_struct cmd;
} l4bpdn_l4c_cgeqreq_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqmin_ind_struct cmd;
} l4bpdn_l4c_cgeqmin_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqneg_ind_struct cmd;
} l4bpdn_l4c_cgeqneg_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgact_ind_struct cmd;
} l4bpdn_l4c_cgact_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgpaddr_ind_struct cmd;
} l4bpdn_l4c_cgpaddr_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauto_ind_struct cmd;
} l4bpdn_l4c_cgauto_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgerep_ind_struct cmd;
} l4bpdn_l4c_cgerep_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgcontrdp_ind_struct cmd;
} l4bpdn_l4c_cgcontrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgscontrdp_ind_struct cmd;
} l4bpdn_l4c_cgscontrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtftrdp_ind_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_cgtftrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqos_ind_struct cmd;
} l4bpdn_l4c_cgeqos_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqosrdp_ind_struct cmd;
} l4bpdn_l4c_cgeqosrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqos_ind_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_c5gqos_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqosrdp_ind_struct cmd;
kal_uint8 qfi;
} l4bpdn_l4c_c5gqosrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdel_ind_struct cmd;
} l4bpdn_l4c_cgdel_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauth_ind_struct cmd;
} l4bpdn_l4c_cgauth_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cladn_ind_struct cmd;
kal_bool num_of_ladn_info_present;
kal_uint8 num_of_ladn_info;
kal_bool ladn_info_present;
ladn_info_struct ladn_info[MAX_LADN_INFO];
} l4bpdn_l4c_cladn_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cladnu_ind_struct cmd;
kal_bool num_of_ladn_info_present;
kal_uint8 num_of_ladn_info;
kal_bool ladn_info_present;
ladn_info_struct ladn_info[MAX_LADN_INFO];
} l4bpdn_l4c_cladnu_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_psbearer_ind_struct cmd;
} l4bpdn_l4c_psbearer_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egfb_ind_struct cmd;
} l4bpdn_l4c_egfb_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egdelpf_ind_struct cmd;
} l4bpdn_l4c_egdelpf_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_eglnkpf_ind_struct cmd;
} l4bpdn_l4c_eglnkpf_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpcordp_ind_struct cmd;
} l4bpdn_l4c_egpcordp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpco_ind_struct cmd;
} l4bpdn_l4c_egpco_ind_struct;
typedef struct {
LOCAL_PARA_HDR
gmss_rat_enum gmss_rat;
gmss_selected_rat_status_enum status;
kal_bool is_ehrpd; /* Indicate if PS type is EHRPD if current RAT is HRPD */
} l4bpdn_l4c_rat_select_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
kal_bool is_success;
ps_cause_enum err_cause;
} l4bpdn_l4c_pdn_revive_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
kal_bool is_success;
ps_cause_enum err_cause;
} l4bpdn_l4c_pdn_revive_abort_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
} l4bpdn_l4c_lte_attach_needed_ind_struct;
typedef struct {
LOCAL_PARA_HDR
plmn_id_struct current_plmn_id;
} l4bpdn_l4c_lte_attach_pdn_define_needed_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapne_ind_struct cmd;
} l4bpdn_l4c_vzwapne_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapnetmr_ind_struct cmd;
}l4bpdn_l4c_vzwapnetmr_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint32 dummy;
} l4bpdn_l4c_cmd_not_yet_support_ind_struct; /* Only for UT */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 lte_attach_cid;
kal_bool cause2_present;
ps_cause_enum cause2;
pdp_addr_type_enum nw_applied_pdp_type;
} l4bpdn_l4c_lte_attach_pdn_activate_success_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 lte_attach_cid;
ps_cause_enum cause;
kal_bool is_change_to_apn_class_present;
kal_uint8 change_to_apn_class;
} l4bpdn_l4c_lte_attach_pdn_activate_failure_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_eapnsync_ind_struct cmd;
} l4bpdn_l4c_eapnsync_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_evzwapfcia_ind_struct cmd;
} l4bpdn_l4c_evzwapfcia_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_eggrntrspt_ind_struct cmd;
} l4bpdn_l4c_eggrntrspt_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_escontind_ind_struct cmd;
} l4bpdn_l4c_escontind_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_escontind_req_struct cmd;
} l4bpdn_l4c_escontind_req_struct;
/*********************************************************************************************************
* MSG: L4C -> L4BPDN: End *
*********************************************************************************************************/
#endif
#endif /* _L4BPDN_L4C_STRUCT_H */