Class DynamicSymbolTableCommand

    • Constructor Detail

      • DynamicSymbolTableCommand

        public DynamicSymbolTableCommand()
        DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
    • Method Detail

      • getLocalSymbolIndex

        public int getLocalSymbolIndex()
        Returns the index of the first local symbol.
        Returns:
        the index of the first local symbol
      • getLocalSymbolCount

        public int getLocalSymbolCount()
        Returns the total number of local symbols.
        Returns:
        the total number of local symbols
      • getExternalSymbolIndex

        public int getExternalSymbolIndex()
        Returns the index of the first external symbol.
        Returns:
        the index of the first external symbol
      • getExternalSymbolCount

        public int getExternalSymbolCount()
        Returns the total number of external symbols.
        Returns:
        the total number of external symbols
      • getUndefinedSymbolIndex

        public int getUndefinedSymbolIndex()
        Returns the index of the first undefined symbol.
        Returns:
        the index of the first undefined symbol
      • getUndefinedSymbolCount

        public int getUndefinedSymbolCount()
        Returns the total number of undefined symbols.
        Returns:
        the total number of undefined symbols
      • getTableOfContentsOffset

        public int getTableOfContentsOffset()
        Returns the byte index from the start of the file to the table of contents (TOC).
        Returns:
        the byte index of the TOC
      • getTableOfContentsSize

        public int getTableOfContentsSize()
        Returns the number of entries in the table of contents.
        Returns:
        the number of entries in the table of contents
      • getTableOfContentsList

        public java.util.List<TableOfContents> getTableOfContentsList()
      • getModuleTableOffset

        public int getModuleTableOffset()
        Returns the byte index from the start of the file to the module table.
        Returns:
        the byte index of the module table
      • getModuleTableSize

        public int getModuleTableSize()
        Returns the number of entries in the module table.
        Returns:
        the number of entries in the module table
      • getReferencedSymbolTableOffset

        public int getReferencedSymbolTableOffset()
        Returns the byte index from the start of the file to the external reference table.
        Returns:
        the byte index of the external reference table
      • getReferencedSymbolTableSize

        public int getReferencedSymbolTableSize()
        Returns the number of entries in the external reference table.
        Returns:
        the number of entries in the external reference table
      • getIndirectSymbolTableOffset

        public int getIndirectSymbolTableOffset()
        Returns the byte index from the start of the file to the indirect symbol table.
        Returns:
        the byte index of the indirect symbol table
      • getIndirectSymbolTableSize

        public int getIndirectSymbolTableSize()
        Returns the number of entries in the indirect symbol table.
        Returns:
        the number of entries in the indirect symbol table
      • getIndirectSymbols

        public int[] getIndirectSymbols()
      • getExternalRelocationOffset

        public int getExternalRelocationOffset()
        Returns the byte index from the start of the file to the external relocation table.
        Returns:
        the byte index of the external relocation table
      • getExternalRelocationSize

        public int getExternalRelocationSize()
        Returns the number of entries in the external relocation table.
        Returns:
        the number of entries in the external relocation table
      • getExternalRelocations

        public java.util.List<RelocationInfo> getExternalRelocations()
      • getLocalRelocationOffset

        public int getLocalRelocationOffset()
        Returns the byte index from the start of the file to the local relocation table.
        Returns:
        the byte index of the local relocation table
      • getLocalRelocationSize

        public int getLocalRelocationSize()
        Returns the number of entries in the local relocation table.
        Returns:
        the number of entries in the local relocation table
      • getLocalRelocations

        public java.util.List<RelocationInfo> getLocalRelocations()
      • toDataType

        public DataType toDataType()
                            throws DuplicateNameException,
                                   java.io.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
        java.io.IOException
        See Also:
        StructureDataType
      • getCommandName

        public java.lang.String getCommandName()
        Description copied from class: LoadCommand
        Returns the name of this command.
        Specified by:
        getCommandName in class LoadCommand
        Returns:
        the name of this command
      • markup

        public void markup​(MachHeader header,
                           FlatProgramAPI api,
                           Address baseAddress,
                           boolean isBinary,
                           ProgramModule parentModule,
                           TaskMonitor monitor,
                           MessageLog log)
        Description copied from class: LoadCommand
        Mark-up the program with the data structures for this load command.
        Specified by:
        markup in class LoadCommand
        Parameters:
        header - the mach header
        api - the flat program api
        baseAddress - the base address to apply the mark-up
        isBinary - true if mach-o was loaded as binary
        parentModule - parent module to create fragments
        monitor - the task monitor
        log - the message logS