···11-#ifdef __KERNEL__22-# ifdef CONFIG_X86_3233-# include "stat_32.h"44-# else55-# include "stat_64.h"66-# endif11+#ifndef _ASM_X86_STAT_H22+#define _ASM_X86_STAT_H33+44+#define STAT_HAVE_NSEC 155+66+#ifdef __i386__77+struct stat {88+ unsigned long st_dev;99+ unsigned long st_ino;1010+ unsigned short st_mode;1111+ unsigned short st_nlink;1212+ unsigned short st_uid;1313+ unsigned short st_gid;1414+ unsigned long st_rdev;1515+ unsigned long st_size;1616+ unsigned long st_blksize;1717+ unsigned long st_blocks;1818+ unsigned long st_atime;1919+ unsigned long st_atime_nsec;2020+ unsigned long st_mtime;2121+ unsigned long st_mtime_nsec;2222+ unsigned long st_ctime;2323+ unsigned long st_ctime_nsec;2424+ unsigned long __unused4;2525+ unsigned long __unused5;2626+};2727+2828+#define STAT64_HAS_BROKEN_ST_INO 12929+3030+/* This matches struct stat64 in glibc2.1, hence the absolutely3131+ * insane amounts of padding around dev_t's.3232+ */3333+struct stat64 {3434+ unsigned long long st_dev;3535+ unsigned char __pad0[4];3636+3737+ unsigned long __st_ino;3838+3939+ unsigned int st_mode;4040+ unsigned int st_nlink;4141+4242+ unsigned long st_uid;4343+ unsigned long st_gid;4444+4545+ unsigned long long st_rdev;4646+ unsigned char __pad3[4];4747+4848+ long long st_size;4949+ unsigned long st_blksize;5050+5151+ /* Number 512-byte blocks allocated. */5252+ unsigned long long st_blocks;5353+5454+ unsigned long st_atime;5555+ unsigned long st_atime_nsec;5656+5757+ unsigned long st_mtime;5858+ unsigned int st_mtime_nsec;5959+6060+ unsigned long st_ctime;6161+ unsigned long st_ctime_nsec;6262+6363+ unsigned long long st_ino;6464+};6565+6666+#else /* __i386__ */6767+6868+struct stat {6969+ unsigned long st_dev;7070+ unsigned long st_ino;7171+ unsigned long st_nlink;7272+7373+ unsigned int st_mode;7474+ unsigned int st_uid;7575+ unsigned int st_gid;7676+ unsigned int __pad0;7777+ unsigned long st_rdev;7878+ long st_size;7979+ long st_blksize;8080+ long st_blocks; /* Number 512-byte blocks allocated. */8181+8282+ unsigned long st_atime;8383+ unsigned long st_atime_nsec;8484+ unsigned long st_mtime;8585+ unsigned long st_mtime_nsec;8686+ unsigned long st_ctime;8787+ unsigned long st_ctime_nsec;8888+ long __unused[3];8989+};9090+#endif9191+9292+/* for 32bit emulation and 32 bit kernels */9393+struct __old_kernel_stat {9494+ unsigned short st_dev;9595+ unsigned short st_ino;9696+ unsigned short st_mode;9797+ unsigned short st_nlink;9898+ unsigned short st_uid;9999+ unsigned short st_gid;100100+ unsigned short st_rdev;101101+#ifdef __i386__102102+ unsigned long st_size;103103+ unsigned long st_atime;104104+ unsigned long st_mtime;105105+ unsigned long st_ctime;7106#else88-# ifdef __i386__99-# include "stat_32.h"1010-# else1111-# include "stat_64.h"1212-# endif107107+ unsigned int st_size;108108+ unsigned int st_atime;109109+ unsigned int st_mtime;110110+ unsigned int st_ctime;111111+#endif112112+};113113+13114#endif
-77
include/asm-x86/stat_32.h
···11-#ifndef _I386_STAT_H22-#define _I386_STAT_H33-44-struct __old_kernel_stat {55- unsigned short st_dev;66- unsigned short st_ino;77- unsigned short st_mode;88- unsigned short st_nlink;99- unsigned short st_uid;1010- unsigned short st_gid;1111- unsigned short st_rdev;1212- unsigned long st_size;1313- unsigned long st_atime;1414- unsigned long st_mtime;1515- unsigned long st_ctime;1616-};1717-1818-struct stat {1919- unsigned long st_dev;2020- unsigned long st_ino;2121- unsigned short st_mode;2222- unsigned short st_nlink;2323- unsigned short st_uid;2424- unsigned short st_gid;2525- unsigned long st_rdev;2626- unsigned long st_size;2727- unsigned long st_blksize;2828- unsigned long st_blocks;2929- unsigned long st_atime;3030- unsigned long st_atime_nsec;3131- unsigned long st_mtime;3232- unsigned long st_mtime_nsec;3333- unsigned long st_ctime;3434- unsigned long st_ctime_nsec;3535- unsigned long __unused4;3636- unsigned long __unused5;3737-};3838-3939-/* This matches struct stat64 in glibc2.1, hence the absolutely4040- * insane amounts of padding around dev_t's.4141- */4242-struct stat64 {4343- unsigned long long st_dev;4444- unsigned char __pad0[4];4545-4646-#define STAT64_HAS_BROKEN_ST_INO 14747- unsigned long __st_ino;4848-4949- unsigned int st_mode;5050- unsigned int st_nlink;5151-5252- unsigned long st_uid;5353- unsigned long st_gid;5454-5555- unsigned long long st_rdev;5656- unsigned char __pad3[4];5757-5858- long long st_size;5959- unsigned long st_blksize;6060-6161- unsigned long long st_blocks; /* Number 512-byte blocks allocated. */6262-6363- unsigned long st_atime;6464- unsigned long st_atime_nsec;6565-6666- unsigned long st_mtime;6767- unsigned int st_mtime_nsec;6868-6969- unsigned long st_ctime;7070- unsigned long st_ctime_nsec;7171-7272- unsigned long long st_ino;7373-};7474-7575-#define STAT_HAVE_NSEC 17676-7777-#endif
-44
include/asm-x86/stat_64.h
···11-#ifndef _ASM_X86_64_STAT_H22-#define _ASM_X86_64_STAT_H33-44-#define STAT_HAVE_NSEC 155-66-struct stat {77- unsigned long st_dev;88- unsigned long st_ino;99- unsigned long st_nlink;1010-1111- unsigned int st_mode;1212- unsigned int st_uid;1313- unsigned int st_gid;1414- unsigned int __pad0;1515- unsigned long st_rdev;1616- long st_size;1717- long st_blksize;1818- long st_blocks; /* Number 512-byte blocks allocated. */1919-2020- unsigned long st_atime;2121- unsigned long st_atime_nsec; 2222- unsigned long st_mtime;2323- unsigned long st_mtime_nsec;2424- unsigned long st_ctime;2525- unsigned long st_ctime_nsec;2626- long __unused[3];2727-};2828-2929-/* For 32bit emulation */3030-struct __old_kernel_stat {3131- unsigned short st_dev;3232- unsigned short st_ino;3333- unsigned short st_mode;3434- unsigned short st_nlink;3535- unsigned short st_uid;3636- unsigned short st_gid;3737- unsigned short st_rdev;3838- unsigned int st_size;3939- unsigned int st_atime;4040- unsigned int st_mtime;4141- unsigned int st_ctime;4242-};4343-4444-#endif