1 #ifndef _ASM_X86_STAT_H 2 #define _ASM_X86_STAT_H 3 4 #define STAT_HAVE_NSEC 1 5 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 1 29 30 /* This matches struct stat64 in glibc2.1, hence the absolutely 31 * 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 #endif 91 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 #else 107 unsigned int st_size; 108 unsigned int st_atime; 109 unsigned int st_mtime; 110 unsigned int st_ctime; 111 #endif 112 }; 113 114 #endif 115