NAME
snp —
tty snoop interface
SYNOPSIS
#include
<sys/snoop.h>
int
ioctl(fd,
SNPSTTY,
&dev);
int
ioctl(fd,
SNPGTTY,
&dev);
int
ioctl(fd,
FIONREAD,
&result);
DESCRIPTION
/dev/snp is a snoop device which allows users to attach to any tty and watch activities on it. The kernel must be compiled withdevice snp, or the snp module
must be loaded, for these devices to be available.
To associate a given snp device with a tty
to be observed, open the snp device and a tty
device, and then issue the SNPSTTY ioctl on
snp device. The argument passed to the
ioctl(2) is the address of a variable of type
int, holding the file descriptor of a tty device. To
detach the snp device from a tty use a pointer to a
value of -1.
The SNPGTTY ioctl returns information
about the current tty attached to the open snp
device.
The FIONREAD ioctl returns a positive
value equal to the number of characters in a read buffer. Special values
defined are:
SNP_OFLOW- device overflow occurred, device detached.
SNP_TTYCLOSE- tty not attached.
SNP_DETACHsnpdevice has been detached by user or tty device has been closed and detached.
SEE ALSO
HISTORY
The snp device first appeared in
FreeBSD 2.1. In FreeBSD 8.0
the snp driver was rewritten to work with the
replaced TTY subsystem.
AUTHORS
The author of the current implementation is Ed
Schouten
<ed@FreeBSD.org>.
Previous versions of snp were based on code written
by Ugen J.S. Antsilevich
<ugen@NetVision.net.il>.
BUGS
This version of snp does not return proper
error codes when calling FIONREAD. It also does not
allow SNPSTTY to detach itself from the TTY.