58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
|
/* 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>
|
||
|
|
||
|
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 | \
|
||
|
STATX_ATTR_VERITY \
|
||
|
)/* Attrs corresponding to FS_*_FL flags */
|
||
|
#define KSTAT_ATTR_VFS_FLAGS \
|
||
|
(STATX_ATTR_IMMUTABLE | \
|
||
|
STATX_ATTR_APPEND \
|
||
|
) /* Attrs corresponding to S_* flags that are enforced by the VFS */
|
||
|
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;
|
||
|
u64 mnt_id;
|
||
|
u32 dio_mem_align;
|
||
|
u32 dio_offset_align;
|
||
|
};
|
||
|
|
||
|
#endif
|