linux/include/linux/stat.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _LINUX_STAT_H
   3#define _LINUX_STAT_H
   4
   5
   6#include <asm/stat.h>
   7#include <uapi/linux/stat.h>
   8
   9#define S_IRWXUGO       (S_IRWXU|S_IRWXG|S_IRWXO)
  10#define S_IALLUGO       (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
  11#define S_IRUGO         (S_IRUSR|S_IRGRP|S_IROTH)
  12#define S_IWUGO         (S_IWUSR|S_IWGRP|S_IWOTH)
  13#define S_IXUGO         (S_IXUSR|S_IXGRP|S_IXOTH)
  14
  15#define UTIME_NOW       ((1l << 30) - 1l)
  16#define UTIME_OMIT      ((1l << 30) - 2l)
  17
  18#include <linux/types.h>
  19#include <linux/time.h>
  20#include <linux/uidgid.h>
  21
  22#define KSTAT_QUERY_FLAGS (AT_STATX_SYNC_TYPE)
  23
  24struct kstat {
  25        u32             result_mask;    /* What fields the user got */
  26        umode_t         mode;
  27        unsigned int    nlink;
  28        uint32_t        blksize;        /* Preferred I/O size */
  29        u64             attributes;
  30        u64             attributes_mask;
  31#define KSTAT_ATTR_FS_IOC_FLAGS                         \
  32        (STATX_ATTR_COMPRESSED |                        \
  33         STATX_ATTR_IMMUTABLE |                         \
  34         STATX_ATTR_APPEND |                            \
  35         STATX_ATTR_NODUMP |                            \
  36         STATX_ATTR_ENCRYPTED                           \
  37         )/* Attrs corresponding to FS_*_FL flags */
  38        u64             ino;
  39        dev_t           dev;
  40        dev_t           rdev;
  41        kuid_t          uid;
  42        kgid_t          gid;
  43        loff_t          size;
  44        struct timespec64 atime;
  45        struct timespec64 mtime;
  46        struct timespec64 ctime;
  47        struct timespec64 btime;                        /* File creation time */
  48        u64             blocks;
  49};
  50
  51#endif
  52