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