1#ifndef _ASM_STAT_H 2#define _ASM_STAT_H 3 4struct __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 18struct 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 absolutely 40 * insane amounts of padding around dev_t's. 41 */ 42struct stat64 { 43 unsigned long long st_dev; 44 unsigned char __pad0[4]; 45 46#define STAT64_HAS_BROKEN_ST_INO 1 47 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 st_blocks; /* Number 512-byte blocks allocated. */ 62 unsigned long __pad4; /* future possible st_blocks high bits */ 63 64 unsigned long st_atime; 65 unsigned long st_atime_nsec; 66 67 unsigned long st_mtime; 68 unsigned int st_mtime_nsec; 69 70 unsigned long st_ctime; 71 unsigned long st_ctime_nsec; 72 73 unsigned long long st_ino; 74}; 75 76#define STAT_HAVE_NSEC 1 77 78#endif /* _ASM_STAT_H */ 79