diff options
Diffstat (limited to 'lib/std/os/linux.zig')
| -rw-r--r-- | lib/std/os/linux.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index ef7c0ff077..ca8f0907e1 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -253,6 +253,18 @@ pub fn mkdirat(dirfd: i32, path: [*:0]const u8, mode: u32) usize { return syscall3(.mkdirat, @bitCast(usize, @as(isize, dirfd)), @ptrToInt(path), mode); } +pub fn mknod(path: [*:0]const u8, mode: u32, dev: u32) usize { + if (@hasField(SYS, "mknod")) { + return syscall3(.mknod, @ptrToInt(path), mode, dev); + } else { + return mknodat(AT_FDCWD, path, mode, dev); + } +} + +pub fn mknodat(dirfd: i32, path: [*:0]const u8, mode: u32, dev: u32) usize { + return syscall4(.mknodat, @bitCast(usize, @as(isize, dirfd)), @ptrToInt(path), mode, dev); +} + pub fn mount(special: [*:0]const u8, dir: [*:0]const u8, fstype: [*:0]const u8, flags: u32, data: usize) usize { return syscall5(.mount, @ptrToInt(special), @ptrToInt(dir), @ptrToInt(fstype), flags, data); } |
