1 #ifndef _BITS_STAT_STRUCT_H 2 #define _BITS_STAT_STRUCT_H 3 4 /* This file provides whatever this particular arch's kernel thinks 5 * struct kernel_stat should look like... It turns out each arch has a 6 * different opinion on the subject... */ 7 8 struct kernel_stat { 9 #if defined(__ARMEB__) 10 unsigned short st_dev; 11 unsigned short __pad1; 12 #else 13 unsigned long st_dev; 14 #endif 15 unsigned long st_ino; 16 unsigned short st_mode; 17 unsigned short st_nlink; 18 unsigned short st_uid; 19 unsigned short st_gid; 20 #if defined(__ARMEB__) 21 unsigned short st_rdev; 22 unsigned short __pad2; 23 #else 24 unsigned long st_rdev; 25 #endif 26 unsigned long st_size; 27 unsigned long st_blksize; 28 unsigned long st_blocks; 29 struct timespec st_atim; 30 struct timespec st_mtim; 31 struct timespec st_ctim; 32 unsigned long __uclibc_unused4; 33 unsigned long __uclibc_unused5; 34 }; 35 36 struct kernel_stat64 { 37 unsigned long long st_dev; 38 unsigned char __pad0[4]; 39 40 #define _HAVE_STAT64___ST_INO 41 unsigned long __st_ino; 42 unsigned int st_mode; 43 unsigned int st_nlink; 44 unsigned long st_uid; 45 unsigned long st_gid; 46 47 unsigned long long st_rdev; 48 unsigned char __pad3[4]; 49 50 long long st_size; 51 unsigned long st_blksize; 52 unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ 53 struct timespec st_atim; 54 struct timespec st_mtim; 55 struct timespec st_ctim; 56 unsigned long long st_ino; 57 #ifndef __ARM_EABI__ 58 } __attribute__((packed)); 59 #else 60 }; 61 #endif 62 63 #endif /* _BITS_STAT_STRUCT_H */ 64