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