stat.h 2.0 KB

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