Manual pages › XENIX version of a file format (4Z)
stat(4Z)
data returned by stat system call
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
Also by this name: stat(1), General commands · stat(2), System calls · stat(5), Character sets, environment, package files · stat(2Z), XENIX system calls
NAME
stat - data returned by stat system call
SYNOPSIS
#include <sys/types.h> #include <sys/stat.h>
DESCRIPTION
The system calls stat, lstat and fstat return data in a stat
structure, which is defined in stat.h:
struct stat
{
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
off_t st_size;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
};
The constants used in the st_mode field are also defined in
this file:
#define S_IFMT 0xF000 /* type of file */
#define S_IAMB 0x1FF /* access mode bits */
#define S_IFIFO 0x1000 /* fifo */
#define S_IFCHR 0x2000 /* character special */
#define S_IFDIR 0x4000 /* directory */
#define S_IFNAM 0x5000 /* XENIX special named file */
#define S_INSEM 0x1 /* XENIX semaphore subtype of IFNAM */
#define S_INSEM 0x2 /* XENIX shared data subtype of IFNAM */
#define S_IFBLK 0x6000 /* block special */
#define S_IFREG 0x8000 /* regular */
#define S_IFLNK 0xA000 /* symbolic link */
#define S_ISUID 04000 /* set user id on execution */
#define S_ISGID 02000 /* set group id on execution */
#define S_ISVTX 01000 /* save swapped text even after use */
#define S_IREAD 00400 /* read permission, owner */
#define S_IWRITE 00200 /* write permission, owner */
#define S_IEXEC 00100 /* execute/search permission, owner */
#define S_ENFMT S_ISGID /* record locking enforcement flag */
#define S_IRWXU 00700 /* read, write, execute: owner */
#define S_IRUSR 00400 /* read permission: owner */
#define S_IWUSR 00200 /* write permission: owner */
#define S_IXUSR 00100 /* execute permission: owner */
#define S_IRWXG 00070 /* read, write, execute: group */
#define S_IRGRP 00040 /* read permission: group */
#define S_IWGRP 00020 /* write permission: group */
#define S_IXGRP 00010 /* execute permission: group */
#define S_IRWXO 00007 /* read, write, execute: other */
#define S_IROTH 00004 /* read permission: other */
#define S_IWOTH 00002 /* write permission: other */
#define S_IXOTH 00001 /* execute permission: other */
SEE ALSO
stat(2), types(5).