1 #ifndef _ASM_STAT_H 2 #define _ASM_STAT_H 3 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 /* This matches struct stat in uClibc/glibc. */ 19 struct stat { 20 unsigned char __pad1[6]; 21 unsigned short st_dev; 22 23 unsigned long __pad2; 24 unsigned long st_ino; 25 26 unsigned short __pad3; 27 unsigned short st_mode; 28 unsigned short __pad4; 29 unsigned short st_nlink; 30 31 unsigned short __pad5; 32 unsigned short st_uid; 33 unsigned short __pad6; 34 unsigned short st_gid; 35 36 unsigned char __pad7[6]; 37 unsigned short st_rdev; 38 39 unsigned long __pad8; 40 unsigned long st_size; 41 42 unsigned long __pad9; /* align 64-bit st_blocks to 2-word */ 43 unsigned long st_blksize; 44 45 unsigned long __pad10; /* future possible st_blocks high bits */ 46 unsigned long st_blocks; /* Number 512-byte blocks allocated. */ 47 48 unsigned long __unused1; 49 unsigned long st_atime; 50 51 unsigned long __unused2; 52 unsigned long st_mtime; 53 54 unsigned long __unused3; 55 unsigned long st_ctime; 56 57 unsigned long long __unused4; 58 }; 59 60 /* This matches struct stat64 in uClibc/glibc. The layout is exactly 61 the same as that of struct stat above, with 64-bit types taking up 62 space that was formerly used by padding. stat syscalls are still 63 different from stat64, though, in that the former tests for 64 overflow. */ 65 struct stat64 { 66 unsigned char __pad1[6]; 67 unsigned short st_dev; 68 69 unsigned long long st_ino; 70 71 unsigned int st_mode; 72 unsigned int st_nlink; 73 74 unsigned long st_uid; 75 unsigned long st_gid; 76 77 unsigned char __pad2[6]; 78 unsigned short st_rdev; 79 80 long long st_size; 81 82 unsigned long __pad3; /* align 64-bit st_blocks to 2-word */ 83 unsigned long st_blksize; 84 85 unsigned long __pad4; /* future possible st_blocks high bits */ 86 unsigned long st_blocks; /* Number 512-byte blocks allocated. */ 87 88 unsigned long st_atime_nsec; 89 unsigned long st_atime; 90 91 unsigned int st_mtime_nsec; 92 unsigned long st_mtime; 93 94 unsigned long st_ctime_nsec; 95 unsigned long st_ctime; 96 97 unsigned long long __unused4; 98 }; 99 100 #endif /* _ASM_STAT_H */ 101