Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
x25_asy.h
Go to the documentation of this file.
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. */
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 */