Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-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   int                   buffsize;       /* Max buffers sizes            */
32
33   unsigned long         flags;          /* Flag values/ mode etc        */
34 #define SLF_INUSE       0               /* Channel in use               */
35 #define SLF_ESCAPE      1               /* ESC received                 */
36 #define SLF_ERROR       2               /* Parity, etc. error           */
37 #define SLF_OUTWAIT     4               /* Waiting for output           */
38 };
39
40
41
42 #define X25_ASY_MAGIC 0x5303
43
44 extern int x25_asy_init(struct net_device *dev);
45
46 #endif  /* _LINUX_X25_ASY.H */