blob: 35f4ebebb30193e3af96aa39feb617837131609c [file] [log] [blame]
/*****************************************************************************
*°æ±¾ËùÓÐ (C)2009ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾
* Ä£¿éÃû £ºÐ­ÒéÕ»ÓëÎïÀí²ã¹«¹²½Ó¿ÚÎļþ
* ÎļþÃû £ºpsl1com.h
* Îļþ±êʶ£º
* Ïà¹ØÎļþ£º
* ʵÏÖ¹¦ÄÜ£ºÐ­ÒéÕ»ÓëL1G½Ó¿Ú¡¢¸÷ÎïÀí²ãÊÊÅä²ã½Ó¿Ú
* ×÷Õß £ºweiyuzhen
* °æ±¾ £ºV1.0
* Íê³ÉÈÕÆÚ£º2010.12.30
* ÆäËü˵Ã÷£º"IR"±íʾÏà¹ØµÄºêÖµ¶¨Òå¡¢½á¹¹Ì嶨Òå¡¢º¯Êý¶¨Òå¾ù¼Ì³Ð×Ôcomneon´úÂ룬
* ÒÔʾÓë×ÔÑÐÇø·Ö
*
* Ð޸ļǼ1£º
* ÈÕ ÆÚ£º2012.05.21
* ÐÞ¸ÄÈË£ºÕÅÅô³Ì
* ÐÞ¸ÄÄÚÈÝ£º
ms.h
1)NETPAR_INTER_FREQ_LENGTH ÓÉ9¸Ä³É16
2)MAX_NO_UTRAN_CELL_LIST_IDX ÓÉ9¸Ä³É16
3)MAX_NO_UTRAN_RESULT ÓÉ9¸Ä³É16
psl1com.h:
1£© Z_IR_MCR_MAX_FREQ ÓÉ9¸Ä³É16
2£©ZPS_IR_MCR_MAX_FREQ ÓÉ9¸Ä³É16
3£©Z_IR_NOF_CELL_LIST_FREQUENCIES ÓÉ9¸Ä³É16
4£©ZPS_IR_NOF_CELL_LIST_FREQUENCIES ÓÉ9¸Ä³É16
tdpsphyint.h
1£©Z_TD_P_MAX_INTER_FREQ_NUM ÓÉ9¸Ä³É16
2£©Z_TD_P_MAX_BLIND_INTER_FREQ ÓÉ9¸Ä³É16
ascasint.h
Z_MaxRedirTdFreqNum ÐèÒª9->16
rr.h£º
MAX_NO_3G_UTRAN_FREQUENCY_LIST ÐèÒª9->16
Z_MAX_PSEUDO_FR_CELLS ÐèÒª9->16
*****************************************************************************/
#ifndef PSL1COM_H
#define PSL1COM_H
#ifndef MULTI_IRAT_2963
#include "l1_count_latch.h"
#endif
#include "tdpsphyint.h"
#include "pswphyint.h"
/**************************************************************************
* Í·Îļþ°üº¬ *
**************************************************************************/
/**************************************************************************
* È«¾Öºê¶¨Òå *
**************************************************************************/
/*ÊÊÅäÄ£¿éÉèÖÃÖ÷ģʽ»òÇëÇóGAPʱ¶ÔÓ¦µÄÖÆÊ½*/
#define Z_IRAT_INIT_MODE (BYTE)0 /*³õʼÎÞÐ§ÖÆÊ½*/
#define ZPS_IRAT_INIT_MODE Z_IRAT_INIT_MODE
#define Z_IRAT_GSM_MODE (BYTE)1 /*GSMÖÆÊ½*/
#define ZPS_IRAT_GSM_MODE Z_IRAT_GSM_MODE
#define Z_IRAT_TD_MODE (BYTE)2 /*TDÖÆÊ½*/
#define ZPS_IRAT_TD_MODE Z_IRAT_TD_MODE
#define Z_IRAT_LTE_MODE (BYTE)3 /*LTEÖÆÊ½*/
#define ZPS_IRAT_LTE_MODE Z_IRAT_LTE_MODE
#define Z_IRAT_W_MODE (BYTE)4 /*WÖÆÊ½*/
/*RRC״̬*/
#define Z_L1A_MEAS_RRC_IDLE 0
#define Z_L1A_MEAS_RRC_FACH 1
#define Z_L1A_MEAS_RRC_DCH 2
/*GAPÄ¿µÄ*/
#define Z_L1A_GAP_PURPOSE_NULL 0x00
#define Z_L1A_GAP_PURPOSE_PLMN 0x01
#define Z_L1A_GAP_PURPOSE_MEAS 0x02
#define Z_L1A_GAP_PURPOSE_USED 0x04
#define Z_L1A_GAP_PURPOSE_RSSI 0x80
/*»¬¶¯Æ½¾ù´°¿Ú*/
#define Z_L1A_MEAS_GSM_IDLE_RAVG_SIZE 4
#define Z_L1A_MEAS_GSM_DCH_RAVG_SIZE 1
#define Z_IR_MAX_INTER_FREQ_CELL_NUM (WORD)32 /*¸ÃÖµÓëtdRrcPhyInt.hÖеÄZ_TD_P_MAX_INTER_FREQ_CELL_NUMÏàµÈ*/
#define ZPS_IR_MAX_INTER_FREQ_CELL_NUM Z_IR_MAX_INTER_FREQ_CELL_NUM
#define Z_IR_MCR_MAX_FREQ (BYTE)16
#define ZPS_IR_MCR_MAX_FREQ Z_IR_MCR_MAX_FREQ
#define Z_IR_MAX_GAP_NUM (BYTE)8
#define ZPS_IR_MAX_GAP_NUM Z_IR_MAX_GAP_NUM
#define Z_IR_HW_IRAT_MEAS_OFFSET (BYTE)3
#define ZPS_IR_HW_IRAT_MEAS_OFFSET Z_IR_HW_IRAT_MEAS_OFFSET
#define Z_IR_DEAC_GSM_REQ (BYTE)0
#define ZPS_IR_DEAC_GSM_REQ Z_IR_DEAC_GSM_REQ
#define Z_IR_SUSPEND_UMTS_REQ (BYTE)1
#define ZPS_IR_SUSPEND_UMTS_REQ Z_IR_SUSPEND_UMTS_REQ
#define Z_IR_RESUME_UMTS_REQ (BYTE)2
#define ZPS_IR_RESUME_UMTS_REQ Z_IR_RESUME_UMTS_REQ
/*Ë«¿¨Ë«´ýL1GÐèÇóÐÞ¸Ä,¶àÄ£ºê¶¨Òå,ָʾ˫´ýÖжàÄ£Ò»´ýµ÷ÓÃ*/
#define Z_L1A_MUTI_MODE 0
/*¹ÒÆð¿¨1»¹ÊÇ¿¨2*/
#define Z_SUSPENDCARD1 0
#define Z_SUSPENDCARD2 1
/*¿¨1 ¿¨2¶ÔÓ¦Êý×éϱêºêÖµ*/
#define Z_L1A_CARD1 0
#define Z_L1A_CARD2 1
#define Z_LTE_P_IRAT_MAX_GAP_NUM 20 /*¸¨Ä£ÏÂ×î´óÅäÖÃgapÊýÄ¿*/
/*ÒµÎñÀàÐͶ¨Òå*/
#define EVENT_RF_OFF (BYTE)0
#define EVENT_RF_ON (BYTE)1
#define EVENT_MT_CALL (BYTE)2
#define EVENT_MO_CALL (BYTE)3
#define EVENT_MT_SS (BYTE)4
#define EVENT_MO_SS (BYTE)5
#define EVENT_MO_CS_SMS (BYTE)6
#define EVENT_MT_CS_SMS (BYTE)7
#define EVENT_MO_PS_SMS (BYTE)8
#define EVENT_MT_PS_SMS (BYTE)9
#define EVENT_CARD_CONFIG (BYTE)10
#define EVENT_CS_UPDATE (BYTE)11
#define EVENT_CS_DETACH (BYTE)12
#define EVENT_CS_RRC_CONNECT (BYTE)13
#define EVENT_PS_UPDATE (BYTE)14
#define EVENT_PS_DETACH (BYTE)15
#define EVENT_PS_SIGNALLING (BYTE)16
#define EVENT_SEARCHPLMN (BYTE)17
#define EVENT_PCH_PAGING (BYTE)18
#define EVENT_PLMN_CSG_LIST (BYTE)19
#define EVENT_PS_CONNECT (BYTE)20
#define EVENT_HPPLMNPROC (BYTE)21
#define EVENT_DEACTIVED (BYTE)22
/**********************************************************************
URRCAÓëL1G¹²Óú궨Ò壨¼Ì³Ð×ÔComneon´úÂ룩
**********************************************************************/
/* ================================ l1ud_meas.h, begin ================================= */
#define Z_IR_PREP_INVALID (BYTE)0
#define ZPS_IR_PREP_INVALID Z_IR_PREP_INVALID
#define Z_IR_PREP_PCH (BYTE)1
#define ZPS_IR_PREP_PCH Z_IR_PREP_PCH
#define Z_IR_PREP_PPCH (BYTE)2
#define ZPS_IR_PREP_PPCH Z_IR_PREP_PPCH
#define Z_IR_PREP_TCH (BYTE)3
#define ZPS_IR_PREP_TCH Z_IR_PREP_TCH
#define Z_IR_PREP_SDCCH (BYTE)4
#define ZPS_IR_PREP_SDCCH Z_IR_PREP_SDCCH
#define Z_IR_PREP_PTM (BYTE)5
#define ZPS_IR_PREP_PTM Z_IR_PREP_PTM
#define Z_IR_PREP_IRAT (BYTE)6 /* Used for both TCH and PTM when SINGLE_ANTENNA_SUPPORT is defined */
#define ZPS_IR_PREP_IRAT Z_IR_PREP_IRAT
#define Z_IR_GsmGapClusterType_disordered (BYTE)0
#define ZPS_IR_GsmGapClusterType_disordered Z_IR_GsmGapClusterType_disordered
#define Z_IR_GsmGapClusterType_short (BYTE)1
#define ZPS_IR_GsmGapClusterType_short Z_IR_GsmGapClusterType_short
#define Z_IR_GsmGapClusterType_long (BYTE)2
#define ZPS_IR_GsmGapClusterType_long Z_IR_GsmGapClusterType_long
#define Z_IR_SearchPrioMode_Off (BYTE)0
#define ZPS_IR_SearchPrioMode_Off Z_IR_SearchPrioMode_Off
#define Z_IR_SearchPrioMode_On (BYTE)1
#define ZPS_IR_SearchPrioMode_On Z_IR_SearchPrioMode_On
#ifdef SINGLE_ANTENNA_SUPPORT
#define Z_IR_IRAT_GSM_PRIO_MEAS_PERIOD_IDLE (BYTE)38
#define ZPS_IR_IRAT_GSM_PRIO_MEAS_PERIOD_IDLE Z_IR_IRAT_GSM_PRIO_MEAS_PERIOD_IDLE
#else
#define Z_IR_IRAT_GSM_PRIO_MEAS_PERIOD_IDLE (BYTE)32
#define ZPS_IR_IRAT_GSM_PRIO_MEAS_PERIOD_IDLE Z_IR_IRAT_GSM_PRIO_MEAS_PERIOD_IDLE
#endif
/* =============================== l1ud_meas.h, end ==================================== */
/* max. number of cells that are being kept synchronized */
#define MAX_IR_SYNC_INFO_CELLS (BYTE)10 //(MAX_REPORTED_GSM_CELLS + 2)
/* ================================ l1u_irat.h, begin ================================== */
/* max. number of cells that are being kept synchronized */
#define Z_IR_MAX_IR_SYNC_INFO_CELLS MAX_IR_SYNC_INFO_CELLS
#define ZPS_IR_MAX_IR_SYNC_INFO_CELLS Z_IR_MAX_IR_SYNC_INFO_CELLS
/*
** Indicates the type of InterRAT timing control in which we work, e.g. for SB
*/
#define Z_IR_UMTS_TIMING_CTRL (BYTE)0 /* UMTS does most of the timing calculation */
#define ZPS_IR_UMTS_TIMING_CTRL Z_IR_UMTS_TIMING_CTRL
#define Z_IR_GSM_TIMING_CTRL (BYTE)1 /* GSM does most of the timing calculation */
#define ZPS_IR_GSM_TIMING_CTRL Z_IR_GSM_TIMING_CTRL
/* ================================= l1u_irat.h, end ================================== */
/* ================================= l1u_irat_misc.h, begin ================================== */
/* requests to UMTS InterRAT handler */
#define Z_IR_DEAC_UMTS_REQ (BYTE)0
#define ZPS_IR_DEAC_UMTS_REQ Z_IR_DEAC_UMTS_REQ
#define Z_IR_SUSPEND_GSM_REQ (BYTE)1
#define ZPS_IR_SUSPEND_GSM_REQ Z_IR_SUSPEND_GSM_REQ
#define Z_IR_RESUME_GSM_REQ (BYTE)2
#define ZPS_IR_RESUME_GSM_REQ Z_IR_RESUME_GSM_REQ
/* confirm to UMTS InterRAT handler */
#define Z_IR_NO_CNF (BYTE)0
#define ZPS_IR_NO_CNF Z_IR_NO_CNF
#define Z_IR_DEAC_UMTS_CNF (BYTE)1
#define ZPS_IR_DEAC_UMTS_CNF Z_IR_DEAC_UMTS_CNF
#define Z_IR_SUSPEND_GSM_CNF (BYTE)2
#define ZPS_IR_SUSPEND_GSM_CNF Z_IR_SUSPEND_GSM_CNF
#define Z_IR_RESUME_GSM_CNF (BYTE)3
#define ZPS_IR_RESUME_GSM_CNF Z_IR_RESUME_GSM_CNF
/* ================================= l1u_irat_misc.h, end ================================== */
/* ================================= l1ud_tstamp.h, begin ================================== */
/* modes for getting timestamps */
#define Z_IR_TS_MODE_INVALID (BYTE)0
#define ZPS_IR_TS_MODE_INVALID Z_IR_TS_MODE_INVALID
#define Z_IR_TS_MODE_NONSTOP (BYTE)1 /* getting timestamps takes place fast as possible */
#define ZPS_IR_TS_MODE_NONSTOP Z_IR_TS_MODE_NONSTOP
#define Z_IR_TS_MODE_PAUSING (BYTE)2 /* take a break after getting a timestamp */
#define ZPS_IR_TS_MODE_PAUSING Z_IR_TS_MODE_PAUSING
/* modes for evaluating the antenna gaps */
#define Z_IR_GAPS_IGNORED (BYTE)0 /* reporting of possibly calculated gaps according UMTS
** antenna activities on GSM side are ignored
** -> zIR_l1ud_tstamp_is_antenna_ready_for_gsm(..) always TRUE
*/
#define ZPS_IR_GAPS_IGNORED Z_IR_GAPS_IGNORED
#define Z_IR_GAPS_EVALUATED (BYTE)1 /* gaps according UMTS antenna activities are evaluated*/
#define ZPS_IR_GAPS_EVALUATED Z_IR_GAPS_EVALUATED
#define Z_IR_TSTAMP_SFN_BASED (BYTE)0
#define ZPS_IR_TSTAMP_SFN_BASED Z_IR_TSTAMP_SFN_BASED
#define Z_IR_TSTAMP_CFN_BASED (BYTE)1
#define ZPS_IR_TSTAMP_CFN_BASED Z_IR_TSTAMP_CFN_BASED
#define Z_IR_MDO_RESEL (BYTE)0
#define ZPS_IR_MDO_RESEL Z_IR_MDO_RESEL
#define Z_IR_MDO_EXT_MEAS (BYTE)1
#define ZPS_IR_MDO_EXT_MEAS Z_IR_MDO_EXT_MEAS
//#if (defined(GPRS) && defined(UMTS))
#define Z_IR_MDO_UMTS (BYTE)2
#define ZPS_IR_MDO_UMTS Z_IR_MDO_UMTS
//#endif /* (defined(GPRS) && defined(UMTS)) */
#define Z_IR_MDO_PURPOSE_COUNT (BYTE)3
#define ZPS_IR_MDO_PURPOSE_COUNT Z_IR_MDO_PURPOSE_COUNT
/*Òý×Ôms.hÖв¨¶ÎµÄºê¶¨Ò壬Ϊ±ÜÃâ°üº¬ms.h¹ÊÖØÐ¶¨Òå*/
#define Z_IR_MS_GSM900 (BYTE)0
#define ZPS_IR_MS_GSM900 Z_IR_MS_GSM900
#define Z_IR_MS_GSM900_P (BYTE)1
#define ZPS_IR_MS_GSM900_P Z_IR_MS_GSM900_P
#define Z_IR_MS_GSM900_E (BYTE)2
#define ZPS_IR_MS_GSM900_E Z_IR_MS_GSM900_E
#define Z_IR_MS_GSM900_R (BYTE)3
#define ZPS_IR_MS_GSM900_R Z_IR_MS_GSM900_R
#define Z_IR_MS_GSM1800 (BYTE)4
#define ZPS_IR_MS_GSM1800 Z_IR_MS_GSM1800
#define Z_IR_MS_GSM1900 (BYTE)5
#define ZPS_IR_MS_GSM1900 Z_IR_MS_GSM1900
#define Z_IR_MS_GSM850 (BYTE)6
#define ZPS_IR_MS_GSM850 Z_IR_MS_GSM850
#define Z_IR_MS_GSM450 (BYTE)7
#define ZPS_IR_MS_GSM450 Z_IR_MS_GSM450
#define Z_IR_MS_GSM480 (BYTE)8
#define ZPS_IR_MS_GSM480 Z_IR_MS_GSM480
#define Z_IR_MS_GSM750 (BYTE)9
#define ZPS_IR_MS_GSM750 Z_IR_MS_GSM750
#define Z_IR_MS_GSM_T_GSM_380 (BYTE)10
#define ZPS_IR_MS_GSM_T_GSM_380 Z_IR_MS_GSM_T_GSM_380
#define Z_IR_MS_GSM_T_GSM_410 (BYTE)11
#define ZPS_IR_MS_GSM_T_GSM_410 Z_IR_MS_GSM_T_GSM_410
#define Z_IR_MS_GSM_T_GSM_900 (BYTE)12
#define ZPS_IR_MS_GSM_T_GSM_900 Z_IR_MS_GSM_T_GSM_900
#define Z_IR_MS_MULTIBAND (BYTE)13
#define ZPS_IR_MS_MULTIBAND Z_IR_MS_MULTIBAND
#define Z_IR_MS_UMTS_FDD (BYTE)14
#define ZPS_IR_MS_UMTS_FDD Z_IR_MS_UMTS_FDD
#define Z_IR_MS_UMTS_TDD (BYTE)15
#define ZPS_IR_MS_UMTS_TDD Z_IR_MS_UMTS_TDD
#define Z_IR_INVALID_BAND (BYTE)16
#define ZPS_IR_INVALID_BAND Z_IR_INVALID_BAND
/* ================================= l1ud_tstamp.h, end ================================== */
/* ================================= l1u_mdb.h ========================================= */
#define Z_IR_NOF_UTRAN_CELLS_PER_FREQUENCY (BYTE)32
#define ZPS_IR_NOF_UTRAN_CELLS_PER_FREQUENCY Z_IR_NOF_UTRAN_CELLS_PER_FREQUENCY
#define Z_IR_NOF_CELL_LIST_FREQUENCIES (BYTE)16
#define ZPS_IR_NOF_CELL_LIST_FREQUENCIES Z_IR_NOF_CELL_LIST_FREQUENCIES
#define Z_IR_INVALID_UARFCN (WORD)0xFFFF
#define ZPS_IR_INVALID_UARFCN Z_IR_INVALID_UARFCN
#define Z_IR_INVALID_DL_PSC (WORD)0xFFFF
#define ZPS_IR_INVALID_DL_PSC Z_IR_INVALID_DL_PSC
#define Z_IR_UTRAN_IRAT_MEAS_DISABLED (BYTE)0
#define ZPS_IR_UTRAN_IRAT_MEAS_DISABLED Z_IR_UTRAN_IRAT_MEAS_DISABLED
#define Z_IR_UTRAN_IRAT_MEAS_ENABLED (BYTE)1
#define ZPS_IR_UTRAN_IRAT_MEAS_ENABLED Z_IR_UTRAN_IRAT_MEAS_ENABLED
#define Z_IR_UTRAN_IRAT_MEAS_DED (BYTE)2
#define ZPS_IR_UTRAN_IRAT_MEAS_DED Z_IR_UTRAN_IRAT_MEAS_DED
#define Z_IR_UTRAN_IRAT_MEAS_NC (BYTE)4
#define ZPS_IR_UTRAN_IRAT_MEAS_NC Z_IR_UTRAN_IRAT_MEAS_NC
#define Z_IR_UTRAN_IRAT_MEAS_ALL (BYTE)7
#define ZPS_IR_UTRAN_IRAT_MEAS_ALL Z_IR_UTRAN_IRAT_MEAS_ALL
#define Z_IR_MDO_GAP_MODE_LONG (BYTE)0
#define ZPS_IR_MDO_GAP_MODE_LONG Z_IR_MDO_GAP_MODE_LONG
#define Z_IR_MDO_GAP_MODE_SHORT (BYTE)1
#define ZPS_IR_MDO_GAP_MODE_SHORT Z_IR_MDO_GAP_MODE_SHORT
#define Z_IR_CELL_LIST_0 (BYTE)0
#define ZPS_IR_CELL_LIST_0 Z_IR_CELL_LIST_0
#define Z_IR_CELL_LIST_1 (BYTE)1
#define ZPS_IR_CELL_LIST_1 Z_IR_CELL_LIST_1
#define Z_IR_CELL_LIST_2 (BYTE)8
#define ZPS_IR_CELL_LIST_2 Z_IR_CELL_LIST_2
#define Z_IR_CELL_LIST_ID_UNKNOWN (BYTE)0xFF
#define ZPS_IR_CELL_LIST_ID_UNKNOWN Z_IR_CELL_LIST_ID_UNKNOWN
#define Z_IR_UTRAN_INACTIVE (BYTE)0
#define ZPS_IR_UTRAN_INACTIVE Z_IR_UTRAN_INACTIVE
#define Z_IR_UTRAN_ACTIVE (BYTE)1
#define ZPS_IR_UTRAN_ACTIVE Z_IR_UTRAN_ACTIVE
#define Z_IR_UTRAN_SUSPEND (BYTE)2
#define ZPS_IR_UTRAN_SUSPEND Z_IR_UTRAN_SUSPEND
#define Z_IR_UTRAN_FINISHED (BYTE)3
#define ZPS_IR_UTRAN_FINISHED Z_IR_UTRAN_FINISHED
#define Z_IR_MAX_GSM_CELL_CNT (BYTE)32
#define ZPS_IR_MAX_GSM_CELL_CNT Z_IR_MAX_GSM_CELL_CNT
#define Z_LTE_P_MAX_IRAT_REPORT_CELL_PER_FREQ (BYTE)32
#define ZPS_LTE_P_MAX_IRAT_REPORT_CELL_PER_FREQ Z_LTE_P_MAX_IRAT_REPORT_CELL_PER_FREQ
/* ================================= 1u_mdb.h, end ======================================*/
/**************************************************************************
* È«¾ÖÊý¾ÝÀàÐÍ *
**************************************************************************/
/*========================================================================
= 3GΪÖ÷ʱ£¬2G´ý²âÁ¿Ð¡Çø¶¨Ò壨Óëms.hÖÐT_MON_MEAS_RESULT_GSM_ELEMENTÏàͬ£©=
=========================================================================*/
typedef struct
{
BYTE cell_id; /*L1GËù±£´æBAÁбíµÄË÷ÒýÖµ*/
BYTE bsic;
CHAR rssi;
} T_zIR_MON_MEAS_RESULT_GSM_ELEMENT,T_zPS_IR_MON_MEAS_RESULT_GSM_ELEMENT;
/*========================================================================
= 3GΪÖ÷ʱ£¬ÇëÇó»ñÈ¡L1G±£´æµÄBAÁбí =
=========================================================================*/
typedef WORD T_RADIO_FREQ_NO;
typedef BYTE T_BSIC;
typedef struct {
T_RADIO_FREQ_NO A[32];
} T_CHAN_LIST;
typedef T_CHAN_LIST T_zIR_CHAN_LIST;
typedef T_zIR_CHAN_LIST T_zPS_IR_CHAN_LIST;
typedef struct T_BCCH_LIST_s {
BYTE num_of_chans;
T_CHAN_LIST chan_number;
} T_BCCH_LIST;
typedef T_BCCH_LIST T_zIR_BCCH_LIST;
typedef T_zIR_BCCH_LIST T_zPS_IR_BCCH_LIST;
/*========================================================================
= 2GΪÖ÷ʱ£¬²âÁ¿ÇëÇó²ÎÊýµÄÊý¾Ý½á¹¹ =
=========================================================================*/
typedef struct
{
WORD wUarfcn;
BYTE bNum_of_cells;
BYTE bPadding;
WORD atCellInfo[Z_IR_MAX_INTER_FREQ_CELL_NUM];
} T_zIR_UMeasUarfcn,T_zPS_IR_UMeasUarfcn;
typedef struct
{
BYTE bMeas_reference;
BYTE bNum_of_uarfcns; /*´ý²âƵµãÊý*/
T_zIR_UMeasUarfcn atUarfcn[Z_IR_MCR_MAX_FREQ];
} T_zIR_UMeasParams,T_zPS_IR_UMeasParams;
/*========================================================================
= 2GΪÖ÷ʱ£¬²âÁ¿½á¹ûÉϱ¨²ÎÊýµÄÊý¾Ý½á¹¹ =
=========================================================================*/
typedef struct
{
BYTE bUcell_param;
BYTE bRscp;
} T_zIR_UMeasCellsRlt,T_zPS_IR_UMeasCellsRlt;
typedef struct
{
WORD wUarfcn;
WORD wPadding;
DWORD dwMeasured_cells; /*ÒѲâÐ¡ÇøµÄBITMAP*/
T_zIR_UMeasCellsRlt atCellRlt[Z_IR_MAX_INTER_FREQ_CELL_NUM];
} T_zIR_UMeasFreqRlt,T_zPS_IR_UMeasFreqRlt;
typedef struct
{
BYTE bMeas_reference; /*L1GÄÚ²¿Ê¹ÓõIJâÁ¿±àºÅ£¬ÓÃÀ´ÅжϲâÁ¿ÊÇ·ñ¸Ä±ä*/
BYTE bnof_freq; /*Éϱ¨µÄƵµãÊý*/
BYTE abPadding[2];
T_zIR_UMeasFreqRlt atFreqRlt[Z_IR_MCR_MAX_FREQ];
} T_zIR_UMeasRltList,T_zPS_IR_UMeasRltList;
/*========================================================================
= GSM Timing information as communicated from UMTS
= For details on timestamp reading, please see the dspec
=========================================================================*/
typedef long T_L1_HYPER_FRAME_NO;
typedef WORD T_L1_QBITS;
typedef struct
{
T_L1_HYPER_FRAME_NO tfn;
T_L1_QBITS t_off;
} T_IR_TDMA_TIME_INFO;
typedef T_IR_TDMA_TIME_INFO T_zIR_TDMA_TIME_INFO;
typedef T_zIR_TDMA_TIME_INFO T_zPS_IR_TDMA_TIME_INFO;
/*========================================================================
L1TÓëL1G¹²Óýṹ¶¨Ò壨¼Ì³Ð×ÔComneon´úÂ룩
=========================================================================*/
/* ================================ l1u_irat.h, begin ================================== */
/*
** This enum indicates the sync status of a BS
*/
typedef enum
{
IR_NO_SYNC, /* unsynced (no FCB, no SB) */
IR_FCB_SEARCH_PENDING, /* unsynced, but FCB attempted */
IR_FCB_SYNC, /* unsynced, but FCB found */
IR_SB_SYNC, /* synced (FCB and SB) */
IR_SB_RECONF, /* SB needs to be reconfirmed */
IR_INVALID_SYNC /* unsynced (or reconf failed) */
} T_IR_GSM_SYNC_STATUS;
/*
** Indicates whether initial SB read or SB reconfirmation is desired
*/
typedef enum
{
IR_INIT_SB_READ, /* initial SB read desired */
IR_RECONF_SB_READ /* SB reconfirmation desired */
} T_IR_SB_READ_TYPE;
typedef enum
{
L1G_IRAT_XCELL = 0,
L1G_IRAT_RESEL_GSM2UTRAN,
L1G_IRAT_RESEL_GSM2LTE,
L1G_IRAT_REDIRECT_GSM2UTRAN,
L1G_IRAT_REDIRECT_GSM2LTE,
L1G_IRAT_CCO_GSM2UTRAN,
L1G_IRAT_CCO_GSM2LTE,
L1G_IRAT_CSHO_GSM2UTRAN,
L1G_IRAT_PSHO_GSM2UTRAN,
L1G_IRAT_PSHO_GSM2LTE
} T_L1G_IRAT_SCENE_TYPE;
typedef T_IR_GSM_SYNC_STATUS T_zIR_GSM_SYNC_STATUS;
typedef T_zIR_GSM_SYNC_STATUS T_zPS_IR_GSM_SYNC_STATUS;
typedef BYTE T_zIR_TIMING_CTRL;
typedef T_zIR_TIMING_CTRL T_zPS_IR_TIMING_CTRL;
typedef T_IR_SB_READ_TYPE T_zIR_SB_READ_TYPE;
typedef T_zIR_SB_READ_TYPE T_zPS_IR_SB_READ_TYPE;
typedef BYTE T_zIR_HANDLER_REQ_TYPE;
typedef T_zIR_HANDLER_REQ_TYPE T_zPS_IR_HANDLER_REQ_TYPE;
/* ** This enum indicates the sync status of a BS */
#define Z_IR_NO_SYNC IR_NO_SYNC /* unsynced (no FCB, no SB) */
#define ZPS_IR_NO_SYNC Z_IR_NO_SYNC
#define Z_IR_FCB_SEARCH_PENDING IR_FCB_SEARCH_PENDING /* unsynced, but FCB attempted */
#define ZPS_IR_FCB_SEARCH_PENDING Z_IR_FCB_SEARCH_PENDING
#define Z_IR_FCB_SYNC IR_FCB_SYNC /* unsynced, but FCB found */
#define ZPS_IR_FCB_SYNC Z_IR_FCB_SYNC
#define Z_IR_SB_SYNC IR_SB_SYNC /* synced (FCB and SB) */
#define ZPS_IR_SB_SYNC Z_IR_SB_SYNC
#define Z_IR_SB_RECONF IR_SB_RECONF /* SB needs to be reconfirmed */
#define ZPS_IR_SB_RECONF Z_IR_SB_RECONF
#define Z_IR_INVALID_SYNC IR_INVALID_SYNC /* unsynced (or reconf failed) */
#define ZPS_IR_INVALID_SYNC Z_IR_INVALID_SYNC
/*
** Indicates whether initial SB read or SB reconfirmation is desired
*/
#define Z_IR_INIT_SB_READ IR_INIT_SB_READ /* initial SB read desired */
#define ZPS_IR_INIT_SB_READ Z_IR_INIT_SB_READ
#define Z_IR_RECONF_SB_READ IR_RECONF_SB_READ /* SB reconfirmation desired */
#define ZPS_IR_RECONF_SB_READ Z_IR_RECONF_SB_READ
#define Z_GSM_RPI_SUPPORT_MAX_BAND (BYTE)8
/*
** This type is used to select "allowed bands" for RSSI measurements
** For band n (from T_GSM_BAND) bit 1<<n is set in the mask.
**
*/
typedef DWORD T_zIR_IR_GSM_BAND_MASK;
typedef T_zIR_IR_GSM_BAND_MASK T_zPS_IR_IR_GSM_BAND_MASK;
/*
** General return fct stucture, to be used in most InterRAT functionality
*/
typedef struct
{
VOID (*func)(BYTE, BYTE);
BYTE para;
} T_zIR_RESULT_FUNCTION,T_zPS_IR_RESULT_FUNCTION;
/*
** Table with GSM cell info for all reported cells
*/
typedef struct T_L1_CELL_INFO_GSM_s {
T_RADIO_FREQ_NO arfcn;
T_BSIC bsic;
} T_L1_CELL_INFO_GSM;
typedef T_L1_CELL_INFO_GSM T_zIR_CELL_INFO_GSM;
typedef T_zIR_CELL_INFO_GSM T_zPS_IR_CELL_INFO_GSM;
typedef struct
{
BYTE nof_cells ;
T_L1_CELL_INFO_GSM rep_cell_info[MAX_IR_SYNC_INFO_CELLS];
T_IR_GSM_SYNC_STATUS status[MAX_IR_SYNC_INFO_CELLS];
} T_IR_REP_CELL_TABLE;
typedef T_IR_REP_CELL_TABLE T_zIR_REP_CELL_TABLE;
typedef T_zIR_REP_CELL_TABLE T_zPS_IR_REP_CELL_TABLE;
typedef struct
{
T_zIR_REP_CELL_TABLE cell_info;
T_zIR_TDMA_TIME_INFO sb_time_info[Z_IR_MAX_IR_SYNC_INFO_CELLS];
}T_zIR_SB_INFO_TABLE,T_zPS_IR_SB_INFO_TABLE;
/*
** Structure which provides all sync info on each GSM cell,
** neccessary for BSIC read/verification.
*/
typedef struct
{
T_RADIO_FREQ_NO arfcn;
T_IR_GSM_SYNC_STATUS status;
T_IR_TDMA_TIME_INFO timing;
WORD invalid_time_remaining;
} T_IR_CELL_SYNC_DATA;
typedef T_IR_CELL_SYNC_DATA T_zIR_CELL_SYNC_DATA;
typedef T_zIR_CELL_SYNC_DATA T_zPS_IR_CELL_SYNC_DATA;
/*
** Array of the sync data for all reported cells
*/
typedef struct
{
BYTE nof_cells;
T_zIR_CELL_SYNC_DATA sync_data[Z_IR_MAX_IR_SYNC_INFO_CELLS];
} T_zIR_CELL_SYNC_QUERY_DATA,T_zPS_IR_CELL_SYNC_QUERY_DATA;
/* Structure is used to combine some parameters.*/
typedef struct
{
BYTE numRemainingGaps; /*same as in struct hciGsmInactiveTimeReq_t*/
BYTE searchPrioMode; /*same as in struct hciGsmInactiveTimeReq_t*/
BYTE clusterType; /*same as in struct hciGsmInactiveTimeReq_t*/
} T_zIR_CLUSTER_INFO,T_zPS_IR_CLUSTER_INFO;
//typedef WORD T_RADIO_FREQ_NO;
//typedef BYTE T_RXLEV;
//typedef BYTE T_BSIC;
//typedef WORD T_L1_QBITS;
//typedef DWORD T_L1_HYPER_FRAME_NO;
typedef struct
{
WORD arfcn; /*ComneonÖÐÀàÐͶ¨ÒåΪT_RADIO_FREQ_NO*/
BYTE rxlev_avgr; /*ComneonÖÐÀàÐͶ¨ÒåΪT_RXLEV*/
BYTE bsic; /*ComneonÖÐÀàÐͶ¨ÒåΪT_BSIC*/
BYTE band; /* T_GSM_BAND not used to save RAM */
BYTE nwin_idx;
WORD timing_offset; /*ComneonÖÐÀàÐͶ¨ÒåΪT_L1_QBITS*/
DWORD fn_offset; /*ComneonÖÐÀàÐͶ¨ÒåΪT_L1_HYPER_FRAME_NO*/
}T_zIR_MDO_NCELL_ELEM,T_zPS_IR_MDO_NCELL_ELEM;
typedef BYTE T_zIR_MDO_PURPOSE;
typedef T_zIR_MDO_PURPOSE T_zPS_IR_MDO_PURPOSE;
/*========================================================================
L1TÓëL1G¹²Óýṹ¶¨Ò壨¼Ì³Ð×ÔComneon´úÂ룩
=========================================================================*/
/* ================================ l1u_mdb.h, begin ================================== */
typedef BYTE T_zIR_CELL_LIST_ID;
typedef T_zIR_CELL_LIST_ID T_zPS_IR_CELL_LIST_ID;
typedef BYTE T_zIR_UTRAN_IRAT_MEAS;
typedef T_zIR_UTRAN_IRAT_MEAS T_zPS_IR_UTRAN_IRAT_MEAS;
typedef BYTE T_zIR_MDO_GAP_MODES;
typedef T_zIR_MDO_GAP_MODES T_zPS_IR_MDO_GAP_MODES;
typedef BYTE T_zIR_UTRAN_MEAS_STATE;
typedef T_zIR_UTRAN_MEAS_STATE T_zPS_IR_UTRAN_MEAS_STATE;
typedef struct
{
SHORT rscp;
BYTE nof_results;
} T_zIR_MDB_UTRAN_CELL_MEAS_BUFFER,T_zPS_IR_MDB_UTRAN_CELL_MEAS_BUFFER;
typedef struct {
BYTE index;
WORD ucell_param;
BYTE diversity;
BYTE sync_case_tstd;
} T_zIR_UTRAN_CELL_ON_FREQ,T_zPS_IR_UTRAN_CELL_ON_FREQ;
typedef struct {
T_zIR_UTRAN_CELL_ON_FREQ A[Z_IR_NOF_UTRAN_CELLS_PER_FREQUENCY];
} T_zIR_UTRAN_CELL_FIELD,T_zPS_IR_UTRAN_CELL_FIELD;
typedef struct
{
T_zIR_MDB_UTRAN_CELL_MEAS_BUFFER measurement[Z_IR_NOF_UTRAN_CELLS_PER_FREQUENCY];
} T_zIR_MDB_NCELL_MEAS_PERIOD_DATA_SET, * T_zIR_MDB_NCELL_MEAS_PERIOD_DATA_SET_PTR,
T_zPS_IR_MDB_NCELL_MEAS_PERIOD_DATA_SET, * T_zPS_IR_MDB_NCELL_MEAS_PERIOD_DATA_SET_PTR;
typedef struct
{
CHAR rscp; /*Comenon: char(½­ºè)*/
} T_zIR_MDB_MEAS_ELEMENT,T_zPS_IR_MDB_MEAS_ELEMENT;
typedef struct
{
T_zIR_MDB_MEAS_ELEMENT measurement[Z_IR_NOF_UTRAN_CELLS_PER_FREQUENCY];
} T_zIR_MDB_UTRAN_NCELL_MEAS_RESULT_SET, *T_zIR_MDB_UTRAN_NCELL_MEAS_RESULT_SET_PTR,
T_zPS_IR_MDB_UTRAN_NCELL_MEAS_RESULT_SET, *T_zPS_IR_MDB_UTRAN_NCELL_MEAS_RESULT_SET_PTR;
typedef struct {
BYTE index;
BYTE length;
WORD dl_uarfcn; /*Comneon: unsigned short(½­ºè)*/
T_zIR_UTRAN_CELL_FIELD utran_cell;
}T_zIR_MDB_CELL_LIST_DATA_SET, *T_zIR_MDB_CELL_LIST_DATA_SET_PTR,
T_zPS_IR_MDB_CELL_LIST_DATA_SET, *T_zPS_IR_MDB_CELL_LIST_DATA_SET_PTR;
typedef struct
{
T_zIR_MDB_CELL_LIST_DATA_SET_PTR p_cell_list;
T_zIR_MDB_NCELL_MEAS_PERIOD_DATA_SET_PTR p_period;
T_zIR_MDB_UTRAN_NCELL_MEAS_RESULT_SET_PTR p_avg;
} T_zIR_MDB_NCELL_LIST_DATA_SET,T_zPS_IR_MDB_NCELL_LIST_DATA_SET;
typedef struct {
WORD dl_uarfcn; /*Comneon: unsigned short(½­ºè)*/
BYTE nof_ncell;
WORD utran_cell[Z_IR_NOF_UTRAN_CELLS_PER_FREQUENCY];
} T_zIR_IRAT_UTRAN_CELLS_PER_FREQ,T_zPS_IR_IRAT_UTRAN_CELLS_PER_FREQ;
typedef struct
{
BYTE meas_reference; /*Comneon: byte(½­ºè)*/
BYTE length; /*Comneon: byte(½­ºè)*/
#ifndef MULTI_IRAT_2963
DWORD dwTmeasInial;/*³õʼ²âÁ¿ÖÜÆÚms£¬ÐèÒª²âÁ¿µÄƵµã¶¼ËÑË÷ºó£¬´ËÖÜÆÚ±äΪÎÞЧ */
WORD wTmeas;/*Õý³£Éϱ¨ÖÜÆÚ*/
#endif
T_zIR_IRAT_UTRAN_CELLS_PER_FREQ A[Z_IR_NOF_CELL_LIST_FREQUENCIES];
}T_zIR_L1G_TddCellMeasReq,T_zPS_IR_L1G_TddCellMeasReq;
typedef struct {
BYTE pccch_present;
BYTE u3g_ba_ind;
BYTE psi3_change_mark;
BYTE pmo_ind;
} T_zIR_RR_3G_LIST_ID,T_zPS_IR_RR_3G_LIST_ID;
typedef struct{
T_zIR_RR_3G_LIST_ID id_set[2];
BYTE write_index;
BYTE read_index;
} T_zIR_U3G_LIST_ID_BUFFER,T_zPS_IR_U3G_LIST_ID_BUFFER;
typedef struct{
/* flag indicating if ncell measurements on a particular frequency are enabled */
BYTE freq_enabled;
/* backup of freq_enabled flag, needed for suspend mode */
BYTE backup_freq_enabled;
/* indicates that a report can be created */
BYTE ncell_meas_complete;
/* indicates for which cells there are recent results from HW */
DWORD measured_cells;
} T_zIR_UTRAN_NCELL_INFO,T_zPS_IR_UTRAN_NCELL_INFO;
typedef struct{
/* indicates that measurements can be started because qsearch threshold condition is fulfilled */
BYTE qsearch_start_meas;
/* indicates the RXLEV threshold value for the start of UMTS measurements ** in idle or packet transfer mode */
BYTE qsearch_ip;
/* indicates the RXLEV threshold value for the start of UMTS measurements connected mode */
BYTE qsearch_c;
/* Indicates the Qsearch value to be used in connected mode before Qsearch_C is received */
BYTE qsearch_c_initial;
/* indicates if 3G cells may be searched when BSIC decoding is required */
BYTE search_prio;
/* 3G_LIST_ID parameters sent by RR associated with the measurement request message */
T_zIR_U3G_LIST_ID_BUFFER u3g_list_id;
} T_zIR_CELL_PARAMS,T_zPS_IR_CELL_PARAMS;
typedef struct{
/* indicates that a new measurement request from RR has arrived */
BYTE new_meas_req;
/* indicates a new set of header params of the type T_RR_3G_LIST_ID for a new meas req */
BYTE rr_3g_id_changed;
/* indicates the overall on/off state of the Inter-RAT measurements */
T_zIR_UTRAN_MEAS_STATE utran_state;
/* Parameters to coordinate GSM tasks and UMTS measurements */
T_zIR_CELL_PARAMS cell_params;
BYTE supported_3g_networks;
/* control data for ncell result processing */
T_zIR_UTRAN_NCELL_INFO ncell_info[Z_IR_NOF_CELL_LIST_FREQUENCIES];
WORD arfcn;
/* indicates that measurement request data were sent either through MPH_UPDATE_DED_PARAM_REQ ** or MPH_START_NC_MEAS_REQ; flag is needed in the result handler */
T_zIR_UTRAN_IRAT_MEAS meas_mode;
/* indicates that an update (delta) of the current measurement request is pending. This may ** happen only in DCH mode. */
BYTE dch_meas_delta_pending; /* indicates that a new measurement request came in while Interrat measurements are suspended */
BYTE mdb_backup_obsolete; /* measurement ID that indentifies a measurement request on SDL and HW level */
BYTE meas_reference;
#if defined (SINGLE_ANTENNA_SUPPORT) /* counter for search frames, multiple of SEARCH_FRAMES_FOR_IRAT */
WORD mfr26_cnt; /* counter for search frames which were used for iRAT, multiple of PERIOD_FOR_IRAT */
WORD mfr26_taken_for_irat_cnt; /* counter for search frames inside a cluster, 0 no iRAT at the moment */
WORD mfr26_cluster_for_irat_cnt; /* sum of connected search frames for iRAT measurement */
WORD mfr26_cluster_size_for_irat; /* cluster mode */
T_zIR_MDO_GAP_MODES mfr26_cluster_mode; /* Scheduling index for calculating priority for IRAT measurement */
BYTE sched_idx;
#endif /* (SINGLE_ANTENNA_SUPPORT) */
} T_zIR_UTRAN_CTRL_DATA,T_zPS_IR_UTRAN_CTRL_DATA;
typedef struct {
BYTE bUcell_param;
BYTE bRscp;
} T_zIR_UtranMeasCellsResults,T_zPS_IR_UtranMeasCellsResults;
typedef struct {
WORD wUarfcn;
DWORD dwMeasured_cells;
T_zIR_UtranMeasCellsResults atCellRlt[Z_IR_NOF_UTRAN_CELLS_PER_FREQUENCY];
} T_zIR_IratUmcrMeasResult,T_zPS_IR_IratUmcrMeasResult;
typedef struct {
BYTE index;
WORD dl_uarfcn;
BYTE length;
T_zIR_UTRAN_CELL_FIELD utran_cell;
} T_zIR_UTRAN_CELLS_PER_FREQ,T_zPS_IR_UTRAN_CELLS_PER_FREQ;
/*========================================================================
CBSÓëL1GÏûÏ¢½á¹¹¶¨Òå
=========================================================================*/
/* ================================ ms.h, begin ================================= */
/*==============================================================================
Ô­ÓL1MN_CBCH_DATA_IND(L1G->CBS)
˵Ã÷: L1GÉϱ¨µÄ23×Ö½ÚµÄÎÞÏß¿é
==============================================================================*/
typedef struct {
BYTE abBuf[23];
} T_zCbs_L1MN_CBCH_DATA_IND; /* come from commneon yPDef_L1MN_CBCH_DATA_IND */
/*==============================================================================
Ô­ÓL1MN_CBCH_START_REQ(CBS->L1G)
˵Ã÷: CBS֪ͨL1GÆô¶¯CBS½ÓÊÕ, ¿ÕÏûÏ¢
==============================================================================*/
/*==============================================================================
Ô­ÓL1MN_CBCH_STOP_REQ((CBS->L1G)
˵Ã÷: CBS֪ͨL1GÍ£Ö¹CBS½ÓÊÕ, ¿ÕÏûÏ¢
==============================================================================*/
/*==============================================================================
Ô­ÓL1MN_CBCH_SKIP_REQ((CBS->L1G)
˵Ã÷: CBSÏòL1G·¢ËÍSkipÒ³ÃæÇëÇó
==============================================================================*/
typedef struct {
WORD wPageNo;
} T_zCbs_L1MN_CBCH_SKIP_REQ; /* come from commneon yPDef_L1MN_CBCH_SKIP_REQ */
/* ================================ ms.h, end ================================= */
/******************************************************
L1T->L1G
¹¦ÄÜ:
L1TÏòL1G ÇëÇóÉ䯵×ÊÔ´,
ÏûÏ¢¼°½á¹¹: Z_L1_TdGetRfFromGsm_Req£¨SDLÏûÏ¢£ºL1T_DEACT_GSM_REQ_EV£©
NULL
******************************************************/
/******************************************************
L1G->L1T
¹¦ÄÜ:
L1GÏòL1T»Ø¸´É䯵×ÊÔ´ÈóöÈ·ÈÏ
ÏûÏ¢¼°½á¹¹: Z_L1_TdGetRfFromGsm_Cnf£¨SDLÏûÏ¢£ºL1T_DEACT_GSM_CNF_EV£©
NULL
******************************************************/
/******************************************************
L1E->L1G
¹¦ÄÜ:
L1EÏòL1GÇëÇóÉ䯵×ÊÔ´
ÏûÏ¢¼°½á¹¹: Z_L1_LteGetRfFromGsm_Req£¨SDLÏûÏ¢£ºL1E_DEACT_GSM_REQ_EV£©
NULL
******************************************************/
/******************************************************
L1G->L1E
¹¦ÄÜ:
L1GÏòL1E»Ø¸´É䯵×ÊÔ´ÈóöÈ·ÈÏ
ÏûÏ¢¼°½á¹¹: Z_L1_LteGetRfFromGsm_Cnf£¨SDLÏûÏ¢£ºL1E_DEACT_GSM_CNF_EV£©
NULL
******************************************************/
/******************************************************
L1G->L1T
¹¦ÄÜ:
L1GÏòL1TÇëÇóÉ䯵×ÊÔ´
ÏûÏ¢¼°½á¹¹: Z_L1_GsmGetRfFromTd_Req£¨SDLÏûÏ¢£ºL1G_DEACT_UMTS_REQ_EV£©
NULL
******************************************************/
/******************************************************
L1T->L1G
¹¦ÄÜ:
L1TÏòL1G»Ø¸´É䯵×ÊÔ´ÈóöÈ·ÈÏ
ÏûÏ¢¼°½á¹¹: Z_L1_GsmGetRfFromTd_Cnf£¨SDLÏûÏ¢£ºL1G_DEACT_UMTS_CNF_EV£©
NULL
******************************************************/
/******************************************************
L1G->L1E
¹¦ÄÜ:
L1GÏòL1EÇëÇóÉ䯵×ÊÔ´
ÏûÏ¢¼°½á¹¹: Z_L1_GsmGetRfFromLte_Req£¨SDLÏûÏ¢£ºL1G_DEACT_LTE_REQ_EV£©
NULL
******************************************************/
/******************************************************
L1E->L1G
¹¦ÄÜ:
L1E ÏòL1G»Ø¸´É䯵×ÊÔ´ÈóöÈ·ÈÏ
ÏûÏ¢¼°½á¹¹: Z_L1_GsmGetRfFromLte_Cnf£¨SDLÏûÏ¢£ºL1G_DEACT_LTE_CNF_EV£©
NULL
******************************************************/
/******************************************************
L1E<->L1T
¹¦ÄÜ:
TDΪÖ÷ʱ L1EÏòL1T ÇëÇóÉ䯵×ÊÔ´»òLTEΪÖ÷ʱ L1TÏòL1E ÇëÇóÉ䯵×ÊÔ´
ÏûÏ¢¼°½á¹¹: Z_L1_GetRF_Req
NULL
******************************************************/
/******************************************************
L1T<->L1E
¹¦ÄÜ:
TDΪÖ÷ʱ L1TÏòL1E »Ø¸´Èóö×ÊÔ´È·ÈÏ»òLTEΪÖ÷ʱ L1EÏòL1T»Ø¸´Èóö×ÊÔ´È·ÈÏ
ÏûÏ¢¼°½á¹¹: Z_L1_GetRF_Cnf
NULL
******************************************************/
/*L1G,L1T<->EPHY½Ó¿Ú*/
/******************************************************
·½Ïò:L1G,L1T->EPHY
¹¦ÄÜ:LTEΪ¸¨Ä£Ê½µÄʱºò£¬L1G,L1TÅäÖÃLTEÎïÀí²ã²âÁ¿¡£
¶ÔÓÚLTEÎïÀí²ãÀ´Ëµ¿ÉÄÜÏÈÊÕµ½²âÁ¿¼°measmask,ºóÊÕµ½GAP£¬
Ò²¿ÉÄÜÏÈÊÕµ½GAP,ºóÊÕµ½²âÁ¿ÁÐ±í¡£Èç¹ûÏÈÊÕµ½ÁбíºóÎïÀí
²ã²»»á²âÁ¿Ö±µ½ÊÕµ½GAP²Å»á²âÁ¿£¬Èç¹ûÏÈÊÕµ½GAPÒ²²»»á²â
Á¿Ö±µ½ÓвâÁ¿ÁбíÅäÖÃÏÂÀ´
ÏûÏ¢:LTE_P_FREQ_LIST_CONFIG_REQ_EV
½á¹¹:T_zLTE_P_FreqListConfigReq
******************************************************/
typedef struct {
WORD wStartPCI; /*ÆðʼµÄÎïÀíÐ¡ÇøID,0~503*/
WORD wRange; /*°üÀ¨wStartPCIÖ¸¶¨Ð¡ÇøÔÚÄÚµÄÐ¡Çø¸öÊý.Ð¡ÇøÒÀ´ÎΪwStartPCI,wStartPCI+1,....,wStartPCI+wRange-1*/
}T_zLTE_P_BlackCell;
typedef struct
{
DWORD dwEarfcn;
WORD wMeasBandWidth;
WORD wBlackCellRangeNum;
WORD wHighPrioInd;/*Èç¹û´ËLTEƵµãΪ¸ßÓÅÏȼ¶£¬ÔòÖÃ1£¬·ñÔòΪ0*/
WORD wPadding;
T_zLTE_P_BlackCell atBlackCells[16];
}T_zLTE_P_FreqInfo;
typedef struct
{
WORD wMsgId;
/*
bReportQuantity: ȡֵ·¶Î§£º0£¬1£¬2
0: Ö»²âRSRP
1: Ö»²âRSRQ,
2: RSRPºÍRSRQÁ½¸ö¶¼²â
*/
WORD wReportQuantity;
WORD wMaxCellRepPerFreq;
/*
±»²âµÄƵµã¸öÊý¡£¸ù¾ÝĿǰLTEÎïÀí²ãµÄ²âÁ¿ÄÜÁ¦×î¶àÖ§³Ö4¸öƵµã¡£
*/
WORD wFreqNum;
/*
²âÁ¿¶ÔÏóµÄÐÅÏ¢ÁÐ±í£¨º¬Í¬ÆµºÍÒìÆµ£©, ÔªËØ0¹Ì¶¨ÎªintraƵµãµÄ²ÎÊý¡£1~3ΪinterƵµã²ÎÊý
*/
T_zLTE_P_FreqInfo atFreqInfoList[8];
}T_zLTE_P_FreqListConfig_Req;
/******************************************************
·½Ïò:L1G,L1T->EPHY
¹¦ÄÜ:L1T,l1Gͨ¹ýMask֪ͨLTEÎïÀí²ãÆô¶¯ÏàӦƵµã²âÁ¿£¬²¢ÆôÓÃеIJâÁ¿ÖÜÆÚ
ÏûÏ¢:LTE_P_IRAT_MEAS_CONFIG_REQ_Ev
½á¹¹:T_zLTE_P_IratMeasConfigReq
******************************************************/
typedef struct
{
WORD wMsgId;
WORD wConnectStateFlg;/*֪ͨÖ÷ģʽ״̬£¬0¿ÕÏÐ̬£¬1Á¬½Ó̬*/
/*
ÿ¸öbit¶ÔÓ¦meas_freq_infoÖеÄÒ»¸öƵµã£¬ÎïÀí²ãÖ»Æô¶¯¶ÔÓ¦µÄbitλΪ1µÄƵµãµÄ²âÁ¿¡£
Bitn¶ÔÓ¦T_zLTE_P_IratMeasConfig_ReqÖеÄatMeasFreqInfoList[n]£¬n£º0~3
*/
WORD wMeasBitMask;
/*³õËѲâÁ¿ºóµÄºóÐø²âÁ¿²âÁ¿ÖÜÆÚ¾ùΪwTmeas,µ¥Î»ms*/
WORD wTmeas;
/*µÚÒ»´Î²âÁ¿µÄ±¨¸æÖÜÆÚ£¬µ¥Î»ms,Èç¹ûÖÜÆÚÄÚÌáǰÍê³É¿ÉÒÔÌáǰÉϱ¨£¬
×²»³¬¹ý±¨¸æÖÜÆÚ¡£Èç¹ûÒ»¸öƵµãÖØÅäǰÒѾ­×ö¹ý²âÁ¿£¬ÔòÖ±½ÓÓÃÓÚwTmeas¶ø²»ÊÇdwTmeasInitial*/
DWORD dwTmeasInitial;
}T_zLTE_P_IratMeasConfig_Req;
/******************************************************
·½Ïò:L1G,L1T->EPHY
¹¦ÄÜ:L1TÇëÇóÎïÀí²ãֹͣʹÓÃÒѾ­·ÖÅäµÄGAP.LTEÎïÀí²ãÊÕµ½¸ÃÏûÏ¢Á¢¼´Í£Ö¹¶ÔÒѾ­·ÖÅäµÄGAPµÄʹÓã¬
È¡ÏûºóÐøµ÷¶È£¬ÔÚ×î¿ìµÄʱ¼äÄÚÈóöÉ䯵.Note:ºÍLTE_P_ABORT_GAP_CNF_EvÅäÖÃʹÓÃ
ÏûÏ¢:LTE_P_ABORT_GAP_REQ_Ev
½á¹¹:T_zLTE_P_AbortGapReq
******************************************************/
typedef struct
{
WORD wMsgId;
WORD wPadding;
} T_zLTE_P_AbortGap_Req;
/* ¶àÄ£½Ó¿Ú*/
/******************************************************
·½Ïò:L1E->L1T/L1G
¹¦ÄÜ:LTEÎïÀí²ãÉϱ¨²âÁ¿½á¹û,ÆäÖв»º¬ºÚÃûµ¥ÖеÄÐ¡Çø
ÏûÏ¢:LTE_P_IRAT_MEAS_IND_EV
½á¹¹:T_zLTE_P_IratMeas_Ind
******************************************************/
/*
EPHYÒ»¸öÐ¡ÇøµÄ²âÁ¿½á¹ûÐÅÏ¢
*/
typedef struct
{
WORD wPhyCellId; //ȡֵ·¶Î§£º 0~503
WORD wRsrp; //ȡֵ·¶Î§£º 0~97
WORD wRsrq; //ȡֵ·¶Î§£º 0~34
WORD wPadding;
} T_zLTE_P_MeasResult;
/*
Ò»¸öƵµãµÄ²âÁ¿½á¹û,ÓÃÓÚÒìÆµ²âÁ¿½á¹ûµÄÉϱ¨
*/
typedef struct
{
DWORD dwReportEarfcn; //ȡֵ·¶Î§£º 0~262143
WORD wCellNum; //ȡֵ·¶Î§£º 0~32
WORD wPadding;
T_zLTE_P_MeasResult atResultList[Z_LTE_P_MAX_IRAT_REPORT_CELL_PER_FREQ];
} T_zLTE_P_FreqMeasResult;
typedef struct
{
WORD wMsgId;
WORD wFreqNum;
T_zLTE_P_FreqMeasResult atFreqResultList[8];
WORD wRptFlg; /*0:ÖÜÆÚÉϱ¨ 1:ÌáǰÉϱ¨*/
WORD wPadding;
} T_zLTE_P_IratMeas_Ind;
#ifdef Z_SINGLEANTENNA
/******************************************************
·½Ïò:L1G,L1T->EPHY
¹¦ÄÜ:LTEΪ¸¨µÄʱºò£¬L1G£¬L1T¸øEPHY·ÖÅäGAPʱ¼ä,Ö´ÐÐEPHYµÄɨƵ¡¢²âÁ¿¡¢ÏµÍ³ÏûÏ¢¶ÁÈ¡µÈ¡£
ÏûÏ¢:LTE_P_IRAT_GAP_CONFIG_REQ_EV
½á¹¹:T_zLTE_P_IratGapConfigReq
******************************************************/
typedef struct{
WORD wGapStartSubframe;/*GapÆðʼλÖÃ×ÓÖ¡ºÅ£¬ÕûMs²¿·Ö*/
WORD wGapStartSfn; /*GapÆðʼλÖÃSFNºÅ£¬Õû10Ms²¿·Ö*/
WORD wGapStartTs; /*GapÆðʼλÖÃ,Ts²¿·Ö*/
WORD wGapLengthMs; /* GAP³¤¶È,µ¥Î»ms.*/
WORD wGapLengthTs; /* GAP³¤¶È,TS²¿·Ö.Õû¸öGAP³¤¶Èʵ¼ÊÊÇbGapLengthMs+bGapLengthTs*/
}T_zLTE_P_IratGapInfo;
typedef struct{
WORD wMsgId;
WORD wGapNum;
WORD wGapGsmConnectFlg;/*GSMΪÖ÷ģʱʹÓã¬LTEÎïÀí²ãÐèÒª¶ÔGSM Á¬½Ó̬GAPβ¶ÔÆë±êʶ*/
WORD wPadding;
T_zLTE_P_IratGapInfo atIratGapInfo[Z_LTE_P_IRAT_MAX_GAP_NUM];
}T_zLTE_P_IratGapConfig_Req;
/******************************************************
·½Ïò:L1E->EPHY
¹¦ÄÜ:LTEΪÖ÷ÖÆÊ½µ±L1E·¢ÏÖÐèÒª¸øÆäËûÖÆÊ½·ÖÅäGAPʱ¼äµÄʱºò£¬L1EÏòEPHYÇëÇóGAPÉϱ¨
ÏûÏ¢:LTE_P_IDLE_PERIOD_REP_REQ_EV.
½á¹¹:T_zLTE_P_Idle_PeriodRep_Req
******************************************************/
typedef struct
{
WORD wMsgId;
WORD wReportingMode; /*1:¿ªÆôGAPÉϱ¨, 0:Í£Ö¹GAPÉϱ¨*/
WORD wAnrMode; /*0:·ÇANR GAPÉϱ¨, 1: ANR GAPÉϱ¨*/
WORD wPadding;
} T_zLTE_P_GapReportCtrl_Req;
#else
/******************************************************
·½Ïò:L1G,L1T->EPHY
¹¦ÄÜ:LTEΪ¸¨µÄʱºò£¬L1G£¬L1T¸øEPHY·ÖÅäGAPʱ¼ä,Ö´ÐÐEPHYµÄɨƵ¡¢²âÁ¿¡¢ÏµÍ³ÏûÏ¢¶ÁÈ¡µÈ¡£
ÏûÏ¢:LTE_P_IRAT_GAP_CONFIG_REQ_EV
½á¹¹:T_zLTE_P_IratGapConfigReq
******************************************************/
typedef struct{
WORD wMsgId;
WORD wGapStartSubframe;/*GapÆðʼλÖÃ×ÓÖ¡ºÅ£¬ÕûMs²¿·Ö*/
WORD wGapStartSfn; /*GapÆðʼλÖÃSFNºÅ£¬Õû10Ms²¿·Ö*/
WORD wGapStartTs; /*GapÆðʼλÖÃ,Ts²¿·Ö*/
WORD wGapLengthMs; /* GAP³¤¶È,µ¥Î»ms.*/
WORD wGapLengthTs; /* GAP³¤¶È,TS²¿·Ö.Õû¸öGAP³¤¶Èʵ¼ÊÊÇbGapLengthMs+bGapLengthTs*/
WORD wGapGsmConnectFlg;/*GSMΪÖ÷ģʱʹÓã¬LTEÎïÀí²ãÐèÒª¶ÔGSM Á¬½Ó̬GAPβ¶ÔÆë±êʶ*/
WORD wPadding;
}T_zLTE_P_IratGapConfig_Req;
/******************************************************
·½Ïò:L1E->EPHY
¹¦ÄÜ:LTEΪÖ÷ÖÆÊ½µ±L1E·¢ÏÖÐèÒª¸øÆäËûÖÆÊ½·ÖÅäGAPʱ¼äµÄʱºò£¬L1EÏòEPHYÇëÇóGAPÉϱ¨
ÏûÏ¢:LTE_P_IDLE_PERIOD_REP_REQ_EV.
½á¹¹:T_zLTE_P_Idle_PeriodRep_Req
******************************************************/
typedef struct
{
WORD wMsgId;
WORD wReportingMode; /*1:¿ªÆôGAPÉϱ¨, 0:Í£Ö¹GAPÉϱ¨*/
} T_zLTE_P_Idle_PeriodRep_Req;
#endif
/*EPHY·¢Ë͸øL1G,L1TµÄ½Ó¿Ú¶¨Òå*/
/******************************************************
·½Ïò:EPHY->L1T,L1G
¹¦ÄÜ:LTEÎïÀí²ãÊÕµ½LTE_P_ABORT_GAP_REQ_EvÈóöÉ䯵ºó¡£¸øL1T,L1GµÄÈ·ÈÏ
×¢Ò⣺¶ÔÓÚGAPµÄÈ¡Ïû¹¦ÄÜÓë²âÁ¿ÁбíûÓбØÈ»¹ØÁª¹ØÏµ£¬LTEÎïÀí²ãÓÐGAP¾Í²âÁ¿£¬Ã»GAP¾Í²»²âÁ¿£¬ÀýÈ磬GAPÈ¡Ïû
Ò»¶Îʱ¼äºóL1TÔÙ´ÎÅäÖÃGAP£¬ÄÇôLTEÎïÀí²ãÈÔÈ»¿ÉÒÔ¼ÌÐø²âÁ¿¡£
ÏûÏ¢:LTE_P_ABORT_GAP_CNF_Ev
½á¹¹:NULL
******************************************************/
typedef T_zPS_IR_CLUSTER_INFO T_L1MD_IRAT_CLUSTER_INFO;
typedef struct
{
BYTE bTargetMode;
BYTE bMasterFlg;
BYTE bCurrMode;
}T_zFunc_SetMode_Req;
/*GSMÐ¡ÇøÐÅÏ¢*/
typedef struct{
BYTE bCellId; /*Ð¡ÇøÄÚ²¿Ë÷Òý*/
BYTE bPadding;
WORD wArfcn; /*Ƶµã£¬µÚ16±ÈÌØ£½1±íʾΪ1900²¨¶Î*/
}T_zL1a_GsmCellInfo;
/*GSMÐ¡Çø²âÁ¿½á¹û*/
typedef struct {
BYTE bCellId;
BYTE bBsic;
WORD wArfcn; /*Ƶµã£¬µÚ16±ÈÌØ£½1±íʾΪ1900²¨¶Î*/
BYTE bRssi;
BYTE abPadding[3];
}T_zL1a_GsmCellMeasRlt;
/*==============================================================================
PS->L1G
ʼþ£ºL1G_RPI_CFG_REQ_EV
¹¦ÄÜ:
ÅäÖÃGSMÏÂ8¸öBAND£¬Ã¿¸öBANDÏÂRPIºÍPUMAXµÄÓ³Éä¹ØÏµ£¬ÆäÖÐRPI·¶Î§0~2
==============================================================================*/
typedef struct
{
T_zBandRpiCfg tGsmBandRpiCfg[Z_GSM_RPI_SUPPORT_MAX_BAND];
}T_zPS_GSM_P_RpiCfgReq;
extern DWORD zW_SendMsgTophy(DWORD dwMsgId, PBYTE pbMsgData, WORD wMsgLen);
extern DWORD zLte_SendMsgToEphy(DWORD dwMsgId, PBYTE pbMsgData, WORD wMsgLen);
extern VOID zGsm_SendRpiCfgMsgToL1g (T_zPS_GSM_P_RpiCfgReq* ptGsmRpiCfgReq, BYTE bCurInsIdx);
/**************************************************************************
* È«¾Öº¯ÊýÔ­ÐÍ *
**************************************************************************/
/*Ö÷ģʽÉèÖú¯Êý
bTargetRat£ºÐèÒª´¦ÀíµÄÄ¿±êÖÆÊ½£º1GSM£¬2TD£¬3LTE£¬4W
bMasterFlg£ºÊÇ·ñ½«Ä¿±êÖÆÊ½ÉèÖÃΪÖ÷ģʽ£¬Z_VALIDÊÇ£¬Z_INVALID·ñ*/
extern VOID zSetMasterMode(BYTE bTargetRat, BYTE bMasterFlg);
/*Ö÷ģʽ²éѯº¯Êý
bRat£º±¾Ä£¿éµÄÖÆÊ½(Ö§³ÖASµ¥ÊµÀýË«´ý)
·µ»ØÖµ£º0ûÓÐÖ÷ģʽ£¬1GSMΪÖ÷£¬2TDΪÖ÷£¬3LTEΪÖ÷£¬4WΪÖ÷*/
extern BYTE zGetMasterMode(BYTE bRat);
/*Ö÷ģʽÉèÖú¯Êý,½ö¹©µ¥°åIC L1Gµ÷ÓÃ*/
extern VOID zSetIratMasterMode(BYTE bTargetAct, BYTE bIsSetTargetActMaster);
/*bTargetAct£ºÐèÒª´¦ÀíµÄÄ¿±êÖÆÊ½£º1±íʾZ_IRAT_GSM_MODE¡¢2±íʾZ_IRAT_TD_MODE¡¢3±íʾZPS_IRAT_LTE_MODE
bIsSetTargetActMaster£ºÊÇ·ñ½«Ä¿±êÖÆÊ½ÉèÖÃΪÖ÷ÖÆÊ½£¬Z_VALID(TRUE)£ºÊÇ£¬Z_INVALID(FALSE)£º·ñ
*/
/*»ñÈ¡µ±Ç°Ö÷ÖÆÊ½º¯Êý£¬½ö¹©µ¥°åIC L1Gµ÷ÓÃ*/
extern BYTE zGetIratMasterMode(VOID);/*·µ»ØÖµ0 :³õʼ»¯Öµ»òÈý¸öÖÆÊ½¾ù²»ÎªÖ÷,1 :GSMΪÖ÷,)2 :TDΪÖ÷,3 :LTEΪÖ÷*/
/*GSM²âÁ¿µ÷¶È½Ó¿Ú*/
extern VOID zL1a_meas_GsmInit(VOID);
extern VOID zL1a_meas_GsmReset(VOID);
extern VOID zL1a_meas_GsmConfig(BYTE bCellNum, T_zL1a_GsmCellInfo *pCellList, BYTE bRrcState);
extern VOID zL1a_meas_GsmStart(BYTE bFully);
extern VOID zL1a_meas_GsmSuspend(VOID);
extern VOID zL1a_meas_GsmResume(VOID);
extern VOID zL1a_meas_GsmStop(BYTE bFully);
extern BOOL zL1a_meas_GsmIsStopped(VOID);
extern BYTE zL1a_meas_GsmGetResult(T_zL1a_GsmCellMeasRlt *pMeasRlt);
extern VOID zL1a_meas_GsmSchedule(BYTE bPurpose, T_zIR_TDMA_TIME_INFO *pStart,
T_zIR_TDMA_TIME_INFO *pLen);
extern VOID zL1a_meas_GsmSetBsicRequired(BYTE bNotNeedFcb);
#ifdef Z_SINGLEANTENNA
extern VOID zL1a_SetCard1RfOccupStat(VOID);
extern VOID zL1a_SetCard2RfOccupStat(VOID);
extern BYTE zL1a_GetCard1RfOccupStat(VOID);
extern BYTE zL1a_GetCard2RfOccupStat(VOID);
extern VOID zL1a_ClearCard1RfOccupStat(VOID);
extern VOID zL1a_ClearCard2RfOccupStat(VOID);
extern BYTE zL1a_ChkIsEventExist(BYTE bCardindex, BYTE bEvent);
extern BYTE zL1a_IsCard1CsEventExist(VOID);
extern VOID zL1a_SetEventPriority(BYTE bCardindex, BYTE bEvent);
extern VOID zL1a_CleanEventPriority(BYTE bCardindex, BYTE bEvent);
extern BYTE zL1a_GetDualCardEventPriority(VOID);
extern VOID zL1a_Init(VOID);
#endif
/******************* L1GËùÌṩµÄº¯ÊýÉùÃ÷ *********************/
extern VOID l1md_set_umts_params(T_zIR_BCCH_LIST * p_ba_list );
extern BOOL l1co_umts_is_activated(VOID);
extern VOID l1co_umts_initialise_req(VOID);
extern VOID l1md_umts_initialize(VOID);
extern VOID l1md_umts_set_reconf_state(const T_zIR_IR_GSM_BAND_MASK dwCellBitmap);
extern VOID l1md_umts_get_updated_sync_status(T_zIR_CELL_SYNC_QUERY_DATA *p_sync_query_data /* IO: sync data */);
extern VOID l1md_exchange_ncell_rxlev_buffers(BYTE bMutiModeInd);/*Ë«¿¨Ë«´ýL1GÐèÇóÐ޸ġ£¶àÄ£ µ¥Ä£Èë²Î¡£0±íʾ˫´ýÖеĶàÄ£Ò»´ýµ÷Óã¬1±íʾ˫´ýÖ®Öе¥´ýµ÷ÓÃ*/
extern BOOL l1md_umts_rssi_meas_complete(VOID);
extern VOID l1md_db_shift_ncell_runav(BYTE bMutiModeInd);
extern BOOL l1md_umts_query_sync_status(T_zIR_CELL_SYNC_QUERY_DATA * p_sync_query_data, \
DWORD cell_mask, \
BYTE max_cells);
extern VOID l1co_umts_deactivate_req(VOID);
extern DWORD l1md_umts_determine_backup_size(VOID);
extern VOID l1md_umts_backup_db(PVOID P);
extern VOID l1md_umts_restore_db(PVOID P);
extern BOOL l1co_umts_sb_read(T_zIR_TIMING_CTRL timing_ctrl_flag, \
T_zIR_SB_READ_TYPE sb_read_type, \
T_zIR_SB_INFO_TABLE *sb_info, \
T_zIR_TDMA_TIME_INFO *start, \
T_zIR_TDMA_TIME_INFO *length, \
T_zIR_RESULT_FUNCTION *result_reconf_sb_read_fct);
extern VOID l1co_umts_rssi_meas(DWORD band, \
BOOL wrap_around_flag, \
T_zIR_TDMA_TIME_INFO *start, \
T_zIR_TDMA_TIME_INFO *length, \
T_zIR_RESULT_FUNCTION *result_rssi_meas_fct );
extern VOID l1md_umts_set_active_cells(DWORD active_cells /* I: active cells(bitmap) */);
extern VOID l1co_umts_activate_req(VOID);
extern VOID l1co_umts_fcb_sb_read(T_zIR_REP_CELL_TABLE * cell_info, \
T_zIR_TDMA_TIME_INFO * start, \
T_zIR_TDMA_TIME_INFO * length, \
T_zIR_RESULT_FUNCTION * result_fcb_sb_read_fct);
extern BOOL l1co_umts_is_deactivated(VOID);
extern VOID l1g_irat_set_gsm_master(VOID);
extern BOOL l1d_tch_stm_dtx_active(BYTE bMutiModeInd);
extern VOID l1md_umts_clear_all_sync_info(VOID);
#ifdef MULTI_IRAT_2963
extern VOID l1g_irat_stop_gap_rep_req(VOID);
extern VOID l1g_irat_start_gap_rep_req(VOID);
/*******************l1ud_meas.h*********************/
extern VOID ZPS_IR_l1ud_meas_stm_init( VOID );
extern VOID ZPS_IR_l1ud_meas_stm_reset(VOID);
extern VOID ZPS_IR_l1ud_meas_stm_prepare( BYTE bGsmBand, BYTE bWindowLen);
extern VOID ZPS_IR_l1ud_meas_stm_frame_tick(VOID);
#if defined (SINGLE_ANTENNA_SUPPORT)
extern VOID ZPS_IR_l1ud_meas_irat_prepare( BYTE bPid, BYTE bIratUseTxForTout, BYTE bLastUsedTs);
#else
extern VOID ZPS_IR_l1ud_meas_irat_prepare ( BYTE bPid , BYTE bIratUseTxForTout );
#endif
extern VOID ZPS_IR_l1ud_meas_irat_ifrm_shortened( CHAR delta_offset );
extern VOID ZPS_IR_l1ud_meas_irat_tx_enabled( BYTE bTxEnabled );
extern VOID ZPS_IR_l1ud_irat_measurements_abort( VOID );
extern BYTE ZPS_IR_l1ud_irat_meas_active ( VOID );
extern VOID ZPS_IR_l1ud_irat_gsm_gap_start(WORD wWindowTime);
extern VOID ZPS_IR_l1ud_irat_gsm_gap_stop( VOID );
extern BYTE ZPS_IR_l1ud_irat_plmn_search_gap_start( WORD wWindowTime );
/*--------------------------stub them-----------------------------*/
extern VOID ZPS_IR_l1ud_irat_measurements_release(VOID);
extern BYTE ZPS_IR_l1ud_meas_irat_release_cnf(VOID);
/*******************l1u_irat_misc.h, begin*********************/
extern VOID ZPS_IR_l1u_irat_init ( VOID );
extern BYTE ZPS_IR_l1u_irat_trust_bsic_reconf_timing ( VOID );
extern VOID ZPS_IR_l1u_irat_set_umts_master ( VOID );
extern BYTE ZPS_IR_l1u_irat_is_umts_master ( VOID );
extern VOID ZPS_IR_l1u_irat_set_umts_mode ( VOID );
extern BYTE ZPS_IR_l1u_irat_check_on_rf_conflict_with_umts ( VOID *pParam );
extern VOID ZPS_IR_l1u_irat_handler_req ( BYTE bRequestType );
extern BYTE ZPS_IR_l1u_irat_handler_cnf ( VOID );
#if defined(SINGLE_ANTENNA_SUPPORT)
extern VOID ZPS_IR_l1u_irat_start_gap_rep_req ( VOID );
extern VOID ZPS_IR_l1u_irat_stop_gap_rep_req ( VOID );
#endif
extern VOID ZPS_IR_l1ud_tstamp_activate(BYTE bTsMode, BYTE bGapIgnoreMode);
extern BYTE ZPS_IR_l1ud_tstamp_is_antenna_ready_for_gsm(T_zPS_IR_TDMA_TIME_INFO *p_gfn_free_until);
extern VOID ZPS_IR_l1ud_tstamp_reset_gprs_offset( VOID );
extern VOID ZPS_IR_l1ud_tstamp_set_gprs_fn(DWORD dwFn);
extern VOID ZPS_IR_l1ud_tstamp_get_time_gsm_antenna_free(T_zPS_IR_TDMA_TIME_INFO *p_gsm_starttime,
T_zPS_IR_TDMA_TIME_INFO *p_tdma_time_result);
extern VOID ZPS_IR_l1ud_tstamp_gprs_frame_tick( WORD wPrevLen );
extern VOID ZPS_IR_l1ud_tstamp_gprs_early_prep_tick( VOID );
extern SHORT ZPS_IR_l1ud_talg_get_and_reset_time_drift_offset(VOID);
/*******************l1u_atc_if.h*********************/
extern PBYTE ZPS_IR_l1u_atc_set(PBYTE pString);
/*******************l1u_fs.h*********************/
extern BYTE ZPS_IR_l1u_fs_get_nof_active_fr_tick_func(VOID);
/*******************l1u_dch.h*********************/
extern BYTE ZPS_IR_l1u_dch_check_idle(VOID);
/*******************l1u_fch.h*********************/
extern BYTE ZPS_IR_l1u_fach_check_idle(VOID);
/*******************l1u_bch.h*********************/
extern BYTE ZPS_IR_l1u_bch_check_idle(VOID);
/*******************l1u_csrch.h*********************/
extern BYTE ZPS_IR_l1u_csrch_check_idle(VOID);
/*******************l1u_mon_irat1.h*********************/
extern VOID ZPS_IR_l1u_mon_irat_change_timestamping_to_idle(VOID);
/*******************l1u_mdb.h*********************/
extern VOID ZPS_IR_l1u_mdb_reset_cell_database(VOID);
extern VOID ZPS_IR_l1u_mdb_set_cell_list_uarfcn(T_zPS_IR_CELL_LIST_ID list_id, \
WORD uarfcn, \
BYTE id, \
BYTE nof_cells);
extern VOID ZPS_IR_l1u_mdb_add_assigned_cell(T_zPS_IR_UTRAN_CELL_ON_FREQ *p_cell_info, \
T_zPS_IR_CELL_LIST_ID list_id, \
BYTE src_idx);
extern VOID ZPS_IR_Create_ZPS_L1G_TDD_CELL_MEAS_REQ( T_zPS_IR_UTRAN_CTRL_DATA *p_utran_ctrl );
extern VOID ZPS_IR_send_ZPS_L1G_TDD_CELL_MEAS_REQ(T_zPS_IR_L1G_TddCellMeasReq *p_msg_param);
extern VOID ZPS_IR_l1u_mdb_add_ncell_result(T_zPS_IR_IratUmcrMeasResult *p_umcr_meas_result, \
T_zPS_IR_CELL_LIST_ID *p_list_id);
extern VOID ZPS_IR_l1u_mdb_updata_ncell_running_average_buffers(T_zPS_IR_CELL_LIST_ID list_id, \
T_zPS_IR_UTRAN_CTRL_DATA *p_utran_ctrl);
extern T_zPS_IR_UTRAN_CELL_ON_FREQ *ZPS_IR_l1u_mdb_get_ncell_data(T_zPS_IR_CELL_LIST_ID list_id, \
BYTE cell_idx);
extern VOID ZPS_IR_l1u_mdb_calc_ncell_ravg(T_zPS_IR_CELL_LIST_ID list_id, \
BYTE cell_idx, \
T_zPS_IR_MDB_MEAS_ELEMENT *meas_result);
extern BYTE ZPS_IR_comp_utran_list(T_zPS_IR_UTRAN_CELLS_PER_FREQ *p_new_utran_ncells, \
T_zPS_IR_CELL_LIST_ID list_idx);
extern BYTE ZPS_IR_l1u_mdb_get_cell_num( T_zPS_IR_CELL_LIST_ID list_id );
extern WORD ZPS_IR_l1u_mdb_get_uarfcn(T_zPS_IR_CELL_LIST_ID list_id);
extern BYTE ZPS_IR_l1u_mdb_get_uarfcn_index(T_zPS_IR_CELL_LIST_ID list_id);
/******************* L1GËùÌṩµÄº¯ÊýÉùÃ÷ *********************/
extern VOID l1md_fill_umts_resel_db(T_zPS_IR_MON_MEAS_RESULT_GSM_ELEMENT * p_result, \
BYTE max_cells_to_report, \
DWORD active_cell_bitmask, \
BYTE ravg_size);
extern BOOL l1d_tu_umts_latch_disable(VOID);
extern BOOL l1d_tu_umts_latch_enable(VOID);
extern int l1d_tu_umts_latch_offset(VOID);
extern void l1g_irat_handler_req_ex ( T_L1G_IRAT_SCENE_TYPE scene_type, T_zPS_IR_HANDLER_REQ_TYPE request_type);
extern BOOL l1g_irat_handler_cnf(VOID);
extern VOID l1md_umts_set_invalid_state (const T_zPS_IR_IR_GSM_BAND_MASK band_mask);
#else
extern VOID l1g_irat_start_gap_rep_req ( BYTE bRat );
extern VOID l1g_irat_stop_gap_rep_req ( BYTE bRat );
/*******************l1ud_meas.h*********************/
extern VOID zIR_l1ud_meas_stm_init( VOID );
extern VOID zIR_l1ud_meas_stm_reset(VOID);
extern VOID zIR_l1ud_meas_stm_prepare( BYTE bGsmBand, BYTE bWindowLen);
extern VOID zIR_l1ud_meas_stm_frame_tick(VOID);
#if defined (SINGLE_ANTENNA_SUPPORT)
extern VOID zIR_l1ud_meas_irat_prepare( BYTE bPid, BYTE bIratUseTxForTout, BYTE bLastUsedTs);
#else
extern VOID zIR_l1ud_meas_irat_prepare ( BYTE bPid , BYTE bIratUseTxForTout );
#endif
extern VOID zIR_l1ud_meas_irat_ifrm_shortened( CHAR delta_offset );
extern VOID zIR_l1ud_meas_irat_tx_enabled( BYTE bTxEnabled );
extern VOID zIR_l1ud_irat_measurements_abort( VOID );
extern BYTE zIR_l1ud_irat_meas_active ( VOID );
extern VOID zIR_l1ud_irat_gap_start(T_zTD_P_IratGapConfig_Req *pGapConfigReq);
extern VOID zIR_l1ud_irat_gsm_gap_stop( VOID );
extern BYTE zIR_l1ud_irat_plmn_search_gap_start( WORD wWindowTime );
/*--------------------------stub them-----------------------------*/
extern VOID zIR_l1ud_irat_measurements_release(VOID);
extern BYTE zIR_l1ud_meas_irat_release_cnf(VOID);
/*******************l1u_irat_misc.h, begin*********************/
extern VOID zIR_l1u_irat_init ( VOID );
extern BYTE zIR_l1u_irat_trust_bsic_reconf_timing ( VOID );
extern BYTE zIR_l1u_irat_check_on_rf_conflict_with_umts ( VOID *pParam );
extern VOID zIR_l1u_irat_handler_req ( BYTE bRequestType );
extern BYTE zIR_l1u_irat_handler_cnf ( VOID );
/*#if defined(SINGLE_ANTENNA_SUPPORT)*/
extern BOOL zL1t_meas_IratStopGapCnf(BYTE bRat);
extern VOID zL1t_meas_IratStartGapReq(BYTE bRat);
extern VOID zL1t_meas_IratStopGapReq(BYTE bRat);
/*#endif*/
extern VOID zIR_l1ud_tstamp_get_time_gsm_antenna_free(T_zIR_TDMA_TIME_INFO *p_gsm_starttime,
T_zIR_TDMA_TIME_INFO *p_tdma_time_result);
/*******************l1u_atc_if.h*********************/
extern PBYTE zIR_l1u_atc_set(PBYTE pString);
/*******************l1u_fs.h*********************/
extern BYTE zIR_l1u_fs_get_nof_active_fr_tick_func(VOID);
/*******************l1u_dch.h*********************/
extern BYTE zIR_l1u_dch_check_idle(VOID);
/*******************l1u_fch.h*********************/
extern BYTE zIR_l1u_fach_check_idle(VOID);
/*******************l1u_bch.h*********************/
extern BYTE zIR_l1u_bch_check_idle(VOID);
/*******************l1u_csrch.h*********************/
extern BYTE zIR_l1u_csrch_check_idle(VOID);
/*******************l1u_mon_irat1.h*********************/
extern VOID zIR_l1u_mon_irat_change_timestamping_to_idle(VOID);
/*******************l1u_mdb.h*********************/
extern VOID zIR_l1u_mdb_reset_cell_database(VOID);
extern VOID zIR_l1u_mdb_set_cell_list_uarfcn(T_zIR_CELL_LIST_ID list_id, \
WORD uarfcn, \
BYTE id, \
BYTE nof_cells);
extern VOID zIR_l1u_mdb_add_assigned_cell(T_zIR_UTRAN_CELL_ON_FREQ *p_cell_info, \
T_zIR_CELL_LIST_ID list_id, \
BYTE src_idx);
extern VOID zIR_Create_L1G_TDD_CELL_MEAS_REQ_EV( T_zIR_UTRAN_CTRL_DATA *p_utran_ctrl );
extern VOID zIR_send_L1G_TDD_CELL_MEAS_REQ_EV(T_zIR_L1G_TddCellMeasReq *p_msg_param);
extern VOID zIR_l1u_mdb_add_ncell_result(T_zIR_IratUmcrMeasResult *p_umcr_meas_result, \
T_zIR_CELL_LIST_ID *p_list_id);
extern VOID zIR_l1u_mdb_updata_ncell_running_average_buffers(T_zIR_CELL_LIST_ID list_id, \
T_zIR_UTRAN_CTRL_DATA *p_utran_ctrl);
extern T_zIR_UTRAN_CELL_ON_FREQ *zIR_l1u_mdb_get_ncell_data(T_zIR_CELL_LIST_ID list_id, \
BYTE cell_idx);
extern VOID zIR_l1u_mdb_calc_ncell_ravg(T_zIR_CELL_LIST_ID list_id, \
BYTE cell_idx, \
T_zIR_MDB_MEAS_ELEMENT *meas_result);
extern BYTE zIR_comp_utran_list(T_zIR_UTRAN_CELLS_PER_FREQ *p_new_utran_ncells, \
T_zIR_CELL_LIST_ID list_idx);
extern BYTE zIR_l1u_mdb_get_cell_num( T_zIR_CELL_LIST_ID list_id );
extern WORD zIR_l1u_mdb_get_uarfcn(T_zIR_CELL_LIST_ID list_id);
extern BYTE zIR_l1u_mdb_get_uarfcn_index(T_zIR_CELL_LIST_ID list_id);
extern VOID l1md_fill_umts_resel_db(T_zIR_MON_MEAS_RESULT_GSM_ELEMENT * p_result, \
BYTE max_cells_to_report, \
DWORD active_cell_bitmask, \
BYTE ravg_size);
extern void l1g_irat_handler_req_ex ( T_L1G_IRAT_SCENE_TYPE scene_type, T_zIR_HANDLER_REQ_TYPE request_type);
extern BOOL l1g_irat_handler_cnf(VOID);
extern VOID l1md_umts_set_invalid_state (const T_zIR_IR_GSM_BAND_MASK band_mask);
extern DWORD zTd_SendMsgTophy(DWORD dwMsgId, PBYTE pbMsgData, WORD wMsgLen);
#ifdef _USE_PSM
extern DWORD zLte_SendMsgToSimEphy(DWORD dwMsgId, PBYTE pbMsgData, WORD wMsgLen);
extern VOID zL1e_IratWakeUpEphy(VOID);
extern BOOL POW_get_timestamp_status(VOID);
#if defined (PS_RAT_TDD)
extern BOOL zL1t_TaskIsIdle(VOID);
extern UINT32 zL1t_TaskIsIdlePrint(VOID);
#endif
#if defined (PS_RAT_LTE)
extern BOOL zL1e_TaskIsIdle(BYTE bStackIns);
extern UINT32 zL1e_TaskIsIdlePrint(BYTE bStackIns);
#endif
#if defined (PS_RAT_FDD)
extern BOOL zL1w_TaskIsIdle(VOID);
extern UINT32 zL1w_TaskIsIdlePrint(VOID);
#endif
#endif /*endif USE_PSM*/
extern VOID zL1e_IratStartGapReq(BYTE bRat);
extern VOID zL1e_IratStopGapReq(BYTE bRat);
extern BYTE zL1e_IratStopGapCnf(BYTE bRat);
extern VOID zL1e_tstamp_get_time_gsm_antenna_free( T_zIR_TDMA_TIME_INFO *p_gsm_starttime,T_zIR_TDMA_TIME_INFO *p_tdma_time_result);
#ifdef PS_RAT_FDD
extern BOOL zL1w_meas_IratStopGapCnf(BYTE bRat);
extern VOID zL1w_meas_IratStartGapReq(BYTE bRat);
extern VOID zL1w_meas_IratStopGapReq(BYTE bRat);
extern VOID zL1w_irat_meas_start(T_zW_P_inter_freq_meas_req *pInterMeasReq);
extern VOID zL1w_irat_meas_stop (VOID);
extern VOID zL1w_irat_gap_start(T_zW_P_irat_gap_config_req *pGapConfigReq);
extern VOID zL1w_irat_gap_stop(VOID);
#endif
extern VOID zL1a_get_time_gsm_antenna_free(T_zIR_TDMA_TIME_INFO *p_gsm_starttime, T_zIR_TDMA_TIME_INFO *p_tdma_time_result);
extern BOOL l1g_bch_busyflg(VOID);/*º¯Êý¹¦ÄÜ£º²éѯBCH COÊÇ·ñÕ¼ÓÃÉ䯵
·µ»ØÖµTRUE ±íʾÕýÔÚÕ¼ÓÃÉ䯵 FALSE ±íʾûÓÐʹÓÃÉ䯵*/
extern BYTE zAs_GetTWLInstIndex(VOID);
extern BYTE zL1e_gsm_IsCon(VOID);
#ifdef Z_SINGLEANTENNA
extern BYTE zAs_GetMinIndex(DWORD dwBitmap);
extern BYTE zIR_l1ud_tstamp_is_antenna_ready_for_gsm(T_zIR_TDMA_TIME_INFO *p_gsm_starttime,
T_zIR_TDMA_TIME_INFO *p_gsm_endtime);
extern BYTE zL1e_tstamp_is_antenna_ready_for_gsm(T_zIR_TDMA_TIME_INFO *p_gsm_starttime, T_zIR_TDMA_TIME_INFO *p_gsm_endtime);
extern BYTE zL1a_is_antenna_ready_for_gsm(T_zIR_TDMA_TIME_INFO *p_gsm_starttime, T_zIR_TDMA_TIME_INFO *p_gsm_endtime);
#else
extern BYTE zIR_l1ud_tstamp_is_antenna_ready_for_gsm(T_zIR_TDMA_TIME_INFO *p_gfn_free_until);
extern BYTE zL1e_tstamp_is_antenna_ready_for_gsm(T_zIR_TDMA_TIME_INFO *p_gfn_free_until);
extern BYTE zL1a_is_antenna_ready_for_gsm(T_zIR_TDMA_TIME_INFO *p_gfn_free_until);
#endif
#endif
extern BYTE zEucer_GetRrcStateForPSM(VOID);
extern BOOL zGrr_IsLimitServiceState(BYTE bStkId);
extern BOOL zGrr_GetReselState(BYTE bStkId);
extern BOOL zGrr_IsPowerOffProc(BYTE bStkId);
extern BYTE zUcsr_IsInReadPreDefProc(VOID);
extern LONG zL1g_GetLastTxPwr(BYTE bStkId);
#ifdef Z_SEND_TO_SIMPHY
extern UINT32 zL1g_SendMsgToNet(UINT32 msg_id, const VOID *buf, UINT16 msg_len, ZOSS_TASK_ID task_id);
extern UINT32 zL1g_SendMsgToNet_Sec(UINT32 msg_id, const VOID *buf, UINT16 msg_len, ZOSS_TASK_ID task_id);
#endif
#endif