stat.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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