stat.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef __ASM_SH_STAT_H
  2. #define __ASM_SH_STAT_H
  3. struct __old_kernel_stat {
  4. unsigned short st_dev;
  5. unsigned short st_ino;
  6. unsigned short st_mode;
  7. unsigned short st_nlink;
  8. unsigned short st_uid;
  9. unsigned short st_gid;
  10. unsigned short st_rdev;
  11. unsigned long  st_size;
  12. unsigned long  st_atime;
  13. unsigned long  st_mtime;
  14. unsigned long  st_ctime;
  15. };
  16. struct stat {
  17. unsigned short st_dev;
  18. unsigned short __pad1;
  19. unsigned long st_ino;
  20. unsigned short st_mode;
  21. unsigned short st_nlink;
  22. unsigned short st_uid;
  23. unsigned short st_gid;
  24. unsigned short st_rdev;
  25. unsigned short __pad2;
  26. unsigned long  st_size;
  27. unsigned long  st_blksize;
  28. unsigned long  st_blocks;
  29. unsigned long  st_atime;
  30. unsigned long  __unused1;
  31. unsigned long  st_mtime;
  32. unsigned long  __unused2;
  33. unsigned long  st_ctime;
  34. unsigned long  __unused3;
  35. unsigned long  __unused4;
  36. unsigned long  __unused5;
  37. };
  38. /* This matches struct stat64 in glibc2.1, hence the absolutely
  39.  * insane amounts of padding around dev_t's.
  40.  */
  41. struct stat64 {
  42. #if defined(__BIG_ENDIAN__)
  43. unsigned char   __pad0b[6];
  44. unsigned short st_dev;
  45. #elif defined(__LITTLE_ENDIAN__)
  46. unsigned short st_dev;
  47. unsigned char __pad0b[6];
  48. #else
  49. #error Must know endian to build stat64 structure!
  50. #endif
  51. unsigned char __pad0[4];
  52. unsigned long st_ino;
  53. unsigned int st_mode;
  54. unsigned int st_nlink;
  55. unsigned long st_uid;
  56. unsigned long st_gid;
  57. #if defined(__BIG_ENDIAN__)
  58. unsigned char __pad3b[6];
  59. unsigned short st_rdev;
  60. #else /* Must be little */
  61. unsigned short st_rdev;
  62. unsigned char __pad3b[6];
  63. #endif
  64. unsigned char __pad3[4];
  65. long long st_size;
  66. unsigned long st_blksize;
  67. #if defined(__BIG_ENDIAN__)
  68. unsigned long __pad4; /* Future possible st_blocks hi bits */
  69. unsigned long st_blocks; /* Number 512-byte blocks allocated. */
  70. #else /* Must be little */
  71. unsigned long st_blocks; /* Number 512-byte blocks allocated. */
  72. unsigned long __pad4; /* Future possible st_blocks hi bits */
  73. #endif
  74. unsigned long st_atime;
  75. unsigned long __pad5;
  76. unsigned long st_mtime;
  77. unsigned long __pad6;
  78. unsigned long st_ctime;
  79. unsigned long __pad7; /* will be high 32 bits of ctime someday */
  80. unsigned long __unused1;
  81. unsigned long __unused2;
  82. };
  83. #endif /* __ASM_SH_STAT_H */