linux/include/linux/stat.h
<<
>>
Prefs
   1#ifndef _LINUX_STAT_H
   2#define _LINUX_STAT_H
   3
   4#ifdef __KERNEL__
   5
   6#include <asm/stat.h>
   7
   8#endif
   9
  10#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
  11
  12#define S_IFMT  00170000
  13#define S_IFSOCK 0140000
  14#define S_IFLNK  0120000
  15#define S_IFREG  0100000
  16#define S_IFBLK  0060000
  17#define S_IFDIR  0040000
  18#define S_IFCHR  0020000
  19#define S_IFIFO  0010000
  20#define S_ISUID  0004000
  21#define S_ISGID  0002000
  22#define S_ISVTX  0001000
  23
  24#define S_ISLNK(m)      (((m) & S_IFMT) == S_IFLNK)
  25#define S_ISREG(m)      (((m) & S_IFMT) == S_IFREG)
  26#define S_ISDIR(m)      (((m) & S_IFMT) == S_IFDIR)
  27#define S_ISCHR(m)      (((m) & S_IFMT) == S_IFCHR)
  28#define S_ISBLK(m)      (((m) & S_IFMT) == S_IFBLK)
  29#define S_ISFIFO(m)     (((m) & S_IFMT) == S_IFIFO)
  30#define S_ISSOCK(m)     (((m) & S_IFMT) == S_IFSOCK)
  31
  32#define S_IRWXU 00700
  33#define S_IRUSR 00400
  34#define S_IWUSR 00200
  35#define S_IXUSR 00100
  36
  37#define S_IRWXG 00070
  38#define S_IRGRP 00040
  39#define S_IWGRP 00020
  40#define S_IXGRP 00010
  41
  42#define S_IRWXO 00007
  43#define S_IROTH 00004
  44#define S_IWOTH 00002
  45#define S_IXOTH 00001
  46
  47#endif
  48
  49#ifdef __KERNEL__
  50#define S_IRWXUGO       (S_IRWXU|S_IRWXG|S_IRWXO)
  51#define S_IALLUGO       (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
  52#define S_IRUGO         (S_IRUSR|S_IRGRP|S_IROTH)
  53#define S_IWUGO         (S_IWUSR|S_IWGRP|S_IWOTH)
  54#define S_IXUGO         (S_IXUSR|S_IXGRP|S_IXOTH)
  55
  56#define UTIME_NOW       ((1l << 30) - 1l)
  57#define UTIME_OMIT      ((1l << 30) - 2l)
  58
  59#include <linux/types.h>
  60#include <linux/time.h>
  61
  62struct kstat {
  63        u64             ino;
  64        dev_t           dev;
  65        umode_t         mode;
  66        unsigned int    nlink;
  67        uid_t           uid;
  68        gid_t           gid;
  69        dev_t           rdev;
  70        loff_t          size;
  71        struct timespec  atime;
  72        struct timespec mtime;
  73        struct timespec ctime;
  74        unsigned long   blksize;
  75        unsigned long long      blocks;
  76};
  77
  78#endif
  79
  80#endif
  81