[Feature][T106]ZXW P56U09 code

Only Configure: Yes
Affected branch: master
Affected module: unknow
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: No
Doc Update: No

Change-Id: I3cbd8b420271eb20c2b40ebe5c78f83059cd42f3
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

+

+

+