| ... | @@ -111,7 +111,16 @@ pub extern "c" fn dup(fd: fd_t) c_int; | ... | @@ -111,7 +111,16 @@ pub extern "c" fn dup(fd: fd_t) c_int; |
| 111 | pub extern "c" fn dup2(old_fd: fd_t, new_fd: fd_t) c_int; | 111 | pub extern "c" fn dup2(old_fd: fd_t, new_fd: fd_t) c_int; |
| 112 | pub extern "c" fn readlink(noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize; | 112 | pub extern "c" fn readlink(noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize; |
| 113 | pub extern "c" fn readlinkat(dirfd: fd_t, noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize; | 113 | pub extern "c" fn readlinkat(dirfd: fd_t, noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize; |
| 114 | pub extern "c" fn realpath(noalias file_name: [*:0]const u8, noalias resolved_name: [*]u8) ?[*:0]u8; | 114 | |
| | 115 | pub usingnamespace switch (builtin.os.tag) { |
| | 116 | .macosx, .ios, .watchos, .tvos => struct { |
| | 117 | pub const realpath = @"realpath$DARWIN_EXTSN"; |
| | 118 | }, |
| | 119 | else => struct { |
| | 120 | pub extern "c" fn realpath(noalias file_name: [*:0]const u8, noalias resolved_name: [*]u8) ?[*:0]u8; |
| | 121 | }, |
| | 122 | }; |
| | 123 | |
| 115 | pub extern "c" fn setreuid(ruid: c_uint, euid: c_uint) c_int; | 124 | pub extern "c" fn setreuid(ruid: c_uint, euid: c_uint) c_int; |
| 116 | pub extern "c" fn setregid(rgid: c_uint, egid: c_uint) c_int; | 125 | pub extern "c" fn setregid(rgid: c_uint, egid: c_uint) c_int; |
| 117 | pub extern "c" fn rmdir(path: [*:0]const u8) c_int; | 126 | pub extern "c" fn rmdir(path: [*:0]const u8) c_int; |