stat.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #ifndef _ASM_M32R_STAT_H
  2. #define _ASM_M32R_STAT_H
  3. /* $Id$ */
  4. /* orig : i386 2.4.18 */
  5. #include <asm/byteorder.h>
  6. struct __old_kernel_stat {
  7. unsigned short st_dev;
  8. unsigned short st_ino;
  9. unsigned short st_mode;
  10. unsigned short st_nlink;
  11. unsigned short st_uid;
  12. unsigned short st_gid;
  13. unsigned short st_rdev;
  14. unsigned long st_size;
  15. unsigned long st_atime;
  16. unsigned long st_mtime;
  17. unsigned long st_ctime;
  18. };
  19. #define STAT_HAVE_NSEC 1
  20. struct stat {
  21. unsigned short st_dev;
  22. unsigned short __pad1;
  23. unsigned long st_ino;
  24. unsigned short st_mode;
  25. unsigned short st_nlink;
  26. unsigned short st_uid;
  27. unsigned short st_gid;
  28. unsigned short st_rdev;
  29. unsigned short __pad2;
  30. unsigned long st_size;
  31. unsigned long st_blksize;
  32. unsigned long st_blocks;
  33. unsigned long st_atime;
  34. unsigned long st_atime_nsec;
  35. unsigned long st_mtime;
  36. unsigned long st_mtime_nsec;
  37. unsigned long st_ctime;
  38. unsigned long st_ctime_nsec;
  39. unsigned long __unused4;
  40. unsigned long __unused5;
  41. };
  42. /* This matches struct stat64 in glibc2.1, hence the absolutely
  43. * insane amounts of padding around dev_t's.
  44. */
  45. struct stat64 {
  46. unsigned long long st_dev;
  47. unsigned char __pad0[4];
  48. #define STAT64_HAS_BROKEN_ST_INO
  49. unsigned long __st_ino;
  50. unsigned int st_mode;
  51. unsigned int st_nlink;
  52. unsigned long st_uid;
  53. unsigned long st_gid;
  54. unsigned long long st_rdev;
  55. unsigned char __pad3[4];
  56. long long st_size;
  57. unsigned long st_blksize;
  58. #if defined(__BIG_ENDIAN)
  59. unsigned long __pad4; /* future possible st_blocks high bits */
  60. unsigned long st_blocks; /* Number 512-byte blocks allocated. */
  61. #elif defined(__LITTLE_ENDIAN)
  62. unsigned long st_blocks; /* Number 512-byte blocks allocated. */
  63. unsigned long __pad4; /* future possible st_blocks high bits */
  64. #else
  65. #error no endian defined
  66. #endif
  67. unsigned long st_atime;
  68. unsigned long st_atime_nsec;
  69. unsigned long st_mtime;
  70. unsigned long st_mtime_nsec;
  71. unsigned long st_ctime;
  72. unsigned long st_ctime_nsec;
  73. unsigned long long st_ino;
  74. };
  75. #endif /* _ASM_M32R_STAT_H */