📄 sdla_fr.h
字号:
fpipemon_trc_hdr_t fpipemon_trc_hdr PACKED; unsigned char data[FR_MAX_NO_DATA_BYTES_IN_FRAME] PACKED;} fpipemon_trc_t;/* bit settings for the 'status' byte - note that bits 1, 2 and 3 are used *//* for returning the number of frames being passed to fpipemon */#define TRC_OUTGOING_FRM 0x01#define TRC_ABORT_ERROR 0x10#define TRC_CRC_ERROR 0x20#define TRC_OVERRUN_ERROR 0x40#define MORE_TRC_DATA 0x80#define MAX_FRMS_TRACED 0x07#define NO_TRC_ELEMENTS_OFF 0x9000#define BASE_TRC_ELEMENTS_OFF 0x9002#define TRC_ACTIVE 0x01#define FLUSH_TRC_BUFFERS 0x02#define FLUSH_TRC_STATISTICS 0x04#define TRC_SIGNALLING_FRMS 0x10#define TRC_INFO_FRMS 0x20#define ACTIVATE_TRC (TRC_ACTIVE | TRC_SIGNALLING_FRMS | TRC_INFO_FRMS)#define RESET_TRC (FLUSH_TRC_BUFFERS | FLUSH_TRC_STATISTICS)/*---------------------------------------------------------------------------- * Channel configuration. * This structure is passed to the FR_SET_CONFIG command when dlci != 0. */typedef struct fr_dlc_conf{ unsigned short conf_flags PACKED; /* 00h: configuration bits */ unsigned short cir_fwd PACKED; /* 02h: */ unsigned short bc_fwd PACKED; /* 04h: */ unsigned short be_fwd PACKED; /* 06h: */ unsigned short cir_bwd PACKED; /* 08h: */ unsigned short bc_bwd PACKED; /* 0Ah: */ unsigned short be_bwd PACKED; /* 0Ch: */} fr_dlc_conf_t;/*---------------------------------------------------------------------------- * S502 interrupt mode control block. * This structure is passed to the FR_SET_INTR_FLAGS and returned by the * FR_READ_INTR_FLAGS commands. */typedef struct fr502_intr_ctl{ unsigned char mode PACKED; /* 00h: interrupt enable flags */ unsigned short tx_len PACKED; /* 01h: required Tx buffer size */} fr502_intr_ctl_t;/*---------------------------------------------------------------------------- * S508 interrupt mode control block. * This structure is passed to the FR_SET_INTR_FLAGS and returned by the * FR_READ_INTR_FLAGS commands. */typedef struct fr508_intr_ctl{ unsigned char mode PACKED; /* 00h: interrupt enable flags */ unsigned short tx_len PACKED; /* 01h: required Tx buffer size */ unsigned char irq PACKED; /* 03h: IRQ level to activate */ unsigned char flags PACKED; /* 04h: ?? */ unsigned short timeout PACKED; /* 05h: ms, for timer interrupt */} fr508_intr_ctl_t;/*---------------------------------------------------------------------------- * Channel status. * This structure is returned by the FR_READ_STATUS command. */typedef struct fr_dlc_Status{ unsigned char status PACKED; /* 00h: link/DLCI status */ struct { unsigned short dlci PACKED; /* 01h: DLCI number */ unsigned char status PACKED; /* 03h: DLCI status */ } circuit[1] PACKED;} fr_dlc_status_t;/* 'status' defines */#define FR_LINK_INOPER 0x00 /* for global status (DLCI == 0) */#define FR_LINK_OPER 0x01#define FR_DLCI_DELETED 0x01 /* for circuit status (DLCI != 0) */#define FR_DLCI_ACTIVE 0x02#define FR_DLCI_WAITING 0x04#define FR_DLCI_NEW 0x08#define FR_DLCI_REPORT 0x40/*---------------------------------------------------------------------------- * Global Statistics Block. * This structure is returned by the FR_READ_STATISTICS command when * dcli == 0. */typedef struct fr_link_stat{ unsigned short rx_too_long PACKED; /* 00h: */ unsigned short rx_dropped PACKED; /* 02h: */ unsigned short rx_dropped2 PACKED; /* 04h: */ unsigned short rx_bad_dlci PACKED; /* 06h: */ unsigned short rx_bad_format PACKED; /* 08h: */ unsigned short retransmitted PACKED; /* 0Ah: */ unsigned short cpe_tx_FSE PACKED; /* 0Ch: */ unsigned short cpe_tx_LIV PACKED; /* 0Eh: */ unsigned short cpe_rx_FSR PACKED; /* 10h: */ unsigned short cpe_rx_LIV PACKED; /* 12h: */ unsigned short node_rx_FSE PACKED; /* 14h: */ unsigned short node_rx_LIV PACKED; /* 16h: */ unsigned short node_tx_FSR PACKED; /* 18h: */ unsigned short node_tx_LIV PACKED; /* 1Ah: */ unsigned short rx_ISF_err PACKED; /* 1Ch: */ unsigned short rx_unsolicited PACKED; /* 1Eh: */ unsigned short rx_SSN_err PACKED; /* 20h: */ unsigned short rx_RSN_err PACKED; /* 22h: */ unsigned short T391_timeouts PACKED; /* 24h: */ unsigned short T392_timeouts PACKED; /* 26h: */ unsigned short N392_reached PACKED; /* 28h: */ unsigned short cpe_SSN_RSN PACKED; /* 2Ah: */ unsigned short current_SSN PACKED; /* 2Ch: */ unsigned short current_RSN PACKED; /* 2Eh: */ unsigned short curreny_T391 PACKED; /* 30h: */ unsigned short current_T392 PACKED; /* 32h: */ unsigned short current_N392 PACKED; /* 34h: */ unsigned short current_N393 PACKED; /* 36h: */} fr_link_stat_t;/*---------------------------------------------------------------------------- * DLCI statistics. * This structure is returned by the FR_READ_STATISTICS command when * dlci != 0. */typedef struct fr_dlci_stat{ unsigned long tx_frames PACKED; /* 00h: */ unsigned long tx_bytes PACKED; /* 04h: */ unsigned long rx_frames PACKED; /* 08h: */ unsigned long rx_bytes PACKED; /* 0Ch: */ unsigned long rx_dropped PACKED; /* 10h: */ unsigned long rx_inactive PACKED; /* 14h: */ unsigned long rx_exceed_CIR PACKED; /* 18h: */ unsigned long rx_DE_set PACKED; /* 1Ch: */ unsigned long tx_throughput PACKED; /* 20h: */ unsigned long tx_calc_timer PACKED; /* 24h: */ unsigned long rx_throughput PACKED; /* 28h: */ unsigned long rx_calc_timer PACKED; /* 2Ch: */} fr_dlci_stat_t;/*---------------------------------------------------------------------------- * Communications error statistics. * This structure is returned by the FR_READ_ERROR_STATS command. */typedef struct fr_comm_stat{ unsigned char rx_overruns PACKED; /* 00h: */ unsigned char rx_bad_crc PACKED; /* 01h: */ unsigned char rx_aborts PACKED; /* 02h: */ unsigned char rx_too_long PACKED; /* 03h: */ unsigned char tx_aborts PACKED; /* 04h: */ unsigned char tx_underruns PACKED; /* 05h: */ unsigned char tx_missed_undr PACKED; /* 06h: */ unsigned char dcd_dropped PACKED; /* 07h: */ unsigned char cts_dropped PACKED; /* 08h: */} fr_comm_stat_t;/*---------------------------------------------------------------------------- * Defines for the FR_ISSUE_IS_FRAME command. */#define FR_ISF_LVE 2 /* issue Link Verification Enquiry */#define FR_ISF_FSE 3 /* issue Full Status Enquiry *//*---------------------------------------------------------------------------- * Frame Relay ARP Header -- Used for Dynamic route creation with InvARP */typedef struct arphdr_fr { unsigned short ar_hrd PACKED; /* format of hardware addr */ unsigned short ar_pro PACKED; /* format of protocol addr */ unsigned char ar_hln PACKED; /* length of hardware addr */ unsigned char ar_pln PACKED; /* length of protocol addr */ unsigned short ar_op PACKED; /* ARP opcode */ unsigned short ar_sha PACKED; /* Sender DLCI addr 2 bytes */ unsigned long ar_sip PACKED; /* Sender IP addr 4 bytes */ unsigned short ar_tha PACKED; /* Target DLCI addr 2 bytes */ unsigned long ar_tip PACKED; /* Target IP addr 4 bytes */ } arphdr_fr_t;/*---------------------------------------------------------------------------- * Frame Relay RFC 1490 SNAP Header -- Used to check for ARP packets */typedef struct arphdr_1490 { unsigned char control PACKED; /* UI, etc... */ unsigned char pad PACKED; /* Pad */ unsigned char NLPID PACKED; /* SNAP */ unsigned char OUI[3] PACKED; /* Ethertype, etc... */ unsigned short PID PACKED; /* ARP, IP, etc... */ } arphdr_1490_t;/* UDP/IP packet (for UDP management) layout *//* 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; /* command code */ unsigned short length PACKED; /* length of data buffer */ unsigned char result PACKED; /* return code */ unsigned short dlci PACKED; /* DLCI number */ unsigned char attr PACKED; /* FECN, BECN, DE and C/R bits */ unsigned short rxlost1 PACKED; /* frames discarded at int. level */ unsigned long rxlost2 PACKED; /* frames discarded at app. level */ unsigned char rsrv[2] PACKED; /* reserved for future use */} cblock_t;/* UDP management packet layout (data area of ip packet) */typedef struct { unsigned char control PACKED; unsigned char NLPID PACKED;} fr_encap_hdr_t;typedef struct {// fr_encap_hdr_t fr_encap_hdr PACKED; ip_pkt_t ip_pkt PACKED; udp_pkt_t udp_pkt PACKED; wp_mgmt_t wp_mgmt PACKED; cblock_t cblock PACKED; unsigned char data[4080] PACKED;} fr_udp_pkt_t;/* valid ip_protocol for UDP management */#define UDPMGMT_UDP_PROTOCOL 0x11#define UDPMGMT_FPIPE_SIGNATURE "FPIPE8ND"#define UDPMGMT_DRVRSTATS_SIGNATURE "DRVSTATS"/* values for request/reply byte */#define UDPMGMT_REQUEST 0x01#define UDPMGMT_REPLY 0x02#define UDP_OFFSET 12typedef struct { unsigned long if_send_entry; unsigned long if_send_skb_null; unsigned long if_send_broadcast; unsigned long if_send_multicast; unsigned long if_send_critical_ISR; unsigned long if_send_critical_non_ISR; unsigned long if_send_busy; unsigned long if_send_busy_timeout; unsigned long if_send_DRVSTATS_request; unsigned long if_send_FPIPE_request; unsigned long if_send_wan_disconnected; unsigned long if_send_dlci_disconnected; unsigned long if_send_no_bfrs; unsigned long if_send_adptr_bfrs_full; unsigned long if_send_bfrs_passed_to_adptr; unsigned long if_send_consec_send_fail;} drvstats_if_send_t; typedef struct { unsigned long rx_intr_no_socket; unsigned long rx_intr_dev_not_started; unsigned long rx_intr_DRVSTATS_request; unsigned long rx_intr_FPIPE_request; unsigned long rx_intr_bfr_not_passed_to_stack; unsigned long rx_intr_bfr_passed_to_stack; } drvstats_rx_intr_t;typedef struct { unsigned long UDP_FPIPE_mgmt_kmalloc_err; unsigned long UDP_FPIPE_mgmt_direction_err; unsigned long UDP_FPIPE_mgmt_adptr_type_err; unsigned long UDP_FPIPE_mgmt_adptr_cmnd_OK; unsigned long UDP_FPIPE_mgmt_adptr_cmnd_timeout; unsigned long UDP_FPIPE_mgmt_adptr_send_passed; unsigned long UDP_FPIPE_mgmt_adptr_send_failed; unsigned long UDP_FPIPE_mgmt_not_passed_to_stack; unsigned long UDP_FPIPE_mgmt_passed_to_stack; unsigned long UDP_FPIPE_mgmt_no_socket; unsigned long UDP_DRVSTATS_mgmt_kmalloc_err; unsigned long UDP_DRVSTATS_mgmt_adptr_cmnd_OK; unsigned long UDP_DRVSTATS_mgmt_adptr_cmnd_timeout; unsigned long UDP_DRVSTATS_mgmt_adptr_send_passed; unsigned long UDP_DRVSTATS_mgmt_adptr_send_failed; unsigned long UDP_DRVSTATS_mgmt_not_passed_to_stack; unsigned long UDP_DRVSTATS_mgmt_passed_to_stack; unsigned long UDP_DRVSTATS_mgmt_no_socket;} drvstats_gen_t;typedef struct { unsigned char attr 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;#ifdef _MSC_# pragma pack()#endif#endif /* _SDLA_FR_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -