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.

rename

linux.rename
pub fn rename(old: [*:0]const u8, new: [*:0]const u8) usize

File

lib/std/os/linux.zig:1651

Code

pub fn rename(old: [*:0]const u8, new: [*:0]const u8) usize {
    if (@hasField(SYS, "rename")) {
        return syscall2(.rename, @intFromPtr(old), @intFromPtr(new));
    } else if (@hasField(SYS, "renameat")) {
        return syscall4(
            .renameat,
            @as(u32, @bitCast(@as(i32, AT.FDCWD))),
            @intFromPtr(old),
            @as(u32, @bitCast(@as(i32, AT.FDCWD))),
            @intFromPtr(new),
        );
    } else {
        return syscall5(
            .renameat2,
            @as(u32, @bitCast(@as(i32, AT.FDCWD))),
            @intFromPtr(old),
            @as(u32, @bitCast(@as(i32, AT.FDCWD))),
            @intFromPtr(new),
            0,
        );
    }
}