Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

open

linux.open
pub fn open(path: [*:0]const u8, flags: O, perm: mode_t) usize

File

lib/std/os/linux.zig:1706

Code

pub fn open(path: [*:0]const u8, flags: O, perm: mode_t) usize {
    if (@hasField(SYS, "open")) {
        return syscall3(.open, @intFromPtr(path), @as(u32, @bitCast(flags)), perm);
    } else {
        return syscall4(
            .openat,
            @as(u32, @bitCast(@as(i32, AT.FDCWD))),
            @intFromPtr(path),
            @as(u32, @bitCast(flags)),
            perm,
        );
    }
}