[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/pub/include/ps_phy/tdpsphyint.h b/pub/include/ps_phy/tdpsphyint.h
new file mode 100644
index 0000000..806646d
--- /dev/null
+++ b/pub/include/ps_phy/tdpsphyint.h
@@ -0,0 +1,2743 @@
+/*****************************************************************************
+ *°æ±¾ËùÓÐ (C)2010ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾
+ * Ä£¿éÃû £ºPS
+ * ÎļþÃû £ºtdpsphyint.h
+ * Îļþ±êʶ£º
+ * Ïà¹ØÎļþ£º
+ * ʵÏÖ¹¦ÄÜ£ºPSºÍTD PHYµÄ½Ó¿Ú¶¨Òå
+ * ×÷Õß £º
+ * °æ±¾ £º
+ * Íê³ÉÈÕÆÚ£º
+ * ÆäËü˵Ã÷£º
+ *
+ * Ð޸ļǼ1£º
+ * ÈÕ ÆÚ£º2010.05.18
+ * ÐÞ¸ÄÈË£º ZHUO Bibo
+ * ÐÞ¸ÄÄÚÈÝ£º
+ * 1) ºÏ²¢tdmacphyint.hºÍtdrrcphyint.hÁ½·ÝÍ·ÎļþµÄÄÚÈÝ
+ ** Ð޸ļǼ2£º
+ * ÈÕ ÆÚ£º2011.09.02
+ * ÐÞ¸ÄÈË£º sun chang jiang
+ * ÐÞ¸ÄÄÚÈÝ£º
+ * 1) T_zTD_P_IratGapConfig_ReqÖвÎÊýwShortGapFlg¸üÃûΪwIdleOrConnectFlg£¬²¢ÐÞ¸Ä×¢ÊÍ£»
+ 2)T_zTD_P_hsdpa_config_reqÖÐÔö¼Ó²ÎÊýwMacHdTyp
+ 3)T_zTD_P_CPhy_InterMeas_ReqÖеĺêMULTI_IRAT_2963È¥µô¡£
+ ** Ð޸ļǼ3£º
+ * ÈÕ ÆÚ£º2011.09.28
+ * ÐÞ¸ÄÈË£º sun chang jiang
+ * ÐÞ¸ÄÄÚÈÝ£º
+ * 1) T_zTD_P_hsupa_config_reqÖе±¿ªR9ºêʱÔö¼Ó²ÎÊýtUplink_timing_advance_control¡£
+ ** Ð޸ļǼ4£º
+ * ÈÕ ÆÚ£º2011.11.11
+ * ÐÞ¸ÄÈË£º sun chang jiang
+ * ÐÞ¸ÄÄÚÈÝ£º
+ * 1) È¥µôR7_SUPPORT¡£
+ * Ð޸ļǼ5£º
+ * ÈÕ ÆÚ£º2012.03.12
+ * ÐÞ¸ÄÈË£ºÎ¤ÓñÕä
+ * ÐÞ¸ÄÄÚÈÝ£º
+ * 1)Ôö¼ÓÏûÏ¢½á¹¹T_zTD_P_DetectCellInfo
+ 2)Ôö¼Óºê¶¨ÒåZ_TD_P_MAX_DETECT_CELL_NUM
+
+ * Ð޸ļǼ6£º
+ * ÈÕ ÆÚ£º2012.05.10
+ * ÐÞ¸ÄÈË£ºËﳤ½
+ * ÐÞ¸ÄÄÚÈÝ£º
+ * 1)T_zTD_P_UlDpch_setup_mod_reqÖеIJÎÊýwSpec_burst_generation_periodÔö¼Ó×¢ÊÍ
+ 2£©Ôö¼ÓÏûÏ¢½á¹¹T_zTD_P_Ul_phy_ch_ctrl_req
+ * Ð޸ļǼ7£º
+ * ÈÕ ÆÚ£º2012.05.10
+ * ÐÞ¸ÄÈË£ºËﳤ½
+ * ÐÞ¸ÄÄÚÈÝ£º
+ 1£©T_zTD_P_hsdsch_sps_infoÖÐÔö¼ÓwInitSpsInfoFgÓÃÓÚ±íʾtInitSpsInfoÊÇ·ñÓÐЧ£¬Í¬Ê±È¥µô²ÎÊýwPadding£¬±£³ÖËÄ×Ö½Ú¶ÔÆë£»
+ 2£©T_zTD_P_edch_sps_infoÖÐÔö¼ÓwInitSpsInfoFgÓÃÓÚ±íʾtInitSpsInfoÊÇ·ñÓÐЧ£¬Í¬Ê±Ôö¼Ó²ÎÊýwPadding£¬±£³ÖËÄ×Ö½Ú¶ÔÆë£»
+ * Ð޸ļǼ8£º
+ * ÈÕ ÆÚ£º2012.5.16
+ * ÐÞ¸ÄÈË£ºÕÅÅô³Ì
+ * ÐÞ¸ÄÄÚÈÝ£º
+ 1£© Z_TD_P_MAX_INTER_FREQ_NUM ÓÉ9¸Ä³É16
+ 2£© Z_TD_P_MAX_BLIND_INTER_FREQ ÓÉ9¸Ä³É16
+* Ð޸ļǼ9£º
+ * ÈÕ ÆÚ£º2012.06.14
+ * ÐÞ¸ÄÈË£ºËﳤ½
+ * ÐÞ¸ÄÄÚÈÝ£º
+ * 1)Z_TD_P_MAX_UL_TS¸ÄΪ4
+ 2£©Z_TD_P_MAX_NO_OF_UL_BYTES¸ÄΪ1168
+ 2£©T_zTD_P_CPhy_UeIntMeas_IndΪÁËËÄ×Ö½Ú¶ÔÆë£¬Ôö¼ÓwPadding;
+* Ð޸ļǼ10£º
+ * ÈÕ ÆÚ£º2012.07.10
+ * ÐÞ¸ÄÈË£ºËﳤ½
+ * ÐÞ¸ÄÄÚÈÝ£º ѰºôÏÂÒÆ¹¦ÄÜÐÞ¸Ä
+ * 1)T_zTD_P_paging_reqÖÐÔö¼ÓT_zTD_P_UeId
+ 2£©ÐÂÔö×ӽṹT_zTD_P_UeId¡¢T_zTD_P_URnti¡¢T_zTD_P_ImsiGsm
+ * Ð޸ļǼ11£º
+ * ÈÕ ÆÚ£º2013.04.18
+ * ÐÞ¸ÄÈË£ºÕÅÅô³Ì
+ * ÐÞ¸ÄÄÚÈÝ£º GAPÇëÇóÉϱ¨Ôö¼ÓÎÕÊÖ×Ö¶Î
+ * 1)T_zTD_P_umts_idle_PeriodRep_reqÖÐÔö¼ÓdwGapId
+ 2)T_zTD_P_umts_inact_time_indÖÐÔö¼ÓdwGapId
+*/
+
+#ifndef Z_TDPS_PHY_INTERFACE_H
+#define Z_TDPS_PHY_INTERFACE_H
+
+/**************************************************************************
+* Í·Îļþ°üº¬ *
+**************************************************************************/
+
+/**************************************************************************
+* ³£Á¿¶¨Òå *
+**************************************************************************/
+
+
+/**************************************************************************
+* È«¾Öºê¶¨Òå *
+**************************************************************************/
+#define Z_TD_P_MAX_NO_OF_UL_BYTES (WORD)1168 /*°´ÉÏÐÐ384k¼Æ*/
+#define Z_TD_P_MAX_NO_OF_DL_BYTES (WORD)1168 /*°´ÏÂÐÐ384k¼Æ*/
+
+#ifndef _USE_HSPAPLUS
+#define Z_TD_P_MAX_NO_OF_HSDPA_BYTES (WORD)1756 /*°´2.8M£¬ÎïÀí²ãÿ5msͶµÝ¼Æ(14043bit))*/
+#define Z_TD_P_HSDPA_DATA_LEN (WORD)1756 /*Ò»¿éHSDPAÊý¾Ý³¤¶È*/
+#else
+#define Z_TD_P_MAX_NO_OF_HSDPA_BYTES (WORD)2634 /*°´2.8M£¬ÎïÀí²ãÿ5msͶµÝ¼Æ(14043bit))*/
+#define Z_TD_P_HSDPA_DATA_LEN (WORD)2634 /*Ò»¿éHSDPAÊý¾Ý³¤¶È*/
+#endif
+
+#define Z_TD_P_MAX_NO_OF_HSUPA_BYTES (WORD)1400 /*°´ÉÏÐÐ1.1M¼Æ*/
+
+
+
+
+/*Ð¡ÇøËÑË÷Ïà¹Øºê¶¨Òå*/
+#define Z_TD_P_MAX_FREQSCAN_FREQ_NUM (WORD)32
+#define Z_TD_P_MAX_RSSI_RESULTS_NUM (WORD)32
+#define Z_TD_P_MAX_SRH_RESULTS_NUM (WORD)8
+#define Z_TD_P_MAX_NUM_OF_BCH_DWORDS (WORD)8
+
+#define Z_TD_P_CELLSRHTYPE_STRONGEST (WORD)0
+#define Z_TD_P_CELLSEARCHTYPE_BLIND (WORD)1
+#define Z_TD_P_CELLSEARCHTYPE_SPEC (WORD)2
+
+/*²âÁ¿Ïà¹Øºê¶¨Òå*/
+#define Z_TD_P_MAX_INTER_FREQ_NUM (WORD)16 /*×î¶àÖ§³ÖµÄÒìÆµ²âÁ¿ÔØÆµÊý*/
+#define Z_TD_P_MAX_INTRA_CELL_NUM (WORD)32 /*×î¶à¿Éͬʱ²âÁ¿Í¬ÆµÐ¡ÇøÊý*/
+#define Z_TD_P_MAX_INTER_CELL_NUM (WORD)32 /*×î¶à¿Éͬʱ²âÁ¿ÒìÆµÐ¡ÇøÊý*/
+#define Z_TD_P_MAX_BLIND_INTER_FREQ (WORD)(0x10)
+#define Z_TD_P_MAX_BLIND_INTER_CELL (WORD)(0x03)
+#define Z_TD_P_INTER_INVALID_CELLID (WORD)(0xFFFE)
+#define Z_TD_P_MAX_DETECT_CELL_NUM (WORD)4
+
+/*ÎÞÏß×ÊÔ´ÅäÖÃÏà¹Øºê¶¨Òå*/
+#define Z_TD_P_MAX_PRACH_FPACH (WORD)(0x08)
+#define Z_TD_P_MAX_UL_TRCH_NUM (WORD)8
+#define Z_TD_P_MAX_DL_TRCH_NUM (WORD)8
+#define Z_TD_P_MAX_DL_TS (WORD)4
+#define Z_TD_P_MAX_UL_TS (WORD)4
+
+#define Z_TD_P_MAX_DL_CCTRCH_NUM (WORD)1
+#define Z_TD_P_MAX_UL_CCTRCH_NUM (WORD)1
+#define Z_TD_P_MAX_DL_TF_NUM (WORD)64
+#define Z_TD_P_MAX_DL_TFCS_NUM (WORD)128
+#define Z_TD_P_MAX_UL_TF_NUM (WORD)32
+#define Z_TD_P_MAX_UL_TFCS_NUM (WORD)64
+
+/*coding type macro defination*/
+#define Z_TD_P_NO_CODING_TYPE (WORD)(0x00)
+#define Z_TD_P_CC12_TYPE (WORD)(0x01)
+#define Z_TD_P_CC13_TYPE (WORD)(0x02)
+#define Z_TD_P_TURBO_CODING_TYPE (WORD)(0x03)
+
+/*crc length macro defination*/
+#define Z_TD_P_CRC_LENGTH_0 (WORD)(0x00)
+#define Z_TD_P_CRC_LENGTH_1 (WORD)(0x01)
+#define Z_TD_P_CRC_LENGTH_2 (WORD)(0x02)
+#define Z_TD_P_CRC_LENGTH_3 (WORD)(0x03)
+#define Z_TD_P_CRC_LENGTH_4 (WORD)(0x04)
+
+#define Z_TD_P_MAX_PRACH_FPACH_CODE (WORD)4
+
+#define Z_TD_P_MAX_H_PROCESS (WORD)0x08
+
+/*MAC-dÏà¹Øºê¶¨Òå*/
+#define Z_TD_P_MAX_QUEUE_ID (WORD)8
+#define Z_TD_P_MAX_MAC_D_PDU_SIZE (WORD)8
+
+#define Z_TD_P_MAX_HS_SCCH (WORD)4
+
+
+#define Z_TD_P_CH_CODE_NUM (WORD)16
+
+/*˫ģÖÐGAP¸öÊýºê¶¨Òå*/
+#define Z_TD_P_MAX_GAP_NUM (WORD)8
+
+/*UPAÏà¹Øºê¶¨Òå*/
+#define Z_TD_P_MAX_EPUCH_TS_NUM (WORD)5
+#define Z_TD_P_MAX_EAGCH_NUM (WORD)4
+#define Z_TD_P_MAX_SCH_EHICH_NUM (WORD)4
+
+/*´«ÊäÐŵÀÀàÐÍ,½öÓÃÓÚºÍÎïÀí²ãµÄ½Ó¿ÚÖÐ*/
+#define Z_TD_P_PCH (WORD)0x0
+#define Z_TD_P_FACH (WORD)0x1
+#define Z_TD_P_DL_DCH (WORD)0x2
+#define Z_TD_P_RACH (WORD)0x3
+#define Z_TD_P_UL_DCH (WORD)0x4
+
+/*ÉèÖÃTDÎïÀí²ãÊÇ·ñÖ÷ģʽ*/
+#define Z_TD_P_IRAT_MODE_SLAVE (WORD)0 /*ÉèÖÃΪ¸¨Ä£Ê½*/
+#define Z_TD_P_IRAT_MODE_MASTER (WORD)1 /*ÉèÖÃΪÖ÷ģʽ*/
+
+#ifdef R9_SUPPORT
+#define Z_TD_P_MAX_CARRIER (WORD)3
+
+#define Z_TD_P_MAX_HSDSCH_RX_PATTERN_NUM (WORD)4
+#define Z_TD_P_MAX_HSDSCH_TBS_NUM (WORD)4
+#define Z_TD_P_MAX_EDCH_TX_PATTERN_NUM (WORD)4
+#endif
+
+/*TD PS -> TD PHY ´ÓLTE PS_EPHY.hÒÆ¹ýÀ´µÄ*/
+#define ZPS_TDS_P_SLEEP_TIME_INT_ICP_CF (UINT32)(0x00000001) //ÔÊÐíZSP½øË¯ÃßÖжϣ¬6300ʹÓã¬ÆäËûÏîÄ¿£¨7502£¬7510£¬7550)²»Ó㬱£Áô
+#define ZPS_TDS_P_WAKEUP_INT_ICP_CF (UINT32)(0x00000002) //Òì³£»½ÐÑÖжϣ¬¸÷ÏîÄ¿¶¼Ê¹ÓÃ
+#define ZPS_TDS_P_UPA_INT_ICP_CF (UINT32)(0x00000004) //UPAÈ¡Êý¾ÝÖжϣ¬¸÷ÏîÄ¿¶¼Ê¹ÓÃ
+#define ZPS_TDS_P_WAIT20MS_INT_ICP_CF (UINT32)(0x00000008) //֪ͨTDÎïÀí²ã»½ÐѺó20msÄÚ²»ÔÊÐí½øË¯Ãߣ¬7502ʹÓã¬ÆäËûÏîÄ¿²»Ê¹Ó㬱£Áô
+/*TD_PHY->TD_PS*/
+#define ZPS_TDS_P_INT_ICP_CF (UINT32)(0x00000001) //TDÎïÀí²ãICPÖжϸøPS£¬¹©TD PHY»½ÐÑPSʹÓ㻣¨×ÓÖ¡ÖжÏÒÔºóÓÉLPMÌṩ£©
+#define ZPS_TD_REQ_INT_MASK (UINT32)(0x000000FF) /**/
+#define ZPS_TD_IND_INT_MASK (UINT32)(0x000000FF) /**/
+/*TDÖ÷Ä£Á¬½Ó̬(FACH ¡¢DCH)ÎïÀí²ãÉϱ¨GAPÐèÒª¿Û³ýµÄÉ䯵±£»¤¼ä¸ôµ¥Î»CHIP, 7510°æ±¾Í·Î²·Ö±ð¿Û³ý10 260. 7502°æ±¾Í·Î²¿Û³ý64 320*/
+
+#ifdef _CHIP_ZX297502
+#define Z_TD_P_MEAS_DCHGAP_START_OFF (WORD)64
+#define Z_TD_P_MEAS_DCHGAP_TAIL_OFF (WORD)320
+#else
+#define Z_TD_P_MEAS_DCHGAP_START_OFF (WORD)10
+#define Z_TD_P_MEAS_DCHGAP_TAIL_OFF (WORD)260
+#endif
+
+#define Z_ZTPCG_VALFG_NUM (WORD)8
+#define Z_ZTPCG_PARAM_NUM (WORD)25
+
+/**************************************************************************
+* È«¾ÖÊý¾ÝÀàÐͶ¨Òå *
+**************************************************************************/
+typedef struct {
+ DWORD dwTrch_buff_offset;
+
+ WORD wTb_number_and_trch_id;
+ WORD wTb_size;
+}T_zTD_P_ul_trch_header;
+
+typedef struct {
+ DWORD dwTrch_buff_offset; /*¸ÃTrchÊý¾ÝÓëDPRAMÖÐÖ¸¶¨BufferµÄÆðÊ¼Æ«ÒÆÁ¿£¬ÒÔWORDΪµ¥Î»*/
+ WORD wTrch_id;
+ WORD wTrch_type;
+ WORD wCfn_and_tb_number; /*¸ß8bitΪTbNum£¬µÍ8bitΪCFN£¨´Ó¿Õ¿Ú½ÓÊÕµ½Êý¾ÝµÄÆðʼCFN£©*/
+ WORD wSfn; /*´Ó¿Õ¿Ú½ÓÊÕµ½Êý¾ÝµÄÆðʼSFN*/
+ WORD wTb_size; /*ÓÐЧµÄTB¿é³¤¶È£¬ÒÔbitΪµ¥Î»£¬µÍλÌî³ä0*/
+ WORD wPadding;
+ DWORD dwCrc_check; /*°´TB¿é¶¨ÒåµÄbitmap, invalid for HS-DSCH because L1 send HS-data to MAC only when crc is ok*/
+}T_zTD_P_dl_trch_header;
+
+typedef struct {
+ WORD wTotal_length;
+ WORD wNr_trch;
+
+ WORD wTfci;
+ WORD wUl_cctrch_id; /*equivalent to tfcs id, value:1~8*/
+
+ T_zTD_P_ul_trch_header atUl_trch_header[Z_TD_P_MAX_UL_TRCH_NUM];
+
+ WORD awUl_data_area[Z_TD_P_MAX_NO_OF_UL_BYTES/2];
+}T_zTD_P_mac_ul_buffer;
+
+/*MACÓëÎïÀí²ã¼äÏÂÐÐDCH/FACH/PCHÊý¾Ý½»»¥½Ó¿Ú¶¨Òå*/
+typedef struct {
+ WORD wTotal_length;
+ WORD wNr_trch;
+
+ WORD wTfci;
+ WORD wDl_cctrch_id; /*equivalent to tfcs id, value:1~8*/
+
+ T_zTD_P_dl_trch_header atDl_trch_header[Z_TD_P_MAX_DL_TRCH_NUM];
+
+ WORD wDl_data[Z_TD_P_MAX_NO_OF_DL_BYTES/2];
+}T_zTD_P_mac_dl_buffer;
+
+/*MACÓëÎïÀí²ã¼äHSDPAÊý¾Ý½»»¥½Ó¿Ú¶¨Òå*/
+typedef struct {
+ WORD wTbSize;
+ WORD wPadding;
+
+ WORD awHsdpaData[Z_TD_P_MAX_NO_OF_HSDPA_BYTES/2];
+}T_zTD_P_mac_Hsdpa_Buf;
+
+/*==============================================================================
+ ÔÓZ_P_TFC_POWER_IND_Ev( PHY->UMAC )
+ ˵Ã÷:
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+ WORD wPadding;
+
+ WORD wTfci;
+ WORD wExcess_power_flag; /* "0" is Supported state->Excess-Power state;"1" is Excess-Power state->Supported state*/
+}T_zTD_P_TFC_POWER_IND;
+
+
+/*==============================================================================
+ ÔÓZ_P_RACH_PROCEDURE_IND_Ev( PHY->UMAC ),Z_P_ERUCCH_PROCEDURE_IND_Ev( PHY->UMAC )
+ ˵Ã÷:
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+ WORD wResult; /* "1" is success; "0" is failure*/
+}T_zTD_P_RACH_PROCEDURE_IND;
+
+
+/*==============================================================================
+ ÔÓZ_P_RACH_PROCEDURE_CNF_Ev(PHY -> UMAC),Z_P_ERUCCH_PROCEDURE_CNF_Ev(PHY -> UMAC)
+ ˵Ã÷:
+==============================================================================*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+} T_zTD_P_RACH_PROCEDURE_CNF;
+
+/*==============================================================================
+ ÔÓZ_P_ABORT_RACH_PROCEDURE_REQ_Ev( UMAC->PHY ),Z_P_ABORT_ERUCCH_PROCEDURE_REQ_Ev( UMAC->PHY )
+ ˵Ã÷:
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+ WORD wPadding;
+}T_zTD_P_ABORT_RACH_PROC_REQ;
+
+/**************************************************************************
+ * HSUPAÅäÖÃ *
+ **************************************************************************/
+typedef struct {
+ WORD wHarqId;
+ WORD wStatus; /*¸Ã½ø³ÌACK/NACK½á¹ûÐÅÏ¢¡£0£ºACK£»1£ºNACK*/
+}T_zTD_P_HARQ_PROCESS_STATUS;
+
+
+typedef struct {
+ WORD wAbsolute; /*¾ø¶ÔÊÚȨֵ*/
+ WORD wSf; /*À©ÆµÂ룬µÍbyte,´Ó×óµ½ÓÒ±íʾÀ©ÆµÂë*/
+ WORD wTRRI; /*µÍ°ËλµÍ5¸öbit±íʾʱ϶×ÊÔ´ÐÅÏ¢µÄλͼ*/
+ WORD wEni; /*E-UCCHÊýĿָʾ*/
+ WORD wCode; /*ÂëµÀÐÅÏ¢£¬ÐÒéÕ»±¾Éí²»×öÏà¹Ø´¦Àí£¬Ö»ÊǺÍÊý¾ÝÏ·¢µÄʱºòÔÙ´ø»Ø¸øÎïÀí²ã*/
+ WORD wRdiFlag; /*³ÖÐøÖÜÆÚָʾ£¬±íʾ´ËÊÚȨÊÇǰ´ÎÊÚȨµÄ³ÖÐø£¬³õ´Î³öÏÖRDIÖÃ0£¬ºóÐø³öÏÖʱ£¬RDIÖÃ1£¬²¢Ð¯´øÊÚȨ*/
+ WORD wEi; /*ÏÂÒ»¸öÖÜÆÚÄÚE-HICHÐŵÀµÄÊýÄ¿£¬ÐÒéÕ»±¾Éí²»×÷´¦Àí£¬»Ø´ø¸øÎïÀí²ã*/
+ WORD wRdiEndFlag;
+}T_zTD_P_HSUPA_GRANT_INFO;
+
+
+typedef struct {
+ WORD wNonSchFlag; /*ÉϲãÐÒéÕ»ÊÇ·ñ¿ÉÒÔ×¼±¸·Çµ÷¶ÈÊý¾ÝµÄ±êʶ£¬0£º²»¿ÉÒÔ×¼±¸£»1£º¿ÉÒÔ×¼±¸·Çµ÷¶ÈÊý¾Ý*/
+ WORD wRefBetaE; /*ÎïÀí²ã×Ô¼º¼ÆËãµÄ²Î¿¼BetaÖµ£¬ÐÒéÕ»ÓÃÊÚȨ£¨µ÷¶È/SPS/·Çµ÷¶È£©ÓëÆä±È½Ï£¬È¡½ÏСֵ×÷Ϊ¿ÉÓ÷¢É书ÂÊ*/
+#ifdef R9_SUPPORT
+ WORD wSpsFlag; /*SPSµ÷¶È±êÖ¾£¬0£º²»¿ÉÒÔ×¼±¸SPSÊý¾Ý´«Ê䣬1--¿ÉÒÔ×¼±¸SPSÊý¾Ý´«Êä*/
+ WORD wDrxActiveFlag;/*DRXʹÄܱêÖ¾£¬0--¹Ø±Õ£¬1--´ò¿ª*/
+#endif
+ WORD wPhyChCorExsistFlag;/*E-PUCHÓëÆäËûÀàÐÍÎïÀíÐŵÀ²¢´æÓÚͬһ×Ó֡ͬһʱ϶µÄ±êÖ¾£¬ÔÚwEagchFlag»òÕßwNonSchFlag»òÕßwSpsFlagΪ1ʱÓÐЧ£¬0--²»²¢´æ£¬1--²¢´æ*/
+ WORD wEagchFlag; /*µ÷¶ÈÊÚȨÐÅÏ¢ÊÇ·ñÓÐЧµÄ±êʶ¡£0£ºÎÞЧ£»1£ºÓÐЧ*/
+ T_zTD_P_HSUPA_GRANT_INFO tGrant; /*ÊÚȨÐÅÏ¢£¬Ö»ÓÐÔÚwEagchFlag»òwSpsFlagָʾÓÐЧʱ²Å¿ÉÒÔ¶ÁÈ¡*/
+ WORD wHarqFlag; /*HARQÐÅÏ¢ÊÇ·ñÓÐЧµÄ±êʶ*/
+ WORD wSubFrame; /*ÓÃÓÚÎïÀí²ãÅбðÐÒéÕ»´¦ÀíÊÇ·ñ³¬Ê±µÄ×ÓÖ¡ºÅ*/
+ T_zTD_P_HARQ_PROCESS_STATUS tHarq; /*HARQµ¥½ø³ÌµÄACK/NACK½á¹ûÐÅÏ¢*/
+}T_zTD_P_UPA_GRANT_HARQ_INFO;
+
+typedef struct {
+ WORD wTchType; /*ÐŵÀÀàÐÍ£¬·ÖΪE-RUCCHºÍE-DCH*/
+ WORD wHarqId; /*ÓÃÓÚ±¾´ÎÊý¾Ý·¢Ë͵ÄHARQ ½ø³ÌID£¬0~7*/
+ WORD wRefBetaE; /*ÎïÀí²ã·¢ËÍÊý¾ÝµÄÔöÒæÒò×Ó*/
+ WORD wEtfci;
+ WORD wTbSize;
+ WORD wModuleType; /*±¾´Î·¢Ë͵ĵ÷ÖÆ·½Ê½ 0:QPSK; 1:16qam*/
+ WORD wRsn; /*ÈßÓà°æ±¾ºÅ£¬RSN µÈÓÚ0±íʾÐÂÊý¾Ý£¬RSN´óÓÚ0±íÊ¾ÖØ´«*/
+ WORD wSubFrame; /*ָʾ¸Ã´«Êä¿éµÄ·¢ËÍ×ÓÖ¡ºÅ*/
+#ifdef R9_SUPPORT
+ WORD wSpsFlag; /*SPSÊý¾Ý±êÖ¾*/
+ WORD wPadding;
+#endif
+ T_zTD_P_HSUPA_GRANT_INFO tGrant; /*»Ø´ø¸øÎïÀí²ãµÄÊÚȨÐÅÏ¢¡£ÊÇ·ñÐèÒª¶ÁÈ¡¸ÃÔªËØÄÚ²¿µÄ¾ø¶ÔÊÚȨֵ£¬ÎïÀí²ãÐèÒª¸ù¾ÝHARQ½ø³ÌID½øÐÐÅжϣ¬Ö»ÔÚµ÷¶ÈÊý¾ÝʱÓÐЧ*/
+} T_zTD_PHSUPA_BUF_HEADER;
+
+typedef struct {
+ T_zTD_PHSUPA_BUF_HEADER tBufHeader; /* HSUPAÊý¾Ý»º³åÇøÍ·ÐÅÏ¢*/
+ WORD awData[Z_TD_P_MAX_NO_OF_HSUPA_BYTES/2];
+}T_zTD_P_HSUPA_UL_BUFFER;
+
+/*==============================================================================
+ ÔÓT_zTD_P_mac_Set_Agch_Req_Ev( UMAC->PHY )
+ ˵Ã÷: ÉϲãÐÒéջָʾÎïÀí²ã¿ªÊ¼/Í£Ö¹¼àÌýE-AGCHÐŵÀµÄÃüÁî
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+ WORD wResult; /* ָʾÎïÀí²ãÊÇ·ñÍ£Ö¹¼àÌýE-AGCHÐŵÀ¡£0£º¼ÌÐø¼àÌý£»1£ºÍ£Ö¹¼àÌý*/
+}T_zTD_P_mac_Set_Agch_Req_Ev;
+#ifdef R9_SUPPORT
+/*==============================================================================
+ ÔÓP_SYNC_CMD_RESP_EV( PHY->UMAC )
+ ˵Ã÷: ÔÚÔöÇ¿Cell-PCH̬Ï£¬ÎïÀí²ãÊÕµ½HS-SCCHÉϵÄͬ²½ÃüÁîºó£¬·¢¸ÃÏûϢ֪ͨMAC×öÉÏÐÐͬ²½
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+ WORD wPadding;
+}T_zTD_P_Sync_Cmd_Resp;
+/*==============================================================================
+ ÔÓP_CELL_RESEL_REQ_EV( UMAC->PHY )
+ ˵Ã÷: ÔÚÔöÇ¿Cell-FACH̬Ï£¬MAC֪ͨÎïÀí²ã£¬Ð¡ÇøÖØÑ¡ÇëÇó
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+ WORD wPadding;
+}T_zTD_P_Cell_Resel_Req;
+/*==============================================================================
+ ÔÓP_CELL_RESEL_CNF_EV( PHY->UMAC )
+ ˵Ã÷: ÔÚÔöÇ¿Cell-FACH̬Ï£¬ÎïÀí²ã»Ø¸´MAC£¬Ð¡ÇøÖØÑ¡È·ÈÏ
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+ WORD wPadding;
+}T_zTD_P_Cell_Resel_Cnf;
+#endif
+
+/************************************************************************/
+/* RBCÈ«¾ÖÀàÐͶ¨Òå */
+/************************************************************************/
+/*10.3.6.41 Midamble Shift and burst type*/
+typedef struct{
+ /*wMidamble_allocation_mode:0:default midamble,1:Common midamble,2:UE specific midamble*/
+ WORD wMidamble_allocation_mode;
+ /*wMidamble_configuration:Integer(2,4,6,8,10,12,14,16)*/
+ WORD wMidamble_configuration;
+
+ /*this IE is mandatory present,when wMidamble_allocation_mode is 2:UE specific midamble*/
+ WORD wMidamble_shift;
+}T_zTD_P_mid_shift_bur_type;
+
+/*10.3.6.51a Prach channelisation code 1.28 Mcps TDD*/
+typedef struct{
+ /*
+ Enumerated(4/1)
+ wSpread_factor = 4
+ wChannelisation_code = 1
+ Enumerated(16/1)
+ wSpread_factor = 16
+ wChannelisation_code = 1
+ */
+ WORD wSpread_factor;
+ WORD wChannelisation_code;
+}T_zTD_P_CHANNELISATION_CODE;
+
+/*10.3.6.51a PRACH Channelisation Code*/
+typedef struct{
+ /*wChannelisation_code_number:1 to 4*/
+ WORD wChannelisation_code_number;
+
+ /*channelisation list*/
+ T_zTD_P_CHANNELISATION_CODE atChannelisation_code[Z_TD_P_MAX_PRACH_FPACH_CODE];
+}T_zTD_P_Prach_Ch_code; /*9Word*/
+
+/*10.3.6.35a FPACH info*/
+typedef struct{
+ /*wTimeslot_number: (0..6)*/
+ WORD wTimeslot_number;
+ /*Integer(1..4)*/
+ WORD wWt;
+
+ /*channelisation code: (16/1..16/16)*/
+ T_zTD_P_CHANNELISATION_CODE tChannelisation_code;
+
+ /*10.3.6.41:T_zmidamble_shift_burst_type*/
+ T_zTD_P_mid_shift_bur_type tMidamble_shift_burst_type;
+}T_zTD_P_fpach_info; /*7Word*/
+
+/*PRACH-FPACH*/
+typedef struct{
+ /*10.3.6.84 Timeslots number:Integer(0..6)*/
+ WORD wTime_slot_number;
+
+ /*10.3.6.51a PRACH channelisation on code 1.28 Mcps TDD*/
+ T_zTD_P_Prach_Ch_code tPrach_channelisation_code;
+
+ /*10.3.6.41 Midamble shift and burst type*/
+ T_zTD_P_mid_shift_bur_type tMidamble_shift_burst_type;
+
+ /*10.3.6.35a FPACH info*/
+ T_zTD_P_fpach_info tFpach_info;
+}T_zTD_P_prach_fpach_info; /*20Word*/
+
+/*10.3.6.91 Uplink DPCH power control info*/
+typedef struct {
+ /*wUl_target_sir 0:not exist 1:exist*/
+ WORD wUl_target_sir_flg:1;
+ /*wPrimary_ccpch_tx_power_flg 0:not exist 1:exist*/
+ WORD wPrimary_ccpch_tx_power_flg:1;
+
+ /*
+ Real(-11..20 by step of 0.5dB);For 1.28 Mcps TDD this parameter
+ represents PRXdpchdes with range Integer(-120..-58) by step 1
+ wUl_target_sir = (x-(-120)/0.5 )
+
+ */
+ WORD wUl_target_sir;
+ /* Integer(1,2,3)*/
+ WORD wTpc_step_size;
+
+ /* Integr(6...50)*/
+ WORD wPrimary_ccpch_tx_power;
+ /*1:¹À¼Æbeacon·Ëð 0:²»¹À¼Æ*/
+ WORD wBeacon_pl_est;
+ WORD wPadding;
+}T_zTD_P_ul_dpch_power_ctrl;
+
+/*10.3.6.96 Uplink Timing Advance Control*/
+typedef struct {
+ /*Integer(1..8)*/
+ WORD wUl_Sync_Step_Size;
+ /*Integer(1..8)*/
+ WORD wUl_Sync_Freq;
+
+ /*0: Syn parameter not exist; 1:Syn parameter exist*/
+ WORD wSync_Param_Flg;
+ /*SYNC_UL codes bitmap: Bitstring(8)*/
+ WORD wSynl_up_codes;
+
+ /*FPACH info 10.3.6.35a*/
+ T_zTD_P_fpach_info tFpach_info;
+
+ /*PRXupPCHdes: Integer(-120..-58 by step 1)
+ wPrx_up_pch_des = (x-(-120))
+ */
+ WORD wPrx_up_pch_des;
+ /*Max SYNC_UL Transmissions,Integer(1,2,4,8)*/
+ WORD wMax_sync_ul_transmissions;
+
+ /*Integer(0,1,2,3)*/
+ WORD wPower_ramp_step;
+
+ WORD wUarFcn_flg;
+ WORD wUppch_chip_shift_flg;
+ WORD wUarFcn;
+ WORD wUppch_chip_shift;
+}T_zTD_P_ul_timing_advance;
+
+/*10.3.6.10 Common timeslot info*/
+typedef struct{
+ /*Enumerated(Frame,Timeslot) 0:Frame 1:Timeslot*/
+ WORD wSecond_interleaving_mode;
+ /*TFCI coding Integer(4,8,16,32)*/
+ WORD wCfci_coding;
+
+ /*Real(0.40..1.0 by step of 0.04)
+ wPuncturing_limit = (x-0.40)/0.04
+ */
+ WORD wPuncturing_limit;
+ /*Repetition period Integer(1,2,4,8,16,32,64)*/
+ WORD wRepetition_period;
+
+ /*Integer(1..bRepetition_period-1)*/
+ WORD wRepetition_length;
+}T_zTD_P_common_ts_info;
+
+
+/*10.3.6.37 Individual timeslot info*/
+typedef struct{
+ /*10.3.6.84 :Integer(0..6)*/
+ WORD wTimeslot_number;
+ /*TFCI existence 0:false 1:true*/
+ WORD wTfci_existence;
+
+ /*10.3.6.41 Midamble shift and burst type*/
+ T_zTD_P_mid_shift_bur_type tMidamble_shift_burst_type;
+
+ /*Enumerated(QPSK,8PSK) 0:QPSK 1:8PSK*/
+ WORD wModulation;
+ /*Enumerated(0,1,16/SF)*/
+ WORD wSs_tpc_symbols;
+
+ /*Integer(1..15)*/
+ WORD wAdditional_tpc_ss_symbols_flg;
+ WORD wAdditional_tpc_ss_symbols;
+}T_zTD_P_individual_ts_info;
+
+/*10.3.6.17 Downlink channelisation codes*/
+/*Consecutive codes: First Individual timeslot info and first timeslot channelisation codes*/
+typedef struct{
+ /*channelisation code :16/x*/
+ T_zTD_P_CHANNELISATION_CODE tFirst_channelisation_code;
+
+ /*channelisation code :16/x*/
+ T_zTD_P_CHANNELISATION_CODE tLast_channelisation_code;
+}T_zTD_P_consecutive_codes;
+
+/*10.3.6.17*/
+typedef struct{
+ WORD wType;
+ union{
+ /*Consecutive codes*/
+ T_zTD_P_consecutive_codes tdown_channelisation_code;
+
+ /*Each bit indicates the availability of a channelisation code for SF16*/
+ WORD wChannelisation_code_bitmap;
+ }tChannelisation_code;
+}T_zTD_P_dl_ch_codes;
+
+/*
+typedef struct{
+ WORD wSf; //À©ÆµÒò×Ó£¬È¡Öµ1»òÕß16//
+ WORD wChCodeNum; //ÐŵÀ»¯Âë¸öÊý£¬È¡Öµ:1 to 16//
+ WORD awChCode[16]; //ÐŵÀ»¯Â룬ȡֵ1µ½SF//
+}T_zTD_P_dl_ch_codes;
+*/
+
+/*10.3.6.32 Downlink Timeslots and Codes*/
+typedef struct{
+ T_zTD_P_dl_ch_codes tDown_channelisation_code;
+ T_zTD_P_individual_ts_info tIndividual_timeslot_info;
+}T_zTD_P_dl_ts_codes_element;
+
+/*10.3.6.32*/
+typedef struct{
+ WORD wTs_and_ch_number;
+ T_zTD_P_dl_ts_codes_element atDownlink_timeslots_code[Z_TD_P_MAX_DL_TS];
+}T_zTD_P_dl_ts_codes;
+
+
+typedef struct{
+ WORD wTfcs_id;
+ /*time info*/
+ WORD wActive_time;
+
+ WORD wDuration;
+
+ /*10.3.6.10 Common timeslot info*/
+ T_zTD_P_common_ts_info tCommon_timeslot_info;
+
+ /*10.3.6.32 Downlink DPCH timeslots and codes*/
+ T_zTD_P_dl_ts_codes tDownlink_dpch_timeslot_codes;
+}T_zTD_P_dl_cctrch_list;
+
+
+/*10.3.6.94 uplink channelisation codes*/
+typedef struct{
+ WORD wNum;
+ T_zTD_P_CHANNELISATION_CODE atUplink_channelisation[2];
+}T_zTD_P_ul_ch_codes;
+
+/*10.3.6.32 uplink Timeslots and Codes*/
+typedef struct{
+ T_zTD_P_ul_ch_codes tUplink_channelisation_code;
+ T_zTD_P_individual_ts_info tIndividual_timeslot_info;
+}T_zTD_P_ul_ts_codes_element;
+
+
+typedef struct{
+ WORD wTs_and_channelisation_number;
+ T_zTD_P_ul_ts_codes_element atUplink_timeslots_code[Z_TD_P_MAX_UL_TS];
+}T_zTD_P_ul_timeslots_codes;
+
+
+typedef struct{
+ WORD wTfcs_id;
+ /*time info*/
+ WORD wActive_time;
+
+ WORD wDuration;
+
+ /*10.3.6.10 Common timeslot info*/
+ T_zTD_P_common_ts_info tCommon_timeslot_info;
+
+ /*10.3.6.32 Downlink DPCH timeslots and codes*/
+ T_zTD_P_ul_timeslots_codes tUplink_dpch_timeslot_codes;
+}T_zTD_P_ul_cctrch_list;
+
+
+
+typedef struct{
+ /*Integer(0..6)*/
+ WORD wTimeslot_number;
+
+ /*Enumerated((16/1)..(16/16))*/
+ T_zTD_P_CHANNELISATION_CODE tChannelisation_code;
+
+ /*Midamble allocation mode
+ Enumerated(Default Midamble,Common Midamble,UE specific Midamble)
+ wMidamle_allocation_mode=0,1,2
+ */
+ WORD wMidamble_allocation_mode;
+
+ /*Midamble configuration
+ Integer(2,4,6,8,10,12,14,16)
+ */
+ WORD wMidamble_configuration;
+ /*Integer(0..15)*/
+ WORD wMidamble_shift;
+
+ /*
+ Integer(-7..8)
+ wAck_nack_power_offset = x-(-7)
+ x=wAck_nack_power_offset - 7
+ */
+ WORD wAck_nack_power_offset;
+ /*
+ Integer(-120..-58)
+ wPRXhs_sich = x-(-120);
+ x = wPRXhs_sich - 120;
+ */
+ WORD wPRXhs_sich;
+
+ /*
+ Integer(1,2,3)
+ */
+ WORD wTpc_step_size;
+}T_zTD_P_hs_sich;
+
+typedef struct{
+/*
+ //scchµÄ½ÓÊÕÆµÂÊ
+ WORD wScch_rx_freq;
+*/
+ /*Integer(0..6)*/
+ WORD wTimeSlot_number;
+
+ /*first Channelisation code*/
+ T_zTD_P_CHANNELISATION_CODE tFirst_channelisation_code;
+
+ /*second channelisation code*/
+ T_zTD_P_CHANNELISATION_CODE tSecond_channelisation_code;
+
+ /*Midamble allocation mode
+ Enumerated(Default Midamble,Common Midamble,UE specific Midamble)
+ wMidamle_allocation_mode=0,1,2
+ */
+ WORD wMidamble_allocation_mode;
+
+ /*
+ This IE is mandatory present when the value of the IE "Midamble Allocation Mode"
+ is "UE specific Midamble" and not needed otherwise.
+ Integer(0..15)
+ */
+ WORD wMidamble_shift;
+ /*
+ Integer(2,4,6,8,10,12,14,16)
+ */
+ WORD wMidamble_configuration;
+
+ /*
+ wBler_targetµÄ·¶Î§Îª0ÖÁ63£»ÎïÀí²ãÊÕµ½ºóÒª*£¨-0.05£©µÃµ½Êµ¼ÊÖµ
+ */
+ WORD wBler_target;
+
+ /*sich info*/
+ T_zTD_P_hs_sich tHs_sich;
+
+}T_zTD_P_hs_scch;
+
+typedef struct{
+ /*Midamble allocation mode
+ Enumerated(Default Midamble,Common Midamble,UE specific Midamble)
+ wMidamle_allocation_mode=0,1,2
+ */
+ WORD wMidamble_allocation_mode;
+ /*Midamble configuration
+ Integer(2,4,6,8,10,12,14,16)
+ */
+ WORD wMidamble_configuration;
+
+ /*Integer(0..15)*/
+ WORD wMidamble_shift;
+}T_zTD_P_hs_dpsch_midamble;
+
+typedef struct{
+ WORD wNumber_process;
+ /*memory partitioning 0:implicit 1:explicit*/
+ WORD wMemory_partitioning;
+
+ DWORD dwProcess_memory_size[Z_TD_P_MAX_H_PROCESS];
+}T_zTD_P_hs_harq_info;
+
+
+typedef struct {
+ WORD wTime_slot_number;
+ T_zTD_P_mid_shift_bur_type tMidamble_shift_burst_type; /*E-PUCHµÄmidamble modeÖ»ÄÜÈ¡0»ò2*/
+}T_zTD_P_epuch_midam;
+
+typedef struct{
+ WORD wSnpl_type; /*0:Íø²àδָ¶¨£¬¿ÉÖ±½ÓÌîSNPL=9; 1£ºtype1; 2£ºtype2*/
+ WORD wPrx_base_des; /*Reference desired power level for E-PUCH,ʵ¼ÊÖµ=x-112£¬È¡Öµ·¶Î§0-62.*/
+ WORD wBeacon_pl_est; /*1-·Ëð¹À¼ÆÊ±¿¼ÂÇbeacon£»0-²»¿¼ÂÇ*/
+ WORD wTpc_step_size; /*Pe-baseÖеÄstep²ÎÊý¡£Êý¾Ý·¶Î§£º1..3*/
+ WORD wPow_ctrl_gap; /*×ÓÖ¡¸öÊý£¬TPCʱ¼äÍ£¶ÙÃÅÏÞ£¬0..255*/
+ WORD wSync_step_size; /*µ÷ÕûÉÏÐд«Ê䶨ʱµÄ²½³¤,1..8*/
+ WORD wSync_freq; /*µ÷ÕûÉÏÐд«Ê䶨ʱµÄƵÂÊ,1..8*/
+ WORD wPadding;
+}T_zTD_P_epuch_pwr_info;
+
+typedef struct{
+ WORD wTime_slot_number;
+ T_zTD_P_mid_shift_bur_type tMidamble_shift_burst_type;
+ T_zTD_P_CHANNELISATION_CODE tFirst_channelisation_code;
+ T_zTD_P_CHANNELISATION_CODE tSecond_channelisation_code;
+}T_zTD_P_hs_eagch;
+
+typedef struct{
+ WORD wTime_slot_number;
+ T_zTD_P_mid_shift_bur_type tMidamble_shift_burst_type; /*E-HICHµÄmidamble modeÖ»ÄÜÈ¡0»ò2*/
+ T_zTD_P_CHANNELISATION_CODE tChannelisation_code;
+}T_zTD_P_hs_ehich;
+
+typedef struct{
+ WORD wRdi_ind; /*0:RDI²»´æÔÚ 1:RDI´æÔÚ*/
+
+ WORD wEagch_num; /*E-AGCHÐŵÀÐÅÏ¢Áбí*/
+ T_zTD_P_hs_eagch atEagch_config[Z_TD_P_MAX_EAGCH_NUM];
+ WORD wTpc_step_size; /*E-AGCHµÄ¹¦¿Ø²½³¤,1..3*/
+ WORD wEagch_bler_target; /*ʵ¼ÊÖµ=(x-63)*0.05£¬È¡Öµ·¶Î§0~63*/
+
+ WORD wEhich_num; /*E-HICHÐŵÀÐÅÏ¢Áбí*/
+ T_zTD_P_hs_ehich atEhich_config[Z_TD_P_MAX_SCH_EHICH_NUM];
+ WORD awEi[Z_TD_P_MAX_SCH_EHICH_NUM]; /*ÿ¸öE-HICHµÄ±êʶ,ȡֵ·¶Î§0~3*/
+
+ WORD wEpuch_num; /*E-PUCHÐŵÀÐÅÏ¢Áбí*/
+ T_zTD_P_epuch_midam atEpuch_midam_list[Z_TD_P_MAX_EPUCH_TS_NUM];
+}T_zTD_P_hs_sch_tr;
+
+typedef struct{
+ WORD wEucch_num; /*e-ucch¸öÊý£¬1~8*/
+
+ WORD wEpuch_act_time; /*E-PUCHÆðЧ֡ºÅ£¬0~255*/
+ WORD wEpuch_sub_frame; /*E-PUCHÆðЧ×ÓÖ¡ºÅ£¬0~1*/
+ WORD wEpuch_rep_prd; /*E-PUCHÖØ¸´ÖÜÆÚ£¬1/2/4/8/16/32¸öTTI*/
+ WORD wEpuch_rep_len; /*E-PUCH×ÊÔ´³¤¶È£¬È¡Öµ1..wEpuch_rep_prd-1,wEpuch_rep_prd=1ʱȡֵΪ1*/
+ WORD wEpuch_prri; /*E-PUCH×î´ó¹¦ÂÊ×ÊÔ´£¬1~32*/
+
+ WORD wEpuch_num; /*E-PUCHÐŵÀÐÅÏ¢Áбí*/
+ T_zTD_P_epuch_midam atEpuch_midam_list[Z_TD_P_MAX_EPUCH_TS_NUM];/*E-PUCHʱ϶ºÍMidÂëÐÅÏ¢*/
+ T_zTD_P_CHANNELISATION_CODE tChannelisation_code; /*E-PUCHÐŵÀ»¯Âë*/
+
+ WORD wEhich_sig_group_idx; /*E-HICHÐŵÀËùʹÓõÄSignatureSeqIndex£¬0~19.25221 5A.3.17*/
+ T_zTD_P_hs_ehich tEhich_config; /*E-HICHÐŵÀÅäÖÃ*/
+}T_zTD_P_hs_non_sch_tr;
+
+typedef struct{ /*L1ʹÓÃÉÏÐÐDPCHʱ϶ºÍÐŵÀ»¯ÂëÀ´½¨Á¢ÉÏÐÐDPCHºÍPLCCHµÄÓ³Éä¹ØÏµ*/
+ WORD wUl_dpch_ts; /*PLCCHËù¶ÔÓ¦ÉÏÐÐDPCHʱ϶*/
+ WORD wPlcch_seq_num; /*1..14£¬º¬Òå´ý²é*/
+ WORD wPlcch_ts; /*0..6*/
+ WORD wTpc_target_rate; /*0..10*/
+ T_zTD_P_CHANNELISATION_CODE tUl_dpch_channelsation_code; /*PLCCHËù¶ÔÓ¦ÉÏÐÐDPCHÂë*/
+ T_zTD_P_CHANNELISATION_CODE tPlcch_channelisation_code;
+}T_zTD_P_plcch_info;
+#ifdef R9_SUPPORT
+typedef struct{
+ WORD wHs_scch_recv_freq;/*HS-SCCH/HS-SICH¶ÔÓ¦µÄƵµã*/
+ WORD wPadding;
+ T_zTD_P_hs_scch tHs_scch_configuration;
+}T_zTD_P_mc_hs_scch;
+
+/*Rx or Tx Pattern*/
+typedef struct{
+ WORD wRepetition_period;/*ÖØ¸´ÖÜÆÚ£¬È¡Öµ·¶Î§1,2,4,8,16,32*/
+ WORD wRepetition_length; /*ÖØ¸´³¤¶È£¬È¡Öµ·¶Î§1..bRepetition_period-1£¬µ±wRepetition_period=1ʱ¸ÃÖµÎÞЧ*/
+}T_zTD_P_pattern;
+/*Hsdsch sps²Ù×÷¶ÔÓ¦µÄHarqÐÅÏ¢*/
+typedef struct{
+ WORD wNumber_process;/*Hs-scch sps²Ù×÷ËùÄÜʹÓõÄHARQ½ø³Ì¸öÊý£¬È¡Öµ·¶Î§1~8*/
+ WORD wPadding;
+ DWORD dwProcess_memory_size;/*Hs-scch sps²Ù×÷ËùÄÜʹÓõÄ×ܵÄÐéÄâIR bufferµÄ´óС£¬È¡Öµ·¶Î§£º800~16000 by step of 800£¬
+ 17600~32000 by step of 1600£¬36000~80000 by step of 4000£¬88000~160000 by step of 8000£¬ 176000~304000 by step of 16000*/
+}T_zTD_P_hsdsch_sps_harq_info;
+/*ÓÃÓÚsps²Ù×÷µÄHs-dschÂë×ÊÔ´ÐÅÏ¢:µ±wStartCodeInfo¶ÔӦΪ16/16£¬wStopCodeInfo¶ÔӦΪ1/16ʱ£¬±íʾSFΪ1*/
+
+typedef struct
+{
+ WORD wStartCodeInfo; /*ÆðʼÐŵÀ»¯ÂëÐÅÏ¢;ȡֵΪ0¡.15;·Ö±ð¶ÔÓ¦µÄÐŵÀ»¯ÂëΪ1/16¡..16/16*/
+ WORD wStopCodeInfo;/*½áÊøµÄÐŵÀ»¯ÂëÐÅÏ¢;ȡֵΪ0¡.15;·Ö±ð¶ÔÓ¦µÄÐŵÀ»¯ÂëΪ1/16¡..16/16*/
+}T_zTD_P_code_resource_info;
+
+/*Hs-dsch¶ÔÓ¦µÄ³õʼspsÐÅÏ¢*/
+typedef struct
+{
+ WORD wTsInfo;/*·ÖÅäµÄÓÃÓÚspsµÄHs-pdsch¶ÔÓ¦µÄʱ϶ÐÅÏ¢£¬µÍÎåλÓÐЧ£¬Ö¸¶¨Î»ÖÃλ±íʾÏàӦʱ϶ÓÃÓÚsps²Ù×÷¡£*/
+ WORD wActTime;/*¼¤»îʱ¼ä£¬È¡Öµ·¶Î§0~255*/
+ WORD wSubFrameNum; /*×ÓÖ¡ºÅ£¬È¡Öµ0£¬1*/
+ WORD wInitTbsIdx;/*³õʼTbsË÷ÒýºÅ£¬È¡Öµ·¶Î§0~3*/
+ WORD wInitRxPatternIdx; /*³õʼRxPatternË÷ÒýºÅ£¬È¡Öµ·¶Î§0~3*/
+ WORD wHssichIdx; /*hssichË÷ÒýºÅ£¬È¡Öµ·¶Î§0~3*/
+ WORD wMod; /*ȡֵ0±íʾmodQPSK£¬1±íʾ mod16QAM*/
+ WORD wPadding;
+ T_zTD_P_code_resource_info tCodeResourceInfo; /*HS-PDSCHÐŵÀ»¯ÂëÐÅÏ¢£»µ±StartΪ16£¬stopΪ1ʱ£¬±íʾsfΪ1*/
+}T_zTD_P_init_hsdsch_sps_info;
+/*Edch¶ÔÓ¦µÄ³õʼspsÐÅÏ¢*/
+typedef struct
+{
+ WORD wEucch_num;/*e-ucch¸öÊý£¬1~8*/
+ WORD wTsInfo;/*·ÖÅäµÄÓÃÓÚspsµÄE-DCH¶ÔÓ¦µÄʱ϶ÐÅÏ¢£¬µÍÎåλÓÐЧ£¬Ö¸¶¨Î»ÖÃλ±íʾÏàӦʱ϶ÓÃÓÚsps²Ù×÷*/
+ WORD wEpuch_prri;/*E-PUCH×î´ó¹¦ÂÊ×ÊÔ´£¬1~32*/
+ WORD wActTime;/*¼¤»îʱ¼ä£¬È¡Öµ·¶Î§0~255*/
+ WORD wSubFrameNum;/*×ÓÖ¡ºÅ£¬È¡Öµ0£¬1*/
+ WORD wInitTxPatternIdx; /*³õʼTxPatternË÷ÒýºÅ£¬È¡Öµ·¶Î§0~3*/
+ T_zTD_P_CHANNELISATION_CODE tCodeResourceInfo; /*EdchÐŵÀ»¯ÂëÐÅÏ¢*/
+}T_zTD_P_init_edch_sps_info;
+
+/*HSDSCHµÄSPSÐÅÏ¢*/
+typedef struct{
+ WORD wHssichNum; /*hs-sichÐŵÀ¸öÊý*/
+ WORD wPatternNum;/*Rx Pattern¸öÊý£¬È¡Öµ·¶Î§1~4*/
+ WORD wTbsNum; /*Tb size¸öÊý£¬È¡Öµ·¶Î§1~4*/
+ WORD wInitSpsInfoFg;/*0:tInitSpsInfoÎÞЧ£»1:tInitSpsInfoÓÐЧ*/
+ WORD awTbs[Z_TD_P_MAX_HSDSCH_TBS_NUM];/*ÿ¸öTbSizeµÄË÷Òý£¬È¡Öµ·¶Î§1~63*/
+
+ T_zTD_P_pattern atRxPattern [Z_TD_P_MAX_HSDSCH_RX_PATTERN_NUM];
+ T_zTD_P_hsdsch_sps_harq_info tHarqInfo;
+ T_zTD_P_hs_sich atHssich [Z_TD_P_MAX_HS_SCCH];
+ T_zTD_P_init_hsdsch_sps_info tInitSpsInfo;
+}T_zTD_P_hsdsch_sps_info;
+/*EDCHµÄSPSÐÅÏ¢*/
+typedef struct{
+ WORD wEhich_sig_group_idx; /*E-HICHÐŵÀËùʹÓõÄSignatureSeqIndex£¬0~19.25221 5A.3.17*/
+ WORD wInitSpsInfoFg;/*0:tInitSpsInfoÎÞЧ£»1:tInitSpsInfoÓÐЧ*/
+ WORD wPadding;
+ WORD wPatternNum; /*TxPattern¸öÊý*/
+ T_zTD_P_pattern atTxPattern [Z_TD_P_MAX_EDCH_TX_PATTERN_NUM];
+ T_zTD_P_hs_ehich tEhich_config;
+ T_zTD_P_init_edch_sps_info tInitSpsInfo;
+}T_zTD_P_edch_sps_info;
+/*¿ØÖÆÐŵÀHSSCCH DRX²Ù×÷ÐÅÏ¢*/
+typedef struct {
+ WORD wInactivity_threshold_flg; /*1-±íʾwInactivity_thresholdÓÐЧ£»0-±íʾwInactivity_thresholdÎÞЧ*/
+ WORD wEnabling_delay; /*ÆðЧÑÓ³Ù£¬µ¥Î»£ºÎÞÏßÖ¡£¬È¡Öµ·¶Î§0£¬1£¬2£¬4£¬8£¬16£¬32£¬64£¬128£¬infinity£¨0xffff£©*/
+ WORD wDrx_cycle;/*DRXÖÜÆÚ£¬µ¥Î»×ÓÖ¡£¬È¡Öµ·¶Î§1£¬2£¬4£¬8£¬16£¬32£¬64£¬128*/
+ WORD wInactivity_threshold;/*DRXÖÜÆÚµÄÈ¥¼¤»îÃÅÏÞ£¬µ¥Î»£º×ÓÖ¡£¬È¡Öµ·¶Î§1£¬2£¬4£¬8£¬16£¬32£¬64£¬128£¬256£¬512£¬infinity£¬½öµ±wInactivity_threshold_flgΪ1ʱÓÐЧ*/
+ WORD wDrx_offset; /*DRXÆ«ÒÆ£¬µ¥Î»×ÓÖ¡£¬È¡Öµ·¶Î§0¡63*/
+ WORD wPadding;
+}T_zTD_P_hsscch_ctrl_ch_drx;
+/*¿ØÖÆÐŵÀEAGCH DRX²Ù×÷ÐÅÏ¢*/
+typedef struct {
+ WORD wDrx_cycle;/*DRXÖÜÆÚ£¬µ¥Î»×ÓÖ¡£¬È¡Öµ·¶Î§1£¬2£¬4£¬8£¬16£¬32£¬64£¬128*/
+ WORD wDrx_offset;/*DRXÆ«ÒÆ£¬µ¥Î»×ÓÖ¡£¬È¡Öµ·¶Î§0¡63*/
+}T_zTD_P_eagch_ctrl_ch_drx;
+/*¹²ÏíÐŵÀµÄͬ²½Ï¢*/
+typedef struct {
+ WORD wOut_of_sync_win; /*ʧ²½´°£¬40,80,160,320,640,µ¥Î»ms*/
+ WORD wHsscch_tpc_step_size;/*µ±ÏÂÐÐDPCH¡¢EAGCH¶¼Ã»ÓÐÅäÖÃʱ¸ÃÖµÓÐЧ£»È¡ÖµÎª1£¬2£¬3*/
+ /*N312,N313,N315*/
+ WORD wN312;
+ WORD wN313;
+ WORD wN315;
+ WORD wPadding;
+}T_zTD_P_share_ch_sync_para;
+/*PCH ̬ÏÂDPAÓ³Éäµ½DCCH/DTCHʱ£¬¶ÔÓ¦µÄÅäÖÃÐÅÏ¢*/
+typedef struct
+{
+ WORD wrec_win_size;/*DCCH/DTCH¶ÔÓ¦µÄ½ÓÊÕ´°´óС£¬1~16£¬µ¥Î»£º×ÓÖ¡*/
+ WORD wH_rnti;/*½ÓÊÕÏÂÐÐHS-SCCHʱÓõ½µÄUE ±êʶ*/
+ WORD wBcchHrnti; /*ÔÚÏÂÐеÚÒ»ÌõHS-SCCHÉϽÓÊÕBCCHÉϵÄÏûϢʱÓõ½µÄרÓÃUE±êʶ*/
+ WORD wHS_scch_num;/*HS-SCCH¸öÊý*/
+ WORD wPadding;
+ T_zTD_P_hs_dpsch_midamble tHs_pdsch_midamble_cfg;
+ T_zTD_P_hs_scch atHs_scch_configuration[Z_TD_P_MAX_HS_SCCH]; /*HS-SCCHÅäÖÃÐÅÏ¢£¬ÓÃÓÚBCCHºÍDCCH/DTCH½ÓÊÕ£¬½ÓÊÕBCCHʱֻ¼àÌýµÚÒ»ÌõHs-ScchÐŵÀ*/
+ T_zTD_P_hs_harq_info tHs_harq_info;
+}T_zTD_P_Dcch_dtch_rec_para;
+/*DPAÓ³Éäµ½PCCHʱ£¬¶ÔÓ¦µÄÅäÖÃÐÅÏ¢*/
+typedef struct
+{
+ T_zTD_P_hs_dpsch_midamble tHs_pdsch_midamble_cfg;
+ T_zTD_P_code_resource_info tCode_res_info;
+ WORD wSubChSize;/*Ѱºô×ÓÐŵÀ´óС£¬µ¥Î»£ºÖ¡£»1~3*/
+ WORD wTbsNum;/*TBS list¶ÔÓ¦µÄ¸öÊý*/
+ WORD awTbsList[2];
+ WORD wTrri; /*¿ÉÓÃÓÚHSPDSCHµÄʱ϶×ÊÔ´ÐÅÏ¢£¬bit0ÖÃλ±êʶTS0¿ÉÓã¬bit1ÖÃλ±êʶTS2¿ÉÓã¬...bit5ÖÃλ±êʶTS6¿ÉÓ㬵Í6λÓÐЧ£»TS1²»ÓÃ*/
+}T_zTD_P_pcch_relate_info;
+/*µ±Cell-FACH̬֧³ÖHSDSCHµÄDRX²Ù×÷ʱ£¬¶ÔÓ¦µÄDRXÐÅÏ¢*/
+typedef struct
+{
+ WORD wT321;/*¼àÌý¶¨Ê±Æ÷£¬È¡Öµ·¶Î§£º100£¬200£¬400£¬800ms*/
+ WORD wDrx;/*ȡֵ·¶Î§£»4£¬8£¬16£¬32Ö¡*/
+ WORD wRx_burst; /*ȡֵ·¶Î§£»1£¬2£¬4£¬8£¬16Ö¡*/
+ WORD wPadding;
+}T_zTD_P_fach_dpa_drx_info;
+/*ÅäÖøøL1µÄ¹«¹²ERNTIÁбí*/
+typedef struct {
+ WORD wStartErnti;/*16bitµÄÆðʼE-RNTIÐÅÏ¢*/
+ WORD wGroupNum; /*·¶Î§1...32*/
+ WORD wErntiNumPerGroup; /*ȡֵ1...2*/
+ WORD wPadding;
+}T_zTD_P_CommonErntiInfo;
+
+/*ÅäÖÃFACH»òIDLE̬ϵÄDPAÐÅÏ¢*/
+typedef struct
+{
+ WORD wPower_ctrl_gap; /*HS-SICHµÄ´«Êä¼ä¸ôÃÅÏÞ£¬×ÓÖ¡¸öÊý£¬0~255*/
+ WORD wPl_compensation_switch; /*1:HS-SICHʵ¼Ê´«Êä¼ä¸ôСÓÚÃÅÏÞʱÐè×÷·Ëð²¹³¥ 0:²»×÷·Ëð²¹³¥*/
+ WORD wH_rnti_type; /*HRNTIµÄÀàÐÍ£»0-¹«¹²HRNTI£»1-רÓÃHRNTI*/
+ WORD wH_rnti;/*½ÓÊÕÏÂÐÐHS-SCCHʱÓõ½µÄUE ±êʶ*/
+ WORD wBcchHrnti; /*ÔÚÏÂÐеÚÒ»ÌõHS-SCCHÉϽÓÊÕBCCHÉϵÄÏûϢʱÓõ½µÄרÓÃUE±êʶ*/
+ WORD wTs0Ind;/*1£º±íÊ¾Íø²àÔÊÐí½«ÏÂÐÐHSPDSCHÓÃÓÚTs0£¬0£º±íʾ²»ÔÊÐí*/
+ WORD wHS_scch_num;/*HS-SCCH¸öÊý*/
+ WORD wHsdpa_drx_fg;/*1£ºµ±Ç°HsdpaÖ§³ÖDRX²Ù×÷£»0£º²»Ö§³ÖDrx²Ù×÷£»wH_rnti_type==1ʱÓÐЧ*/
+ WORD wPadding;
+
+ T_zTD_P_hs_scch atHs_scch_configuration[Z_TD_P_MAX_HS_SCCH];
+ T_zTD_P_hs_dpsch_midamble tHs_pdsch_midamble_cfg;
+ T_zTD_P_hs_harq_info tHs_harq_info;
+ T_zTD_P_fach_dpa_drx_info tHsdpa_drx_info;
+}T_zTD_P_fach_dpa_info;
+/*FACH»òIDLE̬ϵÄÔöÇ¿UpaÅäÖÃ*/
+typedef struct
+{
+ WORD wE_rnti_type;/*µ±Ç°Ê¹ÓÃE-RNTIÀàÐÍ£¬£»1-רÓÃERNTI£»0-¹«¹²ERNTI*/
+ WORD wE_rnti; /*רÓõÄERNTI£¬½öµ±wE_rnti_type=1ʱÓÐЧ */
+ WORD wReset_flg; /*0:not reset 1:reset*/
+ WORD wHarq_info; /**/
+ WORD wN_ehich; /*E-PUCHºÍE-HICHÏà¸ôµÄʱ϶Êý,4~15*/
+ WORD wPrimary_ccpch_tx_power;/* Integer(6..43)dBm */
+ WORD wMax_allowed_ul_tx_power;/*Integer(-50..33) bMax_allowed_ul_tx_power = (x -(-50)) */
+ WORD wUppch_chip_shift_flg;
+ WORD wUppch_chip_shift;
+ WORD wPadding;
+ T_zTD_P_CommonErntiInfo tCommonErnti;
+ T_zTD_P_epuch_pwr_info tEpuch_pwr_info;
+ T_zTD_P_hs_sch_tr tHs_sch_tr_info;
+}T_zTD_P_fach_upa_info;
+/*ÅäÖÃPCH̬ϵÄDPAÐÅÏ¢*/
+typedef struct
+{
+ WORD wTs0Ind;/*1£º±íÊ¾Íø²àÔÊÐí½«ÏÂÐÐHSPDSCHÓÃÓÚTs0£¬0£º±íʾ²»ÔÊÐí*/
+ WORD wDcch_dtch_rec_fg;/*µ±Ç°ÊÇ·ñÖ§³Ö½ÓÊÕDTCHºÍDCCH£»0£º²»Ö§³Ö£»1£ºÖ§³Ö*/
+
+ T_zTD_P_Dcch_dtch_rec_para tDcch_dtch_rec_para; /*Dcch/DtchÉϵĽÓÊÕÅäÖÃÐÅÏ¢£¬½öµ±wDcch_dtch_rec_fg=1ʱÓÐЧ*/
+ T_zTD_P_pcch_relate_info tPcch_info; /*PcchÉϵĽÓÊÕÅäÖÃÐÅÏ¢£¬½öµ±wDcch_dtch_rec_fg=0ʱÓÐЧ*/
+}T_zTD_P_pch_dpa_info;
+
+#endif
+
+/**************************************************************************
+ * CSRÈ«¾ÖÊý¾ÝÀàÐͶ¨Òå *
+ **************************************************************************/
+typedef struct{
+ WORD wFreq_start_range;
+ WORD wFreq_end_range;
+}T_zTD_P_frequency_range;
+
+typedef struct{
+ WORD wFrequency;
+ WORD wRssi;
+}T_zTD_P_scan_result;
+
+typedef struct{
+ WORD wCell_parameter_id;
+ WORD wPccpch_rscp;
+}T_zTD_P_cell_params;
+
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ ¿ÉÄܳöÏÖµÄÔÚ³õʼ״̬£¬IDLE̬£¬CELL_PCH̬£¬CELL_URA̬£¬CELL_FACH̬£»
+ ÓзþÎñÐ¡ÇøÊ±£¬ÓÅÏȽÓÊÕpage¡¢sccpchºÍÔÀ´µÄ²âÁ¿ÈÎÎñ£¬ÔÚÊ£ÓàµÄ¿ÕÏÐʱ¼äÄÚ£¬
+ ¾¡¿ì½øÐÐfreq scanµÄ¹¤×÷¡£
+ ½á¹¹:
+ T_zP_TD_frequency_scan_req
+
+******************************************************/
+typedef struct
+{
+ WORD wMsgId; //delt1123
+ /*ɨÃèµÄƵ¶Î·¶Î§:1~32*/
+ WORD wNumFreqRange;
+ WORD wSeqNum; /*¶¨Ò嵱ǰµÄɨƵÏûÏ¢ÐòºÅ,·¶Î§0-65535*/
+ WORD wPadding;
+ /*
+ wFreqStartRange:ÆðʼƵµãµÄUARFCN,·¶Î§9254~10121
+ wFreqEndRange:½áÊøÆµµãµÄUARFCN,·¶Î§:9254~1-121
+ */
+ T_zTD_P_frequency_range atFrequencyRange[Z_TD_P_MAX_FREQSCAN_FREQ_NUM];
+}T_zTD_P_frequency_scan_req;
+
+
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_abort_freq_scan_cnf;
+
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ Í£Ö¹L1ƵÂÊɨÃè
+ ½á¹¹:
+ T_zP_TD_abort_freq_scan_req,¿Õ½á¹¹
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_abort_freq_scan_req;
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ L1Íê³ÉɨƵºó£¬Í¨¹ýÏûÏ¢P_FREQUENCY_SCAN_IND
+ Éϱ¨²âÁ¿½á¹û£¬Éϱ¨µÄRSSIµÄÖµÊÇÒ»¸öS16ÀàÐÍ£¬¸ÃÖµ
+ Ϊʵ¼Ê²âÁ¿µÄRSSI£¨dbm£©£«100£»
+ ½á¹¹:
+ T_zP_TD_frequency_scan_ind
+
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wNoOfRssiMeas; /*·µ»ØµÄRSSI²âÁ¿½á¹ûµÄÊýÄ¿,·¶Î§:1~32 */
+ WORD wSeqNum; /*·µ»ØµÄɨƵÏûÏ¢ÐòºÅ,·¶Î§0-65535*/
+ WORD wPadding;
+ /*
+ T_scan_result:
+ wFrequency:ƵµãºÅ,·¶Î§Îª9254~10121
+ swRssiÿ¸öƵµãµÄRSSIÖµ,ÖµµÄʵ¼Ê·¶Î§ÊÇʵ¼ÊȡֵµÄRSSI+100,ÐÒéȡֵ-100~-25,
+ ´Ë×Ö¶ÎȡֵΪ0~75
+ */
+ T_zTD_P_scan_result atRssiResult[Z_TD_P_MAX_RSSI_RESULTS_NUM]; //32 delete1123
+}T_zTD_P_frequency_scan_ind;
+
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ Ö¸¶¨ÆµµãÉϲéÕÒÖ¸¶¨ÊýÄ¿Ð¡Çø,Èç¹ûµ±Ç°ÒÑÓзþÎñÐ¡Çø,L1ÐèҪͬʱ±£³Ö·þ
+ ÎñÐ¡ÇøÍ¬²½,ÒÔ¼°½ÓÊÕѰºô¡¢SCCPCHÏÂÐÐÊý¾ÝµÈ.Èç¹ûÊÕµ½Ñ°ºôµÈÇé¿öÐè
+ ÒªÖжÏL1Ð¡ÇøËÑË÷,ÖжϺóL1²»ÔÙÏòÐÒéÕ»Éϱ¨ÒÑ·¢ÏÖÐ¡ÇøÐÅÏ¢.
+ Èç¹û num_of_cell_idÈ¡0,ÇëÇóL1ÔÚÖ¸¶¨ÆµµãÉÏäËÑÐ¡ÇøÂú×ãmin_rscp_
+ threshold ÃÅÏÞµÄnum_of_result¸öÐ¡ÇøÉϱ¨.
+ Èç¹ûnum_of_cell_idÈ¡·Ç0Öµ£¬ÇëÇóL1ÔÚÖ¸¶¨cell_parameter_idµÄÐ¡ÇøÁÐ
+ ±íÖÐËÑË÷Âú×ãwMinRscpÃÅÏÞµÄÐ¡ÇøÉϱ¨.
+ ½á¹¹:T_zP_TD_cell_search_req
+
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wSeqNum; /*¶¨Ò嵱ǰµÄcell searchÏûÏ¢ÐòºÅ¡£Êý¾Ý·¶Î§£º0~65535 */
+
+ /*ƵµãºÅ9254~10121*/
+ WORD wFrequency;
+ /*ËÑË÷ÀàÐÍ
+ 0:·µ»ØÖ¸¶¨ÆµµãµÄ×îÇ¿Ð¡Çø
+ 1:·µ»ØÖ¸¶¨ÆµµãµÄÐ¡ÇøÁбí
+ 2:·µ»ØÖ¸¶¨cell_parameter_id µÄÐ¡Çø
+ */
+ WORD wSearchType;
+
+ /*Ö¸¶¨ÆµµãÐèÒªËÑË÷µÄÐ¡ÇøÊýÄ¿*/
+ WORD wNumOfResult;
+ /*ËÑË÷Ð¡ÇøÐèÒªÂú×ãµÄ×îµÍRSCPÃÅÏÞÖµ*/
+ WORD wMinRscpThreshold;
+
+ /*Ö¸¶¨´ýËÑË÷Ð¡ÇøµÄÊýÄ¿0:±íʾָ¶¨ÆµµãäËÑÐ¡Çø;·Ç0±íʾÔÚÖ¸¶¨cell_parameter_idµÄÐ¡Çø
+ ÁбíÖÐËÑË÷Í¬ÆµÐ¡Çø*/
+ WORD wNumOfCellId;
+
+ /*´ýËÑË÷Ð¡ÇøµÄcell_parameter_id*/
+ WORD awCellParameterId[Z_TD_P_MAX_SRH_RESULTS_NUM];
+
+ /*Ö¸Ê¾Ð¡ÇøSFN-SFNʱ¼ä²îÖµÊÇ·ñ´æÔڵıêÖ¾,ÿ¸öÐ¡ÇøÒ»¸ö,¶ÔÓ¦cell_parameter_idÁбíÖеÄÐ¡Çø
+ 0:²»´æÔÚ
+ 1:´æÔÚ
+ */
+ WORD awTimeDiffBitMap;
+
+ /*dch:¶ÔÓ¦SFN-CFN observed time difference
+ ÆäËü״̬¶ÔÓ¦sfn-sfn observed time difference
+ */
+ WORD awOff[Z_TD_P_MAX_SRH_RESULTS_NUM];
+ WORD awTm[Z_TD_P_MAX_SRH_RESULTS_NUM];
+}T_zTD_P_cell_search_req;
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ Í£Ö¹ÎïÀí²ãµÄÐ¡ÇøËÑË÷
+ ½á¹¹:T_abort_cell_srh_req
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_abort_cell_srh_req;
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ Í£Ö¹ÎïÀí²ãµÄÐ¡ÇøËÑË÷ÎïÀí²ãÓ¦´ð
+ ½á¹¹:T_abort_cell_srh_cnf
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding0;
+}T_zTD_P_abort_cell_srh_cnf;
+
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ Éϱ¨Ö¸¶¨ÆµµãÉÏÂú×ã×îµÍRSCPÃÅÏÞÖµµÄÐ¡ÇøµÄ²âÁ¿½á¹û
+ ½á¹¹:T_zP_TD_cell_search_ind
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wSeqNum; /*·µ»Øµ±Ç°µÄcell searchÏûÏ¢ÐòºÅ¡£Êý¾Ý·¶Î§£º0~65535*/
+
+ WORD wFrequency; /*ͬ²½Ð¡ÇøËùÔÚÆµµã*/
+ WORD wNoOfFoundCells; /*ËÑË÷µ½µÄÂú×ã×îµÍRSCPÃÅÏÞµÄÐ¡ÇøÊýÄ¿,0±íʾ¸ÃƵµãδÕÒµ½Ð¡Çø*/
+
+ /*
+ T_cell_params:
+ wCellparameterId:ÒѾËÑË÷µ½µÄÐ¡ÇøL1±êʶ;0~127
+ wPccpchRscp:ÒÑËÑË÷Ð¡ÇøµÄpccpchÐŵÀRSCP;0~91
+ swDeltaRscp:µ±pccpchÐŵÀµÄrscpֵСÓÚ0ʱ,¸ÃÖµ±ØÑ¡.
+ */
+ T_zTD_P_cell_params atCell[Z_TD_P_MAX_SRH_RESULTS_NUM];
+}T_zTD_P_cell_search_ind;
+
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ ¸ÃÏûÏ¢¿ÉÄÜÔÚÈκÎ״̬Ï·¢Éú£¬ÓÃÓÚÈ·ÈÏij¸öÖ¸
+ ¶¨µÄÐ¡ÇøµÄSFN¿ÉÒÔÕý³£½âÂë¡£
+ ½á¹¹:
+ T_zP_TD_bch_read_req
+
+
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wBchPriority; /*0:±íʾBCH¶ÁÈ¡ÓÅÏȼ¶µÍÓÚIDLEģʽѰºô½ÓÊÕ(ÒìÆµÇé¿ö); 1:±íʾBCH¶ÁÈ¡ÓÅÏȼ¶¸ßÓÚIDLEģʽѰºô½ÓÊÕ(ÒìÆµÇé¿ö)*/
+
+ WORD wFrequency; /*ÐèÒª½âÂëÐ¡ÇøËùÔÚÆµµãUARFCN*/
+ WORD wCellParameterId; /*ÐèÒª½âÂëÐ¡ÇøµÄL1±êʶ*/
+}T_zTD_P_bch_read_req;
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ ÓÃÓÚ·´À¡CPhy_SfnDecode_Req£¬±íʾ¸ÃÐ¡Çø¿ÉÒÔÕýÈ·¶ÁÈ¡BCH¡£
+ ÁíÍâÔÚDCHÁ´Â·½¨Á¢£¬Ìí¼Ó¹ý³ÌÖУ¬FW×Ô¶¯¶Ô¸ÃÁ´Â·µÄSFN½øÐнâÂë
+ £¬²¢·´À¡¸øL1U£¬´Ó¶øÈ·ÈϸÃÐ¡ÇøÊÇ¿ÉÒÔʹÓõġ£
+ ½á¹¹:
+ T_zP_TD_sfn_decode_ind
+
+ Ôݲ»¿¼ÂÇ
+******************************************************/
+/*
+typedef struct
+{
+ WORD wMsgId;
+ WORD wResult; //0:success ±íʾÒѾµÃµ½SFN; 1:failure±íʾSFNδ֪;
+}T_zTD_P_sfn_decode_ind;
+*/
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ ¸ÃÏûÏ¢¿ÉÄÜÔÚÈκÎ״̬Ï·¢Éú£¬´ò¿ªBCH¶ÁϵͳÐÅÏ¢£¬
+ °üÀ¨·þÎñÐ¡ÇøºÍÏàÁÚÐ¡Çø£¬ÎÞÏìÓ¦ÏûÏ¢¡£
+ ½á¹¹:
+ T_zP_TD_bch_open_req
+******************************************************/
+typedef struct {
+ WORD wMsgId;
+ WORD wType; /* ¶ÁÈ¡ÀàÐÍ£¬0£ºÖ¸¶¨¶ÁÈ¡ 1£ºÁ¬Ðø¶ÁϵͳÐÅÏ¢±¨¸øÐÒéÕ»£¬²»Çø·ÖMibºÍSib*/
+ WORD wFrequency; /*ÐèÒª¶ÁÈ¡BCHµÄÐ¡ÇøËùÔ򵀮µµã*/
+
+ WORD wCellParameterId; /*ÐèÒª¶ÁÈ¡BCHµÄÐ¡ÇøL1±êʶ*/
+ WORD wTimeDiffInd; /*dch:¶ÔÓ¦SFN-CFN observed time difference; ÆäËü״̬¶ÔÓ¦sfn-sfn observed time difference */
+
+ WORD wOff;
+ WORD wTm;
+ /*µ±wType=0ʱÏÂÃæ3¸öÔªËØÓÐЧ,µ±L1ÒÔgapģʽ½øÐÐÖ¸¶¨¶Áȡʱ£¬Ö»ÒªÓÐЧgap´óÓÚÒ»¸öbch TTI£¬¼´Ê¹gap³¤¶ÈСÓÚÖØ¸´³¤¶È£¬Ò²ÐèҪȥ¶ÁÈ¡£¬ÐÒéÕ»ÏÔʾµÄ½øÐÐBCH_REALEASE*/
+ WORD wBch_occasion; /*Ö¸¶¨¶ÁÈ¡µÄÖÜÆÚµÄÆðʼλÖ㬵¥Î»ÎÞÏßÖ¡£¬Êý¾Ý·¶Î§£º0~ÖØ¸´ÖÜÆÚ-2*/
+ WORD wRep_period; /*Ö¸¶¨¶ÁÈ¡µÄÖØ¸´ÖÜÆÚ£¬µ¥Î»ÎÞÏßÖ¡£¬Êý¾Ý·¶Î§£º1~4096*/
+ WORD wRep_len; /*Ö¸¶¨¶ÁÈ¡µÄÖØ¸´³¤¶È£¬µ¥Î»ÎÞÏßÖ¡£¬Êý¾Ý·¶Î§£º2~ÖØ¸´ÖÜÆÚ-2*/
+}T_zTD_P_bch_open_req;
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ ´ò¿ªBCHºóL1Öð¿éÉϱ¨ÏµÍ³ÐÅϢָʾ£¬ÐÒéÕ»ÊÕµ½´Ëָʾºó
+ È¥¹Ì¶¨Buffer¶ÁϵͳÐÅÏ¢Êý¾Ý
+ ½á¹¹:
+ ˵Ã÷:¸Ã½á¹¹¶ÔÓ¦Êý¾Ý´æ·ÅÔÚDPRAMµÄÊý¾ÝÇøÓòÖУ¬¹Ê°´16bit¶ÔÆë¡£
+******************************************************/
+typedef struct {
+ WORD wMsgId;
+ WORD wSfn; /*½âÂëBCHÊý¾ÝµÄÊ×Ö¡µÄϵͳ֡ºÅ0~4095*/
+ /*
+ 0:±íʾ´«Êä¿é½âÂëÕýÈ·
+ 1:±íʾCRC½âÂë´íÎó;
+ 2:±íʾµ÷¶È³åÍ»,BCHûÓжÁÈ¡,Êý¾ÝÎÞЧ
+ */
+ WORD wCrcCheck;
+ WORD wFrequency;
+ WORD wCellParameterId;
+ WORD wPadding;
+
+ WORD awDataArea[Z_TD_P_MAX_NUM_OF_BCH_DWORDS*2];
+}T_zTD_P_Bch_Buffer;
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ Èç¹ûL1¶ÁBCHʧ°Ü£¬ÓÃP_BCH_READ_REJÏûϢ֪ͨÐÒéÕ»
+ ½á¹¹:
+ T_zP_TD_bch_open_rej
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wCause; /*0:¶ÁÈ¡BCHÓëÔSCCPCH³åÍ»,ÔÊÐíɾ³ýSCCPCHÖØ¶Á; 1:ÒòÐźŽϲî,ÎÞ·¨¶ÁÈ¡BCH; */
+ WORD wFrequency;
+ WORD wCellParameterId;
+}T_zTD_P_bch_open_rej;
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ ÐÒéÕ»ÇëÇóL1Í£Ö¹½ÓÊÕϵͳÐÅÏ¢,ÊÍ·ÅBCH
+ ½á¹¹:
+ T_zP_TD_bch_release_req
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_bch_release_req;
+
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ L1È·ÈÏÐÒéջֹͣ½ÓÊÕϵͳÐÅÏ¢
+ ½á¹¹:
+ T_zTD_P_bch_release_cnf
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding0;
+}T_zTD_P_bch_release_cnf;
+
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ RRCÔÚϵͳÐÅÏ¢¶ÁÈ¡Íê³Éºó£¬ÈÏÎªÐ¡Çø¿É
+ פÁô£¬·¢ËÍ´ËÏûϢ֪ͨÎïÀí²ã´ËÐ¡ÇøÎª·þ
+ ÎñÐ¡Çø¡£
+ ½á¹¹:
+ T_zP_TD_camp_on_a_cell_req
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wPadding;
+
+ WORD wFrequency; /*·þÎñÐ¡ÇøËùÔÚÆµµã*/
+ WORD wCellParameterId; /*·þÎñÐ¡ÇøL1±êʶ*/
+}T_zTD_P_camp_on_a_cell_req;
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ µ×²ãÈ·ÈÏפÁôÐ¡Çø¡£
+ ½á¹¹:
+ T_zTD_P_camp_on_a_cell_cnf
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_camp_on_a_cell_cnf;
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ ÐÒéջ֪ͨÎïÀí²ãÊÍ·ÅËùÓÐ×ÊÔ´
+ ½á¹¹:
+ T_zTD_P_Reset_req
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wRfStat; /*É䯵³õʼ»¯ºó״̬£¬1¡ª¡ªÉ䯵¿ÉÓã¬0¡ª¡ªÉ䯵²»¿ÉÓÃ*/
+}T_zTD_P_Reset_req;
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ ÎïÀí²ã֪ͨÐÒéÕ»ÊÍ·ÅËùÓÐ×ÊÔ´½áÊø
+ ½á¹¹:
+ T_zTD_P_reset_cnf
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_reset_cnf;
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ ÐÒéջ֪ͨÎïÀí²ãģʽÀàÐÍ£¬ÊÇGSM mode»òÕßUMTS mode£¬
+ µ±ÐÒéÕ»ÈÏΪTD L1ÐèÒªÓÃgapʱ¼ä¹¤×÷ʱ£¬ÔòÉèÖÃΪGSM mode£»
+ ·ñÔòΪUMTS mode£»
+ TD L1¸ù¾ÝģʽÀàÐÍ£¬À´ÅжϺóÐø¹¤×÷Ðè²»ÐèÒªµÈ´ýgapʱ¼äÀ´½øÐÐ
+ ½á¹¹:
+ T_set_irat_mode_Req
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wModeTypes; /*0-Gsm mode£¬1-Umts mode*/
+}T_zTD_P_set_irat_mode_Req;
+
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ ÐÒéÕ»ÃüÁîL1½øÈë˯Ãß״̬,Ö±µ½ÐÒéÕ»
+ ͨ¹ýARM´¦ÀíÆ÷»½ÐÑDSP´¦ÀíÆ÷
+ ½á¹¹:
+ T_zP_TD_td_sleep_req
+ ´ý¶¨
+******************************************************/
+/*
+typedef struct{
+ WORD wEnable;
+ WORD wPadding;
+}T_zTD_P_sleep_req;
+*/
+
+/**************************************************************************
+ * ²âÁ¿È«¾ÖÊý¾ÝÀàÐͶ¨ÒåSTART *
+ **************************************************************************/
+typedef struct{
+ WORD wCellID;
+ WORD wCellPara;
+ WORD wChipAccuracy; /*ȡֵΪ0£¬40£¬256£¬2560ÆäÖÐȡֵΪ0ʱ±íʾÎÞÂëÆ¬¾«¶ÈÐÅÏ¢¡£*/
+ WORD wRefTimeDiff;
+ WORD wRefPwr; /*PCCPCH²Î¿¼·¢É书ÂÊ£¬È¡Öµ6..43*/
+ WORD wSnplInd; /*ָʾÊÇ·ñ²ÎÓëSNPL¼ÆË㣬1:²ÎÓë 0:²»²ÎÓë*/
+ WORD wTsNum;
+ WORD awTsList[Z_TD_P_MAX_DL_TS];
+}T_zTD_P_CellInfo;
+
+/**************************************************************************
+ RRC<->PHY
+ ¹¦ÄÜ:
+ RRCºÍPHY²ã¼äµÄͬƵ²âÁ¿ÅäÖýӿÚ
+ ½á¹¹:
+ ͬƵ²âÁ¿ÅäÖÃÏûÏ¢P_INTRA_FREQ_MEAS_REQ
+ ͬƵ²âÁ¿½á¹ûÏûÏ¢P_INTRA_FREQ_MEAS_IND
+ **************************************************************************/
+
+typedef struct{
+ WORD wMsgId;
+ WORD wDetectedSetQuantity;
+ WORD wNumberOfCellMeas;
+ WORD wPadding;
+ WORD wRefTimeDiffInd;/*¶¨ÒåwRefTimeDiff ²ÎÊý¸ø³öµÄÆ«²îÊÇSFN-SFN timing difference»òÊÇSFN-CFN timing differenceÒÔ¼°ÏàӦʱ¼ä²îµÄÀàÐÍ¡£
+ b0£ºtiming difference.0£½SFN-SFN timing difference£¬1£½SFN-CFN timing difference
+ b1£ºtypeInd.0=TYPE1,1=TYPE2*/
+ WORD wNotMeasCellNum;/*²»ÐèÒª²âÁ¿µÄÐ¡ÇøÊý*/
+
+ T_zTD_P_CellInfo atCellInfo[Z_TD_P_MAX_INTRA_CELL_NUM];
+
+ DWORD dwMeasId;
+
+ DWORD dwRscpNeed;
+
+ DWORD dwIscpNeed;
+
+ DWORD dwCellSynInforNeed;
+
+ WORD wNotMeasCellPara[Z_TD_P_MAX_INTRA_CELL_NUM]; /*²»ÐèÒª²âÁ¿µÄÐ¡ÇøwCellPara */
+}T_zTD_P_CPhy_IntraMeas_Req; /*273B*/
+
+typedef struct{
+ WORD wCellID;
+ WORD wCellPara;
+ WORD wRscpFlag:1;
+ WORD wSfnFlag:1;
+ WORD :14;
+ WORD wRscp;
+
+ WORD wTsNum;
+ WORD wSfn;
+ WORD wOff;
+ WORD wTm; /*DCH̬ÏÂTMÖµÎÞЧ*/
+
+ WORD awTsList[Z_TD_P_MAX_DL_TS];
+ WORD awIscp[Z_TD_P_MAX_DL_TS];
+}T_zTD_P_CellMeasRlt;
+
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+
+ WORD wCellNum;
+ WORD wFailCellNum;
+
+ T_zTD_P_CellMeasRlt atMeasRltList[Z_TD_P_MAX_INTRA_CELL_NUM]; /*Êý×éÐ¡ÇøÓëÐ¡ÇøID¶ÔÓ¦*/
+
+ DWORD dwMeasId;
+
+ DWORD dwFailCellBitMap;
+}T_zTD_P_CPhy_IntraMeas_Ind; /*424B*/ /*Èç¹ûÈ¡×î´ó32¸öÐ¡Çø840B*/
+
+
+/**************************************************************************
+ RRC<->PHY
+ ¹¦ÄÜ:
+ RRCºÍÎïÀí²ã¼äµÄÒìÆµ²âÁ¿ÅäÖýӿÚ
+ ½á¹¹:
+ Ƶ¼ä²âÁ¿ÅäÖÃÏûÏ¢ P_INTER_FREQ_MEAS_REQ
+ Ƶ¼ä²âÁ¿½á¹ûÏûÏ¢ P_INTER_FREQ_MEAS_IND
+ äƵµã²âÁ¿³öµÄÐ¡Çø²âÁ¿½á¹ûÉϱ¨ P_INTER_FREQ_BLIND_MEAS_IND
+ **************************************************************************/
+/* ƵµãÐÅÏ¢ */
+typedef struct
+{
+ WORD wFreq; /*Ƶµã*/
+ WORD wStartPos:8 ; /*¸ÃƵµãÐ¡ÇøÔÚÐ¡ÇøÐÅÏ¢±íÖÐµÄÆðʼλÖÃ*/
+ WORD wCellNum:8; /*¸ÃƵµãÉϵÄÐ¡ÇøÊý*/
+ WORD wHighPrio; /* ÖÃ1±íʾ¸ÃƵµãÏà¶ÔÓÚ·þÎñƵµãΪ¸ßÓÅÏȼ¶ */
+ WORD wPadding;
+}T_zTD_P_FreqMeasInfo;
+
+typedef struct {
+ WORD wMsgId;
+#ifdef R9_SUPPORT
+ WORD wBlindRepFlg;/*ÊÇ·ñÊÇäƵµãÉϱ¨·½Ê½ 1±íʾäƵµãÉϱ¨ 0±íʾÒìÆµÉϱ¨·½Ê½*/
+ DWORD dwTmeasInial; /*³õʼ²âÁ¿Éϱ¨ÖÜÆÚ£¬µ¥Î»MS.ÎïÀí²ãÔÚÍê³ÉËùÓÐÆµµã²âÁ¿ºóÖÜÆÚδ³¬Ê±Ò²¿ÉÒÔÌáǰÉϱ¨²âÁ¿½á¹û¡£
+ ÖÜÆÚÄÚ²âÁ¿½á¹ûÉϱ¨×î³Ù²»Äܳ¬¹ýdwTmeasInialÉϱ¨ÖÜÆÚ¡£dwTmeasInial³¬Ê±ºóÆô¶¯wTmeas£¬ÎïÀí²ãÖÜÆÚÄÚ²âÁ¿½á¹ûµÄÌáǰÉϱ¨²»Ó°ÏìÖÜÆÚµÄÆô¶¯µã¡£*/
+ WORD wTmeas;/*Õý³£Éϱ¨ÖÜÆÚ£¬µ¥Î»MS¡£ÎïÀí²ãÖÜÆÚÄÚ²âÁ¿½á¹ûµÄÌáǰÉϱ¨²»Ó°ÏìÖÜÆÚµÄÆô¶¯µã¡£ÖÜÆÚÄÚ²âÁ¿½á¹ûÉϱ¨×î³Ù²»Äܳ¬¹ýwTmeasÉϱ¨ÖÜÆÚ*/
+#endif
+ WORD wCellNum;
+ WORD wFreqNum;
+ WORD wRefTimeDiffInd;
+
+ T_zTD_P_FreqMeasInfo atFreqInfo[Z_TD_P_MAX_INTER_FREQ_NUM];
+ T_zTD_P_CellInfo atCellInfo[Z_TD_P_MAX_INTER_CELL_NUM];
+
+ DWORD dwMeasId;
+ DWORD dwRssiNeed;
+ DWORD dwRscpNeed;
+ DWORD dwIscpNeed;
+ DWORD dwCellSynInforNeed;
+}T_zTD_P_CPhy_InterMeas_Req;
+
+
+typedef struct{
+ WORD wCellID;
+ WORD wRscpFlag:1;
+ WORD wSfnFlag:1;
+ WORD wRssiFlag:1;
+ WORD :13;
+
+ WORD wRscp;
+ WORD wTsNum;
+
+ WORD awTsList[Z_TD_P_MAX_DL_TS];
+
+ WORD awIscp[Z_TD_P_MAX_DL_TS];
+
+ WORD wSfn;
+ WORD wOff;
+
+ WORD wTm;
+ WORD wRssi;
+}T_zTD_P_UarfcnMeasRlt;
+
+
+typedef struct {
+ WORD wMsgId;
+ WORD wRptFlg; /*0:ÖÜÆÚÉϱ¨ 1:ÌáǰÉϱ¨*/
+
+ WORD wFailCellNum;
+ WORD wCellNum;
+
+ DWORD dwMeasId;
+
+ DWORD dwFailCellBitMap;
+
+ T_zTD_P_UarfcnMeasRlt atCellMeasRltList[Z_TD_P_MAX_INTER_CELL_NUM];
+}T_zTD_P_CPhy_InterMeas_Ind; /**456B*//*Èç¹ûÈ¡×î´ó32¸öÐ¡Çø904B*/
+
+
+typedef struct
+{
+ WORD wCellParam; /* Ð¡ÇøMid ID*/
+ WORD wRscp;
+}T_zTD_P_BlindCellRlt;
+
+
+typedef struct
+{
+ WORD wArfcn;
+ WORD wRssi;
+
+ WORD wCellNum; /* ¸ÃƵµãÏÂä²âÁ¿µÄÐ¡Çø¸öÊý */
+ T_zTD_P_BlindCellRlt atBlindCellRlt[Z_TD_P_MAX_BLIND_INTER_CELL];
+}T_zTD_P_BlindUarfcnRlt;
+
+
+typedef struct {
+ WORD wMsgId;
+
+ WORD wFreqNum;
+ T_zTD_P_BlindUarfcnRlt atFreqRlt[Z_TD_P_MAX_BLIND_INTER_FREQ];
+ DWORD dwMeasId;
+ WORD wRptFlg; /*0:ÖÜÆÚÉϱ¨ 1:ÌáǰÉϱ¨*/
+ WORD wPadding;
+}T_zTD_P_InterBlindMeas_Ind;
+
+/**************************************************************************
+ RRC<->PHY
+ ¹¦ÄÜ: RRCºÍÎïÀí²ã¼äµÄ¼ì²âÐ¡ÇøÉϱ¨½Ó¿Ú
+ ½á¹¹:
+ ÎïÀí²ã±¨¸æ¼ì²âÐ¡ÇøÏûÏ¢P_DETECT_CELL_INFO_IND_EV
+
+ **************************************************************************/
+typedef struct
+{
+ WORD wUarfcn; /*¼ì²âÐ¡ÇøµÄƵµã*/
+ WORD wParaId;/*¼ì²âÐ¡ÇøµãµÄ²ÎÊýID*/
+ WORD wRscp; /*¼ì²âÐ¡Çø²âÁ¿Öµ*/
+ WORD wPadding;
+}T_zTD_P_DetectCellInfoRlt;
+
+typedef struct
+{
+ WORD wMsgId;
+ WORD wDetectCellNum; /* Ð¡ÇøÊýÄ¿£¬Ã»ÓÐÇ¿Ð¡ÇøÊ±Éϱ¨¼ì²âÐ¡ÇøÊýÄ¿ÊÇ0 */
+ T_zTD_P_DetectCellInfoRlt atDetectCellInfo[Z_TD_P_MAX_DETECT_CELL_NUM]; /*ÎïÀí²ãÉϱ¨µ±Ç°×îÇ¿µÄ4Ç¿Ð¡Çø£¬ÓÉÇ¿µ½ÈõÌî³ä*/
+}T_zTD_P_DetectCellInfo;
+/**************************************************************************¡¢
+ RRC<->PHY
+ ¹¦ÄÜ:
+ RRCºÍÎïÀí²ã¼äµÄÖÊÁ¿²âÁ¿ÅäÖýӿÚ
+ ½á¹¹:
+ ÖÊÁ¿²âÁ¿ÅäÖÃÏûÏ¢P_QUALITY_MEAS_REQ
+ ÖÊÁ¿²âÁ¿½á¹ûÏûÏ¢P_QUALITY_MEAS_IND
+ **************************************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+
+ DWORD dwMeasId;
+
+ WORD abTfcsId[Z_TD_P_MAX_DL_CCTRCH_NUM];
+ WORD wCCTrchNum;
+}T_zTD_P_QualMeas_Req;
+
+
+typedef struct {
+ WORD wTfcsId;
+ WORD awSir[Z_TD_P_MAX_DL_TS];
+}T_zTD_P_CCTrchSirMeasRlt; /*5Word*/
+
+typedef struct {
+ WORD wMsgId;
+ WORD wPadding;
+
+ DWORD dwMeasId;
+
+ T_zTD_P_CCTrchSirMeasRlt atCctrchMeasList[Z_TD_P_MAX_DL_CCTRCH_NUM];
+ WORD wCctrchNum;
+}T_zTD_P_CPhy_QualMeas_Ind;
+
+
+/**************************************************************************
+ RRC<->PHY
+ ¹¦ÄÜ:
+ RRCºÍÎïÀí²ã¼ûµÄÄÚ²¿²âÁ¿ÅäÖýӿÚ
+ ½á¹¹:
+ UEÄÚ²¿²âÁ¿ÅäÖÃÏûÏ¢P_UE_INTERNAL_MEAS_REQ
+ UEÄÚ²¿²âÁ¿½á¹ûÏûÏ¢P_UE_INTERNAL_MEAS_IND
+ **************************************************************************/
+typedef struct {
+ WORD wMsgId;
+ WORD wPadding;
+
+ DWORD dwMeasId;
+ WORD wRepInterval;
+ WORD wTxPowerNeed:1;
+ WORD wTadvNeed:1;
+ WORD wRssiNeed:1;
+ WORD :13;
+}T_zTD_P_CPhy_UeIntMeas_Req;
+
+
+typedef struct {
+ WORD wMsgId;
+
+ WORD wTxPowerFlag:1;
+ WORD wTadvFlag:1;
+ WORD wRssiFlag:1;
+ WORD :13;
+
+ WORD awTxPower[Z_TD_P_MAX_UL_TS];
+
+ WORD wRssi;
+ WORD wPadding;
+
+ WORD wTadv;
+ WORD wSfn;
+
+ DWORD dwMeasId;
+}T_zTD_P_CPhy_UeIntMeas_Ind;
+
+
+
+/**************************************************************************
+ RRC<->PHY
+ ¹¦ÄÜ:
+ RRCÏòPHY·¢ËÍFMOÅäÖÃ
+ ½á¹¹:
+ FachMeasureOccasionÅäÖÃÏûÏ¢P_FMO_INFO_REQ
+ **************************************************************************/
+typedef struct {
+ WORD wMsgId;
+ WORD wFMONeed; /*ָʾÊÇ·ñʹÓÃFMO¡£0±íʾȡÏûFMO£¬·Ç0Öµ±íʾÅäÖÃFMO*/
+ WORD wTtiPeriod; /*=M_REP, measurement occasion cycle length */
+ WORD wTtiOffset; /*=C_RNTI mod M_REP*/
+}T_zTD_P_CPhy_FMOInfo_Req;
+
+
+
+/**************************************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ PHYÏòRRC·¢Ë͵ķþÎñÐ¡Çø²âÁ¿½á¹ûÉϱ¨
+ ½á¹¹:
+ ²âÁ¿ÊÍ·ÅÏûÏ¢P_SERVCELL_MEAS_IND
+ **************************************************************************/
+
+typedef struct{
+ WORD wMsgId;
+ WORD wCellID;
+ WORD wCellPara;
+
+ WORD wRscpFlag:1;
+ WORD :15;
+
+ WORD wRscp;
+
+ WORD wTsNum;
+
+ WORD awTsList[Z_TD_P_MAX_DL_TS];
+ WORD awIscp[Z_TD_P_MAX_DL_TS];
+ DWORD dwMeasId;
+} T_zTD_P_CPhy_SerCellMeas_Ind; /*24B*/
+
+/**************************************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ RRCÏòPHY·¢Ë͵IJâÁ¿É¾³ýָʾ
+ ½á¹¹:
+ ²âÁ¿ÊÍ·ÅÏûÏ¢P_MEAS_REL_REQ
+ **************************************************************************/
+/*measTypes±àÂ룺ÏàÓ¦bitλÖÃ1±íʾÊÍ·Å´ËÀàÐͲâÁ¿£»·ñÔò²»ÊÍ·Å
+ b0:ServCellMeas
+ b1:IntraFreq
+ b2:InterFreq
+ b3:InterRAT
+ b4 :TrafficMeas
+ b5:Quantity
+ b6:UEInteral
+ b7:Position
+ */
+typedef struct{
+ WORD wMsgId;
+ WORD wMeasTypes;
+}T_zTD_P_CphyMeasRel_Req;
+
+/**************************************************************************
+ * ²âÁ¿È«¾ÖÊý¾ÝÀàÐͶ¨ÒåEND *
+ **************************************************************************/
+
+/* RRC->PHY
+ ½á¹¹:T_zP_TD_dl_setup_modify_req
+ ÓÃ;:RRCÇëÇóÎïÀí²ã½¨Á¢×¨ÓÃÎïÀíÐŵÀ
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+ WORD wPrimary_freq; /*primary frequency*/
+
+ WORD wWorking_freq; /*secondary frequency*/
+ /*SFN-SFN ²îÖµ*/
+ WORD wOff_flg; /*bOff_flg: 0:ÎÞЧ 1:ÓÐЧ*/
+
+ WORD wOff;
+ WORD wSpecial_burst_schedule_para; /*ÌØÊâÍ»·¢µ÷¶È²ÎÊý*/
+
+ WORD wActive_time; /*CFN:0~255*/
+ WORD wTiming_indication; /*Enumerated(Initialise,Maintain) 0:Initialise,1:Maintain*/
+
+ /*
+ CFN-targetSFN frame offset Integer(0..255)
+ This IE is optional if the IE "Timing indicator" is set to "Initialise" .Otherwise it is not needed
+ */
+ WORD wCfn_target_sfn_frame_offset;
+ /*wTpc_step_size_flg
+ 0:wTpc_step_size not exist
+ 1:wTpc_step_size exists
+ */
+ WORD wTpc_step_size_flg;
+
+ /*Integer(1,2,3)*/
+ WORD wTpc_step_size;
+ /*10.3.6.16 Default DPCH Offset Value :Integer(0..7)*/
+ WORD wDefault_dpch_offset_value;
+
+ /*10.3.6.9:Cell parameters id:Integer(0..127)*/
+ WORD wCell_parameters_id;
+ /*N312,N313,N315*/
+ WORD wN312;
+
+ WORD wN313;
+ WORD wN315;
+
+ T_zTD_P_dl_cctrch_list tDl_cctrch_list;
+}T_zTD_P_dl_setup_modify_req;
+
+/*
+ PHY->RRC
+ ½á¹¹:T_zTD_P_Dl_Rl_setup_mod_cnf
+ ÓÃ;:ÎïÀí²ã֪ͨRRCÅäÖü¤»îʱ¼äµ½,ÎïÀí²ãÒÑ
+ ¾ÆôÓÃеÄÅäÖÃ,´ËʱRRCÆô¶¯T312¶¨Ê±Æ÷
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wRlt; /*0:¼¤»î³É¹¦£¬1:¼¤»îʧ°Ü*/
+}T_zTD_P_dl_rl_setup_mod_cnf;
+
+/*
+ RRC->PHY
+ ÎïÀí²ã֪ͨRRCÅäÖü¤»îʱ¼äµ½,ÎïÀí²ãÒÑ
+ ¾ÆôÓÃеÄÅäÖÃ,´ËʱRRCÆô¶¯T312¶¨Ê±Æ÷
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time; /*CFN:0~255£¬256±íʾÁ¢¼´¼¤»î*/
+}T_zTD_P_dl_dpch_rel_req;
+
+
+/*
+ PHY->RRC
+ µ×²ãÈ·ÈÏDPCHÐŵÀÊÍ·ÅÍê±Ï
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_dpch_rel_cnf;
+
+
+/*
+ PHY->RRC
+ ½á¹¹:T_zP_TD_in_sync_ind
+ ÓÃ;:ÎïÀí²ãÔÚ½¨Á¢×¨ÓÃÎïÀíÐŵÀʱ,֪ͨRRCͬ²½³É¹¦
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_in_sync_ind;
+
+/*
+ PHY->RRC
+ ½á¹¹:T_zP_TD_out_sync_ind
+ ÓÃ;:ÎïÀí²ã֪ͨRRCʧ²½
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_out_sync_ind;
+
+/*
+ RRC->PHY
+ ½á¹¹:T_zP_TD_ul_dpch_setup_modify_req
+ ÓÃ;:RRC½¨Á¢ÉÏÐÐרÓÃÎïÀíÐŵÀ
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wTxAdv; /*dchÉÏÐÐÊý¾Ý·¢Ë͵ÄÌáǰÁ¿£¬ÒÔ֡Ϊµ¥Î»*/
+
+ WORD wActive_time; /*0~255; 256:ÎÞЧ*/
+ WORD wPrimary_freq; /*ƵµãÐÅÏ¢*/
+
+ WORD wWorking_freq;
+ WORD wCell_parameters_id;
+
+ WORD wDynamic_sf; /*¶¯Ì¬À©ÆµÒò×Ó*/
+ /*ÌØÊâÍ»·¢Éú³ÉʱÆÚ*/
+ WORD wSpec_burst_generation_period;/*(ȡֵ0,2,4,8,16,32,64,128,256,µ¥Î»frame;0±íʾ²»Æô¶¯UL DPCH DTX,ÆäÓàÖµ´ú±íÆô¶¯UL DPCH DTX)*/
+ /*maximum allowed ul tx power
+ Integer(-50..33)
+ bMax_allowed_ul_tx_power = (x -(-50))
+
+ */
+
+ WORD wMax_allowed_ul_tx_power;
+
+ /*10.3.6.91 Uplink dpch power control info*/
+ T_zTD_P_ul_dpch_power_ctrl tUl_dpch_power_ctrl_info;
+
+ /*10.3.6.96 Uplink Timing Advance Control*/
+ T_zTD_P_ul_timing_advance tUplink_timing_advance_control;
+
+ /*ul tfcs list*/
+ T_zTD_P_ul_cctrch_list tUl_cctrch_list;
+}T_zTD_P_UlDpch_setup_mod_req;
+
+/* RRC->PHY
+ ÓÃ; RRCÓÃÓÚÊÍ·ÅÉÏÐÐרÓÃÎïÀíÐŵÀ
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time; /*CFN:0~255£¬256±íʾÁ¢¼´¼¤»î*/
+}T_zTD_P_ul_dpch_rel_req;
+
+/* PHY->RRC
+ ½á¹¹:T_zP_TD_ul_establish_ind
+ ÓÃ;:ÎïÀí²ã·´À¡ÉÏÐÐÁ´Â·½¨Á¢³É¹¦
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_ul_establish_ind;
+
+/* RRC->PHY
+ ½á¹¹:T_zP_TD_dl_trch_reconfig_req
+ ÓÃ;:RRCÅäÖÃÏÂÐд«Êä¸ñʽºÍ´«Êä¸ñʽ×éºÏÐÅÏ¢
+*/
+typedef struct{
+ WORD wTrchId;
+ /*Enumerated(No coding,Convolutional,Turbo)
+ 0:No coding
+ 1:Convolutional
+ 2:Turbo
+ */
+ WORD wTrch_type;
+
+ WORD wCoding_type_of_channel;
+ /*Integer(5,10,20,40,80,dynamic)
+ 0:dynamic
+ */
+ WORD wTransmission_time_interval;
+
+ /* Integer(0,8,12,16,24) */
+ WORD wCrc_length;
+ /*Integer(1..hiRM) hiRM =256*/
+ WORD wRm_attribute;
+
+ WORD wNo_of_dynamic_tfs;
+}T_zTD_P_static_tfs;
+
+typedef struct{
+ /*Unit is bits;rrc should compute the TB size by the rlc size*/
+ WORD wTransport_block_size;
+ WORD wNumber_of_transport_blocks;
+ WORD wTfi;
+}T_zTD_P_dynamic_tfs;
+
+typedef struct{
+ WORD wCtfcH; /*CTFC¸ß16bit*/
+ WORD wCtfcL; /*CTFCµÍ16bit*/
+ WORD wTfci;
+}T_zTD_P_dl_ctfc_tfc;
+
+
+typedef struct{
+ WORD wMsgId;
+
+ WORD wCctrchType;/* 0:CctrchDch
+ 1:CctrchFach
+ 2:CctrchPch
+ 3:CctrchCbs
+ other value:reserved */
+ WORD wActive_time; /*0~255; 256:ÎÞЧ*/
+
+ WORD wNumTrCH;
+ WORD wNoOfTfcs;
+
+ /* ´ÓÓÒµ½×óBITλ¶ÔÓ¦µÄ´«ÊäÐŵÀ˳ÐòÓëatStaticTFSÏàͬ£»bitÖµ0±íʾ²»ÐèÒª½âÎö£¬1±íʾÐèÒª½âÎö */
+ WORD wEnable_decode_bitmap;
+
+ /* ¸ÃÊý×éÔÚwCctrchType==0ʱÓÐЧ£¬Êý×éÔªËØ¶ÔÓ¦µÄ´«ÊäÐŵÀ˳ÐòÓëatStaticTFSÏàͬ£»
+ Target_BLERΪ¿ÉÑ¡²ÎÊý£¬ÖµµÄ·¶Î§Îª0ÖÁ63£¬0xffff±íʾ²ÎÊý²»´æÔÚ£»ÎïÀí²ãÊÕµ½ºóÒª*£¨-0.1£©µÃµ½Êµ¼ÊÖµ */
+ WORD awTarget_BLER[Z_TD_P_MAX_DL_TRCH_NUM];
+ T_zTD_P_static_tfs atStaticTFS[Z_TD_P_MAX_DL_TRCH_NUM];
+
+ T_zTD_P_dynamic_tfs atDynamicTFS[Z_TD_P_MAX_DL_TF_NUM];
+
+ T_zTD_P_dl_ctfc_tfc atCtfc[Z_TD_P_MAX_DL_TFCS_NUM];
+}T_zTD_P_dl_trch_recfg_req;
+
+typedef struct{
+ DWORD dwCtfc;
+
+ /*Ŀǰ֧³ÖµÄ×î´óTFC¸öÊýΪ128¸ö*/
+ WORD wTfci;
+ /*
+ 0:ÏÔʾ֪ͨ,ÏÂÃæµÄwBeta_d¸ø³ö
+ 1:²Î¿¼·½Ê½,ÏÂÃæµÄwReference_tfc_id¸ø³ö
+ ×¢ÊÍ£º
+ ÅäÖô«ÊäÐŵÀµÄTFSÐÅÏ¢,ÓÃÓÚ¼ÆË㵱ij¸öTFCµÄPower
+ Offset InformationÖеÄBetaDΪ¼ÆË㷽ʽʱ(²Î¿¼ÆäËüTFC)ÎïÀí²ãʹÓá£
+ */
+ WORD wBeta_d_tye:1;
+ WORD wBeta_d:5; /*0~15*/
+ WORD wReference_tfc_id:2; /*tfci£¬0~3*/
+ WORD :8;
+}T_zTD_P_ul_ctfc_tfc;
+
+
+/* RRC->PHY
+ ÓÃ;:RRCÅäÖÃÉÏÐд«Êä¸ñʽºÍ´«Êä¸ñʽ×éºÏÐÅÏ¢
+ ½á¹¹:T_zTD_P_UlDpch_tch_recfg_req
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time; /*0~255; 256:ÎÞЧ*/
+
+ WORD wNumTrCH;
+ WORD wTfcsNum;
+
+ T_zTD_P_static_tfs atStaticTFS[Z_TD_P_MAX_UL_TRCH_NUM];
+
+ T_zTD_P_dynamic_tfs atDynamicTFS[Z_TD_P_MAX_UL_TF_NUM];
+
+ T_zTD_P_ul_ctfc_tfc atCtfc[Z_TD_P_MAX_UL_TFCS_NUM];
+}T_zTD_P_UlDpch_tch_recfg_req;
+
+
+/*
+ RRC->PHY
+ ÓÃ;:RRC ÓÃÓÚÅäÖø¨¹«¹²ÎïÀíÐŵÀ
+ ½á¹¹:T_zP_TD_add_mod_sccpch_req
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+
+ WORD wOffset;
+ WORD wChannelisation_Code_num;
+
+ /*10.3.6.10 Common timeslot info*/
+ T_zTD_P_common_ts_info tCommon_timeslot_info;
+ /*10.3.6.37 Individual timeslot info*/
+ T_zTD_P_individual_ts_info tIndividual_timeslot_info;
+
+ T_zTD_P_CHANNELISATION_CODE atChannelisation_Code[Z_TD_P_CH_CODE_NUM];
+}T_zTD_P_add_mod_sccpch_req;
+
+/*
+ RRC->PHY
+ ÓÃ;:RRC ÓÃÓÚÊͷŹ«¹²ÐŵÀÅäÖÃ
+ ½á¹¹:T_zTD_P_rel_sccpch_req
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wActTime;
+}T_zTD_P_rel_sccpch_req;
+
+/*
+ RRC->PHY
+ ÓÃ;:µ×²ãÈ·ÈÏSCCPCHÐŵÀÊÍ·ÅÍê±Ï
+ ½á¹¹:T_zTD_P_rel_sccpch_cnf
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_rel_sccpch_cnf;
+
+
+
+typedef struct{
+ /*pich info*/
+ /*Timeslot number Integer(0..6)*/
+ WORD wTimeslot_number;
+ /*25.331 10.3.6.41 Midamble shift and burst type*/
+ T_zTD_P_mid_shift_bur_type tMidamble_shift_burst_type;
+
+ /*wChannelisation_code_number:ÐŵÀ»¯ÂëµÄÊýÄ¿*/
+ T_zTD_P_CHANNELISATION_CODE atChannelisation_code[2];
+ WORD wChannelisation_code_number;
+ /*
+ Enumerated((4/2),(8/2),(8/4),(16/2),(16/4),(32/2),(32/4),(64/2),(64/4))
+
+ (4/2):wRepetition_period_length =0,
+ (8/2):wRepetition_period_length =1,
+ ...and so on...
+ */
+ WORD wRepetition_period_length;
+
+ /*Ö¡Æ«ÒÆ*/
+ WORD wOffset;
+ /*Indicates the length of one paging indicator in bits. Default value is 4.
+ Integer(4,8,16)
+ */
+ WORD wPaging_indicator_length;
+
+ /*²»Á¬Ðø½ÓÊÕÖÜÆÚ*/
+ WORD wDrx_cycle_length;
+ /*Ѱºôʱ¿Ì*/
+ WORD wPaging_occasion;
+
+ /*ѰÕÒָʾÒò×Ó*/
+ WORD wPi;
+ /*ѰºôÏûÏ¢½ÓÊÕʱ¿Ì*/
+ WORD wPaging_msg_rcv_occasion;
+}T_zTD_P_pich_info;
+/*Imsi*/
+typedef struct{
+ WORD wNum;
+ WORD awList[21];
+}T_zTD_P_ImsiGsm;
+
+/*URnti*/
+typedef struct{
+ WORD wSrncId;
+ WORD wPadding;
+ DWORD dwSRnti;
+}T_zTD_P_URnti;
+
+/*ue id*/
+typedef struct {
+ WORD wUeIdValidBitmap;/*bit0..bit3ÓÐЧ£¬ÒÀ´Î·Ö±ðָʾÐÅÔªTmsiGsm¡¢PTmsiGsm¡¢ImsiGsm¡¢URntiÊÇ·ñ´æÔÚ¡£bitλΪ1±íʾ¶ÔÓ¦ÐÅÔª´æÔÚ£¬·ñÔò²»´æÔÚ*/
+ WORD awTmsiGsm[4];
+ WORD awPTmsiGsm[4];
+ WORD wPadding;
+ T_zTD_P_ImsiGsm tImsiGsm;
+ T_zTD_P_URnti tURnti;
+}T_zTD_P_UeId;
+
+/* RRC->PHY
+ ½á¹¹:T_zP_TD_paging_req
+ ÓÃ;:RRC ÓÃÓÚÅäÖÃѰºôÐŵÀ
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+
+ T_zTD_P_add_mod_sccpch_req tAdd_modify_sccpch_req;
+ T_zTD_P_pich_info tPichInfo;
+ T_zTD_P_UeId tUeIdInfo;
+}T_zTD_P_paging_req;
+
+/*
+ RRC->PHY
+ ½á¹¹:T_stop_paging_req
+ ÓÃ;:RRC ÓÃÓÚֹͣѰºôµÄ½ÓÊÕ
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_stop_paging_req;
+
+
+/*
+ PHY->RRC
+ ½á¹¹:T_zTD_P_stop_paging_cnf
+ ÓÃ;:µ×²ãÈ·ÈÏÊÍ·ÅѰºôÐŵÀÍê±Ï
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_stop_paging_cnf;
+
+/* RRC->PHY
+ ½á¹¹:T_zTD_P_add_modify_cbs_req
+ ÓÃ;:RRC ÓÃÓÚÅäÖóÐÔØCBSµÄSCCPCHÐŵÀ
+ ÔÓï:Z_P_ADD_MODIFY_CBS_REQ_Ev
+*/
+typedef struct{
+ WORD wPrd_of_ctch_allo; /* N,1~256;other invalid */
+ WORD wCbs_frame_off; /* K,0~255;other invalid */
+}T_zTD_P_cbs_drx_lev1;
+
+typedef struct{
+ WORD wNum;
+ WORD awCtch_bs_list[255]; /* Òª½ÓÊÕµÄBSËùÔÚSFN */
+}T_zTD_P_cbs_drx_lev2;
+
+typedef struct{
+ WORD wMsgId;
+
+ WORD wSame_as_pch; /* 0:not same; 1:same */
+ /* if same as pch, means pch and fach mux on the same sccpch */
+ WORD wNew_decode_bitmap; /*only valid when wSame_as_pch = 1*/
+
+ WORD wDrx_type; /*0:°´Level1 DRX½ÓÊÕ; 1:°´Level2 DRX½ÓÊÕ*/
+ union{
+ T_zTD_P_cbs_drx_lev1 tLev1;
+ T_zTD_P_cbs_drx_lev2 tLev2;
+ }tDrx;
+
+ T_zTD_P_add_mod_sccpch_req tAdd_modify_sccpch_req; /*ÎÞÂÛwSame_as_pch È¡ºÎÖµ¶¼ÓÐЧ*/
+ T_zTD_P_dl_trch_recfg_req tDl_trch_reconfig_req; /*ÎÞÂÛwSame_as_pch È¡ºÎÖµ¶¼ÓÐЧ*/
+}T_zTD_P_add_modify_cbs_req;
+
+
+/*
+ RRC->PHY
+ ½á¹¹:T_zTD_P_stop_cbs_req
+ ÓÃ;:RRC ÓÃÓÚÍ£Ö¹CBSµÄ½ÓÊÕ£¬Èç¹ûfachÓëpch²»¹²ÓÃÒ»Ìõsccpch£¬°üÀ¨É¾³ýÎïÀí×ÊÔ´
+ ÔÓï:Z_P_STOP_CBS_REQ_Ev
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_stop_cbs_req;
+
+/*
+ RRC->PHY
+ ½á¹¹:T_zTD_P_stop_cbs_cnf
+ ÓÃ;:µ×²ãÈ·ÈÏÊÍ·ÅCBSÐŵÀÍê±Ï
+ ÔÓï:Z_P_STOP_CBS_CNF_Ev
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_stop_cbs_cnf;
+
+#ifdef R9_SUPPORT
+/*
+ RRC->PHY
+ ½á¹¹:T_hsdpa_config_req
+ ÓÃ;:ÓÃÓÚÅäÖÃÎïÀí²ãhsdpa
+*/
+typedef struct{
+ WORD wCarrier_Freq;
+ WORD wHS_scch_num;
+ WORD wPadding;
+ T_zTD_P_mc_hs_scch atMc_hs_scch_configuration[Z_TD_P_MAX_HS_SCCH];
+ T_zTD_P_hs_dpsch_midamble tHs_pdsch_midamble_configuration;
+ T_zTD_P_hs_harq_info tHs_harq_info;
+}T_zTD_P_hsdpa_info_list;
+#endif
+
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time; /*0~255; 256:Á¢¼´ÆðЧ*/
+ WORD wPrimary_freq; /*primary frequency*/
+ WORD wWorking_freq; /*secondary frequency*/
+ WORD wCell_parameters_id; /*Integer(0..127)*/
+ WORD wH_rnti;
+
+ WORD wPower_ctrl_gap; /*HS-SICHµÄ´«Êä¼ä¸ôÃÅÏÞ£¬×ÓÖ¡¸öÊý£¬0~255*/
+ WORD wPl_compensation_switch; /*1:HS-SICHʵ¼Ê´«Êä¼ä¸ôСÓÚÃÅÏÞʱÐè×÷·Ëð²¹³¥ 0:²»×÷·Ëð²¹³¥*/
+#ifdef R9_SUPPORT
+ WORD wTs0Ind;/*1£º±íÊ¾Íø²àÔÊÐí½«ÏÂÐÐHSPDSCHÓÃÓÚTs0£¬0£º±íʾ²»ÔÊÐí*/
+ WORD wSync_para_fg;/*±êʶµ±Ç°ÊÇ·ñ×ö¹²ÏíÐŵÀµÄͬ²½*/
+ WORD wHsscch_drx_fg; /*±êʶµ±Ç°HSSCCHÊÇ·ñÖ§³ÖDRX½ÓÊÕ£»*/
+ WORD wHsdsch_sps_fg;/*±êʶµ±Ç°HSSCCHÊÇ·ñÖ§³ÖSPS²Ù×÷*/
+ WORD wDefault_dpch_offset_value;/*10.3.6.16 Default DPCH Offset Value :Integer(0..7),½öµ±wSync_para_fg==1ʱÓÐЧ*/
+ WORD wMacHdTyp;/*HSDSCH¶ÔÓ¦Mac-d flowµÄMACÍ·ÀàÐÍ£»0£º±íʾMac-hs£¬1£º±íʾMAc-ehs*/
+ T_zTD_P_hsscch_ctrl_ch_drx tHsscch_drx_info;
+ T_zTD_P_hsdsch_sps_info tHsdsch_sps_info;
+ T_zTD_P_share_ch_sync_para tSync_para;
+#endif
+
+#ifdef R9_SUPPORT
+ WORD wMcNum;
+ WORD wHsdpa_info_list_num;
+ T_zTD_P_hsdpa_info_list atHsdpa_info_list[Z_TD_P_MAX_CARRIER];
+#else
+ WORD wHS_scch_num;
+
+ T_zTD_P_hs_scch atHs_scch_configuration[Z_TD_P_MAX_HS_SCCH];
+ T_zTD_P_hs_dpsch_midamble tHs_pdsch_midamble_cfg;
+ T_zTD_P_hs_harq_info tHs_harq_info;
+#endif
+}T_zTD_P_hsdpa_config_req;
+
+
+typedef struct{
+ WORD wMsgId;
+ WORD wActTime;
+}T_zTD_P_hsdpa_rel_req;
+
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_hsdpa_rel_cnf;
+
+
+/*
+ RRC->PHY
+ ½á¹¹:T_hsupa_config_req
+ ÓÃ;:ÓÃÓÚÅäÖÃÎïÀí²ãhsupa
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+ WORD wAct_time; /*CFN:0~255*/
+ WORD wPrimary_freq; /*primary frequency*/
+ WORD wWorking_freq; /*secondary frequency*/
+ WORD wCell_parameters_id; /*Integer(0..127)*/
+ WORD wE_rnti; /*E-RNTI*/
+ WORD wSch_tr_flg; /*0:µ÷¶ÈÎÞЧ 1:µ÷¶ÈÓÐЧ*/
+ WORD wNon_sch_tr_flg; /*0:·Çµ÷¶ÈÎÞЧ 1:·Çµ÷¶ÈÓÐЧ*/
+ WORD wReset_flg; /*0:not reset 1:reset*/
+ WORD wHarq_info; /*0:¹Ì¶¨Ê¹ÓÃRV0 1:RV¿É±ä*/
+ WORD wN_ehich; /*E-PUCHºÍE-HICHÏà¸ôµÄʱ϶Êý,4~15*/
+ WORD wMax_allowed_ul_tx_power;/*Integer(-50..33) bMax_allowed_ul_tx_power = (x -(-50)) */
+ WORD wPrimary_ccpch_tx_power; /* Integer(6..43)dBm */
+#ifndef R9_SUPPORT
+ WORD wUppch_chip_shift_flg;
+ WORD wUppch_chip_shift;
+#else
+ WORD wEagch_drx_fg; /*1-Ö§³ÖEAGCHµÄDrx½ÓÊÕ£»0-²»Ö§³ÖEAGCHµÄDRX½ÓÊÕ*/
+ WORD wEdch_sps_fg; /*1-Ö§³ÖEDCHµÄSPS²Ù×÷£»0-²»Ö§³ÖEDCHµÄSPS²Ù×÷*/
+ T_zTD_P_eagch_ctrl_ch_drx tEagch_drx_info;
+ T_zTD_P_edch_sps_info tEdch_sps_info;
+ T_zTD_P_ul_timing_advance tUplink_timing_advance_control;
+#endif
+ T_zTD_P_epuch_pwr_info tEpuch_pwr_info; /*E-PUCH¹¦¿ØÐÅÏ¢£¬Í¬Ê±ÊÊÓÃÓÚµ÷¶ÈºÍ·Çµ÷¶È*/
+
+ T_zTD_P_hs_sch_tr tHs_sch_tr_info; /*½öµ±wSch_tr_flg=1ʱÓÐЧ*/
+ T_zTD_P_hs_non_sch_tr tHs_non_sch_tr_info; /*½öµ±wNon_sch_tr_flg=1ʱÓÐЧ*/
+}T_zTD_P_hsupa_config_req;
+
+/*
+ RRC->PHY
+ ½á¹¹:T_zTD_P_hsupa_rel_req
+ ÓÃ;:ÓÃÓÚɾ³ýÎïÀí²ãhsupa
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time; /*0~255, 256±íʾÁ¢¼´É¾³ý*/
+}T_zTD_P_hsupa_rel_req;
+
+
+/*
+ PHY->RRC
+ ½á¹¹:T_zTD_P_hsupa_rel_cnf
+ ÓÃ;:µ×²ãÈ·ÈÏÊÍ·ÅHSUPAÐŵÀÍê±Ï
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_hsupa_rel_cnf;
+
+
+/*ûÓзÖÅäÏÂÐÐDPCHʱ£¬ÓôËÔÓï*/
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time;
+ WORD wPlcch_num;
+ WORD wPadding;
+ T_zTD_P_plcch_info atPlcch_info[Z_TD_P_MAX_UL_TS*2];
+}T_zTD_P_add_modify_plcch;
+#ifdef R9_SUPPORT
+/******************************************************
+ RRC£¨L1T£©->PHY
+ ¹¦ÄÜ:
+ ÅäÖÃL1 FACHºÍIDLE̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ: P _HSPA_PLUS_FACH_REQ_EV
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wFrequency_info;
+ T_zTD_P_fach_dpa_info tFach_dpa_info;
+ T_zTD_P_fach_upa_info tFach_upa_info;
+} T_zTD_P_hspa_plus_fach_req;
+/******************************************************
+ RRC£¨L1T£©->PHY
+ ¹¦ÄÜ:
+ ÅäÖÃL1 PCH̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ: P _HSPA_PLUS_PCH_REQ_EV
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wFrequency_info;
+ T_zTD_P_pch_dpa_info tPch_dpa_info;
+ T_zTD_P_pich_info tPich_info;
+} T_zTD_P_hspa_plus_pch_req;
+/******************************************************
+ RRC£¨L1T£©->PHY
+ ¹¦ÄÜ:
+ ɾ³ýL1 FACHºÍIDLE̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ: P _HSPA_PLUS_FACH_REL_REQ_EV
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time; /*0~255; 256:Á¢¼´ÆðЧ*/
+} T_zTD_P_hspa_plus_fach_rel_req;
+
+/******************************************************
+ RRC£¨L1T£©->PHY
+ ¹¦ÄÜ:
+ ɾ³ýL1 PCH̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ: P _HSPA_PLUS_PCH_REL_REQ_EV
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+} T_zTD_P_hspa_plus_pch_rel_req;
+/******************************************************
+ PHY->L1T
+ ¹¦ÄÜ:µ×²ãÈ·ÈÏɾ³ýÔöÇ¿FACHÐŵÀÍê±Ï
+ : P _HSPA_PLUS_FACH_REL_CNF_EV
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+} T_zTD_P_hspa_plus_fach_rel_cnf;
+
+/******************************************************
+ PHY->L1T
+ ¹¦ÄÜ::µ×²ãÈ·ÈÏɾ³ýÔöÇ¿PCHÐŵÀÍê±Ï
+ P _HSPA_PLUS_PCH_REL_CNF_EV
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+} T_zTD_P_hspa_plus_pch_rel_cnf;
+/******************************************************
+ RRC£¨L1T£©->PHY
+ ¹¦ÄÜ:
+ ÔÚÔöÇ¿FACH̬Ï£¬¸ÃÏûÏ¢·¢Ë͸øÎïÀí²ãÓÃÓÚ¸üÐÂרÓõÄHRNTI»òERNTI:P_EFACH_UPDATE_RNTI_REQ_EV
+******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wActive_time;/*0~255; 256:Á¢¼´ÆðЧ*/
+ WORD wUpdate_type;/*1£ºÖ»¸üÐÂH-RNTI£»2£ºÖ»¸üÐÂE-RNTI£»3£º¸üÐÂH-RNTIºÍE-RNTI;*/
+ WORD wH_rnti;/*רÓÃHRNTI,µ±wUpdate_typeΪ1»ò3ʱÓÐЧ*/
+ WORD wE_rnti; /*רÓÃERNTI,µ±wUpdate_typeΪ2»ò3ʱÓÐЧ*/
+ WORD wPadding;
+}T_zTD_P_efach_update_rnti_req;
+#endif
+
+/*
+ ½á¹¹¶¨Òå˵Ã÷,´Ë½á¹¹²ÎÊýÏÈÅäÖøømac,Ïà¹Ø²ÎÊýͨ¹ýT_zCUMac_Rach_Para_Req½Ó¿ÚÅäÖøømac;
+ macͨ¹ýT_P_RACH_PROCEDURE_REQ½Ó¿Ú½«Ïà¹Ø²ÎÊý·¢¸øÎïÀí²ã
+*/
+typedef struct{
+ WORD wMsgId;
+ /*>PRACH info*/
+ /*´ò¿×ÏÞÖÆ,0~100*/
+ WORD wPuncturing_limit;
+ /*10.3.6.78a>>SNC_UL info*/
+
+ WORD wPadding;
+ /*
+ Integer(-120..-58) by step of 1
+ wPrx_up_pch_des = x-(-120)
+ */
+ WORD wPrx_up_pch_des;
+
+ /*Integer(0,1,2,3)*/
+ WORD wPower_ramp_step;
+ /*Integer(1,2,4,8): Maxium numbers of SYNC_UL Transmissions in a power
+ ramping sequence
+ */
+ WORD wMax_sync_ul_transmissions;
+
+ /*>>PRACH-FPACH*/
+ WORD wPrach_fpach_num;
+ T_zTD_P_prach_fpach_info tPrach_fpach_info[Z_TD_P_MAX_PRACH_FPACH];
+
+ /*RACH TFS*/
+ /*Integer(10,20,40,80)*/
+ WORD wTti;
+ /*
+ Enumerated(No coding,Convolutional,Turbo)
+ 0:No coding,1:Convolutional,2:Turbo
+ */
+ WORD wChannel_coding_type;
+
+ /*
+ Integer(1..hiRM)
+ */
+ WORD wRate_matching_attribute;
+ /*Integer(0,8,12,16,24)*/
+ WORD wCrc_size;
+
+ /*10.3.6.59 Primary ccpch tx power
+ Integer(6..43)dBm
+ */
+ WORD bPrimary_ccpch_tx_power;
+ /*maximum allowed ul tx power
+ Integer(-50..33)
+ bMax_allowed_ul_tx_power = (x -(-50))
+
+ */
+ WORD wMax_allowed_ul_tx_power;
+ WORD wUppch_chip_shift;
+}T_zTD_P_add_prach_req;
+
+/*==============================================================================
+ ÔÓZ_P_RACH_PROCEDURE_REQ_Ev( UMAC->PHY ), Z_P_ERUCCH_PROCEDURE_REQ_Ev( UMAC->PHY )
+ ˵Ã÷:
+==============================================================================*/
+typedef struct {
+ WORD wMsg_id;
+
+ /*Bit string(8), the value 1 of a bit indicates the SYNC_UL code index is available*/
+ WORD wAvailable_sync_ul_codes_indices;
+ /*Subchannel_size_type: ȡֵ1,2,4,8
+ 1:size1, indicates that all subchannels are available
+ 2:size2,
+ 4:size4,
+ 8:size8*/
+ WORD wSubchannel_size_type;
+ /*corresponding the size2,size4,size8*/
+ WORD wAvailable_subchannel_size;
+
+ /*wLastFlagָʾUMACµÄRACH½ÓÈë¹ý³ÌÖд˴ÎÊÇ·ñÒÑΪµÚMmax´Î£¬¼´×îºóÒ»´Î¡£
+ 0: ²»ÊÇ×îºóÒ»´Î¡£´ËʱÎïÀí²ãÓ¦¼ÌÐø»º´æµÚÒ»´ÎËùЯ´øµÄRACHÊý¾Ý£»
+ 1: ×îºóÒ»´Î£¬MAC²ãÒѾ´ïµ½×î´óÖØ´«´ÎÊý¡£´ËʱÎïÀí²ãÐèɾ³ý»º´æµÄRACHÊý¾Ý¡£*/
+ WORD wLastFlag;
+ WORD wPadding;
+
+ T_zTD_P_add_prach_req tPrachPara;
+}T_zTD_P_RACH_PROCEDURE_REQ;
+/**************************************************************************
+ * ÎÞÏß×ÊÔ´ÅäÖÃÏà¹Ø½Ó¿Ú¶¨ÒåEND *
+ **************************************************************************/
+
+
+/**************************************************************************
+ * ˫ģGAPÏà¹Ø½Ó¿Ú *
+ **************************************************************************/
+#ifdef MULTI_IRAT_2963
+/*=====================================================
+ URRCA->TD PHY Z_P_GSM_INACT_TIME_REQ_Ev
+ ¹¦ÄÜ: 2GÖ÷ģʽʱ£¬GSM֪ͨTDD L1SµÄgapʱ¼äÐÅÏ¢£»
+ ½á¹¹: T_zP_gsm_inactive_time_req
+=====================================================*/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wStoreFlg;
+
+ DWORD dwGsmInactiveTime;
+
+ WORD wNumRemainingGaps;
+ WORD wSearchPrioMode;
+
+ WORD wClusterType;
+ WORD wIdleFrameOffset;
+
+ SHORT wGsmTimingCorrection;
+ WORD wPadding;
+} T_zPS_TD_P_inactive_time_req,T_zTD_P_inactive_time_req;
+
+/*=====================================================
+ PHY->URRA Z_P_UMTS_TIMER_SNAPSHOT_IND_Ev
+ ¹¦ÄÜ: L1SÉϱ¨µÄ¿ìÕÕʱ¼ä£»
+ ½á¹¹: T_zP_umts_snapshot_ind
+=====================================================*/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wSubSfn; /*UMTS Ëø´æµÄsfn×ÓÖ¡ºÅ*/
+
+ WORD wChipOffset; /*UMTSËø´æÊ±ÔÚ±¾×ÓÖ¡ÄÚµÄchipÆ«ÒÆ*/
+ WORD wPaddings;
+} T_zTD_P_umts_snapshot_ind;
+#endif
+
+/*=====================================================
+ URRCA/URRC->PHY L1G_UMTS_IDLE_PERIOD_REPMODE_REQ_EV
+ ¹¦ÄÜ: 3GÖ÷ģʽʱ£¬PSÅäÖÃL1SµÄgapģʽ£»
+ ½á¹¹: T_zTD_P_umts_idle_PeriodRep_req
+=====================================================*/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wReportingMode; /*0: not reprot gap, 1:report gap*/
+ DWORD dwGapId; /*ÎÕÊÖÐòÁкÅ*/
+} T_zTD_P_umts_idle_PeriodRep_req;
+
+/*=====================================================
+ PHY->URRCA Z_P_UMTS_INACTIVE_TIME_IND_Ev
+ ¹¦ÄÜ: L1SÉϱ¨µÄgapʱ¼ä£»
+ ½á¹¹: T_zP_umts_inact_time_ind
+=====================================================*/
+typedef struct
+{
+ WORD wStartChip; /*±¾gapÆðʼµã¾àÀë±¾×ÓÖ¡ÆðʼµãµÄÆ«ÒÆ£¬¼´gapÔÚ±¾×ÓÖ¡ÖеÄλÖ㬵¥Î»£ºCHIP*/
+ WORD wLengthChip; /*±¾gapµÄ³¤¶È£¬µ¥Î»£ºCHIP*/
+} T_zTD_P_gap_info_in_subframe;
+
+
+typedef struct
+{
+ WORD wMsgId;
+ WORD wStarSubtSfn; /*ÆðʼµÄsfn×ÓÖ¡ºÅ£¬·¶Î§£º0-8191*/
+
+ WORD wNumOfInactiveSubframe; /*³ÖÐøµÄ×ÓÖ¡³¤¶È*/
+ WORD wNumOfGapInSubFrame; /*ÔÚÒ»¸ö×ÓÖ¡ÖÐgapµÄ¸öÊý*/
+
+ T_zTD_P_gap_info_in_subframe atGapInfoInSubFrame[Z_TD_P_MAX_GAP_NUM]; /*ÔÚÒ»¸ö×ÓÖ¡Öи÷gapµÄλÖÃ*/
+ DWORD dwGapId; /*ÎÕÊÖÐòÁкÅ*/
+} T_zTD_P_umts_inact_time_ind;
+
+/******************************************************
+ RRC->PHY
+ ¹¦ÄÜ:
+ ÐÒéջ֪ͨÎïÀí²ãÊÍ·Å×ÊÔ´
+ ½á¹¹:
+ T_zTD_P_Rel_req
+ ******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_Rel_req;
+
+/******************************************************
+ PHY->RRC
+ ¹¦ÄÜ:
+ ÎïÀí²ã֪ͨÐÒéÕ»ÊÍ·Å×ÊÔ´È·ÈÏ
+ ½á¹¹:
+ T_zTD_P_Rel_cnf
+ ******************************************************/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_Rel_cnf;
+
+#ifdef R9_SUPPORT
+/**************************************************************************
+ L1T<->PHY
+ ¹¦ÄÜ:
+ 1.TDD Ö÷ģʽÏÂDCH̬½«Íø²àÅäÖõÄGAPÐÅÏ¢´ø¸øÎïÀí²ã£¬Ò»·½Ãæ½âÎö³öÒìÆµµÄGAP¡£
+ ÁíÒ»·½Ãæ±Ü¿ªÍø²à¸øÆäËûÖÆÊ½¹¤×÷µÄʱ¼äP_TD_DCH_GAP_CONFIG_REQ_EV (mac)()µ¥Î»£©
+ ½á¹¹: T_zTD_P_MeasGapConfig_Req
+ **************************************************************************/
+typedef struct
+{
+ WORD wPatternId;
+ WORD wActiveFlg; /*1=bActiveFlg ±íʾ¼¤»î¡£0±íʾȥ»î*/
+ WORD wPeriod;/*GAPÄ£Ð͵ÄÖØ¸´ÖÜÆÚ£¬µ¥Î»ÊÇÎÞÏÞÖ¡£¨10ms£©*/
+ WORD wMeasPurpose;/*1=ÒìÆµ £¬2=RAT*/
+ WORD wOffset;/*GAPÄ£ÐÍÖØ¸´ÖÜÆÚÄÚ£¬GAPÆðʼµã.µ¥Î»ÊÇ£¨10ms£©*/
+ WORD wLength;/* GAPÄ£ÐͳÖÐøÊ±¼ä,µ¥Î»ÊÇÎÞÏÞÖ¡£¨ms£©*/
+ WORD wTsBitmap;/* GAPÄ£ÐÍÄÚµÄÿ¸ö×Ó֡ʱ϶ռÓÃÇé¿ö£¬±ÈÌØÎ»ÖÃ1±íʾGAPÕ¼Ó㬴ӵ͵½¸ßµÚ0±ÈÌØ±íʾʱ϶0*/
+ WORD wPadding;
+}T_zTD_P_umts_GapPattern;
+
+typedef struct
+{
+ WORD wMsgId;
+ WORD wGapPatternNum;
+ T_zTD_P_umts_GapPattern atGapPatternList[6];
+}T_zTD_P_MeasGapConfig_Req;
+#endif /* R9_SUPPORT */
+
+/**************************************************************************
+ L1T<->PHY
+ ¹¦ÄÜ:
+ 2. TDDΪ¸¨Ä£Ê½Ï£¬ÊÕµ½µÄGAPÅäÖÃP_IRAT_GAP_CONFIG_REQ_EV
+ ½á¹¹: T_zTD_P_IratGapConfig_Req
+ **************************************************************************/
+
+
+#if (defined (_CHIP_ZX297502))
+
+typedef struct
+{
+ WORD wMsgId;
+ WORD wIdleOrConnectFlg;/*TDΪ¸¨ÖÆÊ½Ê±Ö÷ÖÆÊ½µÄ״̬£¬È¡ÖµÎª0±íʾ¿ÕÏÐ̬ȡֵΪ1±íʾÁ¬½Ó̬*/
+ WORD wOff;/*GAPÆðʼµãÆ«ÒÆ.µ¥Î»ÊÇ£¨5ms£©*/
+ WORD wOffChip;/*GAPÆðʼµã.CHIPÆ«ÒÆ£¨chips£©,ÕæÕýµÄGAPÆðʼµãÊÇwOffset+wOffChip*/
+ DWORD dwLength;/* GAPÄ£ÐͳÖÐøÊ±¼ä,µ¥Î»ÊÇ£¨chips£©*/
+}T_zTD_P_IratGapConfig_Req;
+
+#else
+typedef struct
+{
+ WORD wMsgId;
+ WORD wIdleOrConnectFlg;/*TDΪ¸¨ÖÆÊ½Ê±Ö÷ÖÆÊ½µÄ״̬£¬È¡ÖµÎª0±íʾ¿ÕÏÐ̬ȡֵΪ1±íʾÁ¬½Ó̬*/
+ WORD wStartSubSfn;/*GAPÆðʼµãÖ¡ºÅ*/
+ WORD wStartOffChip;/*GAPÆðʼµã.CHIPÆ«ÒÆ£¨chips£©,ÕæÕýµÄGAPÆðʼµãÊÇwStartSubSfn+wStartOffChip*/
+ DWORD dwLength;/* GAPÄ£ÐͳÖÐøÊ±¼ä,µ¥Î»ÊÇ£¨chips£©*/
+}T_zTD_P_IratGapConfig_Req;
+#endif
+
+/******************************************************
+ L1T->PHY
+ ¹¦ÄÜ:
+ ÇëÇó ÎïÀí²ãֹͣʹÓÃGAP
+ ÏûÏ¢¼°½á¹¹: zPS_TD_P_ABORT_IRAT_GAP_REQ_Ev
+ T_zTD_P_ABORT_IRAT_GAP_REQ
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_ABORT_IRAT_GAP_REQ;
+
+/******************************************************
+ PHY->L1T
+ ¹¦ÄÜ:
+ ÎïÀí²ãÊÕµ½ÆäËûÖÆÊ½ÊÕ»ØGAPµÄÏûÏ¢ºó£¬²»ÔÚʹÓÃGAPµÄÈ·ÈÏ
+ ÏûÏ¢¼°½á¹¹: zPS_TD_P_ABORT_IRAT_GAP_CNF_Ev
+ Z_P_ABORT_IRAT_GAP_CNF
+******************************************************/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wPadding;
+}T_zTD_P_ABORT_IRAT_GAP_CNF;
+/*
+ RRC->PHY
+ ½á¹¹:T_zTD_P_Ul_phy_ch_ctrl_req
+ ÓÃ;:ÐÞ¸ÄÉÏÐÐÎïÀíÐŵÀµÄ¿ØÖÆÐÅÏ¢
+*/
+typedef struct{
+ WORD wMsgId;
+ WORD wPadding;
+ /*ÌØÊâÍ»·¢Éú³ÉʱÆÚ*/
+ WORD wSpec_burst_generation_period;/*(ȡֵ0,2,4,8,16,32,64,128,256,µ¥Î»frame;0±íʾ²»Æô¶¯UL DPCH DTX,ÆäÓàÖµ´ú±íÆô¶¯UL DPCH DTX)*/
+ WORD wUl_Sync_Step_Size;/*Integer(1..8)*/
+ WORD wUl_Sync_Freq;/*Integer(1..8)*/
+ WORD wPRXhs_sich;/*½öÅäÖÃHSDPAʱÓÐЧ,Integer(-120..-58);wPRXhs_sich = x-(-120);x = wPRXhs_sich - 120;*/
+ WORD wTpc_step_size;/*½öÅäÖÃHSDPAʱÓÐЧ,Integer(1,2,3)*/
+ WORD wUl_dpch_power_ctrl_info_flg;/*ÉÏϹ¦¿ØÐÅÏ¢µÄ±ê־λ,1´ú±íÓй¦¿ØÐÅÏ¢,0´ú±íÎÞ¹¦¿ØÐÅÏ¢*/
+ /*Uplink dpch power control info*/
+ T_zTD_P_ul_dpch_power_ctrl tUl_dpch_power_ctrl_info;
+}T_zTD_P_Ul_phy_ch_ctrl_req;
+
+/*==============================================================================
+ L1T/L1W->PHY
+ ʼþ£ºP_TD_ZTPCG_REQ_EV
+ ¹¦ÄÜ:
+ ÐÞ¸Ä/²éѯTDÎïÀí²ãÅäÖòÎÊý¡£
+==============================================================================*/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wCmd; /* ÃüÁîºÅ£¬¶ÔÓ¦²»Í¬µÄÎïÀí²ã¹¦ÄÜ */
+ WORD awValFg[Z_ZTPCG_VALFG_NUM]; /* ±íʾadwValÊÇ·ñ´æÔÚ£¬0±íʾ²»´æÔÚ£¬1±íʾ´æÔÚ */
+ DWORD adwVal[Z_ZTPCG_VALFG_NUM]; /* ²ÎÊýÁÐ±í£¬ÐÞ¸Ä/¶ÁÈ¡µÄÎïÀí²ã²ÎÊý£¬²ÎÊýʵ¼Êº¬ÒåÓÉÎïÀí²ã¸ø³ö */
+}T_zTD_P_Ztpcg_Req;
+
+/*==============================================================================
+ PHY->L1T
+ ʼþ£ºP_TD_ZTPCG_CNF_EV
+ ¹¦ÄÜ:
+ ÐÞ¸Ä/²éѯTDÎïÀí²ãÅäÖòÎÊýµÄÏìÓ¦ÏûÏ¢¡£
+==============================================================================*/
+typedef struct
+{
+ WORD wMsgId;
+ WORD wCmd; /* ÃüÁîºÅ£¬¶ÔÓ¦²»Í¬µÄÎïÀí²ã¹¦ÄÜ£¬bMode=0/1¶¼ÓÐЧ */
+ WORD wRslt; /* ±íʾÉèÖýá¹û£¬Z_TRUEÉèÖóɹ¦£¬Z_FALSEÉèÖÃʧ°Ü wCmdΪÉèÖÃÃüÁîʱÓÐЧ */
+ WORD awValFg[Z_ZTPCG_PARAM_NUM]; /*°´ÕÕϱêºÍdwValÖÐÖµÒ»Ò»¶ÔÓ¦£¬bVal1Fg[0]±íʾdwVal[0]ÊÇ·ñ´æÔÚ,ÒÀ´ÎÀàÍÆ£¬0±íʾ²»´æÔÚ£¬1±íʾ´æÔÚ*/
+ LONG alVal[Z_ZTPCG_PARAM_NUM]; /*²ÎÊý1/²ÎÊý2¡£¬ÐÞ¸Ä/¶ÁÈ¡µÄÎïÀí²ã²ÎÊý£¬²ÎÊýʵ¼Êº¬ÒåÓÉÎïÀí²ã¸ø³ö*/
+}T_zTD_P_Ztpcg_Cnf;
+
+#endif // / ZPS_TDPS_PHY_INTERFACE_H
+
+
+