Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778// This is needed so stat is not stat64#define _DARWIN_NO_64_BIT_INODE
// NOTE: in this case, platform-include/sys/stat.h is used#include <sys/stat.h>#include "common.h"#include "../unistd/getuid.h"#include "../unistd/getgid.h"
void stat_linux_to_bsd(const struct linux_stat* lstat, struct stat* stat){ stat->st_dev = lstat->st_dev; stat->st_mode = lstat->st_mode; stat->st_nlink = lstat->st_nlink; stat->st_ino = lstat->st_ino; stat->st_uid = /*lstat->st_uid*/ sys_getuid(); stat->st_gid = /*lstat->st_gid*/ sys_getgid(); stat->st_rdev = lstat->st_rdev; stat->st_size = lstat->st_size; stat->st_blksize = lstat->st_blksize; stat->st_blocks = lstat->st_blocks; stat->st_atimespec.tv_sec = lstat->st_atime; stat->st_atimespec.tv_nsec = lstat->st_atime_nsec; stat->st_mtimespec.tv_sec = lstat->st_mtime; stat->st_mtimespec.tv_nsec = lstat->st_mtime_nsec; stat->st_ctimespec.tv_sec = lstat->st_ctime; stat->st_ctimespec.tv_nsec = lstat->st_ctime_nsec; stat->st_flags = 0;}
void stat_linux_to_bsd64(const struct linux_stat* lstat, struct stat64* stat){ stat->st_dev = lstat->st_dev; stat->st_mode = lstat->st_mode; stat->st_nlink = lstat->st_nlink; stat->st_ino = lstat->st_ino; stat->st_uid = /*lstat->st_uid*/ sys_getuid(); stat->st_gid = /*lstat->st_gid*/ sys_getgid(); stat->st_rdev = lstat->st_rdev; stat->st_size = lstat->st_size; stat->st_blksize = lstat->st_blksize; stat->st_blocks = lstat->st_blocks; stat->st_atimespec.tv_sec = lstat->st_atime; stat->st_atimespec.tv_nsec = lstat->st_atime_nsec; stat->st_mtimespec.tv_sec = lstat->st_mtime; stat->st_mtimespec.tv_nsec = lstat->st_mtime_nsec; stat->st_ctimespec.tv_sec = lstat->st_ctime; stat->st_ctimespec.tv_nsec = lstat->st_ctime_nsec; stat->st_flags = 0;}
void statfs_linux_to_bsd(const struct linux_statfs64* lstat, struct bsd_statfs* stat){ stat->f_type = lstat->f_type; stat->f_bsize = lstat->f_bsize; stat->f_blocks = lstat->f_blocks; stat->f_bfree = lstat->f_bfree; stat->f_bavail = lstat->f_bavail; stat->f_files = lstat->f_files; stat->f_ffree = lstat->f_ffree; stat->f_fsid = lstat->f_fsid; stat->f_flags = lstat->f_flags; /* FIXME: convert flags */}
void statfs_linux_to_bsd64(const struct linux_statfs64* lstat, struct bsd_statfs64* stat){ stat->f_type = lstat->f_type; stat->f_bsize = lstat->f_bsize; stat->f_blocks = lstat->f_blocks; stat->f_bfree = lstat->f_bfree; stat->f_bavail = lstat->f_bavail; stat->f_files = lstat->f_files; stat->f_ffree = lstat->f_ffree; stat->f_fsid = lstat->f_fsid; stat->f_flags = lstat->f_flags; /* FIXME: convert flags */}