Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fstat(2) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

chown(2)

creat(2)

link(2)

mknod(2)

time(2)

unlink(2)



     STAT(2)                                                   STAT(2)



     NAME
          stat, lstat, fstat - get file status

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

          int stat (path, buf)
          char *path;
          struct stat *buf;

          int lstat (path, buf)
          char *path;
          struct stat *buf;

          int fstat (fildes, buf)
          int fildes;
          struct stat *buf;

     DESCRIPTION
          Path points to a path name naming a file.  Read, write or
          execute permission of the named file is not required, but
          all directories listed in the path name leading to the file
          must be searchable.  Stat obtains information about the
          named file.

          Lstat is like stat except in the case where the named file
          is a symbolic link, in which case lstat returns the
          information about the link, while stat returns the
          information about the file link references.

          Similarly, fstat obtains information about an open file
          known by the file descriptor fildes, obtained from a
          successful open, creat, dup, fcntl, or pipe system call.

          Buf is a pointer to a stat structure into which information
          is placed concerning the file.

          The contents of the structure pointed to by buf include the
          following members:
          struct stat {
               dev_t   st_dev;      /* ID of device containing */
                                    /* a directory entry for this file
               */
               ino_t   st_ino;      /* Inode number */
               ushort  st_mode;     /* File mode; see mknod(2) */
               short   st_nlink;    /* Number of links */
               ushort  st_uid;      /* User ID of the file's owner */
               ushort  st_gid;      /* Group ID of the file's group */
               dev_t   st_rdev;     /* ID of device */
                                    /* This entry is defined only for
               */



     Page 1                                        (last mod. 8/20/87)





     STAT(2)                                                   STAT(2)



                                    /* character special or block
               special files */
               off_t   st_size;     /* File size in bytes */
               time_t  st_atime;    /* Time of last access */
               time_t  st_mtime;    /* Time of last data modification
               */
               time_t  st_ctime;    /* Time of last file status change
               */
                                    /* Times measured in seconds since
               */
                                    /* 00:00:00 GMT, Jan. 1, 1970 */
          };

          statime
               Time when file data was last accessed.  Changed by the
               following system calls:  creat(2), mknod(2), pipe(2),
               utime(2), and read(2).

          stmtime
               Time when data was last modified.  Changed by the
               following system calls:  creat(2), mknod(2), pipe(2),
               utime(2), and write(2).

          stctime
               Time when file status was last changed.  Changed by the
               following system calls:  chmod(2), chown(2), creat(2),
               link(2), mknod(2), pipe(2), unlink(2), utime(2), and
               write(2).

     ERRORS
          Stat will fail if one or more of the following are true:

             A component of the path prefix is not a directory.
             [ENOTDIR]

             The named file does not exist.  [ENOENT]

             Search permission is denied for a component of the path
             prefix.  [EACCES]

             Buf or path points to an invalid address.  [EFAULT]

          Fstat will fail if one or more of the following are true:

             Fildes is not a valid open file descriptor.  [EBADF]

             Buf points to an invalid address.  [EFAULT]

     RETURN VALUE
          Upon successful completion a value of 0 is returned.
          Otherwise, a value of -1 is returned and errno is set to
          indicate the error.



     Page 2                                        (last mod. 8/20/87)





     STAT(2)                                                   STAT(2)



     SEE ALSO
          chmod(2), chown(2), creat(2), link(2), mknod(2), time(2),
          unlink(2).

     ORIGIN
          AT&T V.3, with changes for Silicon Graphics, Inc.

















































     Page 3                                        (last mod. 8/20/87)



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