xref: /freebsd/share/man/man4/snp.4 (revision 38a52bd3)
1.\"
2.\" $FreeBSD$
3.\"
4.Dd September 24, 2022
5.Dt SNP 4
6.Os
7.Sh NAME
8.Nm snp
9.Nd tty snoop interface
10.Sh SYNOPSIS
11.In sys/snoop.h
12.Ft int
13.Fn ioctl fd SNPSTTY &dev
14.Ft int
15.Fn ioctl fd SNPGTTY &dev
16.Ft int
17.Fn ioctl fd FIONREAD &result
18.Sh DESCRIPTION
19.Pa /dev/snp
20is a snoop device which allows users to attach to any tty
21and watch activities on it.
22The kernel must be compiled with
23.Cd "device snp" ,
24or the
25.Nm
26module must be loaded,
27for these devices to be available.
28.Pp
29To associate a given
30.Nm
31device with a tty to be observed, open the
32.Nm
33device and a tty device, and then issue the
34.Dv SNPSTTY
35ioctl on
36.Nm
37device.
38The argument passed to the
39.Xr ioctl 2
40is the address of a variable of type
41.Vt int ,
42holding the file descriptor of a tty device.
43To detach the
44.Nm
45device from a tty use a pointer to a value of
46\-1.
47.Pp
48The
49.Dv SNPGTTY
50ioctl returns information about the current tty attached to
51the open
52.Nm
53device.
54.Pp
55The
56.Dv FIONREAD
57ioctl returns a positive value equal to the number of characters
58in a read buffer.
59Special values defined are:
60.Bl -tag -width ".Dv SNP_TTYCLOSE"
61.It Dv SNP_TTYCLOSE
62tty not attached.
63.It Dv SNP_DETACH
64.Nm
65device has been detached by user or tty device has been closed
66and detached.
67.El
68.Sh SEE ALSO
69.Xr pty 4 ,
70.Xr kldload 8 ,
71.Xr watch 8
72.Sh HISTORY
73The
74.Nm
75device first appeared in
76.Fx 2.1 .
77In
78.Fx 8.0
79the
80.Nm
81driver was rewritten to work with the replaced TTY subsystem.
82.Sh AUTHORS
83.An -nosplit
84The author of the current implementation is
85.An \&Ed Schouten Aq Mt ed@FreeBSD.org .
86Previous versions of
87.Nm
88were based on code written by
89.An Ugen J.S. Antsilevich Aq Mt ugen@NetVision.net.il .
90