📄 em_struct.h
字号:
/*****************************************************************************
* 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:
* ---------
* em_struct.h
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
* Engineer mode related structures.
*
* Author:
* -------
* -------
*
*==============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*==============================================================================
*******************************************************************************/
/********************************************************************************
* Copyright Statement:
* --------------------
*
* This product has been developed using a protocol stack
* developed by Sasken Communication Technologies Limited.
*
********************************************************************************/
#ifndef _EM_STRUCT_H
#define _EM_STRUCT_H
typedef kal_uint32 request_info_type;
typedef enum
{
/* RR */
RR_EM_CELL_SELECT_PARA_INFO = 0x00000001 ,
RR_EM_CHANNEL_DESCR_INFO = 0x00000002 ,
RR_EM_CTRL_CHANNEL_DESCR_INFO = 0x00000004 ,
RR_EM_RACH_CTRL_PARA_INFO = 0x00000008 ,
RR_EM_LAI_INFO = 0x00000010 ,
RR_EM_RADIO_LINK_COUNTER_INFO = 0x00000020 ,
RR_EM_MEASUREMENT_REPORT_INFO = 0x00000040 ,
/* CC */
CC_EM_CHANNEL_INFO = 0x00000080 ,
CC_EM_CALL_INFO = 0x00000100 ,
/* CB */
CB_EM_INFO = 0x00000200 ,
/* SS */
SS_EM_INFO = 0x00000400 ,
/* MM */
MM_EM_INFO = 0x00000800 ,
/* UEM */
UEM_EM_BATTERY_INFO = 0x00001000 ,
/* RR new structure */
RR_EM_CONTROL_MSG_INFO = 0x00002000 ,
/* gprs em begins */
RR_EM_TBF_INFO = 0x00004000 ,
RR_EM_GPRS_GENERAL_INFO = 0x00008000 ,
GMM_EM_INFO = 0x00010000 ,
TCM_EM_EXT_PDP_INFO = 0x00020000 ,
TCM_EM_INT_PDP_INFO = 0x00040000 ,
SNDCP_EM_INFO = 0x00080000 ,
LLC_EM_INFO = 0x00100000 ,
PPP_EM_INFO = 0x00200000 ,
SM_EM_INFO = 0x00400000 ,
/*EM ehancement for RR new structure*/
MMRR_EM_PLMN_INFO_STRUCT_INFO = 0x00800000 ,
RR_EM_SI2Q_INFO_STRUCT_INFO = 0x01000000 ,
RR_EM_MI_INFO_STRUCT_INFO = 0x02000000,
RR_EM_BLK_INFO = 0x04000000
} em_info_enum;
typedef enum
{
EM_NOT_ACTIVE,
EM_FROM_MMI,
EM_FROM_CATCHER,
EM_FROM_RMMI /* tommy add for RMMI EM support */
} em_source_enum;
typedef enum
{
EM_CAUSE_OK,
EM_CAUSE_INVALID_INFO_TYPE
} em_err_cause_enum;
/* local parameter structures */
/* For L4CPS_EM_START_REQ, L4CPS_EM_STOP_REQ */
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
request_info_type info_request;
} l4cps_em_start_req_struct;
typedef l4cps_em_start_req_struct l4cps_em_stop_req_struct;
/*Byron: 2006/02/15: User can trigger RR to suspend cell reselection procedure in all state or transfer state*/
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_uint8 suspend_status; /* 0: in all RR states, 1: in RR GPRS transfer */
} l4cps_em_cell_resel_suspend_req_struct;
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_bool result; /* 0: in all RR states, 1: in RR GPRS transfer */
kal_uint8 cause;
}l4cps_em_cell_resel_suspend_cnf_struct;
typedef l4cps_em_cell_resel_suspend_cnf_struct l4cps_em_cell_resel_resume_cnf_struct;
/*Byron: 2006/08/06: Add for cell lock*/
typedef struct {
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_bool turn_on_or_off; /*0: Turn off, 1: Turn on*/
kal_bool band_indicator; /* 0: not 1900 band cell, 1: 1900 band cell*/
kal_uint16 lock_arfcn; /* The cell's arfcn to be locked*/
}l4cps_em_set_cell_lock_req_struct;
/*Byron: 2006/08/06: Add for cell lock*/
typedef struct {
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_bool result; /*0: Turn off, 1: Turn on*/
}l4cps_em_set_cell_lock_cnf_struct;
/*Byron: 2006/08/06: Add for cell lock*/
typedef struct{
kal_bool result;
kal_bool turn_on_or_off; /*0: Turn off, 1: Turn on*/
kal_bool band_indicator; /*0: not 1900 band cell, 1: 1900 band cell*/
kal_uint16 lock_arfcn; /* The cell's arfcn to be locked*/
}l4cps_em_get_cell_lock_cnf_struct;
/* For L4CPS_EM_START_CNF, L4CPS_EM_STOP_CNF */
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_bool result;
kal_uint8 cause;
request_info_type info_request;
} l4cps_em_start_cnf_struct;
typedef l4cps_em_start_cnf_struct l4cps_em_stop_cnf_struct;
/* For L4CPS_EM_STATUS_IND */
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
em_info_enum em_info;
} l4cps_em_info_req_struct;
typedef l4cps_em_info_req_struct l4cps_em_status_ind_struct;
/* For TSTL4C_EM_START_REQ, TSTL4C_EM_STOP_REQ */
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
module_type mod_id;
request_info_type info_request;
} tstl4c_em_start_req_struct;
typedef tstl4c_em_start_req_struct tstl4c_em_stop_req_struct;
/* peer buffer structures */
/* RR structure */
typedef struct
{
kal_uint8 crh; //CELL-RESELECT-HYSTERESIS
kal_uint8 ms_txpwr; // maximum TX power level an MS may use when accessing on a CCH
kal_uint8 rxlev_access_min; // minimum received signal level at the MS for which it is permitted to access the system
} rr_em_cell_select_para_info_struct;
typedef struct
{
kal_uint8 channel_type; // channel type
kal_uint8 tn; // timeslot number
kal_uint8 tsc; // training sequence code
kal_uint8 hopping_flag; // hopping or not
kal_uint8 maio; // MAIO value
kal_uint8 hsn; // HSN value
kal_uint8 num_of_carriers; // number of carriers in the BA list(in the non-hopping case, this shall be set to 1)
kal_uint16 arfcn[64]; // ARFCN value in the MA
kal_bool is_BCCH_arfcn_valid; /*the BCCH_arfcn is only valid
when receives H.O cmd in DEDI-state*/
kal_uint16 BCCH_arfcn; // Target_BCCH carrier
/*ZY:2006-08-15 add cipher algo for EM */
kal_uint8 cipher_algo; // ciphering value, OFF/A51/A52
/* brwang, 051024, [AMR engineering mode info.] */
#ifdef __AMR_SUPPORT__
// rr_mpal_amr_req_struct amr_decode_buf;
kal_bool amr_valid; /* the AMR(TRUE) or not(FALSE) */
kal_uint32 frame_number;/* the frame number to get RATSCCH messages */
kal_uint8 cmip; /* CMI phase */
kal_uint8 mr_ver; /* MultiRate speech VERsion : 001-amr verion 1*/
kal_bool nscb; /* Noise Supression Control Bit : 0-noise supression is used */
kal_bool icmi; /* Initial Codec Mode Indicator : 0-is defined bythe implicit rule */
kal_uint8 start_codec_mode; /* Start Codec Mode */
kal_uint8 acs; /* AMR Codec Activate Set */
kal_uint8 threshold[3]; /* Threshold1/Threshold2/Threshold3 */
kal_uint8 hysteresis[3]; /* Hysteresis1/Hysteresis2/Hysteresis3 */
#endif
} rr_em_channel_descr_info_struct; //This shall be used in IDLE and DEDI state
typedef struct
{
kal_uint8 mscr; // MSC release
kal_uint8 att; // att flag
kal_uint8 bs_ag_blks_res; // BS-AG-BLKS-RES
kal_uint8 ccch_conf; // CCCH-CONF
kal_uint8 cbq2; // Cell Bar Qualify 2
kal_uint8 bs_pa_mfrms; // BS-PA-MFRMS
kal_uint8 t3212; // T3212 timeout value
} rr_em_ctrl_channel_descr_info_struct;
typedef struct
{
kal_uint8 max_retrans; // MAX Retrans value
kal_uint8 tx_integer; // TX integer
kal_uint8 cba; // cell bar for access
kal_uint8 re; // call reestablishment allowed
kal_uint8 acc_class[2]; // acces control class
kal_bool CB_supported; // cell broadcast is supported
} rr_em_rach_ctrl_para_info_struct;
typedef struct
{
kal_uint8 mcc[3]; //MCC
kal_uint8 mnc[3]; //MNC
kal_uint8 lac[2]; //LAC
kal_uint16 cell_id; //cell ID
} rr_em_lai_info_struct;
typedef struct
{
kal_uint16 max_value; // timeout value for the DSF or RLF
kal_int16 current_value; // current value in the DSF or RLF calculation
kal_uint8 dtx_ind; //DTX indicator
kal_uint8 dtx_used; //DTX used or not
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -