Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stat_xen(2) — Atari System V 1.1-06

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)                (XENIX Compatibility Package)                stat(2)


   NAME
         stat, lstat, fstat - get file status

   SYNOPSIS
         #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 */


   8/91                                                                 Page 1









   stat(2)                (XENIX 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                                                                 8/91









   stat(2)                (XENIX 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.




   8/91                                                                 Page 3









   stat(2)                (XENIX Compatibility Package)                stat(2)


         EBADF               fildes is not a valid open file descriptor.

         EFAULT              buf or path points to an invalid address.

         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                                                                 8/91





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