Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stat(2) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

chown(2)

creat(2)

link(2)

mknod(2)

pipe(2)

read(2)

time(2)

unlink(2)

utime(2)

write(2)

stat(5)



stat(2)        UNIX System V(Application Compatibility Package)         stat(2)


NAME
      stat, lstat, fstat - get file status

SYNOPSIS
      cc [flag . . .] file . . . -lx

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

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

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

      int fstat (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.

      Note that in a Remote File Sharing environment, the information returned
      by stat depends on the user/group mapping set up between the local and
      remote computers.  [See idload(1M).]

      lstat obtains file attributes similar to stat, except when the named file
      is a symbolic link; in that case lstat returns information about the
      link, while stat returns information about the file the link references.

      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:

            modet  stmode;    /* File mode [see mknod(2)] */
            inot   stino;     /* Inode number */
            devt   stdev;     /* ID of device containing */
                                /* a directory entry for this file */
            devt   strdev;    /* ID of device */
                                /* This entry is defined only for */
                                /* character special files */,
                                /* XENIX special named files or block
                                /* special files */
            nlinkt stnlink;   /* Number of links */
            uidt   stuid;     /* User ID of the file's owner */
            gidt   stgid;     /* Group ID of the file's group */
            offt   stsize;    /* File size in bytes */


10/89                                                                    Page 1







stat(2)        UNIX System V(Application Compatibility Package)         stat(2)


            timet  statime;   /* Time of last access */
            timet  stmtime;   /* Time of last data modification */
            timet  stctime;   /* Time of last file status change */
                                /* Times measured in seconds since */
                                /* 00:00:00 GMT, Jan. 1, 1970 */

















































Page 2                                                                    10/89







stat(2)        UNIX System V(Application Compatibility Package)         stat(2)


      stmode   The mode of the file as described in mknod(2).

      stino    This field uniquely identifies the file in a given file system.
                The pair stino and stdev uniquely identifies regular files.

      stdev    This field uniquely identifies the file system that contains
                the file.  Its value may be used as input to the ustat system
                call to determine more information about this file system.  No
                other meaning is associated with this value.

      strdev   This field should be used only by administrative commands.  It
                is valid only for block special files or character special
                files or XENIX special named files.  The st_rdev field for
                block special and character special files only has meaning on
                the system where the file was configured.

                If the file is a XENIX special named file, it contains the type
                code [see stat(4) for the XENIX semaphore and shared data type
                code values SINSEM and SINSHD].

      stnlink  This field should be used only by administrative commands.

      stuid    The user ID of the file's owner.

      stgid    The group ID of the file's group.

      stsize   For regular files, this is the address of the end of the file.
                For pipes or FIFOs, this is the count of the data currently in
                the file.  For block special character special, or XENIX
                special named files.  this is not defined.

      statime  Time when file data was last accessed.  Changed by the
                following system calls:  creat, mknod, pipe, utime, read,
                creatsem, opensem, sigsem, waitsem, sdget and sdfree.

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

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

      stat and lstat fail if one or more of the following are true:

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

      EBADF               fildes is not a valid open file descriptor.

      EFAULT              buf or path points to an invalid address.




10/89                                                                    Page 3







stat(2)        UNIX System V(Application Compatibility Package)         stat(2)


      EINTR               A signal was caught during the stat system call.

      ELOOP               Too many symbolic links were encountered in
                          translating path.

      EMULTIHOP           Components of path require hopping to multiple remote
                          machines.

      ENAMETOOLONG        The length of the path argument exceeds {PATHMAX},
                          or the length of a path component exceeds {NAMEMAX}
                          while (_POSIXNOTRUNC) is in effect.

      ENOENT              The named file does not exist or is the null
                          pathname.

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

      ENOLINK             path points to a remote machine and the link to that
                          machine is no longer active.

      EOVERFLOW           A component is too large to store in the structure
                          pointed to by buf.

      fstat fails if one or more of the following are true:

      ENOLINK             fildes points to a remote machine and the link to
                          that machine is no longer active.

      EOVERFLOW           A component is too large to store in the structure
                          pointed to by buf.

SEE ALSO
      chmod(2), chown(2), creat(2), link(2), mknod(2), pipe(2), read(2),
      time(2), unlink(2), utime(2), write(2), stat(5)

DIAGNOSTICS
      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 4                                                                    10/89





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