Files
datalink_repo/datalink814_ge/src/linklayer/msg_def.h
T
2023-12-26 22:04:40 +08:00

614 lines
20 KiB
C

/*****************************************************************************/
/**
* 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_