58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
#ifndef COSMOPOLITAN_LIBC_CALLS_STRUCT_METASTAT_H_
|
|
#define COSMOPOLITAN_LIBC_CALLS_STRUCT_METASTAT_H_
|
|
#ifndef __STRICT_ANSI__
|
|
#include "libc/calls/struct/stat.h"
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
union metastat {
|
|
struct stat linux;
|
|
|
|
struct stat$xnu {
|
|
int32_t st_dev;
|
|
uint16_t st_mode, st_nlink;
|
|
uint64_t st_ino;
|
|
uint32_t st_uid, st_gid;
|
|
int32_t st_rdev;
|
|
struct timespec st_atim, st_mtim, st_ctim, st_birthtim;
|
|
int64_t st_size, st_blocks;
|
|
int32_t st_blksize;
|
|
uint32_t st_flags, st_gen;
|
|
int32_t st_lspare;
|
|
int64_t st_qspare[2];
|
|
} xnu;
|
|
|
|
struct stat$freebsd {
|
|
uint64_t st_dev, st_ino, st_nlink;
|
|
uint16_t st_mode;
|
|
int16_t st_padding0;
|
|
uint32_t st_uid, st_gid;
|
|
int32_t st_padding1;
|
|
uint64_t st_rdev;
|
|
struct timespec st_atim, st_mtim, st_ctim, st_birthtim;
|
|
int64_t st_size, st_blocks;
|
|
int32_t st_blksize;
|
|
uint32_t st_flags;
|
|
uint64_t st_gen;
|
|
unsigned long st_spare[10];
|
|
} freebsd;
|
|
|
|
struct stat$openbsd {
|
|
uint32_t st_mode;
|
|
int32_t st_dev;
|
|
uint64_t st_ino;
|
|
uint32_t st_nlink, st_uid, st_gid;
|
|
int32_t st_rdev;
|
|
struct timespec st_atim, st_mtim, st_ctim;
|
|
int64_t st_size, st_blocks;
|
|
int32_t st_blksize;
|
|
uint32_t st_flags, st_gen;
|
|
struct timespec __st_birthtim;
|
|
} openbsd;
|
|
};
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* !ANSI */
|
|
#endif /* COSMOPOLITAN_LIBC_CALLS_STRUCT_METASTAT_H_ */
|