aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/snp/snp.c
diff options
context:
space:
mode:
authorDima Dorfman <dd@FreeBSD.org>2001-07-25 14:47:56 +0000
committerDima Dorfman <dd@FreeBSD.org>2001-07-25 14:47:56 +0000
commit101f105db2aec18214a7e93a8de52b28f1cddc03 (patch)
tree038af4ea500650872eec9ad147bdbedae0b8ea4c /sys/dev/snp/snp.c
parentbba1ea063eb431247a73c32f216d12ba8f3ca9cd (diff)
downloadsrc-101f105db2aec18214a7e93a8de52b28f1cddc03.tar.gz
src-101f105db2aec18214a7e93a8de52b28f1cddc03.zip
Move the kernel stuff out of snoop.h. It was only there because some
of the snp* functions needed to be called from tty.c, which is no longer the case.
Notes
Notes: svn path=/head/; revision=80326
Diffstat (limited to 'sys/dev/snp/snp.c')
-rw-r--r--sys/dev/snp/snp.c39
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