#ifndef _LINUX_SLIP_H
#define _LINUX_SLIP_H
#if defined(CONFIG_INET) && defined(CONFIG_SLIP_COMPRESSED)
# define SL_INCLUDE_CSLIP
#endif
#ifdef SL_INCLUDE_CSLIP
# define SL_MODE_DEFAULT SL_MODE_ADAPTIVE
#else
# define SL_MODE_DEFAULT SL_MODE_SLIP
#endif
#define SL_NRUNIT 256 /* MAX number of SLIP channels;
This can be overridden with
insmod -oslip_maxdev=nnn */
#define SL_MTU 296 /* 296; I am used to 600- FvK */
#undef END
#define END 0300 /* indicates end of frame */
#define ESC 0333 /* indicates byte stuffing */
#define ESC_END 0334 /* ESC ESC_END means END 'data' */
#define ESC_ESC 0335 /* ESC ESC_ESC means ESC 'data' */
struct slip {
int magic;
struct tty_struct *tty;
struct net_device *dev;
spinlock_t lock;
struct work_struct tx_work;
#ifdef SL_INCLUDE_CSLIP
struct slcompress *slcomp;
unsigned char *cbuff;
#endif
unsigned char *rbuff;
int rcount;
unsigned char *xbuff;
unsigned char *xhead;
int xleft;
int mtu;
int buffsize;
#ifdef CONFIG_SLIP_MODE_SLIP6
int xdata, xbits;
#endif
unsigned long flags;
#define SLF_INUSE 0 /* Channel in use */
#define SLF_ESCAPE 1 /* ESC received */
#define SLF_ERROR 2 /* Parity, etc. error */
#define SLF_KEEPTEST 3 /* Keepalive test flag */
#define SLF_OUTWAIT 4 /* is outpacket was flag */
unsigned char mode;
unsigned char leased;
pid_t pid;
#define SL_MODE_SLIP 0
#define SL_MODE_CSLIP 1
#define SL_MODE_SLIP6 2 /* Matt Dillon's printable slip */
#define SL_MODE_CSLIP6 (SL_MODE_SLIP6|SL_MODE_CSLIP)
#define SL_MODE_AX25 4
#define SL_MODE_ADAPTIVE 8
#ifdef CONFIG_SLIP_SMART
unsigned char outfill;
unsigned char keepalive;
struct timer_list outfill_timer;
struct timer_list keepalive_timer;
#endif
};
#define SLIP_MAGIC 0x5302
#endif /* _LINUX_SLIP.H */