kernel_stat.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef _BITS_STAT_STRUCT_H
  2. #define _BITS_STAT_STRUCT_H
  3. /* This file provides whatever this particular arch's kernel thinks
  4. * struct stat should look like... It turns out each arch has a
  5. * different opinion on the subject... */
  6. #if __WORDSIZE == 64
  7. struct stat {
  8. unsigned char __pad0[6];
  9. unsigned short st_dev;
  10. unsigned long long st_ino;
  11. unsigned int st_mode;
  12. unsigned int st_nlink;
  13. unsigned int st_uid;
  14. unsigned int st_gid;
  15. unsigned char __pad2[6];
  16. unsigned short st_rdev;
  17. unsigned char __pad3[8];
  18. long long st_size;
  19. unsigned int st_blksize;
  20. unsigned char __pad4[8];
  21. unsigned int st_blocks;
  22. unsigned int st_atime;
  23. unsigned int __unused1;
  24. unsigned int st_mtime;
  25. unsigned int __unused2;
  26. unsigned int st_ctime;
  27. unsigned int __unused3;
  28. unsigned int __unused4;
  29. unsigned int __unused5;
  30. };
  31. #else
  32. struct stat {
  33. unsigned short st_dev;
  34. unsigned long st_ino;
  35. unsigned short st_mode;
  36. short st_nlink;
  37. unsigned short st_uid;
  38. unsigned short st_gid;
  39. unsigned short st_rdev;
  40. long st_size;
  41. long st_atime;
  42. unsigned long __unused1;
  43. long st_mtime;
  44. unsigned long __unused2;
  45. long st_ctime;
  46. unsigned long __unused3;
  47. long st_blksize;
  48. long st_blocks;
  49. unsigned long __unused4[2];
  50. };
  51. #ifdef __USE_LARGEFILE64
  52. struct stat64 {
  53. unsigned char __pad0[6];
  54. unsigned short st_dev;
  55. unsigned long long st_ino;
  56. unsigned int st_mode;
  57. unsigned int st_nlink;
  58. unsigned int st_uid;
  59. unsigned int st_gid;
  60. unsigned char __pad2[6];
  61. unsigned short st_rdev;
  62. unsigned char __pad3[8];
  63. long long st_size;
  64. unsigned int st_blksize;
  65. unsigned char __pad4[8];
  66. unsigned int st_blocks;
  67. unsigned int st_atime;
  68. unsigned int __unused1;
  69. unsigned int st_mtime;
  70. unsigned int __unused2;
  71. unsigned int st_ctime;
  72. unsigned int __unused3;
  73. unsigned int __unused4;
  74. unsigned int __unused5;
  75. };
  76. #endif
  77. #endif
  78. #endif /* _BITS_STAT_STRUCT_H */