wanpipe/patches/kdrivers/include/sdla_bscmp.h

144 lines
4.3 KiB
C
Raw Normal View History

2021-12-29 16:56:27 +00:00
#ifndef _BSC_HEADER_
#define _BSC_HEADER_
2021-12-29 17:02:04 +00:00
#ifndef PACKED
#define PACKED __attribute__((packed))
#endif /* PACKED */
2021-12-29 16:56:27 +00:00
/*========== MAILBOX COMMANDS AND RETURN CODES ==========*/
#define BSC_READ 0x00
#define BSC_WRITE 0x01
#define OPEN_LINK 0x02
#define CLOSE_LINK 0x03
#define CAM_WRITE 0x04
#define CAM_READ 0x05
#define LINK_STATUS 0x06
#define READ_OPERATIONAL_STATISTICS 0x07
#define FLUSH_OPERATIONAL_STATISTICS 0x08
#define READ_COMMS_ERROR_STATISTICS 0x09
#define FLUSH_COMMS_ERROR_STATISTICS 0x0A
#define READ_BSC_ERROR_STATISTICS 0x0B
#define FLUSH_BSC_ERROR_STATISTICS 0x0C
#define FLUSH_BSC_TEXT_BUFFERS 0x0D
#define SET_CONFIGURATION 0x0E
#define READ_CONFIGURATION 0x0F
#define SET_MODEM_STATUS 0x10
#define READ_MODEM_STATUS 0x11
#define READ_CODE_VERSION 0x12
#define ADD_STATION 0x20
#define DELETE_STATION 0x21
#define DELETE_ALL_STATIONS 0x22
#define LIST_STATIONS 0x23
#define SET_GENERAL_OR_SPECIFIC_POLL 0x24
#define SET_STATION_STATUS 0x25
#define READ_STATE_DIAGNOSTICS 0x30
#define UNUSED_CMD_FOR_EVENTS 0x7e
#define Z80_TIMEOUT_ERROR 0x0a
#define DATA_LENGTH_TOO_BIG 0x03
#define BSC_SENDBOX 0xF000 /* send mailbox */
#define MDATALEN 4000
#define MBOX_HEADER_SZ 15
/* for point-to-point, ignore station_number and address fields in CBLOCK */
/* note: structure must be packed on 1-byte boundaries
and for a block this size, it is not wise to allocate it on
the stack - should be a static global
*/
/* control block */
typedef struct {
2021-12-29 17:02:04 +00:00
unsigned char opp_flag PACKED;
unsigned char command PACKED;
unsigned short buffer_length PACKED;
unsigned char return_code PACKED;
unsigned char misc_tx_rx_bits PACKED;
unsigned short heading_length PACKED;
unsigned short notify PACKED;
unsigned char station PACKED;
unsigned char poll_address PACKED;
unsigned char select_address PACKED;
unsigned char device_address PACKED;
unsigned char notify_extended PACKED;
unsigned char reserved PACKED;
unsigned char data[MDATALEN] PACKED;
2021-12-29 16:56:27 +00:00
} BSC_MAILBOX_STRUCT;
typedef struct {
2021-12-29 17:02:04 +00:00
unsigned char line_speed_number PACKED;
unsigned short max_data_frame_size PACKED;
unsigned char secondary_station PACKED;
unsigned char num_consec_PAD_eof PACKED;
unsigned char num_add_lead_SYN PACKED;
unsigned char conversational_mode PACKED;
unsigned char pp_dial_up_operation PACKED;
unsigned char switched_CTS_RTS PACKED;
unsigned char EBCDIC_encoding PACKED;
unsigned char auto_open PACKED;
unsigned char misc_bits PACKED;
unsigned char protocol_options1 PACKED;
unsigned char protocol_options2 PACKED;
unsigned short reserved_pp PACKED;
unsigned char max_retransmissions PACKED;
unsigned short fast_poll_retries PACKED;
unsigned short TTD_retries PACKED;
unsigned short restart_timer PACKED;
unsigned short pp_slow_restart_timer PACKED;
unsigned short TTD_timer PACKED;
unsigned short pp_delay_between_EOT_ENQ PACKED;
unsigned short response_timer PACKED;
unsigned short rx_data_timer PACKED;
unsigned short NAK_retrans_delay_timer PACKED;
unsigned short wait_CTS_timer PACKED;
unsigned char mp_max_consec_ETX PACKED;
unsigned char mp_general_poll_address PACKED;
unsigned short sec_poll_timeout PACKED;
unsigned char pri_poll_skips_inactive PACKED;
unsigned char sec_additional_stn_send_gpoll PACKED;
unsigned char pri_select_retries PACKED;
unsigned char mp_multipoint_options PACKED;
unsigned short reserved PACKED;
2021-12-29 16:56:27 +00:00
} BSC_CONFIG_STRUCT;
typedef struct {
2021-12-29 17:02:04 +00:00
unsigned char max_tx_queue PACKED;
unsigned char max_rx_queue PACKED;
unsigned char station_flags PACKED;
2021-12-29 16:56:27 +00:00
}ADD_STATION_STRUCT;
typedef struct {
2021-12-29 17:02:04 +00:00
unsigned char station PACKED;
unsigned short time_stamp PACKED;
unsigned char reserved[13] PACKED;
2021-12-29 16:56:27 +00:00
} api_rx_hdr_t;
typedef struct {
2021-12-29 17:02:04 +00:00
api_rx_hdr_t api_rx_hdr PACKED;
void * data PACKED;
2021-12-29 16:56:27 +00:00
} api_rx_element_t;
typedef struct {
2021-12-29 17:02:04 +00:00
unsigned char station PACKED;
unsigned char misc_tx_rx_bits PACKED;
unsigned char reserved[14] PACKED;
2021-12-29 16:56:27 +00:00
} api_tx_hdr_t;
typedef struct {
2021-12-29 17:02:04 +00:00
api_tx_hdr_t api_tx_hdr PACKED;
void * data PACKED;
2021-12-29 16:56:27 +00:00
} api_tx_element_t;
#define SIOC_WANPIPE_EXEC_CMD SIOC_WANPIPE_DEVPRIVATE
#endif