stat man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

STAT(5)								       STAT(5)

NAME
       stat, wstat - inquire or change file attributes

SYNOPSIS
       size[4] Tstat tag[2] fid[4]
       size[4] Rstat tag[2] stat[n]

       size[4] Twstat tag[2] fid[4] stat[n]
       size[4] Rwstat tag[2]

DESCRIPTION
       The  stat  transaction  inquires about the file identified by fid.  The
       reply will contain a machine-independent directory  entry,  stat,  laid
       out as follows:

       size[2]
	      total byte count of the following data

       type[2]
	      for kernel use

       dev[4] for kernel use

       qid.type[1]
	      the  type	 of  the  file (directory, etc.), represented as a bit
	      vector corresponding to the high 8 bits of the file's mode word.

       qid.vers[4]
	      version number for given path

       qid.path[8]
	      the file server's unique identification for the file

       mode[4]
	      permissions and flags

       atime[4]
	      last access time

       mtime[4]
	      last modification time

       length[8]
	      length of file in bytes

       name[ s ]
	      file name; must be / if the file is the root  directory  of  the
	      server

       uid[ s ]
	      owner name

       gid[ s ]
	      group name

       muid[ s ]
	      name of the user who last modified the file

       Integers in this encoding are in little-endian order (least significant
       byte first).  The unpackdir and packdir functions  of  styx(2)  convert
       between	directory entries and the Limbo adt Sys->Dir.  For C implemen‐
       tations, the convM2D and	 convD2M  routines  (see  styx(10.2))  convert
       between directory entries and a C structure called Dir.

       The mode contains permission bits as described in intro(5) and the fol‐
       lowing: 16r80000000 (DMDIR, this	 file  is  a  directory),  16r40000000
       (DMAPPEND,   append   only),   16r20000000   (DMEXCL,  exclusive	 use),
       16r04000000 (DMTMP, temporary); these are echoed in  Qid.type.	Writes
       to  append-only	files  always place their data at the end of the file;
       the offset in the write message is ignored, as is the OTRUNC bit in  an
       open.   Exclusive  use  files  may be open for I/O by only one fid at a
       time across all clients of the server.  If a second open is  attempted,
       it  draws  an error.  Servers may implement a timeout on the lock on an
       exclusive use file: if the fid holding the file open  has  been	unused
       for an extended period (of order at least minutes), it is reasonable to
       break the lock and deny the initial fid further I/O.   Temporary	 files
       are not included in any automatic archives or dumps a server might cre‐
       ate.

       The two time fields are measured in seconds  since  the	epoch  (Jan  1
       00:00  1970 GMT).  The mtime field reflects the time of the last change
       of content (except when later changed by wstat).	  For  a  plain	 file,
       mtime  is  the time of the most recent create, open with truncation, or
       write; for a directory it is the time of the most recent	 remove,  cre‐
       ate,  or	 wstat of a file in the directory.  Similarly, the atime field
       records the last read of the contents; also it is set whenever mtime is
       set.   In  addition,  for a directory, it is set by an attach, walk, or
       create, all whether successful or not.

       The muid field names the user whose actions most recently  changed  the
       mtime of the file.

       The  length  records  the number of bytes in the file.  Directories and
       most files representing devices have a conventional length of 0.

       The stat request requires no special permissions.

       The wstat request can change some of the file status information.   The
       name  can  be  changed  by  anyone  with write permission in the parent
       directory; it is an error to change the name to	that  of  an  existing
       file.   The  length  can be changed (affecting the actual length of the
       file) by anyone with write permission on the file.  It is an  error  to
       attempt	to  set	 the  length  of  a directory to a non-zero value, and
       servers may decide to reject length changes  for	 other	reasons.   The
       mode  and  mtime	 can  be changed by the owner of the file or the group
       leader of the file's  current  group.   The  directory  bit  cannot  be
       changed	by  a  wstat;  the other defined permission and mode bits can.
       The gid can be changed: by the owner if also a member of the new group;
       or  by  the  group leader of the file's current group if also leader of
       the new group (see intro(5) for more information about permissions  and
       users(6)	 for users and groups).	 None of the other data can be altered
       by a wstat and attempts to change them will trigger an error.  In  par‐
       ticular,	 it  is	 illegal  to  attempt  to  change the owner of a file.
       (These conditions may be relaxed when establishing the initial state of
       a file server.)

       Either  all  the changes in wstat request happen, or none of them does:
       if the request succeeds, all changes were made; if it fails, none were.

       A wstat request can avoid modifying some properties of the file by pro‐
       viding  explicit	 ``don't touch'' values in the stat data that is sent:
       zero-length strings for text values and the maximum unsigned  value  of
       appropriate  size  for  integral values.	 As a special case, if all the
       elements of the directory entry in a Twstat message are ``don't touch''
       values,	the server may interpret it as a request to guarantee that the
       contents of the associated file are committed to stable storage	before
       the  Rwstat message is returned.	 (Consider the message to mean, ``make
       the state of the file exactly what it claims to be.'')

       A read of a directory yields an integral number of directory entries in
       the machine independent encoding given above (see read(5)).

       Note  that  since  the stat information is sent as a 9P variable-length
       datum, it is limited to a maximum of 65535 bytes.

ENTRY POINTS
       Stat messages are generated by fstat and stat.

       Wstat messages are generated by fwstat and wstat.

SEE ALSO
       sys-stat(2), intro(5), read(5), intro(10), styx(10.2)

BUGS
       To make the contents of a directory, such as returned by read(5),  easy
       to  parse,  each directory entry begins with a size field.  For consis‐
       tency, the entries in Twstat and	 Rstat	messages  also	contain	 their
       size,  which means the size appears twice.  For example, the Rstat mes‐
       sage is	formatted  as  ``(4+1+2+2+n)[4]	 Rstat	tag[2]	n[2]  (n-2)[2]
       type[2]	dev[4]...,''  where  n	is the length of the array returned by
       Styx->packdir.

								       STAT(5)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net