Class ExportedSymbol

java.lang.Object
ghidra.app.util.bin.format.pef.ExportedSymbol
All Implemented Interfaces:
StructConverter

public class ExportedSymbol extends Object
See Apple's -- PEFBinaryFormat.h
 struct PEFExportedSymbol { //! This structure is 10 bytes long and arrays are packed.
     UInt32  classAndName;  //A combination of class and name offset.
     UInt32  symbolValue;   //Typically the symbol's offset within a section.
     SInt16  sectionIndex;  //The index of the section, or pseudo-section, for the symbol.
 };
 
  • Field Details

    • kPEFExpSymClassShift

      public static final int kPEFExpSymClassShift
      See Also:
    • kPEFAbsoluteExport

      public static final int kPEFAbsoluteExport
      The symbol value is an absolute address.
      See Also:
    • kPEFReexportedImport

      public static final int kPEFReexportedImport
      The symbol value is the index of a reexported import.
      See Also:
    • kPEFWeakImportSymMask

      public static final int kPEFWeakImportSymMask
      Weak symbol mask
      See Also:
  • Method Details

    • getName

      public String getName()
      Returns the symbol's name.
      Returns:
      the symbol's name
    • getSymbolClass

      public SymbolClass getSymbolClass()
      Returns the symbol's class.
      Returns:
      the symbol's class
    • getNameOffset

      public int getNameOffset()
      Returns offset of symbol name in loader string table.
      Returns:
      offset of symbol name in loader string table
    • getSymbolValue

      public int getSymbolValue()
      Typically the symbol's offset within a section.
      Returns:
      the symbol's offset within a section
    • getSectionIndex

      public short getSectionIndex()
      Returns the index of the section, or pseudo-section, for the symbol.
      Returns:
      the index of the section, or pseudo-section, for the symbol
    • toDataType

      public DataType toDataType() throws DuplicateNameException, IOException
      Description copied from interface: StructConverter
      Returns a structure datatype representing the contents of the implementor of this interface.

      For example, given:

       class A {
           int foo;
           double bar;
       }
       

      The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.

      Returns:
      returns a structure datatype representing the implementor of this interface
      Throws:
      DuplicateNameException - when a datatype of the same name already exists
      IOException - if an IO-related error occurs
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object