[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/general/rr_common_def.h b/mcu/protocol/interface/general/rr_common_def.h
new file mode 100644
index 0000000..d864254
--- /dev/null
+++ b/mcu/protocol/interface/general/rr_common_def.h
@@ -0,0 +1,794 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * rr_common_def.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ *
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * $Log$
+ *
+ * 05 31 2018 anurag.pancholi
+ * [MOLY00325228] [UMOLYE] Remove NVRAM group header file
+ * .
+ *
+ * 04 07 2017 anurag.pancholi
+ * [MOLY00239842] [SE2/SE3 internal][UMOLYA] SMP modifications : GAS, GL1
+ * .SMP Check-in To UMOLYA.
+ *
+ * 02 19 2016 yu-po.wang
+ * [MOLY00165413] [UMOLY] change the naming for TCM usage
+ * .
+ *
+ * 09 15 2015 chi-chung.lin
+ * [MOLY00141360] [GAS] LR11 build warning fix
+ * .
+ *
+ * 05 27 2015 titi.wu
+ * [MOLY00097502] SRVCC HO evaluation phase fail, trigger send SIP re-invite
+ * .
+ *
+ * 03 20 2015 yu-po.wang
+ * [MOLY00087619] [UMOLY][Universal Bin] GAS check in
+ * Let the shared data with DSP be 4 byte aligned.
+ *
+ * 01 26 2015 tsung-wei.tu
+ * [MOLY00087619] [UMOLY][Universal Bin] GAS check in
+ * .
+ *
+ * 01 12 2015 ming.lee
+ * [MOLY00087470] [Universal Bin] FDD GAS developement
+ * .
+ *
+ * 01 12 2015 ming.lee
+ * [MOLY00087470] [Universal Bin] FDD GAS developement
+ * .
+ *
+ * 01 12 2015 ming.lee
+ * [MOLY00087470] [Universal Bin] FDD GAS developement
+ * Fix link error.
+ *
+ * 01 05 2015 ming.lee
+ * [MOLY00087470] [Universal Bin] FDD GAS developement
+ * xxx_enums.h not included (code not synced between peng-an CBr and UMOLY)
+ *
+ * 11 13 2014 ming.lee
+ * [MOLY00080211] [MT6291_DEV][MT6291_UESIM_DEV] Check in low power to MT6291_DEV, MT6291_UESIM_DEV
+ * GISE Paging.
+ *
+ * 11 05 2014 ming.lee
+ * [MOLY00081154] [ATT_TMO_DEV] AT&T requirement merge back
+ * CSG fingerprint GAS part.
+ *
+ * 04 08 2014 yu-po.wang
+ * [MOLY00061711] [K2 MD2] Call for Checkin - [MPAL] reducing TCM usage for K2 MD2
+ *
+ * 03 17 2014 tangte.lo
+ * [MOLY00058655] Add PSI_13 message trace decode support in ELT
+ *
+ * 10 03 2013 jeremiah.lin
+ * [MOLY00040091] [MAC] MAC/ACS Peer Msg Decode
+ *
+ * 09 16 2013 henry.lai
+ * [MOLY00037661] [MT6290] GAS development for AFR, L1 measurement control, backup IR measurement mechanism, and meaurement report
+ * .
+ *
+ * 08 30 2013 katie.tseng
+ * [MOLY00035887] [3G Gemini2.0+][GAS] Limit PS access channel protect duration in Gemini 2.0 projects
+ * .
+ *
+ * 08 26 2013 james.chan
+ * [MOLY00031373] [MOLY][SM][MM][RLC][RR] UNITDATA_CNF mechanism modification
+ * .
+ *
+ * 04 29 2013 vend_rex.tung
+ * [MOLY00020542] [SystemService][MOLY] To remove useless input sections by the request
+ * [gas] Remove input section for input section central management
+ *
+ * 03 22 2013 vend_rex.tung
+ * [MOLY00012031] [MODIS] WR8 warning fix on MOLY branch
+ *
+ * 03 15 2013 henry.lai
+ * [MOLY00009222] [GAS][Multi-Mode Development] Merge GAS multi-mode development to MOLY
+ * .
+ *
+ * 01 23 2013 henry.lai
+ * [MOLY00009222] [GAS][Multi-Mode Development] Merge GAS multi-mode development to MOLY
+ * .
+ *
+ * 01 11 2013 henry.lai
+ * [Henry][Multi-Mode Development] GAS Development and R8 CR Sync
+ *
+ * 12 13 2012 katie.tseng
+ * [MOLY00007446] [MOLY] MOLY LOCAL_PARA_HDR/PEER_BUFF_HDR replacement
+ * .
+ *
+ * 08 14 2012 peter.chien
+ * [MOLY00002118] [PS1][GAS] Internal inject message test for MEAS IT
+ * .
+ *
+ * 08 14 2012 peter.chien
+ * [MOLY00002118] [PS1][GAS] Internal inject message test for MEAS IT
+ * .
+ *
+ * 05 22 2012 adeline.chang
+ * removed!
+ * .
+ *
+ * 05 17 2012 peter.chien
+ * .
+ *
+ * 04 17 2012 yiting.cheng
+ * removed!
+ * .
+ *
+ * 04 13 2012 henry.lai
+ * removed!
+ * .
+ *
+ * 04 13 2012 yiting.cheng
+ * removed!
+ * .
+ *
+ * 04 13 2012 yiting.cheng
+ * removed!
+ * .
+ *
+ * 04 12 2012 yiting.cheng
+ * removed!
+ * .
+ *
+ * 04 12 2012 henry.lai
+ * removed!
+ * .
+ *
+ * 03 07 2012 adeline.chang
+ * removed!
+ * .
+ *
+ * 01 11 2012 henry.lai
+ * removed!
+ * .
+ *
+ * 12 20 2011 henry.lai
+ * removed!
+ * .
+ *
+ * 09 21 2011 jeremiah.lin
+ * removed!
+ * .
+ *
+ * 12 14 2010 nancy.chang
+ * removed!
+ * .
+ *
+ * 10 27 2010 henry.lai
+ * removed!
+ * .
+ *
+ * 10 16 2010 nancy.chang
+ * removed!
+ * .
+ *
+ * 09 21 2010 evelyn.wang
+ * 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!
+ * add to source control recursely
+ *
+ * removed!
+ * removed!
+ * Change rr to rr2.
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * add IR HO related enums into tbf_rel_type_enum
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * created by clearfsimport
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * this is a temporary solution to remove the compile option MTK_KAL_MNT from MoDIS
+ *
+ ******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _RR_COMMON_DEF_H
+#define _RR_COMMON_DEF_H
+
+/* Nancy 20101005: Suggest Add for RHR */
+#include "kal_public_api.h"
+#include "kal_general_types.h"
+/* for MODEM_WARNING_MESSAGE macro */
+#include "event_info_utility.h"
+#include "nvram_editor_data_item.h"
+#include "rr_nvram_editor.h"
+#include "bitstream.h"
+#include "rr_common_enums.h"
+
+/******************************************************************************
+ * Constants
+ ******************************************************************************/
+#ifdef __MTK_INTERNAL__
+#ifndef __GAS_INTERNAL_IT__
+#define __GAS_INTERNAL_IT__
+#endif /* __GAS_INTERNAL_IT__ */
+#ifndef __GAS_INTERNAL_IR_IT__
+#define __GAS_INTERNAL_IR_IT__
+#endif /* __GAS_INTERNAL_IR_IT__ */
+#endif /* __MTK_INTERNAL__ */
+
+#define RLC_MAC_CTRL_BLK_SIZE 23
+
+/* Evelyn 20090415: Merge R6 */
+#define MULTIPLE_TBF_NUM 1
+
+/* Vincent: defined for RR-MPAL */
+
+#ifdef __PS_SERVICE__
+#define PKT_CELL_CHANGE_FAILURE_MSG 0x00
+
+/* RRBP response message types */
+#define PKT_CTRL_ACK_MSG 0x01 /* RRBP response to control messages */
+#define PKT_DL_CTRL_ACK_MSG 0x03 /* RRBP response to data block with FBI in RLC UNACK mode */
+#define PKT_DL_ACK_NACK_MSG 0x02 /* RRBP response to data block in RLC ACK mode */
+
+/*
+ * To indicate an RRBP responding to PUAN with FAI allowing for
+ * TBF-EST procedure should be sent later. The actual RRBP sent
+ * depends on whether RLC requests for TBF-EST and Control Ack Type
+ */
+#define PKT_CTRL_ACK_TBF_EST_MSG 0x04
+/* Claire 041216 change : Implement R99 PFI */
+#define RLC_MAC_INVALID_PFI 0xff
+
+#define PKT_UL_DUMMY_CTRL_BURST_MSG 0x03
+#define PKT_MEASUREMENT_REPORT_MSG 0x04
+#define PKT_RESOURCE_REQ_MSG 0x05
+#define PKT_MOBILE_TBF_STATUS_MSG 0x06
+#define PKT_PSI_STATUS_MSG 0x07
+#ifdef __EGPRS_MODE__
+#define EGPRS_PKT_DL_ACK_NACK_MSG 0x08
+#endif
+#define PKT_PAUSE_MSG 0x09
+#define ADDITIONAL_MS_RADIO_ACCESS_MSG 0x0b
+#define PKT_ENHANCED_MEASUREMENT_MSG 0x0a /* no error in standard */
+
+/* Byron: Add for PKT SI Status */
+#ifdef __GERAN_R4__
+#define PKT_SI_STATUS_MSG 0x0d /* no error in standard */
+#define PKT_CELL_CHANGE_NOTIFICATION_MSG 0x0c
+#endif
+
+/*
+ * Downlink Peer-to-Peer Messages.(Network --> Mobile Station)The
+ * * distribution messages start with 1 in their MSB and non-distribution
+ * * messages start with 0 in their MSB(v6.4.0 sec 11.1.1)
+ */
+#define PKT_ACCESS_REJECT_MSG 0x21
+#define PKT_CELL_CHANGE_ORDER_MSG 0x01
+#define PKT_DL_ASSIGNMENT_MSG 0x02
+#define PKT_MEASUREMENT_ORDER_MSG 0x03
+#define PKT_PAGING_REQ_MSG 0x22
+#define PKT_PDCH_RELEASE_MSG 0x23
+#define PKT_POLLING_REQ_MSG 0x04
+#define PKT_PWR_CTRL_TIMING_ADVANCE_MSG 0x05
+#define PKT_PRACH_PARAMS_MSG 0x24
+#define PKT_QUEUING_NOTIFICATION_MSG 0x06
+#define PKT_TIMESLOT_RECONFIG_MSG 0x07
+#define PKT_TBF_RELEASE_MSG 0x08
+#define PKT_TBF_RELEASE_UL_MSG 0xE8 /* To distinguish RRBP responding to PKT TBF RELEASE releasing UL TBF; see comment of rr_rrbp_resps_add() on date 030902 */
+#define PKT_TBF_RELEASE_DL_MSG 0xF8 /* To distinguish RRBP responding to PKT TBF RELEASE releasing DL TBF; see comment of rr_rrbp_resps_add() on date 030902 */
+#define PKT_UL_ACK_NACK_MSG 0x09
+#define PKT_UL_ASSIGNMENT_MSG 0x0a
+#define PKT_DL_DUMMY_CTRL_MSG 0x25
+#define PKT_INVALID_MSG 0xFF /* Exce 20040306: add invalid msg type for rr_check_nsend_rrbpresponse() */
+
+/* Lanslo 20070706: NACC */
+#ifdef __GERAN_R4__
+#define PKT_CELL_CHANGE_CONTINUE_MSG 0x0b
+#define PKT_NEIGH_CELL_DATA_MSG 0x0c
+#define PKT_SERV_CELL_DATA_MSG 0x0d
+#endif /* __GERAN_R4__ */
+
+/* Evelyn 20090415: Merge R6 */
+/* Evelyn MTBF */
+
+#define PS_HANDOVER_COMMAND_MSG 0x15
+
+#ifdef __GERAN_R6__
+#define PKT_SERV_CELL_SI_MSG 0x20
+#endif /* __GERAN_R6__ */
+
+#ifdef __ETWS_SUPPORT__
+#define PKT_APP_INFO_MSG 0x2d
+#endif
+
+/* PACKET SYSTEM INFORMATION Messages */
+#define PSI1_MSG 0x31
+#define PSI2_MSG 0x32
+#define PSI3_MSG 0x33
+#define PSI3_BIS_MSG 0x34
+#define PSI4_MSG 0x35
+#define PSI5_MSG 0x36
+#define PSI13_MSG 0x37
+
+#ifdef __GERAN_R4__
+#define PSI3_TER_MSG 0x3c
+#define PSI3_QUATER_MSG 0x3d
+#define PSI6_MSG 0x30
+#define PSI7_MSG 0x38
+#define PSI8_MSG 0x39
+#define PSI14_MSG 0x3a
+#define PSI15_MSG 0x3e
+#endif /* __GERAN_R4__ */
+
+#ifdef __GERAN_R5__
+#define PSI16_MSG 0x28
+#endif /* __GERAN_R5__ */
+
+#define ALL_PSI_MSGS 0x39
+
+#define MAX_TIMESLOTS 8
+/* Evelyn 20090905: Modify for High multislot class */
+#if defined (__MULTISLOT_CLASS_45__)
+#define MAX_TX_TIMESLOTS 6
+#define MAX_RX_TIMESLOTS 6
+#elif defined (__MULTISLOT_CLASS_34__)
+#define MAX_TX_TIMESLOTS 5
+#define MAX_RX_TIMESLOTS 5
+#else
+#define MAX_TX_TIMESLOTS 4
+#define MAX_RX_TIMESLOTS 4
+#endif
+
+#define RR_INVALID_FN_NUMBER 0xFFFFFFFF
+
+#define RR_INVALID_TN 0xFF /* Exce 20040310: add invalid timeslot number */
+#define RR_RTI_INVALID 0xFF /* Exce 20040310: add invalid RTI value */
+
+#define MPAL_RLC_CONTINUE_FLUSH_NEXT 0x1
+#define MPAL_RLC_CONTINUE_FLUSH_CURRENT 0x2
+#define MPAL_RLC_RESEG_CONTINUE_FLUSH_NEXT 0x3
+#define MPAL_RLC_RESEGMENT_CURRENT 0x4
+#endif /* __PS_SERVICE__ */
+
+/* Information Element Identifiers (IEI) for RR mesgs */
+/*****************************************************************************/
+#define MOBILE_IDENTITY_IEI 0x17
+#define STARTING_TIME_IEI 0x7c
+#define CELL_CHAN_DESC_IEI 0x62
+
+#define MULTISLOT_CONFIG_IEI 0x10
+#define CHAN_MODE_SET_1_IEI 0x63
+#define CHAN_MODE_SET_2_IEI 0x11
+#define CHAN_MODE_SET_3_IEI 0x13
+#define CHAN_MODE_SET_4_IEI 0x14
+#define CHAN_MODE_SET_5_IEI 0x15
+#define CHAN_MODE_SET_6_IEI 0x16
+#define CHAN_MODE_SET_7_IEI 0x17
+#define CHAN_MODE_SET_8_IEI 0x18
+
+#define SECOND_CHAN_MODE_IEI 0x66
+
+#define SECOND_CHAN_DESC_AFTER_TIME_IEI 0x64
+#define FREQ_LIST_AFTER_TIME_IEI 0x05
+#define MOB_ALLOC_AFTER_TIME_IEI 0x72
+#define MOB_ALLOC_IEI 0x72
+
+#define FREQ_LIST_BEFORE_TIME_IEI 0x19
+#define CHAN_DESC_BEFORE_TIME_IEI 0x1c
+#define FREQ_CHAN_SEQ_BEFORE_TIME_IEI 0x1e
+#define FREQ_CHAN_SEQ_AFTER_TIME_IEI 0x69
+#define MOB_ALLOC_BEFORE_TIME_IEI 0x21
+#define SECOND_CHAN_DESC_BEFORE_TIME_IEI 0x1d
+
+#define CIPHER_MODE_SETTING_IEI 0x90
+
+#define RR_PKT_UL_ASGN_IEI 0x22
+#define RR_PKT_DL_ASGN_IEI 0x23
+#define SYNC_IND_IEI 0x0d
+#define FREQ_SHORT_LIST_AFTER_TIME_IEI 0x02
+#define REAL_TIME_DIFFERENCE_IEI 0x7b
+#define TIMING_ADVANCE_IEI 0x7d
+#define FREQUENCY_SHORT_LIST_BEFORE_TIME_IEI 0x12
+#define MS_TIME_DIFF_IE 0x77
+#define VGCS_TARGET_MODE_IND_IEI 0x01
+#define MULTI_RATE_CONFIG_IEI 0x03
+
+#define RR_BA_RANGE_IEI 0x73
+#define RR_GROUP_CHANNEL_DESC_IEI 0x74
+#define RR_GROUP_CIPHER_KEY_NUM_IEI 0x80
+#define RR_GPRS_RESUME_IEI 0xc0
+#define RR_BA_LIST_PREF_IEI 0x75
+#define RR_UTRAN_FREQ_LIST_IEI 0x76
+#define RR_CELL_SELECTION_IND_IEI 0x77
+#define RR_ENH_DTM_CS_REL_IND_IEI 0xa0
+#define RR_VGCS_CIPHER_PARA_IEI 0x04
+#define RR_GROUP_CHANNEL_DESC_2_IEI 0x78
+#define RR_TALKER_IDENTITY_IEI 0x79
+#define RR_TALKER_PRIO_STATUS_IEI 0x7A
+#define RR_VGCS_AMR_CONFIG_IEI 0x7B
+#define RR_INDIVIDUAL_PRIORITIES_IEI 0x7c
+
+#define RR_CLASSMARK_ENQ_MASK_IEI 0x10
+/*****************************************************************************/
+
+#define RR_FAILURE 0x00
+#define RR_SUCCESS 0x01
+#define RR_VALID 0x01
+#define RR_INVALID_SYS_INFO_ID 0xff
+
+/* 3GPP TS 04.18 v 8.7.0 sec 10.5.2.38
+ * Calculation of start frame number.
+ */
+#define S_RR_FN_INTERVAL_42432 42432
+#define S_RR_FRAME_NUM_32024 32024
+#define S_RR_MOST_POSTIVE_DELAY 31623
+
+/* Claire 041208 change : Solve rr_mpal_data_req_struct header missing problem */
+#ifdef __EGPRS_MODE__
+#define EGPRS_RLC_MAC_HEADER_LEN 6
+#define EGPRS_SIZEOF_MCS1 22
+#endif /* __EGPRS_MODE__ */
+
+/* The following macros are defined in bits */
+#define MAC_HEADER_LEN 8
+#define RLC_MAC_MSG_TYPE_LEN 6
+#define TLLI_LEN 32
+
+/* Claire 050118 change : Add signaling macro for both RLC and MAC use */
+#define RR_IS_SIGNAL_PDU(cause) (cause == RR_CAUSE_GMM_SIGNALING || cause == RR_CAUSE_CELL_UPDATE || \
+ cause == RR_CAUSE_SM_SIGNALING || cause == RR_CAUSE_SND_SIGNALING \
+ || cause == RR_CAUSE_LLC_SIGNALING || cause == RR_CAUSE_PAGE_RESP || cause == RR_CAUSE_CELL_UPDATE_WITH_USER_DATA)
+
+#ifdef __ARMCC_VERSION
+#define __ZI__ __attribute__ ((zero_init))
+#else
+#define __ZI__
+#endif
+
+#ifdef __MTK_TARGET__
+#include "sys/cdefs.h" /* GCC has different definition for __section in cdefs.h */
+#undef __section /* undefined it to avoid re-define */
+#define __section(S) __attribute__ ((__section__(#S)))
+#define __SECONDARY_ROCODE__
+#define __SECONDARY_RODATA__ __section(SECONDARY_RODATA)
+#if defined(MT6752)
+#if defined(__MD2__)
+#define __INTERNCODE__
+#else
+#define __INTERNCODE__ __attribute__ ((section ("ISPRAM_ROCODE_CORE2")))
+#endif
+#else
+#define __INTERNCODE__
+#endif
+#define __EXTRAM_TXDATA__ __attribute__ ((section ("EXTRAM_TXDATA"), aligned(4))) __ZI__
+#define __EXTRAM_TXDATA_0__ __section(EXTRAM_TXDATA_0) __ZI__
+#else
+#define __SECONDARY_ROCODE__
+#define __SECONDARY_RODATA__
+#define __INTERNCODE__
+#define __EXTRAM_TXDATA__
+#define __EXTRAM_TXDATA_0__
+#endif
+
+
+#if defined(__MTK_TARGET__)
+#if defined (__ARMCC_VERSION)
+#define INLINE __inline
+#elif defined (__GNUC__)
+#define INLINE inline
+#endif /* ARMCC , GNUC */
+#else /* __MTK_TARGET__ */
+#define INLINE __inline
+#endif /* __MTK_TARGET__ */
+
+
+
+/******************************************************************************
+ * Enums Without Tags
+ ******************************************************************************/
+
+#ifdef __PS_SERVICE__
+#ifdef EGPRS
+#include "egprs_headers_struct.h"
+#endif
+#endif /* __PS_SERVICE__ */
+
+typedef kal_int32 TDMA_FRAME_NUMBER_TYPE;
+
+/******************************************************************************
+ * Structure Definition
+ ******************************************************************************/
+typedef struct
+{
+ kal_uint8 time_slot;
+ kal_uint32 tdma_frame_number;
+} ts_frame_no_struct;
+
+typedef struct
+{
+ kal_uint8 valid;
+ kal_uint8 t1;
+ kal_uint8 t2;
+ kal_uint8 t3;
+} STARTING_TIME_STRUCT_1;
+
+typedef struct
+{
+ kal_uint8 maio;
+ kal_uint8 ma_num_index;
+ kal_uint8 change_mark;
+ kal_uint8 hsn;
+} hopping_chan_desc;
+
+typedef struct
+{
+ kal_uint8 is_valid;
+ kal_uint8 pkt_or_ded;
+ kal_uint8 chan_type;
+ kal_uint8 tn;
+ kal_uint8 tsc;
+ rmc_tsc_set_type tsc_set;
+ ispresent hopp_or_non_hopp_tag;
+ union
+ {
+ kal_uint16 arfcn;
+ hopping_chan_desc hop_params;
+ } hopp_or_non_hopp_value;
+} channel_desc_struct;
+
+typedef struct
+{
+ kal_uint8 valid;
+ kal_uint8 value;
+} timing_advance_struct;
+
+typedef struct
+{
+ kal_uint16 arfcn;
+ kal_uint8 bsic;
+ kal_int32 frame_offset;
+ kal_int32 ebit_offset;
+} target_cell_timing_struct;
+
+#ifdef __PS_SERVICE__
+typedef struct res_req_struct
+{
+ /* Evelyn 20090415: Merge R6 */
+ kal_uint8 ptc; /* peak_throughput_class */
+ kal_uint8 rp; /* radio_priority */
+ kal_uint8 rlc_mode; /* rlc_mode_enum */
+ kal_uint8 llc_pdu_type; /* llc_pdu_type */
+ kal_uint8 res_req_cause; /* res_req_cause */
+ kal_uint16 rlc_octets;
+ kal_uint8 pfi; /* Claire 041216 change : Implement R99 PFI */
+ kal_uint8 modeflag; /* Simon for SRB */
+} res_req_struct;
+
+/* Evelyn 20090415: Merge R6 */
+/* Evelyn MTBF */
+
+
+typedef struct multiple_res_req_struct
+{
+ LOCAL_PARA_HDR
+ /* Katie 20130531: ps channel protect issue */
+ /* mac_rmpc_pkt_access_req_struct and multiple_res_req_struct are the same struct */
+ kal_uint8 is_protect_ps_channel; /* this variable only used in mac_rmpc_pkt_access_req_struct */
+ kal_uint8 no_res_req;
+ res_req_struct multi_res_req[MULTIPLE_TBF_NUM];
+} multiple_res_req_struct;
+
+#endif /* __PS_SERVICE__ */
+
+typedef union
+{
+ nvram_ef_gas_csg_fingerprint_struct gas_csg_fg_info;
+} rrm_struct_to_verify_union;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ rrm_struct_to_verify_union struct_to_verify;
+} rrm_verify_gv_for_ut_struct;
+
+
+/******************************************************************************
+ * Function Prototype definition
+ ******************************************************************************/
+extern kal_uint8 rr_get_spare_bit(bit_stream *bit_stream_ptr);
+extern kal_bool rr_validate_rest_bit_number(kal_uint32 rest_len, kal_uint32 len_to_be_decoded);
+#ifdef __ETWS_SUPPORT__
+extern void rr_decode_group_call_info(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+extern void rr_decode_cell_global_count(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+extern void rr_decode_mbms_freq_para_ie(bit_stream *bs_ptr, kal_uint16* length, kal_bool *result);
+extern void rr_decode_mbms_session_list_ie(bit_stream *bs_ptr, kal_uint16* length, kal_bool *result);
+extern void rr_decode_mbms_channel_para_ie(bit_stream *bs_ptr, kal_uint16* length, kal_bool *result);
+extern void rr_decode_mbms_para(bit_stream *bs_ptr, kal_uint16* length, kal_bool *result);
+#ifdef __PS_SERVICE__
+extern void rr_decode_page_info_struct(bit_stream *bs_ptr, kal_uint16 *length);
+extern void rr_decode_repeated_iu_page_info(bit_stream *bs_ptr, kal_uint16 *length);
+#endif /* __PS_SERVICE__ */
+#endif /* __ETWS_SUPPORT__ */
+
+#endif /* _RR_COMMON_DEF_H */
+