DoxigAlpha

getStrtab

Function parameters

Parameters

#
self:*const Coff

Type definitions in this namespace

Types

#
ImportHintNameEntry
Every name ends with a NULL byte.

Error sets in this namespace

Error Sets

#

= 0x10b

Values

#

Source

Implementation

#
pub fn getStrtab(self: *const Coff) error{InvalidStrtabSize}!?Strtab {
    const coff_header = self.getCoffHeader();
    if (coff_header.pointer_to_symbol_table == 0) return null;

    const offset = coff_header.pointer_to_symbol_table + Symbol.sizeOf() * coff_header.number_of_symbols;
    const size = mem.readInt(u32, self.data[offset..][0..4], .little);
    if ((offset + size) > self.data.len) return error.InvalidStrtabSize;

    return Strtab{ .buffer = self.data[offset..][0..size] };
}