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