lib.dwfl
Class ElfSymbol.Loader

java.lang.Object
  extended by lib.dwfl.ElfSymbol.Loader
Enclosing class:
ElfSymbol

public static class ElfSymbol.Loader
extends Object


Constructor Summary
ElfSymbol.Loader(ElfSection symbolsS)
          Initializes symbol loader, assuming you have no version information associated.
ElfSymbol.Loader(ElfSection symbolsS, ElfSection versymS, ElfSection verdefS, int verdefCount, ElfSection verneedS, int verneedCount)
          Initializes symbol loader.
 
Method Summary
 void load(long index, ElfSymbol.Builder builder)
          Request loading symbol on given index.
 void loadAll(ElfSymbol.Builder builder)
          Load all symbols in prepared symbol tables.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ElfSymbol.Loader

public ElfSymbol.Loader(ElfSection symbolsS)
                 throws ElfException
Initializes symbol loader, assuming you have no version information associated.

Parameters:
symbolsS - Section of type STRTAB or DYNSYM, contains symbol table. Must not be null.
Throws:
ElfException

ElfSymbol.Loader

public ElfSymbol.Loader(ElfSection symbolsS,
                        ElfSection versymS,
                        ElfSection verdefS,
                        int verdefCount,
                        ElfSection verneedS,
                        int verneedCount)
                 throws ElfException
Initializes symbol loader.

Parameters:
symbolsS - Section of type STRTAB or DYNSYM, contains symbol table. Must not be null.
versymS - Section of type GNU_versym. May be null, but in that case verdefS and verneedS have to be null, too.
verdefS - Section with version definitions, typed GNU_verdef. May be null, if verneed is not null.
verdefCount - Number of verdef entries. If verdefS is null, this has to be 0.
verneed - Section with version requirements, typed GNU_verneed. May be null, if verdef is not null.
verneedCount - Number of verdneed entries. If verneedS is null, this has to be 0.
Throws:
ElfException
Method Detail

loadAll

public void loadAll(ElfSymbol.Builder builder)
             throws ElfException
Load all symbols in prepared symbol tables. Calls ElfSymbol.Builder.symbol for each symbol found.

Throws:
ElfException

load

public void load(long index,
                 ElfSymbol.Builder builder)
          throws ElfException
Request loading symbol on given index.

Throws:
ElfException