76 lines
1.5 KiB
Plaintext
76 lines
1.5 KiB
Plaintext
![]() |
.TH PTRAP 4
|
||
|
.SH NAME
|
||
|
ptrap \- \fIplumber\fR(4) filter
|
||
|
.SH SYNOPSIS
|
||
|
.B ptrap
|
||
|
.I port
|
||
|
[\fB!\fR]\fIregexp\fR
|
||
|
[
|
||
|
.I port
|
||
|
[\fB!\fR]\fIregexp\fR ...
|
||
|
]
|
||
|
.SH DESCRIPTION
|
||
|
.I Ptrap
|
||
|
is a program that mounts itself over a
|
||
|
.IR plumber (4)
|
||
|
service mounted at
|
||
|
.B /mnt/plumb
|
||
|
and filters incoming messages according to the rules provided on the command line.
|
||
|
.PP
|
||
|
.I Ptrap
|
||
|
accepts an arbitrary number of argument pairs; each pair consists of a port name
|
||
|
.I port
|
||
|
and a regular expression
|
||
|
.I regexp
|
||
|
(see
|
||
|
.IR regexp (6)).
|
||
|
Each incoming message that does not match
|
||
|
.I regexp
|
||
|
is discarded.
|
||
|
The
|
||
|
.I regexp
|
||
|
can be optionally prefixed by
|
||
|
.B !
|
||
|
to indicate logical inversion (i.e. messages matching the regexp are discarded).
|
||
|
.SH EXAMPLES
|
||
|
Start a
|
||
|
.IR sam (1)
|
||
|
instance dedicated to editing kernel source code:
|
||
|
.IP
|
||
|
.EX
|
||
|
ptrap edit '^/sys/src/9/'
|
||
|
sam
|
||
|
.EE
|
||
|
.PP
|
||
|
In another window, start a second
|
||
|
.IR sam (1)
|
||
|
instance for all other editing jobs:
|
||
|
.IP
|
||
|
.EX
|
||
|
ptrap edit '!^/sys/src/9/'
|
||
|
sam
|
||
|
.EE
|
||
|
.SH SOURCE
|
||
|
.B /sys/src/cmd/ptrap.c
|
||
|
.SH SEE ALSO
|
||
|
.IR plumber (4),
|
||
|
.IR plumb (6)
|
||
|
.SH BUGS
|
||
|
Multiple filters specified on the same port ignore all but the last one.
|
||
|
.PP
|
||
|
.I Ptrap
|
||
|
would be more useful if it could inhibit sending the message to other clients.
|
||
|
.PP
|
||
|
As far as
|
||
|
.IR plumber (4)
|
||
|
is concerned, even messages dropped by
|
||
|
.I ptrap
|
||
|
are "accepted", which means rules that are supposed to apply to messages not accepted by clients are not invoked (e.g. a rule starting an editor if no one is listening to the
|
||
|
.I edit
|
||
|
port will not work if there is a
|
||
|
.I ptrap
|
||
|
on that port).
|
||
|
.SH HISTORY
|
||
|
.I Ptrap
|
||
|
first appeared in 9front (February, 2018).
|