authorgravatar for mahdi@khanalizadeh.comMahdi Khanalizadeh <mahdi@khanalizadeh.com> 2021-07-13 15:35:23+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-07-28 18:15:41-04:00
log15bec20b0013d8afb90a0a2a08c25ce9fb1f2693
treecba272ddc22c14c0e6048cf54f545a500c41fb99
parentf5d9d739d70f5d99756e277cc7c77484d60ddf42

linux: add mknod and mknodat syscalls


1 files changed, 12 insertions(+), 0 deletions(-)

lib/std/os/linux.zig+12
......@@ -253,6 +253,18 @@ pub fn mkdirat(dirfd: i32, path: [*:0]const u8, mode: u32) usize {
253253 return syscall3(.mkdirat, @bitCast(usize, @as(isize, dirfd)), @ptrToInt(path), mode);
254254}
255255
256pub fn mknod(path: [*:0]const u8, mode: u32, dev: u32) usize {
257 if (@hasField(SYS, "mknod")) {
258 return syscall3(.mknod, @ptrToInt(path), mode, dev);
259 } else {
260 return mknodat(AT_FDCWD, path, mode, dev);
261 }
262}
263
264pub fn mknodat(dirfd: i32, path: [*:0]const u8, mode: u32, dev: u32) usize {
265 return syscall4(.mknodat, @bitCast(usize, @as(isize, dirfd)), @ptrToInt(path), mode, dev);
266}
267
256268pub fn mount(special: [*:0]const u8, dir: [*:0]const u8, fstype: [*:0]const u8, flags: u32, data: usize) usize {
257269 return syscall5(.mount, @ptrToInt(special), @ptrToInt(dir), @ptrToInt(fstype), flags, data);
258270}