#ifndef _FAKELIBC_SYS_STAT_H #define _FAKELIBC_SYS_STAT_H #include /* This is currently designed to match x86-64 definitions for Linux. They probably don't * differ a lot across architectures (besides differences between 32-/64-bit builds) * but the standard definitions on Linux are unusually cryptic, some of the typedefs * involve 3 or more nested macros spread out across all sorts of includes, so using * them as a reference feels a bit ridiculous. */ #define st_mtime st_mtim.tv_sec #define st_atime st_atim.tv_sec #define st_ctime st_ctim.tv_sec typedef unsigned int ino_t; typedef unsigned int mode_t; typedef unsigned int uid_t; typedef unsigned int gid_t; typedef unsigned long dev_t; typedef unsigned long nlink_t; struct stat { dev_t st_dev; ino_t st_ino; nlink_t st_nlink; mode_t st_mode; uid_t st_uid; gid_t st_gid; int __padding_A; dev_t st_rdev; long st_size; long st_blocksize; long st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; long __reserved_A; long __reserved_B; long __reserved_C; }; /* From ifndef at top of file: */ #endif