9PCON(8) 9PCON(8)
NAME
9pcon - 9P to text translator
SYNOPSIS
aux/9pcon [ -cn ] [ -m msize ] service
DESCRIPTION
9pcon provides a textual interface to service, a conven-
tional 9P server. By default, 9pcon interprets service as a
file to be opened. The -c flag causes 9pcon to interpret
service as a command to run which will carry out a (binary)
9P conversation over file descriptors 0 and 1. The -n flag
causes 9pcon to interpret service as a network address to
dial.
Once the connection is established, 9pcon prints R-messages
as they arrive from the server, and sends T-messages as they
are typed on standard input. There is no prompt. Lines
beginning with # are ignored. The syntax for T-messages is
one of:
Tversion msize version
Tauth afid uname aname
Tattach fid afid uname aname
Twalk fid newfid wname...
Topen fid mode
Tcreate fid name perm mode
Tread fid offset count
Twrite fid offset data
Tclunk fid
Tremove fid
Tstat fid
Twstat fid name uid gid mode mtime length
Tflush oldtag
See intro(5) for a description of the fields in each mes-
sage. For the most part, the syntax mirrors the description
of the messages in section 5. The exceptions are that the
tags on the T-messages are added automatically; Twalk's
nwname count is inferred from the number of wnames given;
and Twstat's dir is in expanded form rather than being an
opaque byte sequence. Note that since commands are parsed
with tokenize (see getfields(2)), it is easy to pass empty
strings for absent name, uid, and gid fields. To ease spec-
ifying default integer fields, the Twstat message recognizes
~0 in the mode, mtime, and length arguments. For example,
Twstat 101 '' '' sys ~0 ~0 ~0
sends a wstat message that attempts to change the group id
associated with fid 101.
Page 1 Plan 9 (printed 10/30/25)
9PCON(8) 9PCON(8)
SOURCE
/sys/src/cmd/aux/9pcon.c
SEE ALSO
intro(5)
BUGS
There should be a flag to wait for responses, to facilitate
scripting.
Page 2 Plan 9 (printed 10/30/25)