stat3type
File status
Usage
#include <sys/stat.h>
struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* Inode number */ mode_t st_mode; /* File type and mode */ nlink_t st_nlink; /* Number of hard links */ uid_t st_uid; /* User ID of owner */ gid_t st_gid; /* Group ID of owner */ dev_t st_rdev; /* Device ID (if special file) */ off_t st_size; /* Total size, in bytes */ blksize_t st_blksize; /* Block size for filesystem I/O */ blkcnt_t st_blocks; /* Number of 512 B blocks allocated */
/* Since POSIX.1-2008, this structure supports nanosecond
precision for the following timestamp fields.
For the details before POSIX.1-2008, see HISTORY. */ struct timespec st_atim; /* Time of last access */ struct timespec st_mtim; /* Time of last modification */ struct timespec st_ctim; /* Time of last status change */ #define st_atime st_atim.tv_sec /* Backward compatibility */ #define st_mtime st_mtim.tv_sec #define st_ctime st_ctim.tv_sec };
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
.st_atim, .st_mtim, .st_ctim:
Since glibc 2.12:
_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
glibc 2.19 and earlier:
_BSD_SOURCE || _SVID_SOURCE
Library
Standard C library (libc)
Overview
Describes information about a file.
The fields are as follows:
- .st_ino
-
This field contains the file's inode number in the filesystem on .st_dev. If stat(2) was called on the mount point, then .st_ino differs from .d_ino returned by readdir(3) for the corresponding directory entry in the parent directory. In this case, .st_ino is the inode number of the root directory of the mounted filesystem, while .d_ino is the inode number of the mount point in the parent filesystem.
- .st_mode
-
This field contains the file type and mode. See inode(7) for further information.
- .st_nlink
-
This field contains the number of hard links to the file.
- .st_uid
-
This field contains the user ID of the owner of the file.
- .st_gid
-
This field contains the ID of the group owner of the file.
- .st_rdev
-
This field describes the device that this file (inode) represents.
- .st_size
-
This field gives the size of the file (if it is a regular file or a symbolic link) in bytes. The size of a symbolic link is the length of the pathname it contains, without a terminating null byte.
- .st_blksize
-
This field gives the "preferred" block size for efficient filesystem I/O.
- .st_blocks
-
This field indicates the number of blocks allocated to the file, in 512-byte units. (This may be smaller than .st_size/512 when the file has holes.)
- .st_atime
-
This is the time of the last access of file data.
- .st_mtime
-
This is the time of last modification of file data.
- .st_ctime
-
This is the file's last status change timestamp (time of last change to the inode).
For further information on the above fields, see inode(7).
Notes
The following header also provides this type: <ftw.h>.
Releases
3 releases since Debian 12 (Bookworm); the text changed 2 times.