pub const SectionHeaderIterator = struct pub fn next(it: *SectionHeaderIterator) !?Elf64_Shdr862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881pub const SectionHeaderIterator = struct {
is_64: bool,
endian: Endian,
shnum: u16,
shoff: u64,
file_reader: *Io.File.Reader,
index: usize = 0,
pub fn next(it: *SectionHeaderIterator) !?Elf64_Shdr {
if (it.index >= it.shnum) return null;
defer it.index += 1;
const size: u64 = if (it.is_64) @sizeOf(Elf64_Shdr) else @sizeOf(Elf32_Shdr);
const offset = it.shoff + size * it.index;
try it.file_reader.seekTo(offset);
return try takeSectionHeader(&it.file_reader.interface, it.is_64, it.endian);
}
}