summaryrefslogtreecommitdiffstats
path: root/include/linux/stat.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/stat.h')
-rw-r--r--include/linux/stat.h51
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