Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stat(2) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ls(1)

filsys(5)



      STAT(2)                 GENIX Programmer's Manual                 STAT(2)



      NAME
           stat, fstat - get file status

      SYNOPSIS
           #include <sys/types.h>
           #include <sys/stat.h>

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

           fstat(fildes, buf)
           struct stat *buf;

      DESCRIPTION
           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 search-
           able.  The layout of the structure pointed to by buf as  defined  in
           <stat.h>  is  given  below.   St_mode  is  encoded  according to the
           `#define' statements.

           /*
            * @(#)stat.h  3.2  7/14/83
            * @(#)Copyright (C) 1983 by National Semiconductor Corp.
            */

           struct    stat
           {
                dev_t     st_dev;
                ino_t     st_ino;
                unsigned short st_mode;
                short     st_nlink;
                short     st_uid;
                short     st_gid;
                dev_t     st_rdev;
                off_t     st_size;
                time_t    st_atime;
                time_t    st_mtime;
                time_t    st_ctime;
           };

           #define   S_IFMT    0170000        /* type of file */
           #define        S_IFDIR   0040000   /* directory */
           #define        S_IFCHR   0020000   /* character special */
           #define        S_IFBLK   0060000   /* block special */
           #define        S_IFREG   0100000   /* regular */



      Printed 11/16/83                                                        1





      STAT(2)                 GENIX Programmer's Manual                 STAT(2)



           #define   S_ISUID   0004000        /* set user id on execution */
           #define   S_ISGID   0002000        /* set group id on execution */
           #define   S_ISVTX   0001000        /* save swapped text even after use */
           #define   S_IREAD   0000400        /* read permission, owner */
           #define   S_IWRITE  0000200        /* write permission, owner */
           #define   S_IEXEC   0000100        /* execute/search permission, owner */

           The mode bits 0000070 and 0000007 encode group  and  others  permis-
           sions (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 types(5)).

           When fildes is associated with a pipe,  fstat  reports  an  ordinary
           file with an i-node number, restricted permissions, and a not neces-
           sarily meaningful length.

           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
           logical.  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.

      SEE ALSO
           ls(1), filsys(5)

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


























      Printed 11/16/83                                                        2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026