• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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