| ... | ... | @@ -29,8 +29,18 @@ pub extern "c" fn fcopyfile(from: fd_t, to: fd_t, state: ?copyfile_state_t, flag |
| 29 | 29 | pub extern "c" fn @"realpath$DARWIN_EXTSN"(noalias file_name: [*:0]const u8, noalias resolved_name: [*]u8) ?[*:0]u8; |
| 30 | 30 | |
| 31 | 31 | pub extern "c" fn __getdirentries64(fd: c_int, buf_ptr: [*]u8, buf_len: usize, basep: *i64) isize; |
| 32 | | pub extern "c" fn @"fstat$INODE64"(fd: fd_t, buf: *Stat) c_int; |
| 33 | | pub extern "c" fn @"fstatat$INODE64"(dirfd: fd_t, path_name: [*:0]const u8, buf: *Stat, flags: u32) c_int; |
| 32 | |
| 33 | extern "c" fn fstat(fd: fd_t, buf: *Stat) c_int; |
| 34 | /// On x86_64 Darwin, fstat has to be manully linked with $INODE64 suffix to force 64bit version. |
| 35 | /// Note that this is fixed on aarch64 and no longer necessary. |
| 36 | extern "c" fn @"fstat$INODE64"(fd: fd_t, buf: *Stat) c_int; |
| 37 | pub const _fstat = if (builtin.arch == .aarch64) fstat else @"fstat$INODE64"; |
| 38 | |
| 39 | extern "c" fn fstatat(dirfd: fd_t, path: [*:0]const u8, stat_buf: *Stat, flags: u32) c_int; |
| 40 | /// On x86_64 Darwin, fstatat has to be manully linked with $INODE64 suffix to force 64bit version. |
| 41 | /// Note that this is fixed on aarch64 and no longer necessary. |
| 42 | extern "c" fn @"fstatat$INODE64"(dirfd: fd_t, path_name: [*:0]const u8, buf: *Stat, flags: u32) c_int; |
| 43 | pub const _fstatat = if (builtin.arch == .aarch64) fstatat else @"fstatat$INODE64"; |
| 34 | 44 | |
| 35 | 45 | pub extern "c" fn mach_absolute_time() u64; |
| 36 | 46 | pub extern "c" fn mach_timebase_info(tinfo: ?*mach_timebase_info_data) void; |