1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef _ROUTER_H 13 #define _ROUTER_H 14 15 #define ROUTER_NAME "wanrouter" 16 #define ROUTER_VERSION 1 17 #define ROUTER_RELEASE 1 18 #define ROUTER_IOCTL 'W' 19 #define ROUTER_MAGIC 0x524D4157L 20 21 enum router_ioctls 22 { 23 ROUTER_SETUP = ROUTER_IOCTL<<8, 24 ROUTER_DOWN, 25 ROUTER_STAT, 26 ROUTER_IFNEW, 27 ROUTER_IFDEL, 28 ROUTER_IFSTAT, 29 ROUTER_USER = (ROUTER_IOCTL<<8)+16, 30 ROUTER_USER_MAX = (ROUTER_IOCTL<<8)+31 31 }; 32 33 #define PROC_DATA_PORT_0 0x8000 34 #define PROC_DATA_PORT_1 0x8001 35 36 #define NLPID_IP 0xCC 37 #define NLPID_SNAP 0x80 38 #define NLPID_CLNP 0x81 39 #define NLPID_ESIS 0x82 40 #define NLPID_ISIS 0x83 41 #define NLPID_Q933 0x08 42 43 #define WAN_IFNAME_SZ 15 44 #define WAN_DRVNAME_SZ 15 45 #define WAN_ADDRESS_SZ 31 46 #define USED_BY_FIELD 8 47 48 #define UDP_PTPIPE_TYPE 0x01 49 #define UDP_FPIPE_TYPE 0x02 50 #define UDP_CPIPE_TYPE 0x03 51 #define UDP_DRVSTATS_TYPE 0x04 52 #define UDP_INVALID_TYPE 0x05 53 54 #define CMD_OK 0 55 #define CMD_TIMEOUT 0xFF 56 57 #define UDP_PKT_FRM_STACK 0x00 58 #define UDP_PKT_FRM_NETWORK 0x01 59 60 #define MAX_INTR_TEST_COUNTER 100 61 62 #define CRITICAL_IN_ISR 0xA1 63 #define CRITICAL_INTR_HANDLED 0xB1 64 65 typedef struct wan_x25_conf 66 { 67 unsigned lo_pvc; 68 unsigned hi_pvc; 69 unsigned lo_svc; 70 unsigned hi_svc; 71 unsigned hdlc_window; 72 unsigned pkt_window; 73 unsigned t1; 74 unsigned t2; 75 unsigned t4; 76 unsigned n2; 77 unsigned t10_t20; 78 unsigned t11_t21; 79 unsigned t12_t22; 80 unsigned t13_t23; 81 unsigned t16_t26; 82 unsigned t28; 83 unsigned r10_r20; 84 unsigned r12_r22; 85 unsigned r13_r23; 86 unsigned ccitt_compat; 87 unsigned x25_conf_opt; 88 unsigned char LAPB_hdlc_only; 89 unsigned char logging; 90 unsigned char oob_on_modem; 91 } wan_x25_conf_t; 92 93 typedef struct wan_fr_conf 94 { 95 unsigned signalling; 96 unsigned t391; 97 unsigned t392; 98 unsigned n391; 99 unsigned n392; 100 unsigned n393; 101 unsigned dlci_num; 102 unsigned dlci[100]; 103 } wan_fr_conf_t; 104 105 typedef struct wan_ppp_conf 106 { 107 unsigned restart_tmr; 108 unsigned auth_rsrt_tmr; 109 unsigned auth_wait_tmr; 110 unsigned mdm_fail_tmr; 111 unsigned dtr_drop_tmr; 112 unsigned connect_tmout; 113 unsigned conf_retry; 114 unsigned term_retry; 115 unsigned fail_retry; 116 unsigned auth_retry; 117 unsigned auth_options; 118 unsigned ip_options; 119 char authenticator; 120 char ip_mode; 121 } wan_ppp_conf_t; 122 123 typedef struct wan_chdlc_conf 124 { 125 unsigned char ignore_dcd; 126 unsigned char ignore_cts; 127 unsigned char ignore_keepalive; 128 unsigned char hdlc_streaming; 129 unsigned char receive_only; 130 unsigned keepalive_tx_tmr; 131 unsigned keepalive_rx_tmr; 132 unsigned keepalive_err_margin; 133 unsigned slarp_timer; 134 } wan_chdlc_conf_t; 135 136 typedef struct wandev_conf 137 { 138 unsigned magic; 139 unsigned config_id; 140 141 unsigned ioport; 142 unsigned long maddr; 143 unsigned msize; 144 int irq; 145 int dma; 146 char S514_CPU_no[1]; 147 unsigned PCI_slot_no; 148 char auto_pci_cfg; 149 char comm_port; 150 unsigned bps; 151 unsigned mtu; 152 unsigned udp_port; 153 unsigned char ttl; 154 unsigned char ft1; 155 char interface; 156 char clocking; 157 char line_coding; 158 char station; 159 char connection; 160 char read_mode; 161 char receive_only; 162 char tty; 163 unsigned tty_major; 164 unsigned tty_minor; 165 unsigned tty_mode; 166 char backup; 167 unsigned hw_opt[4]; 168 unsigned reserved[4]; 169 170 unsigned data_size; 171 void* data; 172 union 173 { 174 wan_x25_conf_t x25; 175 wan_ppp_conf_t ppp; 176 wan_fr_conf_t fr; 177 wan_chdlc_conf_t chdlc; 178 } u; 179 } wandev_conf_t; 180 181 #define WANCONFIG_X25 101 182 #define WANCONFIG_FR 102 183 #define WANCONFIG_PPP 103 184 #define WANCONFIG_CHDLC 104 185 #define WANCONFIG_BSC 105 186 #define WANCONFIG_HDLC 106 187 #define WANCONFIG_MPPP 107 188 189 #define WANOPT_OFF 0 190 #define WANOPT_ON 1 191 #define WANOPT_NO 0 192 #define WANOPT_YES 1 193 194 #define WANOPT_RS232 0 195 #define WANOPT_V35 1 196 197 #define WANOPT_NRZ 0 198 #define WANOPT_NRZI 1 199 #define WANOPT_FM0 2 200 #define WANOPT_FM1 3 201 202 #define WANOPT_POINTTOPOINT 0 203 #define WANOPT_MULTIDROP 1 204 205 #define WANOPT_EXTERNAL 0 206 #define WANOPT_INTERNAL 1 207 208 #define WANOPT_DTE 0 209 #define WANOPT_DCE 1 210 #define WANOPT_CPE 0 211 #define WANOPT_NODE 1 212 #define WANOPT_SECONDARY 0 213 #define WANOPT_PRIMARY 1 214 215 #define WANOPT_PERMANENT 0 216 #define WANOPT_SWITCHED 1 217 #define WANOPT_ONDEMAND 2 218 219 #define WANOPT_FR_ANSI 1 220 #define WANOPT_FR_Q933 2 221 #define WANOPT_FR_LMI 3 222 223 #define WANOPT_PPP_STATIC 0 224 #define WANOPT_PPP_HOST 1 225 #define WANOPT_PPP_PEER 2 226 227 #define WANOPT_ONE 1 228 #define WANOPT_TWO 2 229 #define WANOPT_ONE_AND_HALF 3 230 231 #define WANOPT_NONE 0 232 #define WANOPT_ODD 1 233 #define WANOPT_EVEN 2 234 235 #define WANOPT_PRI 0 236 #define WANOPT_SEC 1 237 238 #define WANOPT_INTR 0 239 #define WANOPT_POLL 1 240 241 #define WANOPT_TTY_SYNC 0 242 #define WANOPT_TTY_ASYNC 1 243 244 typedef struct wandev_stat 245 { 246 unsigned state; 247 unsigned ndev; 248 249 unsigned connection; 250 unsigned media_type; 251 unsigned mtu; 252 253 unsigned modem_status; 254 unsigned rx_frames; 255 unsigned rx_overruns; 256 unsigned rx_crc_err; 257 unsigned rx_aborts; 258 unsigned rx_bad_length; 259 unsigned rx_dropped; 260 unsigned tx_frames; 261 unsigned tx_underruns; 262 unsigned tx_timeouts; 263 unsigned tx_rejects; 264 265 unsigned rx_bad_format; 266 unsigned rx_bad_addr; 267 unsigned tx_retries; 268 unsigned reserved[16]; 269 } wandev_stat_t; 270 271 enum wan_states 272 { 273 WAN_UNCONFIGURED, 274 WAN_DISCONNECTED, 275 WAN_CONNECTING, 276 WAN_CONNECTED, 277 WAN_LIMIT, 278 WAN_DUALPORT, 279 WAN_DISCONNECTING, 280 WAN_FT1_READY 281 }; 282 283 enum { 284 WAN_LOCAL_IP, 285 WAN_POINTOPOINT_IP, 286 WAN_NETMASK_IP, 287 WAN_BROADCAST_IP 288 }; 289 290 #define WAN_MODEM_CTS 0x0001 291 #define WAN_MODEM_DCD 0x0002 292 #define WAN_MODEM_DTR 0x0010 293 #define WAN_MODEM_RTS 0x0020 294 295 typedef struct wanif_conf 296 { 297 unsigned magic; 298 unsigned config_id; 299 char name[WAN_IFNAME_SZ+1]; 300 char addr[WAN_ADDRESS_SZ+1]; 301 char usedby[USED_BY_FIELD]; 302 unsigned idle_timeout; 303 unsigned hold_timeout; 304 unsigned cir; 305 unsigned bc; 306 unsigned be; 307 unsigned char enable_IPX; 308 unsigned char inarp; 309 unsigned inarp_interval; 310 unsigned long network_number; 311 char mc; 312 char local_addr[WAN_ADDRESS_SZ+1]; 313 unsigned char port; 314 unsigned char protocol; 315 char pap; 316 char chap; 317 unsigned char userid[511]; 318 unsigned char passwd[511]; 319 unsigned char sysname[31]; 320 unsigned char ignore_dcd; 321 unsigned char ignore_cts; 322 unsigned char ignore_keepalive; 323 unsigned char hdlc_streaming; 324 unsigned keepalive_tx_tmr; 325 unsigned keepalive_rx_tmr; 326 unsigned keepalive_err_margin; 327 unsigned slarp_timer; 328 unsigned char ttl; 329 char interface; 330 char clocking; 331 unsigned bps; 332 unsigned mtu; 333 unsigned char if_down; 334 unsigned char gateway; 335 unsigned char true_if_encoding; 336 337 unsigned char asy_data_trans; 338 unsigned char rts_hs_for_receive; 339 unsigned char xon_xoff_hs_for_receive; 340 unsigned char xon_xoff_hs_for_transmit; 341 unsigned char dcd_hs_for_transmit; 342 unsigned char cts_hs_for_transmit; 343 unsigned char async_mode; 344 unsigned tx_bits_per_char; 345 unsigned rx_bits_per_char; 346 unsigned stop_bits; 347 unsigned char parity; 348 unsigned break_timer; 349 unsigned inter_char_timer; 350 unsigned rx_complete_length; 351 unsigned xon_char; 352 unsigned xoff_char; 353 unsigned char receive_only; 354 } wanif_conf_t; 355 356 #endif 357