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)