blob: ec9850d55650e592f3c0d803b05f3ea6e886944b [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) 2007
*
* 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:
* --------------------------------------------------------
* ratdm_rabm_struct.h
*
* Project:
* --------------------------------------------------------
* MONZA
*
* Description:
* --------------------------------------------------------
*
*
* Author:
* --------------------------------------------------------
* -------
*
* --------------------------------------------------------
* $Log$
*
* 10 28 2016 ravitej.ballakur
* [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
* Fux for UESIM TC 13_4_2_1 and merge of MASE CBr changes.
*
* 09 26 2016 ravitej.ballakur
* [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
* Merging 2G and WCDMA RATDM and PDCP changes from merge_CBr.
*
* 08 03 2016 ravitej.ballakur
* [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
* 3G RATDM and PDCP changes.
*
* 02 13 2015 head.hsu
* [MOLY00091822] RATDM reorganization
* FDD/TDD RABM/PDCP checkin
*
* 12 12 2014 tc.chang
* [MOLY00087434] [Universal Bin] Check in.
* FDD RABM
*
* 05 29 2014 yungfu.chen
* [MOLY00067176] SERVICE REQUEST change design
*
* 01 21 2014 wcpuser_integrator
* [MOLY00054475] SGLTE option rename
* .
*
* 10 18 2013 johnson.liu
* [MOLY00041595] [MT6290E1][MMDS_DC] MMDC feature patch back to MOLY trunk
* .
*
* 09 26 2013 yungfu.chen
* [MOLY00038877] remove MAX_EXT_PDP_CONTEXT/MAX_INT_PDP_CONTEXT usage of RATDM code
* .
*
* 01 22 2013 jl.hsiao
* [MOLY00009170] LTE Multimode Merge to MOLY
* .
*
* 12 07 2012 andrew.wu
* [MOLY00007098] LOCAL_PARA_HDR/PEER_BUF_HDR modification
* LOCAL_PARA_HDR/PEER_BUF_HDR modification
*
* 09 17 2012 jl.hsiao
* [MOLY00003699] [RATDM] Multimode code check-in
* .
*
* 05 21 2012 johnson.liu
* removed!
* .
*
* 05 19 2012 johnson.liu
* removed!
* .
*
* 02 07 2012 andrew.wu
* removed!
* Integration change.
*
* 01 24 2011 max.yin
* removed!
* .
*
* 01 21 2011 max.yin
* removed!
* .
*
* 01 03 2011 max.yin
* removed!
* .
*
* 12 31 2010 max.yin
* removed!
* .
*
* 12 16 2010 jl.hsiao
* removed!
* .
*
* 12 14 2010 jl.hsiao
* removed!
* .
*
* 10 18 2010 jl.hsiao
* removed!
* .
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* Add copyright header.
*
* removed!
* removed!
* add to source control recursely
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* Add ratcm_rabm_retransmit_ind_struct
*
* removed!
* removed!
*
*
******************************************************************************/
#ifndef _RATDM_RABM_STRUCT_H
#define _RATDM_RABM_STRUCT_H
#include "flc2_config.h"
#include "mcd_l3_inc_gprs_struct.h"
#include "ps_ratdm_struct.h"
#include "l3_inc_enums.h"
#include "ps_public_enum.h"
#include "kal_general_types.h"
#include "uas_common_enums.h"
#include "kal_public_defs.h"
#include "mmi_l3_enums.h"
#include "ratdm_export_api.h"
typedef kal_uint16 tPdcpSeqNumber;
typedef kal_uint8 tRabmNsapi;
typedef kal_uint32 tRabmContextsNum;
typedef enum
{
TRAFFIC_CLASS_UNKNOWN,
TRAFFIC_CLASS_CONVERSATIONAL,
TRAFFIC_CLASS_STREAMING,
TRAFFIC_CLASS_INTERACTIVE,
TRAFFIC_CLASS_BACKGROUND
} tTrafficClass;
typedef enum
{
RATDM_RABM_INVALID_CAUSE,
//RABM_SUSPEND_RATDM_BY_PDCP_FLC,
//RABM_RESUME_RATDM_BY_PDCP_FLC,
RABM_RESUME_RATDM_BY_FLC_PDCP_NOT_EXIST,
RABM_SUSPEND_RATDM_BY_PDCP_RELOC,
RABM_RESUME_RATDM_BY_PDCP_RELOC,
RABM_SUSPEND_RATDM_BY_NRT_RAB_REEST,
RABM_RESUME_RATDM_BY_NRT_RAB_REEST_SUCCESS,
RABM_RESUME_RATDM_BY_NRT_RAB_REEST_FAIL,
RABM_RESUME_RATDM_BY_SR_SUCCESS_RAB_NOT_ESTABLISHED,
RABM_TRIGGER_RATDM_RETRANSMIT_BY_RLC_RESET,
RABM_TRIGGER_RATDM_RETRANSMIT_BY_RLC_REESTABLISH,
RATDM_DEACTIVATE_RABM_BY_REGULAR,
RATDM_DEACTIVATE_RABM_BY_RAT_CHANGE,
RATDM_RABM_TOTAL_CAUSE
} tRatcmRabmCause;
typedef struct
{
tRabmNsapi Nsapi;
flc2_pool_id_enum dl_pool_id;
qos_struct qos_negotiated;
tPdcpSeqNumber SendSeqNumber;
tPdcpSeqNumber ReceiveSeqNumber;
#ifdef __USE_LEGACY_23G_DATAPATH__
kal_uint8 context_id; // originally in tcm_ratdm_config_req_struct
#endif
module_type module_id; // originally in tcm_ratdm_config_req_struct
} tRabmActReqPara;
/* RATDM_RABM_ACTIVATE_REQ */
typedef struct {
LOCAL_PARA_HDR
kal_bool RAT_Change;
kal_uint8 NoOfContexts;
tRabmActReqPara RabmContexts[RABM_MAX_PS_RABS];
#ifndef __USE_LEGACY_23G_DATAPATH__
kal_bool loopback;
#endif
} ratdm_rabm_activate_req_struct;
/* RATDM_RABM_ACTIVATE_CNF */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
} ratdm_rabm_activate_cnf_struct;
/* RATDM_RABM_ACTIVATE_IND */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
} ratdm_rabm_activate_ind_struct;
/* RATDM_RABM_ACTIVATE_RSP */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 Nsapi;
kal_bool is_successful;
} ratdm_rabm_activate_rsp_struct;
/* RATDM_RABM_DEACTIVATE_REQ */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 Cause;
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
} ratdm_rabm_deactivate_req_struct;
typedef ratdm_rabm_deactivate_req_struct ratdm_rabm_deactivate_cnf_struct;
/* RATDM_RABM_DEACTIVATE_IND */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
kal_uint8 Cause[RABM_MAX_PS_RABS];
} ratdm_rabm_deactivate_ind_struct;
/* RATDM_RABM_MODIFY_REQ */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 Nsapi;
kal_uint8 TrafficClass;
kal_bool DeliveryOfErrorSdus;
} ratdm_rabm_modify_req_struct;
/* RATDM_RABM_MODIFY_CNF */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 Nsapi;
} ratdm_rabm_modify_cnf_struct;
/* RATDM_RABM_RESUME_REQ */
typedef struct {
LOCAL_PARA_HDR
} ratdm_rabm_resume_req_struct;
/* RATDM_RABM_REESTABLISH_IND */
typedef struct {
LOCAL_PARA_HDR
#ifdef __REL7__
kal_uint16 ul_data_status; //24.008 clause 10.5.7.7 MSB: NSAPI15
#endif
} ratdm_rabm_reestablish_ind_struct;
/* RATDM_RABM_REESTABLISH_RSP */
typedef struct {
LOCAL_PARA_HDR
kal_bool Result;
#ifdef __REL7__
kal_uint16 ul_data_status; //24.008 clause 10.5.7.7 MSB: NSAPI15
#endif
} ratdm_rabm_reestablish_rsp_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* RATDM_RABM_DATA_CNF */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 nsapi;
kal_uint16 npdu_num; /* The send sequence number this data conf refers to */
} ratdm_rabm_data_cnf_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* RATDM_RABM_SUSPEND_DATA_PLANE_IND */
typedef struct {
LOCAL_PARA_HDR
tRatcmRabmCause cause;
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
} ratdm_rabm_suspend_data_plane_ind_struct;
/* RATDM_RABM_RESUME_DATA_PLANE_IND */
typedef struct {
LOCAL_PARA_HDR
kal_bool is_need_retransmit; /* Jeff Wu 2006-04-02: New */
tRatcmRabmCause cause;
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
kal_uint16 RetransmitFromSN[RABM_MAX_PS_RABS];
} ratdm_rabm_resume_data_plane_ind_struct;
/* RATDM_RABM_PDCP_RELOC_IND */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
kal_uint16 UtranNextReceiveSN[RABM_MAX_PS_RABS];
} ratdm_rabm_pdcp_reloc_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 Nsapi;
kal_uint16 RetransmitFromSN;
tRatcmRabmCause cause;
} ratdm_rabm_retransmit_ind_struct;
/* RATDM-RABM-RAB-RELEASE-IND */
typedef struct {
LOCAL_PARA_HDR
} ratdm_rabm_rab_release_ind_struct;
/* MSG_ID_RATDM_RABM_RAB_STATUS_IND */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 Nsapi;
kal_bool need_data_cnf;
} ratdm_rabm_rb_config_ind_struct;
typedef ps_data_req_struct ratdm_rabm_data_req_struct;
typedef ps_data_ind_struct ratdm_rabm_data_ind_struct;
#ifdef __HSDPA_SUPPORT__
/* MSG_ID_RATDM_RABM_RAB_CAPABILITY_IND */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
data_speed_activate_enum Capability[RABM_MAX_PS_RABS];
} ratdm_rabm_rab_capability_ind_struct;
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* RATDM_RABM_RAT_ENTER_REQ */
typedef struct {
LOCAL_PARA_HDR
tRabmActReqPara RabmContexts;
} ratdm_rabm_rat_enter_req_struct;
/* RATDM_RABM_RAT_LEAVE_REQ */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 NoOfContexts;
kal_uint8 Nsapi[RABM_MAX_PS_RABS];
} ratdm_rabm_rat_leave_req_struct;
/* RATDM_RABM_RAT_READY_IND */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 Nsapi;
} ratdm_rabm_rat_ready_ind_struct;
/* PS statistics */
typedef struct {
kal_uint8 nsapi;
kal_uint8 result;
} single_nsapi_info_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef struct {
kal_uint8 nsapi;
kal_uint8 context_id;
kal_bool reset_tx;
kal_bool reset_rx;
} single_nsapi_reset_cmd_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 src_id;
kal_uint8 serial_num;
kal_uint8 total_nsapi;
single_nsapi_reset_cmd_struct reset_cmd[PS_TOT_CONTEXT+1];
} ratdm_pdcp_reset_statistics_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 src_id;
kal_uint8 serial_num;
kal_uint8 total_nsapi;
single_nsapi_reset_cmd_struct reset_cmd[PS_TOT_CONTEXT+1];
single_nsapi_info_struct reset_result[PS_TOT_CONTEXT+1];
} ratdm_pdcp_reset_statistics_rsp_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef struct {
LOCAL_PARA_HDR
ratdm_dlvr_data_t data;
} ratdm_ps_dscr_data_93_ind_struct;
#endif /* _RATDM_RABM_STRUCT_H */