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 struct tty_struct *tty; /* ptr to TTY structure */ 22 struct net_device *dev; /* easy for intr handling */ 23 24 /* These are pointers to the malloc()ed frame buffers. */ 25 unsigned char *rbuff; /* receiver buffer */ 26 int rcount; /* received chars counter */ 27 unsigned char *xbuff; /* transmitter buffer */ 28 unsigned char *xhead; /* pointer to next byte to XMIT */ 29 int xleft; /* bytes left in XMIT queue */ 30 31 /* X.25 interface statistics. */ 32 unsigned long rx_packets; /* inbound frames counter */ 33 unsigned long tx_packets; /* outbound frames counter */ 34 unsigned long rx_bytes; /* inbound byte counte */ 35 unsigned long tx_bytes; /* outbound byte counter */ 36 unsigned long rx_errors; /* Parity, etc. errors */ 37 unsigned long tx_errors; /* Planned stuff */ 38 unsigned long rx_dropped; /* No memory for skb */ 39 unsigned long tx_dropped; /* When MTU change */ 40 unsigned long rx_over_errors; /* Frame bigger then X.25 buf. */ 41 42 int mtu; /* Our mtu (to spot changes!) */ 43 int buffsize; /* Max buffers sizes */ 44 45 unsigned long flags; /* Flag values/ mode etc */ 46 #define SLF_INUSE 0 /* Channel in use */ 47 #define SLF_ESCAPE 1 /* ESC received */ 48 #define SLF_ERROR 2 /* Parity, etc. error */ 49 #define SLF_OUTWAIT 4 /* Waiting for output */ 50 }; 51 52 53 54 #define X25_ASY_MAGIC 0x5303 55 56 extern int x25_asy_init(struct net_device *dev); 57 58 #endif /* _LINUX_X25_ASY.H */ 59