stat.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef __SPARC_STAT_H
  3. #define __SPARC_STAT_H
  4. #include <linux/types.h>
  5. #if defined(__sparc__) && defined(__arch64__)
  6. /* 64 bit sparc */
  7. struct stat {
  8. unsigned int st_dev;
  9. __kernel_ino_t st_ino;
  10. __kernel_mode_t st_mode;
  11. short st_nlink;
  12. __kernel_uid32_t st_uid;
  13. __kernel_gid32_t st_gid;
  14. unsigned int st_rdev;
  15. long st_size;
  16. long st_atime;
  17. long st_mtime;
  18. long st_ctime;
  19. long st_blksize;
  20. long st_blocks;
  21. unsigned long __unused4[2];
  22. };
  23. struct stat64 {
  24. unsigned long st_dev;
  25. unsigned long st_ino;
  26. unsigned long st_nlink;
  27. unsigned int st_mode;
  28. unsigned int st_uid;
  29. unsigned int st_gid;
  30. unsigned int __pad0;
  31. unsigned long st_rdev;
  32. long st_size;
  33. long st_blksize;
  34. long st_blocks;
  35. unsigned long st_atime;
  36. unsigned long st_atime_nsec;
  37. unsigned long st_mtime;
  38. unsigned long st_mtime_nsec;
  39. unsigned long st_ctime;
  40. unsigned long st_ctime_nsec;
  41. long __unused[3];
  42. };
  43. #else
  44. /* 32 bit sparc */
  45. struct stat {
  46. unsigned short st_dev;
  47. __kernel_ino_t st_ino;
  48. __kernel_mode_t st_mode;
  49. short st_nlink;
  50. unsigned short st_uid;
  51. unsigned short st_gid;
  52. unsigned short st_rdev;
  53. long st_size;
  54. long st_atime;
  55. unsigned long st_atime_nsec;
  56. long st_mtime;
  57. unsigned long st_mtime_nsec;
  58. long st_ctime;
  59. unsigned long st_ctime_nsec;
  60. long st_blksize;
  61. long st_blocks;
  62. unsigned long __unused4[2];
  63. };
  64. #define STAT_HAVE_NSEC 1
  65. struct stat64 {
  66. unsigned long long st_dev;
  67. unsigned long long st_ino;
  68. unsigned int st_mode;
  69. unsigned int st_nlink;
  70. unsigned int st_uid;
  71. unsigned int st_gid;
  72. unsigned long long st_rdev;
  73. unsigned char __pad3[8];
  74. long long st_size;
  75. unsigned int st_blksize;
  76. unsigned char __pad4[8];
  77. unsigned int st_blocks;
  78. unsigned int st_atime;
  79. unsigned int st_atime_nsec;
  80. unsigned int st_mtime;
  81. unsigned int st_mtime_nsec;
  82. unsigned int st_ctime;
  83. unsigned int st_ctime_nsec;
  84. unsigned int __unused4;
  85. unsigned int __unused5;
  86. };
  87. #endif /* defined(__sparc__) && defined(__arch64__) */
  88. #endif /* __SPARC_STAT_H */