Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (v7man)
Apropos / Subsearch:
optional field

STAT(2)                       System Calls Manual                      STAT(2)

       stat, fstat - get file status

       #include <&lt;sys/types.h>&gt;
       #include <&lt;sys/stat.h>&gt;

       stat(name, buf)
       char *name;
       struct stat *buf;

       fstat(fildes, buf)
       struct stat *buf;

       Stat  obtains  detailed  information about a named file.  Fstat obtains
       the same information about an open file known by  the  file  descriptor
       from a successful open, creat, dup or pipe(2) call.

       Name  points  to  a  null-terminated  string  naming a file; buf is the
       address of a buffer into which information  is  placed  concerning  the
       file.  It is unnecessary to have any permissions at all with respect to
       the file, but all directories leading to the file must  be  searchable.
       The layout of the structure pointed to by buf as defined in &lt;stat.h&gt; is
       given below.  St_mode is encoded according to the `#define' statements.

       The mode bits 0000070 and 0000007 encode group and  others  permissions
       (see  chmod(2)).  The defined types, ino_t, off_t, time_t, name various
       width integer values; dev_t encodes major  and  minor  device  numbers;
       their  exact  definitions  are  in  the include file <sys/types.h> (see

       When fildes is associated with a pipe, fstat reports an  ordinary  file
       with restricted permissions.  The size is the number of bytes queued in
       the pipe.

       st_atime is the file was last read.  For reasons of efficiency,  it  is
       not set when a directory is searched, although this would be more logi-
       cal.  st_mtime is the time the file was last written or created.  It is
       not  set  by changes of owner, group, link count, or mode.  st_ctime is
       set both both by writing and changing the i-node.

       ls(1), filsys(5)

       Zero is returned if a status is available; -1 if  the  file  cannot  be

       (stat = 18.)
       sys stat; name; buf

       (fstat = 28.)
       (file descriptor in r0)
       sys fstat; buf