diff options
Diffstat (limited to 'include/linux/stat.h')
-rw-r--r-- | include/linux/stat.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/include/linux/stat.h b/include/linux/stat.h new file mode 100644 index 000000000..765573dc1 --- /dev/null +++ b/include/linux/stat.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_STAT_H +#define _LINUX_STAT_H + + +#include <asm/stat.h> +#include <uapi/linux/stat.h> + +#define S_IRWXUGO (S_IRWXU|S_IRWXG|S_IRWXO) +#define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO) +#define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH) +#define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH) +#define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH) + +#define UTIME_NOW ((1l << 30) - 1l) +#define UTIME_OMIT ((1l << 30) - 2l) + +#include <linux/types.h> +#include <linux/time.h> +#include <linux/uidgid.h> + +#define KSTAT_QUERY_FLAGS (AT_STATX_SYNC_TYPE) + +struct kstat { + u32 result_mask; /* What fields the user got */ + umode_t mode; + unsigned int nlink; + uint32_t blksize; /* Preferred I/O size */ + u64 attributes; + u64 attributes_mask; +#define KSTAT_ATTR_FS_IOC_FLAGS \ + (STATX_ATTR_COMPRESSED | \ + STATX_ATTR_IMMUTABLE | \ + STATX_ATTR_APPEND | \ + STATX_ATTR_NODUMP | \ + STATX_ATTR_ENCRYPTED \ + )/* Attrs corresponding to FS_*_FL flags */ + u64 ino; + dev_t dev; + dev_t rdev; + kuid_t uid; + kgid_t gid; + loff_t size; + struct timespec64 atime; + struct timespec64 mtime; + struct timespec64 ctime; + struct timespec64 btime; /* File creation time */ + u64 blocks; +}; + +#endif |