Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / drivers / net / wan / x25_asy.h
1 #ifndef _LINUX_X25_ASY_H
2 #define _LINUX_X25_ASY_H
3
4 /* X.25 asy configuration. */
5 #define SL_NRUNIT       256             /* MAX number of X.25 channels;
6                                            This can be overridden with
7                                            insmod -ox25_asy_maxdev=nnn  */
8 #define SL_MTU          256     
9
10 /* X25 async protocol characters. */
11 #define X25_END         0x7E            /* indicates end of frame       */
12 #define X25_ESC         0x7D            /* indicates byte stuffing      */
13 #define X25_ESCAPE(x)   ((x)^0x20)
14 #define X25_UNESCAPE(x) ((x)^0x20)
15
16
17 struct x25_asy {
18   int                   magic;
19
20   /* Various fields. */
21   spinlock_t            lock;
22   struct tty_struct     *tty;           /* ptr to TTY structure         */
23   struct net_device     *dev;           /* easy for intr handling       */
24
25   /* These are pointers to the malloc()ed frame buffers. */
26   unsigned char         *rbuff;         /* receiver buffer              */
27   int                   rcount;         /* received chars counter       */
28   unsigned char         *xbuff;         /* transmitter buffer           */
29   unsigned char         *xhead;         /* pointer to next byte to XMIT */
30   int                   xleft;          /* bytes left in XMIT queue     */
31
32   /* X.25 interface statistics. */
33   struct net_device_stats stats;
34
35   int                   buffsize;       /* Max buffers sizes            */
36
37   unsigned long         flags;          /* Flag values/ mode etc        */
38 #define SLF_INUSE       0               /* Channel in use               */
39 #define SLF_ESCAPE      1               /* ESC received                 */
40 #define SLF_ERROR       2               /* Parity, etc. error           */
41 #define SLF_OUTWAIT     4               /* Waiting for output           */
42 };
43
44
45
46 #define X25_ASY_MAGIC 0x5303
47
48 extern int x25_asy_init(struct net_device *dev);
49
50 #endif  /* _LINUX_X25_ASY.H */