1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #ifndef _LINUX_SLIP_H
21 #define _LINUX_SLIP_H
22
23 #include <linux/config.h>
24
25 #if defined(CONFIG_INET) && defined(CONFIG_SLIP_COMPRESSED)
26 # define SL_INCLUDE_CSLIP
27 #endif
28
29 #ifdef SL_INCLUDE_CSLIP
30 # define SL_MODE_DEFAULT SL_MODE_ADAPTIVE
31 #else
32 # define SL_MODE_DEFAULT SL_MODE_SLIP
33 #endif
34
35
36 #define SL_NRUNIT 256
37
38
39 #define SL_MTU 296
40
41
42 #define END 0300
43 #define ESC 0333
44 #define ESC_END 0334
45 #define ESC_ESC 0335
46
47
48 struct slip {
49 int magic;
50
51
52 struct tty_struct *tty;
53 struct device *dev;
54 #ifdef SL_INCLUDE_CSLIP
55 struct slcompress *slcomp;
56 unsigned char *cbuff;
57 #endif
58
59
60 unsigned char *rbuff;
61 int rcount;
62 unsigned char *xbuff;
63 unsigned char *xhead;
64 int xleft;
65
66
67 unsigned long rx_packets;
68 unsigned long tx_packets;
69 unsigned long rx_errors;
70 unsigned long tx_errors;
71 unsigned long rx_dropped;
72 unsigned long tx_dropped;
73 unsigned long rx_over_errors;
74 #ifdef SL_INCLUDE_CSLIP
75 unsigned long tx_compressed;
76 unsigned long rx_compressed;
77 unsigned long tx_misses;
78 #endif
79
80
81 int mtu;
82 int buffsize;
83
84 #ifdef CONFIG_SLIP_MODE_SLIP6
85 int xdata, xbits;
86 #endif
87
88 unsigned char flags;
89 #define SLF_INUSE 0
90 #define SLF_ESCAPE 1
91 #define SLF_ERROR 2
92 #define SLF_KEEPTEST 4
93 #define SLF_OUTWAIT 8
94
95 unsigned char mode;
96 #define SL_MODE_SLIP 0
97 #define SL_MODE_CSLIP 1
98 #define SL_MODE_SLIP6 2
99 #define SL_MODE_CSLIP6 (SL_MODE_SLIP6|SL_MODE_CSLIP)
100 #define SL_MODE_AX25 4
101 #define SL_MODE_ADAPTIVE 8
102 #ifdef CONFIG_SLIP_SMART
103 unsigned char outfill;
104 unsigned char keepalive;
105 struct timer_list outfill_timer;
106 struct timer_list keepalive_timer;
107 #endif
108 };
109
110
111
112 #define SLIP_MAGIC 0x5302
113
114 extern int slip_init(struct device *dev);
115
116 #endif