blob: 11145c2308869828b4ec52f14b5ef9744086c68a [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) 2016
*
* 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).
*
*****************************************************************************/
#ifndef __D2RM_IWLAN_STRUCT_H__
#define __D2RM_IWLAN_STRUCT_H__
#include "kal_general_types.h"
#include "kal_public_defs.h"
#include "kal_public_api.h"
#include "kal_trace.h"
#include "sbp_public_utility.h"
#include "ps_public_utility.h"
#include "dhl_def.h"
#include "sim_ps_struct.h"
#include "pdn_public_defs.h"
#include "iwlan_public_defs.h"
typedef enum {
RPL_3GPP_RAT_ALL = 0x00,
RPL_3GPP_RAT_23G = 0x01,
RPL_3GPP_RAT_4G = 0x02,
RPL_3GPP_RAT_234G = 0x03,
RPL_3GPP_RAT_5G = 0x04,
RPL_3GPP_RAT_45G = 0x06,
RPL_3GPP_RAT_2345G = 0x07
} rpl_3gpp_rat_specified_e;
typedef enum {
NORMAL = 0,
WUIOFF
} d2rm_iwlan_event_enum;
typedef struct {
kal_uint8 rpl_eran[IWLAN_RAN_TYPE_CNT][RPL_RAN_PRIOR_MAX];
rpl_3gpp_rat_specified_e rpl_3gpp_rat_specified_initial;
rpl_3gpp_rat_specified_e rpl_3gpp_rat_specified_handover;
/* RPL param? */
d2rm_iwlan_event_enum event;
kal_bool cell_no_ps;
} d2rm_iwlan_rpl_struct;
typedef enum {
D2RM_PDN_STATUS_IDLE, // cur_ran must be NONE
D2RM_PDN_STATUS_SETUP, // PDN acting, start update RPL ind to D2
D2RM_PDN_STATUS_ACTIVE, // cur_ran must not be NONE
D2RM_PDN_STATUS_TEARDOWN, // PDN deacting, stop update RPL ind to D2
D2RM_PDN_STATUS_CNT
} d2rm_pdn_status_e;
/******************************************************************************/
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
kal_uint32 sid; // session id
/* PDN attributes */
iwlan_ran_e setup_ran;
iwlan_pdn_apn_type_e type;
/* PDN status */
iwlan_ran_e cur_ran;
d2rm_pdn_status_e status;
kal_uint32 default_bid; // LTE: Default EBI, NR: Default QFI
kal_uint8 pdu_session_id; // LTE: 0, NR: PDU Session ID
} d2rm_iwlan_pdn_info_ntf_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
} d2rm_iwlan_pdn_accsel_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
kal_uint32 sid; // session id
d2rm_iwlan_rpl_struct rpl;
} d2rm_iwlan_pdn_accsel_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool cell_available; //TRUE: cell is avilable, FALSE cell is not avilable
} d2rm_iwlan_pdn_accsel_event_ind_struct;
// for re-trigger RPL internally
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
kal_uint32 ps_id;
} d2rm_d2rm_pdn_accsel_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 cid;
kal_uint32 sid; // session id
} d2rm_iwlan_pdn_accsel_rsp_struct;
/******************************************************************************/
#endif // __IWLAN_STRUCT_H__