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