1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef _ASM_X86_STAT_H 8 #define _ASM_X86_STAT_H 9 #include <asm/posix_types.h> 10 #define STAT_HAVE_NSEC 1 11 #ifdef __i386__ 12 struct stat { 13 unsigned long st_dev; 14 unsigned long st_ino; 15 unsigned short st_mode; 16 unsigned short st_nlink; 17 unsigned short st_uid; 18 unsigned short st_gid; 19 unsigned long st_rdev; 20 unsigned long st_size; 21 unsigned long st_blksize; 22 unsigned long st_blocks; 23 unsigned long st_atime; 24 unsigned long st_atime_nsec; 25 unsigned long st_mtime; 26 unsigned long st_mtime_nsec; 27 unsigned long st_ctime; 28 unsigned long st_ctime_nsec; 29 unsigned long __unused4; 30 unsigned long __unused5; 31 }; 32 #define INIT_STRUCT_STAT_PADDING(st) do { st.__unused4 = 0; st.__unused5 = 0; \ 33 } while(0) 34 #define STAT64_HAS_BROKEN_ST_INO 1 35 struct stat64 { 36 unsigned long long st_dev; 37 unsigned char __pad0[4]; 38 unsigned long __st_ino; 39 unsigned int st_mode; 40 unsigned int st_nlink; 41 unsigned long st_uid; 42 unsigned long st_gid; 43 unsigned long long st_rdev; 44 unsigned char __pad3[4]; 45 long long st_size; 46 unsigned long st_blksize; 47 unsigned long long st_blocks; 48 unsigned long st_atime; 49 unsigned long st_atime_nsec; 50 unsigned long st_mtime; 51 unsigned int st_mtime_nsec; 52 unsigned long st_ctime; 53 unsigned long st_ctime_nsec; 54 unsigned long long st_ino; 55 }; 56 #define INIT_STRUCT_STAT64_PADDING(st) do { memset(& st.__pad0, 0, sizeof(st.__pad0)); memset(& st.__pad3, 0, sizeof(st.__pad3)); \ 57 } while(0) 58 #else 59 struct stat { 60 __kernel_ulong_t st_dev; 61 __kernel_ulong_t st_ino; 62 __kernel_ulong_t st_nlink; 63 unsigned int st_mode; 64 unsigned int st_uid; 65 unsigned int st_gid; 66 unsigned int __pad0; 67 __kernel_ulong_t st_rdev; 68 __kernel_long_t st_size; 69 __kernel_long_t st_blksize; 70 __kernel_long_t st_blocks; 71 __kernel_ulong_t st_atime; 72 __kernel_ulong_t st_atime_nsec; 73 __kernel_ulong_t st_mtime; 74 __kernel_ulong_t st_mtime_nsec; 75 __kernel_ulong_t st_ctime; 76 __kernel_ulong_t st_ctime_nsec; 77 __kernel_long_t __linux_unused[3]; 78 }; 79 #define INIT_STRUCT_STAT_PADDING(st) do { st.__pad0 = 0; st.__linux_unused[0] = 0; st.__linux_unused[1] = 0; st.__linux_unused[2] = 0; \ 80 } while(0) 81 #endif 82 struct __old_kernel_stat { 83 unsigned short st_dev; 84 unsigned short st_ino; 85 unsigned short st_mode; 86 unsigned short st_nlink; 87 unsigned short st_uid; 88 unsigned short st_gid; 89 unsigned short st_rdev; 90 #ifdef __i386__ 91 unsigned long st_size; 92 unsigned long st_atime; 93 unsigned long st_mtime; 94 unsigned long st_ctime; 95 #else 96 unsigned int st_size; 97 unsigned int st_atime; 98 unsigned int st_mtime; 99 unsigned int st_ctime; 100 #endif 101 }; 102 #endif 103