/*****************************************************************************/ /** * Description: Header of 814 linklayer messages * * Date: 2022-07-14 00:08 * LastEditors: Fan Hao * LastEditTime: 2022-07-14 22:52 * Revisions: Rev 0.0 * History: * [2022-07-14]: Initial version. * * Copyright(c) 2021 Beijing Institute of Technology. * Lab of Communication and Networking * ******************************************************************************/ #ifndef MSG_DEF_H_ #define MSG_DEF_H_ #define L2_MSG_LEN 72 // bit #define L2_MSG_MAX 512 // bit #define PDU_CRC_LEN 16 // ** 77 Basic Header 1 Format ** // #define PDUH0_LEN 112 #define PDUH0_TYPE_LEN 1 #define PDUH0_TYPE_OFFSET 0 #define PDUH0_RESV_LEN 7 #define PDUH0_RESV_OFFSET 1 #define PDUH0_LENGTH_LEN 16 #define PDUH0_LENGTH_OFFSET 8 #define PDUH0_SRC_ADDR_LEN 10 #define PDUH0_SRC_ADDR_OFFSET 24 #define PDUH0_DST_ADDR_LEN 10 #define PDUH0_DST_ADDR_OFFSET 34 #define PDUH0_SEQ_NUM_LEN 16 #define PDUH0_SEQ_NUM_OFFSET 44 #define PDUH0_RESV_1_LEN 44 #define PDUH0_RESV_1_OFFSET 60 #define PDUH0_HEADER_CRC_LEN 8 #define PDUH0_HEADER_CRC_OFFSET 104 // ** 78 Message Key Format ** // #define MSG_KEY_LENGTH_LEN 88 // ** 79 Basic Header 2 Format ** // #define PDUH1_LEN 48 #define PDUH1_TYPE_LEN 1 #define PDUH1_TYPE_OFFSET 0 #define PDUH1_LENGTH_LEN 8 #define PDUH1_LENGTH_OFFSET 1 #define PDUH1_SRC_ADDR_LEN 10 #define PDUH1_SRC_ADDR_OFFSET 9 #define PDUH1_DST_ADDR_LEN 10 #define PDUH1_DST_ADDR_OFFSET 19 #define PDUH1_SLICEH_TAGE_LEN 1 #define PDUH1_SLICEH_TAGE_OFFSET 29 #define PDUH1_SLICET_TAGE_LEN 1 #define PDUH1_SLICET_TAGE_OFFSET 30 #define PDUH1_RESV_LEN 1 #define PDUH1_RESV_OFFSET 31 #define PDUH1_HEADER_CRC_LEN 8 #define PDUH1_HEADER_CRC_OFFSET 32 // ** 74 Assembling Header Format ** // #define UDUH_LEN 64 #define UDUH_PRI_LEN 3 #define UDUH_PRI_OFFSET 0 #define UDUH_RESERV_LEN 1 #define UDUH_RESERV_OFFSET 3 #define UDUH_MSG_TYPE_LEN 4 #define UDUH_MSG_TYPE_OFFSET 4 #define UDUH_LENGTH_LEN 16 #define UDUH_LENGTH_OFFSET 8 #define UDUH_SRC_ADDR_LEN 10 #define UDUH_SRC_ADDR_OFFSET 24 #define UDUH_DST_ADDR_LEN 10 #define UDUH_DST_ADDR_OFFSET 34 #define UDUH_UDU_SEQ_NUM_LEN 10 #define UDUH_UDU_SEQ_NUM_OFFSET 44 #define UDUH_RETRANS_NUM_LEN 2 #define UDUH_RETRANS_NUM_OFFSET 54 #define UDUH_NUM_SLICE_LEN 4 #define UDUH_NUM_SLICE_OFFSET 56 #define UDUH_SLICE_ID_LEN 4 #define UDUH_SLICE_ID_OFFSET 60 // ** 88 Benchmark Message ** // #define BM_MSG_LEN 232 // bit #define BM_MSG_TYPE_LEN 3 #define BM_MSG_TYPE_OFFSET 0 #define BM_MSG_SRC_ADDR_LEN 10 #define BM_MSG_SRC_ADDR_OFFSET 3 #define BM_MSG_NETMG_ADDR_LEN 10 #define BM_MSG_NETMG_ADDR_OFFSET 13 #define BM_MSG_TUNIT_NUM_LEN 17 #define BM_MSG_TUNIT_NUM_OFFSET 23 #define BM_MSG_TFRAME_NUM_LEN 4 #define BM_MSG_TFRAME_NUM_OFFSET 40 #define BM_MSG_TSLOT_NUM_LEN 6 #define BM_MSG_TSLOT_NUM_OFFSET 44 #define BM_MSG_LAG_TIME_TAG_LEN 6 #define BM_MSG_LAG_TIME_TAG_OFFSET 50 #define BM_MSG_LONGITUDE_LEN 21 #define BM_MSG_LONGITUDE_OFFSET 56 #define BM_MSG_LATITUDE_LEN 20 #define BM_MSG_LATITUDE_OFFSET 77 #define BM_MSG_HEIGHT_LEN 15 #define BM_MSG_HEIGHT_OFFSET 97 #define BM_MSG_EAST_SPEED_LEN 8 #define BM_MSG_EAST_SPEED_OFFSET 112 #define BM_MSG_NORTH_SPEED_LEN 8 #define BM_MSG_NORTH_SPEED_OFFSET 120 #define BM_MSG_UPPER_SPEED_LEN 8 #define BM_MSG_UPPER_SPEED_OFFSET 128 #define BM_MSG_CRC_LEN 8 #define BM_MSG_CRC_OFFSET 136 #define BM_MSG_KEY_LEN 88 #define BM_MSG_KEY_OFFSET 144 // ** 82 Net Scan Message - INI ** // #define NS_MSG_LEN 72 #define NS_MSG_INI_SER_TAG_LEN 2 #define NS_MSG_INI_SER_TAG_OFFSET 0 #define NS_MSG_INI_WTAG_LEN 2 #define NS_MSG_INI_WTAG_OFFSET 2 #define NS_MSG_INI_MTAG_LEN 5 #define NS_MSG_INI_MTAG_OFFSET 4 #define NS_MSG_INI_STAG_LEN 3 #define NS_MSG_INI_STAG_OFFSET 9 #define NS_MSG_INI_LEN_LEN 3 #define NS_MSG_INI_LEN_OFFSET 12 #define NS_MSG_INI_TYPE_LEN 1 #define NS_MSG_INI_TYPE_OFFSET 15 #define NS_MSG_INI_SRC_ADDR_LEN 10 #define NS_MSG_INI_SRC_ADDR_OFFSET 16 #define NS_MSG_INI_DEST_ADDR_LEN 10 #define NS_MSG_INI_DEST_ADDR_OFFSET 26 #define NS_MSG_INI_NET_STAGE_LEN 4 #define NS_MSG_INI_NET_STAGE_OFFSET 36 #define NS_MSG_INI_SCAN_TIME_LEN 32 #define NS_MSG_INI_SCAN_TIME_OFFSET 40 // ** 83 Net Scan Message - Continue 1 ** // #define NS_MSG_CONT_1_RESV_LEN 2 #define NS_MSG_CONT_1_RESV_OFFSET 0 #define NS_MSG_CONT_1_WTAG_LEN 2 #define NS_MSG_CONT_1_WTAG_OFFSET 2 #define NS_MSG_CONT_1_CONTID_LEN 4 #define NS_MSG_CONT_1_CONTID_OFFSET 4 #define NS_MSG_CONT_1_TIME_TAG_LEN 48 #define NS_MSG_CONT_1_TIME_TAG_OFFSET 8 #define NS_MSG_CONT_1_EAST_SPEED_LEN 16 #define NS_MSG_CONT_1_EAST_SPEED_OFFSET 56 // ** 84 Net Scan Message - Continue 2 ** // #define NS_MSG_CONT_2_RESV_1_LEN 2 #define NS_MSG_CONT_2_RESV_1_OFFSET 0 #define NS_MSG_CONT_2_WTAG_LEN 2 #define NS_MSG_CONT_2_WTAG_OFFSET 2 #define NS_MSG_CONT_2_CONTID_LEN 4 #define NS_MSG_CONT_2_CONTID_OFFSET 4 #define NS_MSG_CONT_2_NORTH_SPEED_LEN 16 #define NS_MSG_CONT_2_NORTH_SPEED_OFFSET 8 #define NS_MSG_CONT_2_UPPER_SPEED_LEN 16 #define NS_MSG_CONT_2_UPPER_SPEED_OFFSET 24 #define NS_MSG_CONT_2_HEIGHT_LEN 24 #define NS_MSG_CONT_2_HEIGHT_OFFSET 40 #define NS_MSG_CONT_2_RESV_2_LEN 8 #define NS_MSG_CONT_2_RESV_2_OFFSET 64 // ** 85 Net Scan Message - Continue 3 ** // #define NS_MSG_CONT_3_RESV_LEN 2 #define NS_MSG_CONT_3_RESV_OFFSET 0 #define NS_MSG_CONT_3_WTAG_LEN 2 #define NS_MSG_CONT_3_WTAG_OFFSET 2 #define NS_MSG_CONT_3_CONTID_LEN 4 #define NS_MSG_CONT_3_CONTID_OFFSET 4 #define NS_MSG_CONT_3_LONGITUDE_LEN 32 #define NS_MSG_CONT_3_LONGITUDE_OFFSET 8 #define NS_MSG_CONT_3_LATITUDE_LEN 32 #define NS_MSG_CONT_3_LATITUDE_OFFSET 40 // ** 86 Net Scan Message - Continue 4 ** // #define NS_MSG_CONT_4_RESV_LEN 2 #define NS_MSG_CONT_4_RESV_OFFSET 0 #define NS_MSG_CONT_4_WTAG_LEN 2 #define NS_MSG_CONT_4_WTAG_OFFSET 2 #define NS_MSG_CONT_4_CONTID_LEN 4 #define NS_MSG_CONT_4_CONTID_OFFSET 4 #define NS_MSG_CONT_4_CRC_LEN 16 #define NS_MSG_CONT_4_CRC_OFFSET 8 #define NS_MSG_CONT_4_KEY_LEN 48 #define NS_MSG_CONT_4_KEY_OFFSET 24 // ** 87 Net Scan Message - Continue 5 ** // #define NS_MSG_CONT_5_RESV_1_LEN 2 #define NS_MSG_CONT_5_RESV_1_OFFSET 0 #define NS_MSG_CONT_5_WTAG_LEN 2 #define NS_MSG_CONT_5_WTAG_OFFSET 2 #define NS_MSG_CONT_5_CONTID_LEN 4 #define NS_MSG_CONT_5_CONTID_OFFSET 4 #define NS_MSG_CONT_5_KEY_LEN 40 #define NS_MSG_CONT_5_KEY_OFFSET 8 #define NS_MSG_CONT_5_RESV_2_LEN 24 #define NS_MSG_CONT_5_RESV_2_OFFSET 48 #define MGMT_MSG_LEN 72 // ** 89 Tracking Message INI ** // #define TK_MSG_INI_SER_TAG_LEN 2 #define TK_MSG_INI_SER_TAG_OFFSET 0 #define TK_MSG_INI_WTAG_LEN 2 #define TK_MSG_INI_WTAG_OFFSET 2 #define TK_MSG_INI_TAG_LEN 5 #define TK_MSG_INI_TAG_OFFSET 4 #define TK_MSG_INI_STAG_LEN 3 #define TK_MSG_INI_STAG_OFFSET 9 #define TK_MSG_INI_LEN 3 #define TK_MSG_INI_OFFSET 12 #define TK_MSG_INI_TK_TAG_LEN 4 #define TK_MSG_INI_TK_TAG_OFFSET 15 #define TK_MSG_INI_TQLT_LEN 4 #define TK_MSG_INI_TQLT_OFFSET 19 #define TK_MSG_INI_TBASE_ID_INDICATE_LEN 1 #define TK_MSG_INI_TBASE_ID_INDICATE_OFFSET 23 #define TK_MSG_INI_CSCALE_NUM_LEN 4 #define TK_MSG_INI_CSCALE_NUM_OFFSET 24 #define TK_MSG_INI_MEMBER_NUM_LEN 4 #define TK_MSG_INI_MEMBER_NUM_OFFSET 28 #define TK_MSG_INI_MUTE_TAG_LEN 1 #define TK_MSG_INI_MUTE_TAG_OFFSET 32 #define TK_MSG_INI_NET_STATE_LEN 4 #define TK_MSG_INI_NET_STATE_OFFSET 33 #define TK_MSG_INI_RESV_LEN 35 #define TK_MSG_INI_RESV_OFFSET 37 // ** 90 Tracking Message Extend ** // #define TK_MSG_EXTEND_RESV_1_LEN 2 #define TK_MSG_EXTEND_RESV_1_OFFSET 0 #define TK_MSG_EXTEND_WTAG_LEN 2 #define TK_MSG_EXTEND_WTAG_OFFSET 2 #define TK_MSG_EXTEND_TIME_TAG_LEN 48 #define TK_MSG_EXTEND_TIME_TAG_OFFSET 4 #define TK_MSG_EXTEND_EAST_SPEED_LEN 16 #define TK_MSG_EXTEND_EAST_SPEED_OFFSET 52 #define TK_MSG_EXTEND_RESV_2_LEN 4 #define TK_MSG_EXTEND_RESV_2_OFFSET 68 // ** 91 Tracking Message Continue 1 ** // #define TK_MSG_CONT_1_RESV_1_LEN 2 #define TK_MSG_CONT_1_RESV_1_OFFSET 0 #define TK_MSG_CONT_1_WTAG_LEN 2 #define TK_MSG_CONT_1_WTAG_OFFSET 2 #define TK_MSG_CONT_1_CONTID_LEN 4 #define TK_MSG_CONT_1_CONTID_OFFSET 4 #define TK_MSG_CONT_1_NORTH_SPEED_LEN 16 #define TK_MSG_CONT_1_NORTH_SPEED_OFFSET 8 #define TK_MSG_CONT_1_UPPER_SPEED_LEN 16 #define TK_MSG_CONT_1_UPPER_SPEED_OFFSET 24 #define TK_MSG_CONT_1_HEIGHT_LEN 24 #define TK_MSG_CONT_1_HEIGHT_OFFSET 40 #define TK_MSG_CONT_1_RESV_2_LEN 8 #define TK_MSG_CONT_1_RESV_2_OFFSET 64 // ** 92 Tracking Message Continue 2 ** // #define TK_MSG_CONT_2_RESV_1_LEN 2 #define TK_MSG_CONT_2_RESV_1_OFFSET 0 #define TK_MSG_CONT_2_WTAG_LEN 2 #define TK_MSG_CONT_2_WTAG_OFFSET 2 #define TK_MSG_CONT_2_CONTID_LEN 4 #define TK_MSG_CONT_2_CONTID_OFFSET 4 #define TK_MSG_CONT_2_LONGITUDE_LEN 32 #define TK_MSG_CONT_2_LONGITUDE_OFFSET 8 #define TK_MSG_CONT_2_LATITUDE_LEN 32 #define TK_MSG_CONT_2_LATITUDE_OFFSET 40 // ** 93 Tracking Message Continue 3 ** // #define TK_MSG_CONT_3_RESV_1_LEN 2 #define TK_MSG_CONT_3_RESV_1_OFFSET 0 #define TK_MSG_CONT_3_WTAG_LEN 2 #define TK_MSG_CONT_3_WTAG_OFFSET 2 #define TK_MSG_CONT_3_CONTID_LEN 4 #define TK_MSG_CONT_3_CONTID_OFFSET 4 #define TK_MSG_CONT_3_MEMBER_ADDR_LEN 10 #define TK_MSG_CONT_3_MEMBER_ADDR_OFFSET 8 #define TK_MSG_CONT_3_RESV_2_LEN 6 #define TK_MSG_CONT_3_RESV_2_OFFSET 18 #define TK_MSG_CONT_3_EAST_ACC_LEN 16 #define TK_MSG_CONT_3_EAST_ACC_OFFSET 24 #define TK_MSG_CONT_3_NORTH_ACC_LEN 16 #define TK_MSG_CONT_3_NORTH_ACC_OFFSET 40 #define TK_MSG_CONT_3_UPPER_ACC_LEN 16 #define TK_MSG_CONT_3_UPPER_ACC_OFFSET 56 // ** 94 Time Announcements Initial ** // #define TA_MSG_SER_TAG_LEN 2 #define TA_MSG_SER_TAG_OFFSET 0 #define TA_MSG_WTAG_LEN 2 #define TA_MSG_WTAG_OFFSET 2 #define TA_MSG_MSG_TAG_LEN 5 #define TA_MSG_MSG_TAG_OFFSET 4 #define TA_MSG_MSG_STAG_LEN 3 #define TA_MSG_MSG_STAG_OFFSET 9 #define TA_MSG_MSG_LEN 3 #define TA_MSG_MSG_OFFSET 12 #define TA_MSG_RESV_LEN 2 #define TA_MSG_RESV_OFFSET 14 #define TA_MSG_SRC_ADDR_LEN 10 #define TA_MSG_SRC_ADDR_OFFSET 16 #define TA_MSG_CURR_TUNIT_NUM_LEN 17 #define TA_MSG_CURR_TUNIT_NUM_OFFSET 26 #define TA_MSG_CURR_TFRAME_NUM_LEN 4 #define TA_MSG_CURR_TFRAME_NUM_OFFSET 43 #define TA_MSG_HEIGHT_LEN 24 #define TA_MSG_HEIGHT_OFFSET 46 // ** 95 Time Announcements Extend ** // #define TA_MSG_EX_RESV0_LEN 2 #define TA_MSG_EX_RESV0_OFFSET 0 #define TA_MSG_EX_WTAG_LEN 2 #define TA_MSG_EX_WTAG_OFFSET 2 #define TA_MSG_EX_LONGITUDE_LEN 32 #define TA_MSG_EX_LONGITUDE_OFFSET 4 #define TA_MSG_EX_LATITUDE_LEN 32 #define TA_MSG_EX_LATITUDE_OFFSET 36 #define TA_MSG_EX_RESV1_LEN 4 #define TA_MSG_EX_RESV1_OFFSET 68 // ** 96 Time Announcements Continue 1 ** // #define TA_MSG_CONT_1_RESV0_LEN 2 #define TA_MSG_CONT_1_RESV0_OFFSET 0 #define TA_MSG_CONT_1_WTAG_LEN 2 #define TA_MSG_CONT_1_WTAG_OFFSET 2 #define TA_MSG_CONT_1_TAG_LEN 4 #define TA_MSG_CONT_1_TAG_OFFSET 4 #define TA_MSG_CONT_1_TIME_TAG_LEN 48 #define TA_MSG_CONT_1_TIME_TAG_OFFSET 8 #define TA_MSG_CONT_1_TSLOT_LEN 6 #define TA_MSG_CONT_1_TSLOT_OFFSET 56 #define TA_MSG_CONT_1_RESV1_LEN 10 #define TA_MSG_CONT_1_RESV1_OFFSET 62 // ** 97 Time Announcements Continue 2 ** // #define TA_MSG_CONT_2_RESV0_LEN 2 #define TA_MSG_CONT_2_RESV0_OFFSET 0 #define TA_MSG_CONT_2_WTAG_LEN 2 #define TA_MSG_CONT_2_WTAG_OFFSET 2 #define TA_MSG_CONT_2_TAG_LEN 4 #define TA_MSG_CONT_2_TAG_OFFSET 4 #define TA_MSG_CONT_2_EAST_LEN 16 #define TA_MSG_CONT_2_EAST_OFFSET 8 #define TA_MSG_CONT_2_NORTH_LEN 16 #define TA_MSG_CONT_2_NORTH_OFFSET 24 #define TA_MSG_CONT_2_UPPER_LEN 16 #define TA_MSG_CONT_2_UPPER_OFFSET 40 #define TA_MSG_CONT_2_RESV1_LEN 16 #define TA_MSG_CONT_2_RESV1_OFFSET 56 // ** 98 Mission Network Adjustment Notification Message Initial Word ** // #define MADJ_MSG_INI_SER_TAG_LEN 2 #define MADJ_MSG_INI_SER_TAG_OFFSET 0 #define MADJ_MSG_INI_WTAG_LEN 2 #define MADJ_MSG_INI_WTAG_OFFSET 2 #define MADJ_MSG_INI_MSG_TAG_LEN 5 #define MADJ_MSG_INI_MSG_TAG_OFFSET 4 #define MADJ_MSG_INI_MSG_STAG_LEN 3 #define MADJ_MSG_INI_MSG_STAG_OFFSET 9 #define MADJ_MSG_INI_MSG_LEN 3 #define MADJ_MSG_INI_MSG_OFFSET 12 #define MADJ_MSG_INI_CTRL_CODE_LEN 4 #define MADJ_MSG_INI_CTRL_CODE_OFFSET 15 #define MADJ_MSG_INI_TCHIP_LEN 8 #define MADJ_MSG_INI_TCHIP_OFFSET 19 #define MADJ_MSG_INI_ADJ_TUNIT_NUM_LEN 17 #define MADJ_MSG_INI_ADJ_TUNIT_NUM_OFFSET 27 #define MADJ_MSG_INI_ADJ_TFRAME_NUM_LEN 4 #define MADJ_MSG_INI_ADJ_TFRAME_NUM_OFFSET 44 #define MADJ_MSG_INI_ADJ_ANNED_NODE_ADDR_LEN 10 #define MADJ_MSG_INI_ADJ_ANNED_NODE_ADDR_OFFSET 48 #define MADJ_MSG_INI_ADJ_RESV_LEN 14 #define MADJ_MSG_INI_ADJ_RESV_OFFSET 58 // ** 99 Mission Network Adjustment Notification Message Extend Word ** // #define MADJ_MSG_EX_RESV_1_LEN 2 #define MADJ_MSG_EX_RESV_1_OFFSET 0 #define MADJ_MSG_EX_WTAG_LEN 2 #define MADJ_MSG_EX_WTAG_OFFSET 2 #define MADJ_MSG_EX_PNODE_ADDR_1_LEN 10 #define MADJ_MSG_EX_PNODE_ADDR_1_OFFSET 4 #define MADJ_MSG_EX_PNODE_ADDR_2_LEN 10 #define MADJ_MSG_EX_PNODE_ADDR_2_OFFSET 14 #define MADJ_MSG_EX_PNODE_ADDR_3_LEN 10 #define MADJ_MSG_EX_PNODE_ADDR_3_OFFSET 24 #define MADJ_MSG_EX_PNODE_ADDR_4_LEN 10 #define MADJ_MSG_EX_PNODE_ADDR_4_OFFSET 34 #define MADJ_MSG_EX_PNODE_ADDR_5_LEN 10 #define MADJ_MSG_EX_PNODE_ADDR_5_OFFSET 44 #define MADJ_MSG_EX_PNODE_ADDR_6_LEN 10 #define MADJ_MSG_EX_PNODE_ADDR_6_OFFSET 54 #define MADJ_MSG_EX_RESV_2_LEN 8 #define MADJ_MSG_EX_RESV_2_OFFSET 64 // ** 100 RTT Inquiry Initial Word ** // #define RTT_MSG_LEN 72 #define RTT_REQ_SER_TAG_LEN 2 #define RTT_REQ_SER_TAG_OFFSET 0 #define RTT_REQ_WTAG_LEN 2 #define RTT_REQ_WTAG_OFFSET 2 #define RTT_REQ_MSG_TAG_LEN 5 #define RTT_REQ_MSG_TAG_OFFSET 4 #define RTT_REQ_MSG_STAG_LEN 3 #define RTT_REQ_MSG_STAG_OFFSET 9 #define RTT_REQ_MSG_LEN 3 #define RTT_REQ_MSG_OFFSET 12 #define RTT_REQ_SRC_ADDR_LEN 10 #define RTT_REQ_SRC_ADDR_OFFSET 15 #define RTT_REQ_DST_ADDR_LEN 10 #define RTT_REQ_DST_ADDR_OFFSET 25 #define RTT_REQ_RESV_LEN 37 #define RTT_REQ_RESV_OFFSET 35 // ** RTT Inquiry Extend Word ** // #define RTT_REQ_EX_RESV0_LEN 2 #define RTT_REQ_EX_RESV0_OFFSET 0 #define RTT_REQ_EX_WTAG_LEN 2 #define RTT_REQ_EX_WTAG_OFFSET 2 #define RTT_REQ_EX_TTAGL_LEN 32 #define RTT_REQ_EX_TTAGL_OFFSET 4 #define RTT_REQ_EX_TTAGH_LEN 32 #define RTT_REQ_EX_TTAGH_OFFSET 36 #define RTT_REQ_EX_RESV1_LEN 4 #define RTT_REQ_EX_RESV1_OFFSET 68 // ** RTT Inquiry Continue Word ** // #define RTT_REQ_CONT_RESV0_LEN 2 #define RTT_REQ_CONT_RESV0_OFFSET 0 #define RTT_REQ_CONT_WTAG_LEN 2 #define RTT_REQ_CONT_WTAG_OFFSET 2 #define RTT_REQ_CONT_TAG_LEN 4 #define RTT_REQ_CONT_TAG_OFFSET 4 #define RTT_REQ_CONT_DOP_LEN 24 #define RTT_REQ_CONT_DOP_OFFSET 8 #define RTT_REQ_CONT_RESV1_LEN 40 #define RTT_REQ_CONT_RESV1_OFFSET 32 // ** 101 RTT Response Initial Word ** // #define RTT_RSP_SER_TAG_LEN 2 #define RTT_RSP_SER_TAG_OFFSET 0 #define RTT_RSP_WTAG_LEN 2 #define RTT_RSP_WTAG_OFFSET 2 #define RTT_RSP_MSG_TAG_LEN 5 #define RTT_RSP_MSG_TAG_OFFSET 4 #define RTT_RSP_MSG_STAG_LEN 3 #define RTT_RSP_MSG_STAG_OFFSET 9 #define RTT_RSP_MSG_LEN 3 #define RTT_RSP_MSG_OFFSET 12 #define RTT_RSP_SRC_ADDR_LEN 10 #define RTT_RSP_SRC_ADDR_OFFSET 15 #define RTT_RSP_DST_ADDR_LEN 10 #define RTT_RSP_DST_ADDR_OFFSET 25 #define RTT_RSP_ARV_TIME_LEN 25 #define RTT_RSP_ARV_TIME_OFFSET 35 #define RTT_RSP_RESV_LEN 12 #define RTT_RSP_RESV_OFFSET 60 // ** RTT Response Extend Word ** // #define RTT_RSP_EX_RESV0_LEN 2 #define RTT_RSP_EX_RESV0_OFFSET 0 #define RTT_RSP_EX_WTAG_LEN 2 #define RTT_RSP_EX_WTAG_OFFSET 2 #define RTT_RSP_EX_TTAGL_LEN 32 #define RTT_RSP_EX_TTAGL_OFFSET 4 #define RTT_RSP_EX_TTAGH_LEN 32 #define RTT_RSP_EX_TTAGH_OFFSET 36 #define RTT_RSP_EX_RESV1_LEN 4 #define RTT_RSP_EX_RESV1_OFFSET 68 // ** RTT Response Continue Word ** // #define RTT_RSP_CONT_RESV0_LEN 2 #define RTT_RSP_CONT_RESV0_OFFSET 0 #define RTT_RSP_CONT_WTAG_LEN 2 #define RTT_RSP_CONT_WTAG_OFFSET 2 #define RTT_RSP_CONT_TAG_LEN 4 #define RTT_RSP_CONT_TAG_OFFSET 4 #define RTT_RSP_CONT_DOP_LEN 24 #define RTT_RSP_CONT_DOP_OFFSET 8 #define RTT_RSP_CONT_RESV1_LEN 40 #define RTT_RSP_CONT_RESV1_OFFSET 32 // ** 102 Network Exit Initial Word ** // #define NQT_MSG_SER_TAG_LEN 2 #define NQT_MSG_SER_TAG_OFFSET 0 #define NQT_MSG_WTAG_LEN 2 #define NQT_MSG_WTAG_OFFSET 2 #define NQT_MSG_MSG_TAG_LEN 5 #define NQT_MSG_MSG_TAG_OFFSET 4 #define NQT_MSG_MSG_STAG_LEN 3 #define NQT_MSG_MSG_STAG_OFFSET 9 #define NQT_MSG_MSG_LEN 3 #define NQT_MSG_MSG_OFFSET 12 #define NQT_MSG_CTRL_MUTE_LEN 7 #define NQT_MSG_CTRL_MUTE_OFFSET 15 #define NQT_MSG_OBJ_LEN 10 #define NQT_MSG_OBJ_OFFSET 22 #define NQT_MSG_RESV_LEN 40 #define NQT_MSG_RESV_OFFSET 32 // ** 103 Cluster Merge Message Initial Word ** // #define CMG_MSG_SER_TAG_LEN 2 #define CMG_MSG_SER_TAG_OFFSET 0 #define CMG_MSG_WTAG_LEN 2 #define CMG_MSG_WTAG_OFFSET 2 #define CMG_MSG_MSG_TAG_LEN 5 #define CMG_MSG_MSG_TAG_OFFSET 4 #define CMG_MSG_MSG_STAG_LEN 3 #define CMG_MSG_MSG_STAG_OFFSET 9 #define CMG_MSG_MSG_LEN 3 #define CMG_MSG_MSG_OFFSET 12 #define CMG_MSG_CTRL_MUTE_LEN 7 #define CMG_MSG_CTRL_MUTE_OFFSET 15 #define CMG_MSG_NEW_CLR_ADDR_LEN 10 #define CMG_MSG_NEW_CLR_ADDR_OFFSET 22 #define CMG_MSG_RESV_LEN 40 #define CMG_MSG_RESV_OFFSET 32 // ** 104 Backup Cluster Head Upgrade Message Initial Word ** // #define BCU_MSG_SER_TAG_LEN 2 #define BCU_MSG_SER_TAG_OFFSET 0 #define BCU_MSG_WTAG_LEN 2 #define BCU_MSG_WTAG_OFFSET 2 #define BCU_MSG_MSG_TAG_LEN 5 #define BCU_MSG_MSG_TAG_OFFSET 4 #define BCU_MSG_MSG_STAG_LEN 3 #define BCU_MSG_MSG_STAG_OFFSET 9 #define BCU_MSG_MSG_LEN 3 #define BCU_MSG_MSG_OFFSET 12 #define BCU_MSG_CTRL_MUTE_LEN 7 #define BCU_MSG_CTRL_MUTE_OFFSET 15 #define BCU_MSG_NEW_CLR_ADDR_LEN 10 #define BCU_MSG_NEW_CLR_ADDR_OFFSET 22 #define BCU_MSG_BEGIN_TUNIT_NUM_LEN 17 #define BCU_MSG_BEGIN_TUNIT_NUM_OFFSET 32 #define BCU_MSG_BEGIN_TFRANE_NUM_LEN 4 #define BCU_MSG_BEGIN_TFRANE_NUM_OFFSET 49 #define BCU_MSG_RESV_LEN 19 #define BCU_MSG_RESV_OFFSET 53 typedef enum { L2_MSG_NONE = 0, L2_MSG_BM = 1, L2_MSG_SCAN_INIT = 2, L2_MSG_SCAN_CONT_1 = 3, L2_MSG_SCAN_CONT_2 = 4, L2_MSG_SCAN_CONT_3 = 5, L2_MSG_SCAN_CONT_4 = 6, L2_MSG_SCAN_CONT_5 = 7, L2_MSG_TK_INIT = 8, L2_MSG_TK_EXTD = 9, L2_MSG_TK_CONT_1 = 10, L2_MSG_TK_CONT_2 = 11, L2_MSG_TK_CONT_3 = 12, L2_MSG_TA_INIT = 13, L2_MSG_TA_EXTD = 14, L2_MSG_TA_CONT_1 = 15, L2_MSG_TA_CONT_2 = 16, L2_MSG_MADJ_INIT = 17, L2_MSG_MADJ_EXTD = 18, L2_MSG_RTT_REQ_INIT = 19, L2_MSG_RTT_REQ_EXTD = 20, L2_MSG_RTT_REQ_CONT = 21, L2_MSG_RTT_RSP_INIT = 22, L2_MSG_RTT_RSP_EXTD = 23, L2_MSG_RTT_RSP_CONT = 24, L2_MSG_NQT_INIT = 25, L2_MSG_CMG_INIT = 26, L2_MSG_BCU_INIT = 27, L2_MSG_LINK_INIT = 28, L2_MSG_LINK_CONT_1 = 29 } L2_MSG_TYPE; typedef enum { L2_PDU_HEADER_NONE = 0, L2_PDU_HEADER_0 = 1, L2_PDU_HEADER_1 = 2 } L2_PDU_HEADER_TYPE; // Intra-cluster frames #define INTRA_BM_FRAME_LENGTH_MAX (232 / 8) // byte #define INTRA_W2ACQ_FRAME_LENGTH_MAX (2040 / 8) // byte #define INTRA_MGMT_FRAME_LENGTH_MAX (2040 / 8) // byte #define INTRA_TA_FRAME_LENGTH_MAX (2040 / 8) // byte #define INTRA_SVC_FRAME_LENGTH_MAX (2040 / 8) // byte #define INTRA_RTT_FRAME_LENGTH_MAX (2040 / 8) // byte // Inter-cluster frames #define INTER_BM_FRAME_LENGTH_MAX (312 / 8) // byte #define INTER_W2ACQ_FRAME_LENGTH_MAX (712 / 8) // byte #define W2ACQ_FRAME_CRC_DLEN ((NS_MSG_LEN * 4) / 8) // byte #define W2ACQ_FRAME_CRC_POS ((NS_MSG_LEN * 4 + NS_MSG_CONT_4_CRC_OFFSET) / 8) // byte #define INTER_MGMT_FRAME_LENGTH_MAX (2152 / 8) // byte #define INTER_TA_FRAME_LENGTH_MAX (2152 / 8) // byte #define INTER_SVC_FRAME_LENGTH_MAX (2152 / 8) // byte #define INTER_RTT_FRAME_LENGTH_MAX (2152 / 8) // byte extern L2_MSG_TYPE intraBmFrameMsgs[1]; extern L2_MSG_TYPE intraW2AcqFrameMsgs[6]; extern L2_MSG_TYPE intraMgmtFrameMsgs[6]; extern L2_MSG_TYPE taFrameMsgs[4]; extern L2_MSG_TYPE interSvcFrameMsgs[2]; extern L2_MSG_TYPE rttReqFrameMsgs[3]; extern L2_MSG_TYPE rttRspFrameMsgs[3]; #endif // MSG_DEF_H_