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

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright (C) 1995, 1999, 2000 Ralf Baechle
  7.  * Copyright (C) 2000 Silicon Graphics, Inc.
  8.  */
  9. #ifndef _ASM_STAT_H
  10. #define _ASM_STAT_H
  11. #include <linux/types.h>
  12. struct __old_kernel_stat {
  13. unsigned int st_dev;
  14. unsigned int st_ino;
  15. unsigned int st_mode;
  16. unsigned int st_nlink;
  17. unsigned int st_uid;
  18. unsigned int st_gid;
  19. unsigned int st_rdev;
  20. long st_size;
  21. unsigned int st_atime, st_res1;
  22. unsigned int st_mtime, st_res2;
  23. unsigned int st_ctime, st_res3;
  24. unsigned int st_blksize;
  25. int st_blocks;
  26. unsigned int st_unused[2];
  27. };
  28. struct stat32 {
  29. __kernel_dev_t32    st_dev;
  30. int     st_pad1[3];
  31. __kernel_ino_t32    st_ino;
  32. __kernel_mode_t32   st_mode;
  33. __kernel_nlink_t32  st_nlink;
  34. __kernel_uid_t32    st_uid;
  35. __kernel_gid_t32    st_gid;
  36. __kernel_dev_t32    st_rdev;
  37. int     st_pad2[2];
  38. __kernel_off_t32    st_size;
  39. int     st_pad3;
  40. __kernel_time_t32   st_atime;
  41. int     reserved0;
  42. __kernel_time_t32   st_mtime;
  43. int     reserved1;
  44. __kernel_time_t32   st_ctime;
  45. int     reserved2;
  46. int     st_blksize;
  47. int     st_blocks;
  48. int     st_pad4[14];
  49. };
  50. /* The memory layout is the same as of struct stat64 of the 32-bit kernel.  */
  51. struct stat {
  52. dev_t st_dev;
  53. unsigned int st_pad0[3]; /* Reserved for st_dev expansion  */
  54. unsigned long st_ino;
  55. mode_t st_mode;
  56. nlink_t st_nlink;
  57. uid_t st_uid;
  58. gid_t st_gid;
  59. dev_t st_rdev;
  60. unsigned int st_pad1[3]; /* Reserved for st_rdev expansion  */
  61. off_t st_size;
  62. /*
  63.  * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
  64.  * but we don't have it under Linux.
  65.  */
  66. unsigned int st_atime;
  67. unsigned int reserved0; /* Reserved for st_atime expansion  */
  68. unsigned int st_mtime;
  69. unsigned int reserved1; /* Reserved for st_mtime expansion  */
  70. unsigned int st_ctime;
  71. unsigned int reserved2; /* Reserved for st_ctime expansion  */
  72. unsigned int st_blksize;
  73. unsigned int st_pad2;
  74. unsigned long st_blocks;
  75. };
  76. #endif /* _ASM_STAT_H */