Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

linux/stat.h

Go to the documentation of this file.
00001 #ifndef _LINUX_STAT_H
00002 #define _LINUX_STAT_H
00003 
00004 #ifdef __KERNEL__
00005 
00006 #include <asm/stat.h>
00007 
00008 #endif
00009 
00010 #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
00011 
00012 #define S_IFMT  00170000
00013 #define S_IFSOCK 0140000
00014 #define S_IFLNK  0120000
00015 #define S_IFREG  0100000
00016 #define S_IFBLK  0060000
00017 #define S_IFDIR  0040000
00018 #define S_IFCHR  0020000
00019 #define S_IFIFO  0010000
00020 #define S_ISUID  0004000
00021 #define S_ISGID  0002000
00022 #define S_ISVTX  0001000
00023 
00024 #define S_ISLNK(m)      (((m) & S_IFMT) == S_IFLNK)
00025 #define S_ISREG(m)      (((m) & S_IFMT) == S_IFREG)
00026 #define S_ISDIR(m)      (((m) & S_IFMT) == S_IFDIR)
00027 #define S_ISCHR(m)      (((m) & S_IFMT) == S_IFCHR)
00028 #define S_ISBLK(m)      (((m) & S_IFMT) == S_IFBLK)
00029 #define S_ISFIFO(m)     (((m) & S_IFMT) == S_IFIFO)
00030 #define S_ISSOCK(m)     (((m) & S_IFMT) == S_IFSOCK)
00031 
00032 #define S_IRWXU 00700
00033 #define S_IRUSR 00400
00034 #define S_IWUSR 00200
00035 #define S_IXUSR 00100
00036 
00037 #define S_IRWXG 00070
00038 #define S_IRGRP 00040
00039 #define S_IWGRP 00020
00040 #define S_IXGRP 00010
00041 
00042 #define S_IRWXO 00007
00043 #define S_IROTH 00004
00044 #define S_IWOTH 00002
00045 #define S_IXOTH 00001
00046 
00047 #endif
00048 
00049 #ifdef __KERNEL__
00050 #define S_IRWXUGO       (S_IRWXU|S_IRWXG|S_IRWXO)
00051 #define S_IALLUGO       (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
00052 #define S_IRUGO         (S_IRUSR|S_IRGRP|S_IROTH)
00053 #define S_IWUGO         (S_IWUSR|S_IWGRP|S_IWOTH)
00054 #define S_IXUGO         (S_IXUSR|S_IXGRP|S_IXOTH)
00055 #define S_IRXUG         (S_IRUSR|S_IXUSR|S_IRGRP|S_IXGRP)
00056 #endif
00057 
00058 #endif