struct SectionHeaderBufferIterator [src]
Fields
elf_header: Header
buf: []const u8
index: usize = 0
Members
- next (Function)
Source
pub const SectionHeaderBufferIterator = struct {
elf_header: Header,
buf: []const u8,
index: usize = 0,
pub fn next(it: *SectionHeaderBufferIterator) !?Elf64_Shdr {
if (it.index >= it.elf_header.shnum) return null;
defer it.index += 1;
const size: u64 = if (it.elf_header.is_64) @sizeOf(Elf64_Shdr) else @sizeOf(Elf32_Shdr);
const offset = it.elf_header.shoff + size * it.index;
var reader = std.Io.Reader.fixed(it.buf[offset..]);
return takeShdr(&reader, it.elf_header);
}
}