📄 sdla_chdlc.h
字号:
#define TRACE_DATA_AVAIL_APP_INT_PEND 0x80 /* a trace data available interrupt is pending *//* modem status changes */#define DCD_HIGH 0x08#define CTS_HIGH 0x20/* ---------------------------------------------------------------------------- * Constants for Data frame transmission * --------------------------------------------------------------------------*//* the Data frame transmit status element configuration structure */typedef struct { unsigned short number_Tx_status_elements PACKED; /* number of transmit status elements */ unsigned long base_addr_Tx_status_elements PACKED; /* base address of the transmit element list */ unsigned long next_Tx_status_element_to_use PACKED; /* pointer to the next transmit element to be used */} CHDLC_TX_STATUS_EL_CFG_STRUCT;/* the Data frame transmit status element structure */typedef struct { unsigned char opp_flag PACKED; /* opp flag */ unsigned short frame_length PACKED; /* length of the frame to be transmitted */ unsigned char reserved_1 PACKED; /* reserved for internal use */ unsigned long reserved_2 PACKED; /* reserved for internal use */ unsigned long reserved_3 PACKED; /* reserved for internal use */ unsigned long ptr_data_bfr PACKED; /* pointer to the data area */} CHDLC_DATA_TX_STATUS_EL_STRUCT;/* ---------------------------------------------------------------------------- * Constants for Data frame reception * --------------------------------------------------------------------------*//* the Data frame receive status element configuration structure */typedef struct { unsigned short number_Rx_status_elements PACKED; /* number of receive status elements */ unsigned long base_addr_Rx_status_elements PACKED; /* base address of the receive element list */ unsigned long next_Rx_status_element_to_use PACKED; /* pointer to the next receive element to be used */ unsigned long base_addr_Rx_buffer PACKED; /* base address of the receive data buffer */ unsigned long end_addr_Rx_buffer PACKED; /* end address of the receive data buffer */} CHDLC_RX_STATUS_EL_CFG_STRUCT;/* the Data frame receive status element structure */typedef struct { unsigned char opp_flag PACKED; /* opp flag */ unsigned short frame_length PACKED; /* length of the received frame */ unsigned char error_flag PACKED; /* frame errors (HDLC_STREAMING_MODE)*/ unsigned short time_stamp PACKED; /* receive time stamp (HDLC_STREAMING_MODE) */ unsigned long reserved_1 PACKED; /* reserved for internal use */ unsigned short reserved_2 PACKED; /* reserved for internal use */ unsigned long ptr_data_bfr PACKED; /* pointer to the data area */} CHDLC_DATA_RX_STATUS_EL_STRUCT;/* ---------------------------------------------------------------------------- * Constants defining the shared memory information area * --------------------------------------------------------------------------*//* the global information structure */typedef struct { unsigned char global_status PACKED; /* global status */ unsigned char modem_status PACKED; /* current modem status */ unsigned char global_excep_conditions PACKED; /* global exception conditions */ unsigned char glob_info_reserved[5] PACKED; /* reserved */ unsigned char codename[4] PACKED; /* Firmware name */ unsigned char codeversion[4] PACKED; /* Firmware version */} GLOBAL_INFORMATION_STRUCT;/* the CHDLC information structure */typedef struct { unsigned char CHDLC_status PACKED; /* CHDLC status */ unsigned char CHDLC_excep_conditions PACKED; /* CHDLC exception conditions */ unsigned char CHDLC_info_reserved[14] PACKED; /* reserved */} CHDLC_INFORMATION_STRUCT;/* the interrupt information structure */typedef struct { unsigned char interrupt_type PACKED; /* type of interrupt triggered */ unsigned char interrupt_permission PACKED; /* interrupt permission mask */ unsigned char int_info_reserved[14] PACKED; /* reserved */} INTERRUPT_INFORMATION_STRUCT;/* the S508/FT1 information structure */typedef struct { unsigned char parallel_port_A_input PACKED; /* input - parallel port A */ unsigned char parallel_port_B_input PACKED; /* input - parallel port B */ unsigned char FT1_info_reserved[14] PACKED; /* reserved */} FT1_INFORMATION_STRUCT;/* the shared memory area information structure */typedef struct { GLOBAL_INFORMATION_STRUCT global_info_struct PACKED; /* the global information structure */ CHDLC_INFORMATION_STRUCT CHDLC_info_struct PACKED; /* the CHDLC information structure */ INTERRUPT_INFORMATION_STRUCT interrupt_info_struct PACKED; /* the interrupt information structure */ FT1_INFORMATION_STRUCT FT1_info_struct PACKED; /* the S508/FT1 information structure */} SHARED_MEMORY_INFO_STRUCT;/* ---------------------------------------------------------------------------- * UDP Management constants and structures * --------------------------------------------------------------------------*//* The embedded control block for UDP mgmt This is essentially a mailbox structure, without the large data field */typedef struct { unsigned char opp_flag PACKED; /* the opp flag */ unsigned char command PACKED; /* the user command */ unsigned short buffer_length PACKED; /* the data length */ unsigned char return_code PACKED; /* the return code */ unsigned char MB_reserved[NUMBER_MB_RESERVED_BYTES] PACKED; /* reserved for later */} cblock_t;/* UDP management packet layout (data area of ip packet) *//*typedef struct { unsigned char signature[8] PACKED; unsigned char request_reply PACKED; unsigned char id PACKED; unsigned char reserved[6] PACKED; cblock_t cblock PACKED; unsigned char num_frames PACKED; unsigned char ismoredata PACKED; unsigned char data[SIZEOF_MB_DATA_BFR] PACKED;} udp_management_packet_t;*/typedef struct { unsigned char num_frames PACKED; unsigned char ismoredata PACKED;} trace_info_t;typedef struct { ip_pkt_t ip_pkt PACKED; udp_pkt_t udp_pkt PACKED; wp_mgmt_t wp_mgmt PACKED; cblock_t cblock PACKED; trace_info_t trace_info PACKED; unsigned char data[SIZEOF_MB_DATA_BFR] PACKED;} chdlc_udp_pkt_t;typedef struct ft1_exec_cmd{ unsigned char command PACKED; /* the user command */ unsigned short buffer_length PACKED; /* the data length */ unsigned char return_code PACKED; /* the return code */ unsigned char MB_reserved[NUMBER_MB_RESERVED_BYTES] PACKED;} ft1_exec_cmd_t;typedef struct { unsigned char opp_flag PACKED; ft1_exec_cmd_t cmd PACKED; unsigned char data[SIZEOF_MB_DATA_BFR] PACKED;} ft1_exec_t;#define UDPMGMT_SIGNATURE "CTPIPEAB"/* UDP/IP packet (for UDP management) layout *//*typedef struct { unsigned char reserved[2] PACKED; unsigned short ip_length PACKED; unsigned char reserved2[4] PACKED; unsigned char ip_ttl PACKED; unsigned char ip_protocol PACKED; unsigned short ip_checksum PACKED; unsigned long ip_src_address PACKED; unsigned long ip_dst_address PACKED; unsigned short udp_src_port PACKED; unsigned short udp_dst_port PACKED; unsigned short udp_length PACKED; unsigned short udp_checksum PACKED; udp_management_packet_t um_packet PACKED;} ip_packet_t;*//* valid ip_protocol for UDP management */#define UDPMGMT_UDP_PROTOCOL 0x11typedef struct { unsigned char status PACKED; unsigned char data_avail PACKED; unsigned short real_length PACKED; unsigned short time_stamp PACKED; unsigned char data[1] PACKED;} trace_pkt_t;typedef struct { unsigned char error_flag PACKED; unsigned short time_stamp PACKED; unsigned char reserved[13] PACKED;} api_rx_hdr_t;typedef struct { api_rx_hdr_t api_rx_hdr PACKED; void * data PACKED;} api_rx_element_t;typedef struct { unsigned char attr PACKED; unsigned char reserved[15] PACKED;} api_tx_hdr_t;typedef struct { api_tx_hdr_t api_tx_hdr PACKED; void * data PACKED;} api_tx_element_t;/* ---------------------------------------------------------------------------- * Constants for the SET_FT1_CONFIGURATION/READ_FT1_CONFIGURATION command * --------------------------------------------------------------------------*//* the FT1 configuration structure */typedef struct { unsigned short framing_mode; unsigned short encoding_mode; unsigned short line_build_out; unsigned short channel_base; unsigned short baud_rate_kbps; /* the baud rate (in kbps) */ unsigned short clock_mode;} ft1_config_t;/* settings for the 'framing_mode' */#define ESF_FRAMING 0x00 /* ESF framing */#define D4_FRAMING 0x01 /* D4 framing *//* settings for the 'encoding_mode' */#define B8ZS_ENCODING 0x00 /* B8ZS encoding */#define AMI_ENCODING 0x01 /* AMI encoding *//* settings for the 'line_build_out' */#define LN_BLD_CSU_0dB_DSX1_0_to_133 0x00 /* set build out to CSU (0db) or DSX-1 (0-133ft) */#define LN_BLD_DSX1_133_to_266 0x01 /* set build out DSX-1 (133-266ft) */#define LN_BLD_DSX1_266_to_399 0x02 /* set build out DSX-1 (266-399ft) */#define LN_BLD_DSX1_399_to_533 0x03 /* set build out DSX-1 (399-533ft) */#define LN_BLD_DSX1_533_to_655 0x04 /* set build out DSX-1 (533-655ft) */#define LN_BLD_CSU_NEG_7dB 0x05 /* set build out to CSU (-7.5db) */#define LN_BLD_CSU_NEG_15dB 0x06 /* set build out to CSU (-15db) */#define LN_BLD_CSU_NEG_22dB 0x07 /* set build out to CSU (-22.5db) *//* settings for the 'channel_base' */#define MIN_CHANNEL_BASE_VALUE 1 /* the minimum permitted channel base value */#define MAX_CHANNEL_BASE_VALUE 24 /* the maximum permitted channel base value *//* settings for the 'baud_rate_kbps' */#define MIN_BAUD_RATE_KBPS 0 /* the minimum permitted baud rate (kbps) */#define MAX_BAUD_RATE_KBPS 1536 /* the maximum permitted baud rate (kbps) */#define BAUD_RATE_FT1_AUTO_CONFIG 0xFFFF /* the baud rate used to trigger an automatic FT1 configuration *//* settings for the 'clock_mode' */#define CLOCK_MODE_NORMAL 0x00 /* clock mode set to normal (slave) */#define CLOCK_MODE_MASTER 0x01 /* clock mode set to master */#define BAUD_RATE_FT1_AUTO_CONFIG 0xFFFF#define AUTO_FT1_CONFIG_NOT_COMPLETE 0x08#define AUTO_FT1_CFG_FAIL_OP_MODE 0x0C#define AUTO_FT1_CFG_FAIL_INVALID_LINE 0x0D #ifdef _MSC_# pragma pack()#endif#endif /* _SDLA_CHDLC_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -