public ElfSymbol(string name, ElfSymbolBind bind, ElfSymbolType type, long value, long size) { Name = name; Bind = bind; Type = type; Value = value; Size = size; }
public ElfSymbol GetSymbol(int index) { if (_is64Bit) { ElfSymbol64 s = _reader.Read <ElfSymbol64>(_address + index * _symSize); string name = _stringTable.GetStringAtIndex((int)s.Name); ElfSymbolBind b = (ElfSymbolBind)(s.Info >> 4); ElfSymbolType t = (ElfSymbolType)(s.Info & 0xF); return(new ElfSymbol(name, b, t, s.Value, (long)s.Size)); } else { ElfSymbol32 s = _reader.Read <ElfSymbol32>(_address + index * _symSize); string name = _stringTable.GetStringAtIndex((int)s.Name); ElfSymbolBind b = (ElfSymbolBind)(s.Info >> 4); ElfSymbolType t = (ElfSymbolType)(s.Info & 0xF); return(new ElfSymbol(name, b, t, (long)s.Value, s.Size)); } }