struct ProgramHeaderBufferIterator [src]

Fields

elf_header: Header
buf: []const u8
index: usize = 0

Members

Source

pub const ProgramHeaderBufferIterator = struct { elf_header: Header, buf: []const u8, index: usize = 0, pub fn next(it: *ProgramHeaderBufferIterator) !?Elf64_Phdr { if (it.index >= it.elf_header.phnum) return null; defer it.index += 1; const size: u64 = if (it.elf_header.is_64) @sizeOf(Elf64_Phdr) else @sizeOf(Elf32_Phdr); const offset = it.elf_header.phoff + size * it.index; var reader = std.Io.Reader.fixed(it.buf[offset..]); return takePhdr(&reader, it.elf_header); } }