diff options
| author | Dima Dorfman <dd@FreeBSD.org> | 2001-07-25 14:47:56 +0000 |
|---|---|---|
| committer | Dima Dorfman <dd@FreeBSD.org> | 2001-07-25 14:47:56 +0000 |
| commit | 101f105db2aec18214a7e93a8de52b28f1cddc03 (patch) | |
| tree | 038af4ea500650872eec9ad147bdbedae0b8ea4c /sys/dev | |
| parent | bba1ea063eb431247a73c32f216d12ba8f3ca9cd (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/snp/snp.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sys/dev/snp/snp.c b/sys/dev/snp/snp.c index d0563c8bd7c2..c8b9cf099bbd 100644 --- a/sys/dev/snp/snp.c +++ b/sys/dev/snp/snp.c @@ -58,6 +58,45 @@ static struct linesw snpdisc = { l_nullioctl, ttyinput, ttstart, ttymodem }; +/* + * This is the main snoop per-device structure. + */ +struct snoop { + LIST_ENTRY(snoop) snp_list; /* List glue. */ + dev_t snp_target; /* Target tty device. */ + struct tty *snp_tty; /* Target tty pointer. */ + u_long snp_len; /* Possible length. */ + u_long snp_base; /* Data base. */ + u_long snp_blen; /* Used length. */ + caddr_t snp_buf; /* Allocation pointer. */ + int snp_flags; /* Flags. */ + struct selinfo snp_sel; /* Select info. */ + int snp_olddisc; /* Old line discipline. */ +}; + +/* + * Possible flags. + */ +#define SNOOP_ASYNC 0x0002 +#define SNOOP_OPEN 0x0004 +#define SNOOP_RWAIT 0x0008 +#define SNOOP_OFLOW 0x0010 +#define SNOOP_DOWN 0x0020 + +/* + * Other constants. + */ +#define SNOOP_MINLEN (4*1024) /* This should be power of 2. + * 4K tested to be the minimum + * for which on normal tty + * usage there is no need to + * allocate more. + */ +#define SNOOP_MAXLEN (64*1024) /* This one also,64K enough + * If we grow more,something + * really bad in this world.. + */ + static MALLOC_DEFINE(M_SNP, "snp", "Snoop device data"); /* * The number of the "snoop" line discipline. This gets determined at |
