···1-#ifdef __KERNEL__2-# ifdef CONFIG_X86_323-# include "stat_32.h"4-# else5-# include "stat_64.h"6-# endif0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007#else8-# ifdef __i386__9-# include "stat_32.h"10-# else11-# include "stat_64.h"12-# endif0013#endif
···1+#ifndef _ASM_X86_STAT_H2+#define _ASM_X86_STAT_H3+4+#define STAT_HAVE_NSEC 15+6+#ifdef __i386__7+struct stat {8+ unsigned long st_dev;9+ unsigned long st_ino;10+ unsigned short st_mode;11+ unsigned short st_nlink;12+ unsigned short st_uid;13+ unsigned short st_gid;14+ unsigned long st_rdev;15+ unsigned long st_size;16+ unsigned long st_blksize;17+ unsigned long st_blocks;18+ unsigned long st_atime;19+ unsigned long st_atime_nsec;20+ unsigned long st_mtime;21+ unsigned long st_mtime_nsec;22+ unsigned long st_ctime;23+ unsigned long st_ctime_nsec;24+ unsigned long __unused4;25+ unsigned long __unused5;26+};27+28+#define STAT64_HAS_BROKEN_ST_INO 129+30+/* This matches struct stat64 in glibc2.1, hence the absolutely31+ * insane amounts of padding around dev_t's.32+ */33+struct stat64 {34+ unsigned long long st_dev;35+ unsigned char __pad0[4];36+37+ unsigned long __st_ino;38+39+ unsigned int st_mode;40+ unsigned int st_nlink;41+42+ unsigned long st_uid;43+ unsigned long st_gid;44+45+ unsigned long long st_rdev;46+ unsigned char __pad3[4];47+48+ long long st_size;49+ unsigned long st_blksize;50+51+ /* Number 512-byte blocks allocated. */52+ unsigned long long st_blocks;53+54+ unsigned long st_atime;55+ unsigned long st_atime_nsec;56+57+ unsigned long st_mtime;58+ unsigned int st_mtime_nsec;59+60+ unsigned long st_ctime;61+ unsigned long st_ctime_nsec;62+63+ unsigned long long st_ino;64+};65+66+#else /* __i386__ */67+68+struct stat {69+ unsigned long st_dev;70+ unsigned long st_ino;71+ unsigned long st_nlink;72+73+ unsigned int st_mode;74+ unsigned int st_uid;75+ unsigned int st_gid;76+ unsigned int __pad0;77+ unsigned long st_rdev;78+ long st_size;79+ long st_blksize;80+ long st_blocks; /* Number 512-byte blocks allocated. */81+82+ unsigned long st_atime;83+ unsigned long st_atime_nsec;84+ unsigned long st_mtime;85+ unsigned long st_mtime_nsec;86+ unsigned long st_ctime;87+ unsigned long st_ctime_nsec;88+ long __unused[3];89+};90+#endif91+92+/* for 32bit emulation and 32 bit kernels */93+struct __old_kernel_stat {94+ unsigned short st_dev;95+ unsigned short st_ino;96+ unsigned short st_mode;97+ unsigned short st_nlink;98+ unsigned short st_uid;99+ unsigned short st_gid;100+ unsigned short st_rdev;101+#ifdef __i386__102+ unsigned long st_size;103+ unsigned long st_atime;104+ unsigned long st_mtime;105+ unsigned long st_ctime;106#else107+ unsigned int st_size;108+ unsigned int st_atime;109+ unsigned int st_mtime;110+ unsigned int st_ctime;111+#endif112+};113+114#endif
-77
include/asm-x86/stat_32.h
···1-#ifndef _I386_STAT_H2-#define _I386_STAT_H3-4-struct __old_kernel_stat {5- unsigned short st_dev;6- unsigned short st_ino;7- unsigned short st_mode;8- unsigned short st_nlink;9- unsigned short st_uid;10- unsigned short st_gid;11- unsigned short st_rdev;12- unsigned long st_size;13- unsigned long st_atime;14- unsigned long st_mtime;15- unsigned long st_ctime;16-};17-18-struct stat {19- unsigned long st_dev;20- unsigned long st_ino;21- unsigned short st_mode;22- unsigned short st_nlink;23- unsigned short st_uid;24- unsigned short st_gid;25- unsigned long st_rdev;26- unsigned long st_size;27- unsigned long st_blksize;28- unsigned long st_blocks;29- unsigned long st_atime;30- unsigned long st_atime_nsec;31- unsigned long st_mtime;32- unsigned long st_mtime_nsec;33- unsigned long st_ctime;34- unsigned long st_ctime_nsec;35- unsigned long __unused4;36- unsigned long __unused5;37-};38-39-/* This matches struct stat64 in glibc2.1, hence the absolutely40- * insane amounts of padding around dev_t's.41- */42-struct stat64 {43- unsigned long long st_dev;44- unsigned char __pad0[4];45-46-#define STAT64_HAS_BROKEN_ST_INO 147- unsigned long __st_ino;48-49- unsigned int st_mode;50- unsigned int st_nlink;51-52- unsigned long st_uid;53- unsigned long st_gid;54-55- unsigned long long st_rdev;56- unsigned char __pad3[4];57-58- long long st_size;59- unsigned long st_blksize;60-61- unsigned long long st_blocks; /* Number 512-byte blocks allocated. */62-63- unsigned long st_atime;64- unsigned long st_atime_nsec;65-66- unsigned long st_mtime;67- unsigned int st_mtime_nsec;68-69- unsigned long st_ctime;70- unsigned long st_ctime_nsec;71-72- unsigned long long st_ino;73-};74-75-#define STAT_HAVE_NSEC 176-77-#endif
···1-#ifndef _ASM_X86_64_STAT_H2-#define _ASM_X86_64_STAT_H3-4-#define STAT_HAVE_NSEC 15-6-struct stat {7- unsigned long st_dev;8- unsigned long st_ino;9- unsigned long st_nlink;10-11- unsigned int st_mode;12- unsigned int st_uid;13- unsigned int st_gid;14- unsigned int __pad0;15- unsigned long st_rdev;16- long st_size;17- long st_blksize;18- long st_blocks; /* Number 512-byte blocks allocated. */19-20- unsigned long st_atime;21- unsigned long st_atime_nsec; 22- unsigned long st_mtime;23- unsigned long st_mtime_nsec;24- unsigned long st_ctime;25- unsigned long st_ctime_nsec;26- long __unused[3];27-};28-29-/* For 32bit emulation */30-struct __old_kernel_stat {31- unsigned short st_dev;32- unsigned short st_ino;33- unsigned short st_mode;34- unsigned short st_nlink;35- unsigned short st_uid;36- unsigned short st_gid;37- unsigned short st_rdev;38- unsigned int st_size;39- unsigned int st_atime;40- unsigned int st_mtime;41- unsigned int st_ctime;42-};43-44-#endif