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.

uefi_alloc

pool_allocator.uefi_alloc
fn uefi_alloc(
    _: *anyopaque,
    len: usize,
    alignment: mem.Alignment,
    ret_addr: usize,
) ?[*]u8

File

lib/std/os/uefi/pool_allocator.zig:112

Code

fn uefi_alloc(
    _: *anyopaque,
    len: usize,
    alignment: mem.Alignment,
    ret_addr: usize,
) ?[*]u8 {
    _ = ret_addr;

    std.debug.assert(@backingInt(alignment) <= 3);

    const slice = uefi.system_table.boot_services.?.allocatePool(
        uefi.efi_pool_memory_type,
        len,
    ) catch return null;

    return slice.ptr;
}