1#ifndef _ASMARM_STAT_H 2#define _ASMARM_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 18#define STAT_HAVE_NSEC 19 20struct stat { 21#if defined(__ARMEB__) 22 unsigned short st_dev; 23 unsigned short __pad1; 24#else 25 unsigned long st_dev; 26#endif 27 unsigned long st_ino; 28 unsigned short st_mode; 29 unsigned short st_nlink; 30 unsigned short st_uid; 31 unsigned short st_gid; 32#if defined(__ARMEB__) 33 unsigned short st_rdev; 34 unsigned short __pad2; 35#else 36 unsigned long st_rdev; 37#endif 38 unsigned long st_size; 39 unsigned long st_blksize; 40 unsigned long st_blocks; 41 unsigned long st_atime; 42 unsigned long st_atime_nsec; 43 unsigned long st_mtime; 44 unsigned long st_mtime_nsec; 45 unsigned long st_ctime; 46 unsigned long st_ctime_nsec; 47 unsigned long __unused4; 48 unsigned long __unused5; 49}; 50 51/* This matches struct stat64 in glibc2.1, hence the absolutely 52 * insane amounts of padding around dev_t's. 53 * Note: The kernel zero's the padded region because glibc might read them 54 * in the hope that the kernel has stretched to using larger sizes. 55 */ 56struct stat64 { 57 unsigned long long st_dev; 58 unsigned char __pad0[4]; 59 60#define STAT64_HAS_BROKEN_ST_INO 1 61 unsigned long __st_ino; 62 unsigned int st_mode; 63 unsigned int st_nlink; 64 65 unsigned long st_uid; 66 unsigned long st_gid; 67 68 unsigned long long st_rdev; 69 unsigned char __pad3[4]; 70 71 long long st_size; 72 unsigned long st_blksize; 73 unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ 74 75 unsigned long st_atime; 76 unsigned long st_atime_nsec; 77 78 unsigned long st_mtime; 79 unsigned long st_mtime_nsec; 80 81 unsigned long st_ctime; 82 unsigned long st_ctime_nsec; 83 84 unsigned long long st_ino; 85}; 86 87#endif 88