glenda.party
term% ls -F
term% cat index.txt
VERSION(5)                    File Formats Manual                   VERSION(5)

NAME
       version - negotiate protocol version

SYNOPSIS
       size[4] Tversion tag[2] msize[4] version[s]
       size[4] Rversion tag[2] msize[4] version[s]

DESCRIPTION
       The version request negotiates the protocol version and message size to
       be  used  on  the  connection  and  initializes the connection for I/O.
       Tversion must be the first message sent on the 9P connection,  and  the
       client  cannot  issue  any  further  requests until it has received the
       Rversion reply.  The tag should be NOTAG (value (ushort)~0) for a  ver‐
       sion message.

       The  client suggests a maximum message size, msize, that is the maximum
       length, in bytes, it will ever generate or expect to receive in a  sin‐
       gle  9P  message.   This  count includes all 9P protocol data, starting
       from the size field and extending through the message, but excludes en‐
       veloping transport protocols.  The server responds with its  own  maxi‐
       mum,  msize,  which  must  be less than or equal to the client's value.
       Thenceforth, both sides of the connection must honor this limit.

       The version string identifies the level of the  protocol.   The  string
       must  always  begin with the two characters ‘‘9P''.  If the server does
       not understand the client's version string, it should respond  with  an
       Rversion  message (not Rerror) with the version string the 7 characters
       ‘‘unknown''.

       The server may respond with the client's version string, or  a  version
       string identifying an earlier defined protocol version.  Currently, the
       only  defined  version is the 6 characters ‘‘9P2000''.  Version strings
       are defined such that, if the client string contains one or more period
       characters, the initial substring up to but not  including  any  single
       period  in the version string defines a version of the protocol.  After
       stripping any such period-separated suffix, the server  is  allowed  to
       respond  with  a  string of the form 9Pnnnn, where nnnn is less than or
       equal to the digits sent by the client.

       The client and server will use the  protocol  version  defined  by  the
       server's response for all subsequent communication on the connection.

       A successful version request initializes the connection.  All outstand‐
       ing  I/O  on  the  connection  is  aborted;  all  active fids are freed
       (‘clunked') automatically.  The set of  messages  between  version  re‐
       quests is called a session.

ENTRY POINTS
       The  version  message  is generated by the fversion system call.  It is
       also generated automatically, if required, by a mount or  fauth  system
       call on an uninitialized connection.

                                                                    VERSION(5)