kernel_stat.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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 kernel_stat should look like... It turns out each arch has a
  5. * different opinion on the subject... */
  6. struct kernel_stat {
  7. unsigned char __pad1[6];
  8. unsigned short st_dev;
  9. unsigned long __pad2;
  10. unsigned long st_ino;
  11. unsigned short __pad3;
  12. unsigned short st_mode;
  13. unsigned short __pad4;
  14. unsigned short st_nlink;
  15. unsigned short __pad5;
  16. unsigned short st_uid;
  17. unsigned short __pad6;
  18. unsigned short st_gid;
  19. unsigned char __pad7[6];
  20. unsigned short st_rdev;
  21. unsigned long __pad8;
  22. unsigned long st_size;
  23. unsigned long __pad9; /* align 64-bit st_blocks to 2-word */
  24. unsigned long st_blksize;
  25. unsigned long __pad10; /* future possible st_blocks high bits */
  26. unsigned long st_blocks; /* Number 512-byte blocks allocated. */
  27. struct timespec st_atim;
  28. struct timespec st_mtim;
  29. struct timespec st_ctim;
  30. unsigned long long __unused4;
  31. };
  32. struct kernel_stat64 {
  33. unsigned char __pad1[6];
  34. unsigned short st_dev;
  35. unsigned long long st_ino;
  36. unsigned int st_mode;
  37. unsigned int st_nlink;
  38. unsigned long st_uid;
  39. unsigned long st_gid;
  40. unsigned char __pad2[6];
  41. unsigned short st_rdev;
  42. long long st_size;
  43. unsigned long __pad3; /* align 64-bit st_blocks to 2-word */
  44. unsigned long st_blksize;
  45. unsigned long __pad4; /* future possible st_blocks high bits */
  46. unsigned long st_blocks; /* Number 512-byte blocks allocated. */
  47. struct timespec st_atim;
  48. struct timespec st_mtim;
  49. struct timespec st_ctim;
  50. unsigned long long __unused4;
  51. };
  52. #endif /* _BITS_STAT_STRUCT_H */