stat.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #ifndef _PARISC_STAT_H
  2. #define _PARISC_STAT_H
  3. #include <linux/types.h>
  4. struct stat {
  5. unsigned int st_dev; /* dev_t is 32 bits on parisc */
  6. ino_t st_ino; /* 32 bits */
  7. mode_t st_mode; /* 16 bits */
  8. nlink_t st_nlink; /* 16 bits */
  9. unsigned short st_reserved1; /* old st_uid */
  10. unsigned short st_reserved2; /* old st_gid */
  11. unsigned int st_rdev;
  12. off_t st_size;
  13. time_t st_atime;
  14. unsigned int st_atime_nsec;
  15. time_t st_mtime;
  16. unsigned int st_mtime_nsec;
  17. time_t st_ctime;
  18. unsigned int st_ctime_nsec;
  19. int st_blksize;
  20. int st_blocks;
  21. unsigned int __unused1; /* ACL stuff */
  22. unsigned int __unused2; /* network */
  23. ino_t __unused3; /* network */
  24. unsigned int __unused4; /* cnodes */
  25. unsigned short __unused5; /* netsite */
  26. short st_fstype;
  27. unsigned int st_realdev;
  28. unsigned short st_basemode;
  29. unsigned short st_spareshort;
  30. uid_t st_uid;
  31. gid_t st_gid;
  32. unsigned int st_spare4[3];
  33. };
  34. #define STAT_HAVE_NSEC
  35. typedef __kernel_off64_t off64_t;
  36. struct hpux_stat64 {
  37. unsigned int st_dev; /* dev_t is 32 bits on parisc */
  38. ino_t st_ino; /* 32 bits */
  39. mode_t st_mode; /* 16 bits */
  40. nlink_t st_nlink; /* 16 bits */
  41. unsigned short st_reserved1; /* old st_uid */
  42. unsigned short st_reserved2; /* old st_gid */
  43. unsigned int st_rdev;
  44. off64_t st_size;
  45. time_t st_atime;
  46. unsigned int st_spare1;
  47. time_t st_mtime;
  48. unsigned int st_spare2;
  49. time_t st_ctime;
  50. unsigned int st_spare3;
  51. int st_blksize;
  52. __u64 st_blocks;
  53. unsigned int __unused1; /* ACL stuff */
  54. unsigned int __unused2; /* network */
  55. ino_t __unused3; /* network */
  56. unsigned int __unused4; /* cnodes */
  57. unsigned short __unused5; /* netsite */
  58. short st_fstype;
  59. unsigned int st_realdev;
  60. unsigned short st_basemode;
  61. unsigned short st_spareshort;
  62. uid_t st_uid;
  63. gid_t st_gid;
  64. unsigned int st_spare4[3];
  65. };
  66. /* This is the struct that 32-bit userspace applications are expecting.
  67. * How 64-bit apps are going to be compiled, I have no idea. But at least
  68. * this way, we don't have a wrapper in the kernel.
  69. */
  70. struct stat64 {
  71. unsigned long long st_dev;
  72. unsigned int __pad1;
  73. unsigned int __st_ino; /* Not actually filled in */
  74. unsigned int st_mode;
  75. unsigned int st_nlink;
  76. unsigned int st_uid;
  77. unsigned int st_gid;
  78. unsigned long long st_rdev;
  79. unsigned int __pad2;
  80. signed long long st_size;
  81. signed int st_blksize;
  82. signed long long st_blocks;
  83. signed int st_atime;
  84. unsigned int st_atime_nsec;
  85. signed int st_mtime;
  86. unsigned int st_mtime_nsec;
  87. signed int st_ctime;
  88. unsigned int st_ctime_nsec;
  89. unsigned long long st_ino;
  90. };
  91. #endif