📄 wanrouter.h
字号:
unsigned tty_mode; /* TTY operation mode SYNC or ASYNC */ char backup; /* Backup Mode */ unsigned hw_opt[4]; /* other hardware options */ unsigned reserved[4]; /****** arbitrary data ***************/ unsigned data_size; /* data buffer size */ void* data; /* data buffer, e.g. firmware */ union /****** protocol-specific ************/ { wan_x25_conf_t x25; /* X.25 configuration */ wan_ppp_conf_t ppp; /* PPP configuration */ wan_fr_conf_t fr; /* frame relay configuration */ wan_chdlc_conf_t chdlc; /* Cisco HDLC configuration */ } u;} wandev_conf_t;/* 'config_id' definitions */#define WANCONFIG_X25 101 /* X.25 link */#define WANCONFIG_FR 102 /* frame relay link */#define WANCONFIG_PPP 103 /* synchronous PPP link */#define WANCONFIG_CHDLC 104 /* Cisco HDLC Link */#define WANCONFIG_BSC 105 /* BiSync Streaming */#define WANCONFIG_HDLC 106 /* HDLC Support */#define WANCONFIG_MPPP 107 /* Multi Port PPP over RAW CHDLC *//* * Configuration options defines. *//* general options */#define WANOPT_OFF 0#define WANOPT_ON 1#define WANOPT_NO 0#define WANOPT_YES 1/* intercace options */#define WANOPT_RS232 0#define WANOPT_V35 1/* data encoding options */#define WANOPT_NRZ 0#define WANOPT_NRZI 1#define WANOPT_FM0 2#define WANOPT_FM1 3/* link type options */#define WANOPT_POINTTOPOINT 0 /* RTS always active */#define WANOPT_MULTIDROP 1 /* RTS is active when transmitting *//* clocking options */#define WANOPT_EXTERNAL 0#define WANOPT_INTERNAL 1/* station options */#define WANOPT_DTE 0#define WANOPT_DCE 1#define WANOPT_CPE 0#define WANOPT_NODE 1#define WANOPT_SECONDARY 0#define WANOPT_PRIMARY 1/* connection options */#define WANOPT_PERMANENT 0 /* DTR always active */#define WANOPT_SWITCHED 1 /* use DTR to setup link (dial-up) */#define WANOPT_ONDEMAND 2 /* activate DTR only before sending *//* frame relay in-channel signalling */#define WANOPT_FR_ANSI 1 /* ANSI T1.617 Annex D */#define WANOPT_FR_Q933 2 /* ITU Q.933A */#define WANOPT_FR_LMI 3 /* LMI *//* PPP IP Mode Options */#define WANOPT_PPP_STATIC 0#define WANOPT_PPP_HOST 1#define WANOPT_PPP_PEER 2/* ASY Mode Options */#define WANOPT_ONE 1#define WANOPT_TWO 2#define WANOPT_ONE_AND_HALF 3#define WANOPT_NONE 0#define WANOPT_ODD 1#define WANOPT_EVEN 2/* CHDLC Protocol Options *//* DF Commmented out for now.#define WANOPT_CHDLC_NO_DCD IGNORE_DCD_FOR_LINK_STAT#define WANOPT_CHDLC_NO_CTS IGNORE_CTS_FOR_LINK_STAT#define WANOPT_CHDLC_NO_KEEPALIVE IGNORE_KPALV_FOR_LINK_STAT*//* Port options */#define WANOPT_PRI 0#define WANOPT_SEC 1/* read mode */#define WANOPT_INTR 0#define WANOPT_POLL 1#define WANOPT_TTY_SYNC 0#define WANOPT_TTY_ASYNC 1/*---------------------------------------------------------------------------- * WAN Link Status Info (for ROUTER_STAT IOCTL). */typedef struct wandev_stat{ unsigned state; /* link state */ unsigned ndev; /* number of configured interfaces */ /* link/interface configuration */ unsigned connection; /* permanent/switched/on-demand */ unsigned media_type; /* Frame relay/PPP/X.25/SDLC, etc. */ unsigned mtu; /* max. transmit unit for this device */ /* physical level statistics */ unsigned modem_status; /* modem status */ unsigned rx_frames; /* received frames count */ unsigned rx_overruns; /* receiver overrun error count */ unsigned rx_crc_err; /* receive CRC error count */ unsigned rx_aborts; /* received aborted frames count */ unsigned rx_bad_length; /* unexpetedly long/short frames count */ unsigned rx_dropped; /* frames discarded at device level */ unsigned tx_frames; /* transmitted frames count */ unsigned tx_underruns; /* aborted transmissions (underruns) count */ unsigned tx_timeouts; /* transmission timeouts */ unsigned tx_rejects; /* other transmit errors */ /* media level statistics */ unsigned rx_bad_format; /* frames with invalid format */ unsigned rx_bad_addr; /* frames with invalid media address */ unsigned tx_retries; /* frames re-transmitted */ unsigned reserved[16]; /* reserved for future use */} wandev_stat_t;/* 'state' defines */enum wan_states{ WAN_UNCONFIGURED, /* link/channel is not configured */ WAN_DISCONNECTED, /* link/channel is disconnected */ WAN_CONNECTING, /* connection is in progress */ WAN_CONNECTED, /* link/channel is operational */ WAN_LIMIT, /* for verification only */ WAN_DUALPORT, /* for Dual Port cards */ WAN_DISCONNECTING, WAN_FT1_READY /* FT1 Configurator Ready */};enum { WAN_LOCAL_IP, WAN_POINTOPOINT_IP, WAN_NETMASK_IP, WAN_BROADCAST_IP};/* 'modem_status' masks */#define WAN_MODEM_CTS 0x0001 /* CTS line active */#define WAN_MODEM_DCD 0x0002 /* DCD line active */#define WAN_MODEM_DTR 0x0010 /* DTR line active */#define WAN_MODEM_RTS 0x0020 /* RTS line active *//*---------------------------------------------------------------------------- * WAN interface (logical channel) configuration (for ROUTER_IFNEW IOCTL). */typedef struct wanif_conf{ unsigned magic; /* magic number */ unsigned config_id; /* configuration identifier */ char name[WAN_IFNAME_SZ+1]; /* interface name, ASCIIZ */ char addr[WAN_ADDRESS_SZ+1]; /* media address, ASCIIZ */ char usedby[USED_BY_FIELD]; /* used by API or WANPIPE */ unsigned idle_timeout; /* sec, before disconnecting */ unsigned hold_timeout; /* sec, before re-connecting */ unsigned cir; /* Committed Information Rate fwd,bwd*/ unsigned bc; /* Committed Burst Size fwd, bwd */ unsigned be; /* Excess Burst Size fwd, bwd */ unsigned char enable_IPX; /* Enable or Disable IPX */ unsigned char inarp; /* Send Inverse ARP requests Y/N */ unsigned inarp_interval; /* sec, between InARP requests */ unsigned long network_number; /* Network Number for IPX */ char mc; /* Multicast on or off */ char local_addr[WAN_ADDRESS_SZ+1];/* local media address, ASCIIZ */ unsigned char port; /* board port */ unsigned char protocol; /* prococol used in this channel (TCPOX25 or X25) */ char pap; /* PAP enabled or disabled */ char chap; /* CHAP enabled or disabled */ unsigned char userid[511]; /* List of User Id */ unsigned char passwd[511]; /* List of passwords */ unsigned char sysname[31]; /* Name of the system */ unsigned char ignore_dcd; /* Protocol options: */ unsigned char ignore_cts; /* Ignore these to determine */ unsigned char ignore_keepalive; /* link status (Yes or No) */ unsigned char hdlc_streaming; /* Hdlc streaming mode (Y/N) */ unsigned keepalive_tx_tmr; /* transmit keepalive timer */ unsigned keepalive_rx_tmr; /* receive keepalive timer */ unsigned keepalive_err_margin; /* keepalive_error_tolerance */ unsigned slarp_timer; /* SLARP request timer */ unsigned char ttl; /* Time To Live for UDP security */ char interface; /* RS-232/V.35, etc. */ char clocking; /* external/internal */ unsigned bps; /* data transfer rate */ unsigned mtu; /* maximum transmit unit size */ unsigned char if_down; /* brind down interface when disconnected */ unsigned char gateway; /* Is this interface a gateway */ unsigned char true_if_encoding; /* Set the dev->type to true board protocol */ unsigned char asy_data_trans; /* async API options */ unsigned char rts_hs_for_receive; /* async Protocol options */ unsigned char xon_xoff_hs_for_receive; unsigned char xon_xoff_hs_for_transmit; unsigned char dcd_hs_for_transmit; unsigned char cts_hs_for_transmit; unsigned char async_mode; unsigned tx_bits_per_char; unsigned rx_bits_per_char; unsigned stop_bits; unsigned char parity; unsigned break_timer; unsigned inter_char_timer; unsigned rx_complete_length; unsigned xon_char; unsigned xoff_char; unsigned char receive_only; /* no transmit buffering (Y/N) */} wanif_conf_t;#endif /* _ROUTER_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -