blob: 23a983997b6e6cc0ebcd8f15875743a91504d385 [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:
* ---------
* l4aps_l4bpdn_struct.h
*
* Project:
* --------
*
*
* Description:
* ------------
*
*
* Author:
* -------
*
*
*
* ==========================================================================
****************************************************************************/
#ifndef _L4APS_L4BPDN_STRUCT_H
#define _L4APS_L4BPDN_STRUCT_H
#include "kal_general_types.h"
#include "kal_public_defs.h"
#include "ddm_common_struct.h"
#include "atcmd_struct.h"
#include "ps_public_enum.h"
#include "ps_public_struct.h"
#include "mcd_l3_inc_struct.h"
#include "l3_inc_local.h"
#if 1 /* MSG: L4APS -> L4BPDN */
/*********************************************************************************************************
* MSG: L4APS -> L4BPDN: Start *
*********************************************************************************************************/
typedef struct {
LOCAL_PARA_HDR
at_cmd_common_header_req_struct cmd;
} l4aps_l4bpdn_cmd_common_header_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
at_token_parse_result_enum cached_ff03_present;
kal_uint8 cached_ff03; // integer type
} l4aps_l4bpdn_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
} l4aps_l4bpdn_cgdcont_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdscont_req_struct cmd;
} l4aps_l4bpdn_cgdscont_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtft_req_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_cgtft_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqreq_req_struct cmd;
} l4aps_l4bpdn_cgqreq_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqmin_req_struct cmd;
} l4aps_l4bpdn_cgqmin_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqreq_req_struct cmd;
} l4aps_l4bpdn_cgeqreq_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqmin_req_struct cmd;
} l4aps_l4bpdn_cgeqmin_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqneg_req_struct cmd;
} l4aps_l4bpdn_cgeqneg_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgact_req_struct cmd;
ddm_apn_type_enum apn_type;
} l4aps_l4bpdn_cgact_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgcmod_req_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_cgcmod_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgpaddr_req_struct cmd;
} l4aps_l4bpdn_cgpaddr_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauto_req_struct cmd;
} l4aps_l4bpdn_cgauto_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgans_req_struct cmd;
} l4aps_l4bpdn_cgans_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgerep_req_struct cmd;
} l4aps_l4bpdn_cgerep_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgcontrdp_req_struct cmd;
} l4aps_l4bpdn_cgcontrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgscontrdp_req_struct cmd;
} l4aps_l4bpdn_cgscontrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtftrdp_req_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_cgtftrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqos_req_struct cmd;
} l4aps_l4bpdn_cgeqos_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqosrdp_req_struct cmd;
} l4aps_l4bpdn_cgeqosrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqos_req_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_c5gqos_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqosrdp_req_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_c5gqosrdp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdel_req_struct cmd;
} l4aps_l4bpdn_cgdel_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauth_req_struct cmd;
kal_uint8 psi;
} l4aps_l4bpdn_cgauth_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cladn_req_struct cmd;
} l4aps_l4bpdn_cladn_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_ecncfg_req_struct cmd;
} l4aps_l4bpdn_ecncfg_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egdcont_req_struct cmd;
kal_uint8 psi;
} l4aps_l4bpdn_egdcont_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapnetmr_req_struct cmd;
} l4aps_l4bpdn_vzwapnetmr_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapne_req_struct cmd;
} l4aps_l4bpdn_vzwapne_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpau_req_struct cmd;
} l4aps_l4bpdn_egpau_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egact_req_struct cmd;
ddm_apn_type_enum apn_type;
} l4aps_l4bpdn_egact_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgsdata_req_struct cmd;
} l4aps_l4bpdn_cgsdata_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_acttest_req_struct cmd;
} l4aps_l4bpdn_acttest_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_psbearer_req_struct cmd;
} l4aps_l4bpdn_psbearer_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egfb_req_struct cmd;
} l4aps_l4bpdn_egfb_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egdelpf_req_struct cmd;
} l4aps_l4bpdn_egdelpf_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_eglnkpf_req_struct cmd;
} l4aps_l4bpdn_eglnkpf_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpcordp_req_struct cmd;
} l4aps_l4bpdn_egpcordp_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpco_req_struct cmd;
kal_uint8 psi;
} l4aps_l4bpdn_egpco_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdata_req_struct cmd;
network_interface_id_info_struct selected_network_interface_id_info;
apn_type_info_struct apn_type_info;
} l4aps_l4bpdn_cgdata_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egld_req_struct cmd;
} l4aps_l4bpdn_egld_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_edallow_req_struct cmd;
} l4aps_l4bpdn_edallow_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) */
} l4aps_l4bpdn_lte_attach_pdn_define_needed_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 sim_slot_id;
} l4aps_l4bpdn_set_default_sim_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_ims_roaming_enable;
} l4aps_l4bpdn_set_eimsroam_config_value_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_cmd_common_header_req_struct cmd;
kal_uint32 dummy;
} l4aps_l4bpdn_cmd_not_yet_support_req_struct; /* Only for UT */
typedef struct {
LOCAL_PARA_HDR
at_eapnsync_req_struct cmd;
} l4aps_l4bpdn_eapnsync_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_evzwapfcia_req_struct cmd;
} l4aps_l4bpdn_evzwapfcia_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_eggrntrspt_req_struct cmd;
} l4aps_l4bpdn_eggrntrspt_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpcap_req_struct cmd;
} l4aps_l4bpdn_egpcap_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
kal_uint32 apn_type; /* bit map refer to enum ddm_apn_type */
} l4aps_l4bpdn_notify_pdn_type_req_struct;
typedef struct {
LOCAL_PARA_HDR
at_escontind_ind_struct cmd;
} l4aps_l4bpdn_escontind_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_escontind_req_struct cmd;
} l4aps_l4bpdn_escontind_req_struct;
/*********************************************************************************************************
* MSG: L4APS -> L4BPDN: End *
*********************************************************************************************************/
#endif
#if 1 /* MSG: L4BPDN -> L4APS */
/*********************************************************************************************************
* MSG: L4BPDN -> L4APS: Start *
*********************************************************************************************************/
/* A general purpose AT-CMD confirm message */
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 */
} l4aps_l4bpdn_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;
} l4aps_l4bpdn_cgev_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdcont_ind_struct cmd;
} l4aps_l4bpdn_cgdcont_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdscont_ind_struct cmd;
} l4aps_l4bpdn_cgdscont_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtft_ind_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_cgtft_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqreq_ind_struct cmd;
} l4aps_l4bpdn_cgqreq_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgqmin_ind_struct cmd;
} l4aps_l4bpdn_cgqmin_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqreq_ind_struct cmd;
} l4aps_l4bpdn_cgeqreq_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqmin_ind_struct cmd;
} l4aps_l4bpdn_cgeqmin_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqneg_ind_struct cmd;
} l4aps_l4bpdn_cgeqneg_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgact_ind_struct cmd;
} l4aps_l4bpdn_cgact_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgpaddr_ind_struct cmd;
} l4aps_l4bpdn_cgpaddr_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauto_ind_struct cmd;
} l4aps_l4bpdn_cgauto_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgerep_ind_struct cmd;
} l4aps_l4bpdn_cgerep_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgcontrdp_ind_struct cmd;
} l4aps_l4bpdn_cgcontrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgscontrdp_ind_struct cmd;
} l4aps_l4bpdn_cgscontrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgtftrdp_ind_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_cgtftrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqos_ind_struct cmd;
} l4aps_l4bpdn_cgeqos_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgeqosrdp_ind_struct cmd;
} l4aps_l4bpdn_cgeqosrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqos_ind_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_c5gqos_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_c5gqosrdp_ind_struct cmd;
kal_uint8 qfi;
} l4aps_l4bpdn_c5gqosrdp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgdel_ind_struct cmd;
} l4aps_l4bpdn_cgdel_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cgauth_ind_struct cmd;
} l4aps_l4bpdn_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];
} l4aps_l4bpdn_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];
} l4aps_l4bpdn_cladnu_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_psbearer_ind_struct cmd;
} l4aps_l4bpdn_psbearer_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egfb_ind_struct cmd;
} l4aps_l4bpdn_egfb_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egdelpf_ind_struct cmd;
} l4aps_l4bpdn_egdelpf_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_eglnkpf_ind_struct cmd;
} l4aps_l4bpdn_eglnkpf_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpcordp_ind_struct cmd;
} l4aps_l4bpdn_egpcordp_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpco_ind_struct cmd;
} l4aps_l4bpdn_egpco_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_cmd_cnf_struct cmd;
} l4aps_l4bpdn_cgdata_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
at_cmd_cnf_struct cmd;
} l4aps_l4bpdn_egld_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
at_egev_ind_struct cmd;
} l4aps_l4bpdn_egev_ind_struct;
typedef struct {
LOCAL_PARA_HDR
} l4aps_l4bpdn_lte_attach_needed_ind_struct;
typedef struct {
LOCAL_PARA_HDR
/**
* KAL_TRUE: L4BPDN knows the eHRPD to LTE interRAT,
* so when L4BPDN detects currently it is an eHRPD to LTE interRAT scenario,
* L4 will suggest DDM to set handover flag
*
* Note: L4 only suggests DDM to set handover flag.
* DDM is the final decision maker and needs to consider other condistions.
*
* Ex. 1: L4 suggests DDM to set handover flag and DDM decides to use APN1 to do LTE ATTACH.
* However APN1 is not currently alive. In this case, DDM need to NOT SET handover flag
*
* Ex. 2: L4 suggests DDM to set handover flag and DDM decides to use APN1 to do LTE ATTACH.
* If APN1 get cause #54 during last LTE ATTACH, in this case DDM need to NOT SET handover flag
*
* Ex. 3: L4 suggests DDM to set handover flag and DDM decides to use APN1 to do LTE ATTACH.
* If APN1 get cause #54 during last LTE ATTACH, and DDM wants to use APN2 (alive) to do LTE ATTACH.
* in this case, DDM need to SET handover flag
*/
kal_bool is_l4bpdn_suggested_to_set_handover;
plmn_id_struct current_plmn_id;
} l4aps_l4bpdn_lte_attach_pdn_define_needed_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 lte_attach_cid;
kal_bool cause2_present;
ps_cause_enum err_cause2;
pdp_addr_type_enum nw_applied_pdp_type;
} l4aps_l4bpdn_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;
} l4aps_l4bpdn_lte_attach_pdn_activate_failure_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapne_ind_struct cmd;
} l4aps_l4bpdn_vzwapne_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_vzwapnetmr_ind_struct cmd;
} l4aps_l4bpdn_vzwapnetmr_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
ip_addr_struct ip_addr;
} l4aps_l4bpdn_pdn_modify_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_eapnsync_ind_struct cmd;
} l4aps_l4bpdn_eapnsync_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_evzwapfcia_ind_struct cmd;
} l4aps_l4bpdn_evzwapfcia_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_eggrntrspt_ind_struct cmd;
} l4aps_l4bpdn_eggrntrspt_ind_struct;
typedef struct {
LOCAL_PARA_HDR
at_egpcap_test_mode_ind_struct cmd;
} l4aps_l4bpdn_egpcap_test_mode_ind_struct;
typedef pam_backoff_timer_report_ind_struct l4aps_l4bpdn_backoff_timer_status_ind_struct;
/*********************************************************************************************************
* MSG: L4BPDN -> L4APS: End *
*********************************************************************************************************/
#endif
#endif /* _L4APS_L4BPDN_STRUCT_H */