Package ghidra.app.util.bin.format.macho.commands

# Class FunctionStartsCommand

java.lang.Object
ghidra.app.util.bin.format.macho.commands.LoadCommand
ghidra.app.util.bin.format.macho.commands.LinkEditDataCommand
ghidra.app.util.bin.format.macho.commands.FunctionStartsCommand

All Implemented Interfaces:
  `StructConverter`

public class FunctionStartsCommand extends LinkEditDataCommand
Represents a LC_FUNCTION_STARTS command.

- ## Field Summary

  ### Fields inherited from class ghidra.app.util.bin.format.macho.commands.LinkEditDataCommand

  `dataoff, dataReader, datasize`

  ### Fields inherited from interface ghidra.app.util.bin.StructConverter

  `ASCII, BYTE, DWORD, IBO32, IBO64, POINTER, QWORD, SLEB128, STRING, ULEB128, UTF16, UTF8, VOID, WORD`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<Address>`
  `findFunctionStartAddrs(Address textSegmentAddr)`
  Finds the `List` of function start addresses
  `void`
  `markup(Program program, MachHeader header, String source, TaskMonitor monitor, MessageLog log)`
  Marks up this `LoadCommand` data with data structures and comments.

  ### Methods inherited from class ghidra.app.util.bin.format.macho.commands.LinkEditDataCommand

  `getCommandName, getLinkerDataOffset, getLinkerDataSize, markupRawBinary, toDataType`

  ### Methods inherited from class ghidra.app.util.bin.format.macho.commands.LoadCommand

  `checkCount, createFragment, createPlateComment, fileOffsetToAddress, getCommandSize, getCommandType, getContextualName, getStartIndex, markupPlateComment, updateMonitor`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### findFunctionStartAddrs

    public List<Address> findFunctionStartAddrs(Address textSegmentAddr) throws IOException
    Finds the `List` of function start addresses
    Parameters:
      `textSegmentAddr` - The `Address` of the function starts' __TEXT segment
    Returns:
      The `List` of function start addresses
    Throws:
      `IOException` - if there was an issue reading bytes

  - ### markup

    public void markup(Program program, MachHeader header, String source, TaskMonitor monitor, MessageLog log) throws CancelledException
    Description copied from class: `LoadCommand`
    Marks up this `LoadCommand` data with data structures and comments. Assumes the program was imported as a Mach-O.
    Overrides:
      `markup` in class `LinkEditDataCommand`
    Parameters:
      `program` - The `Program` to mark up
      `header` - The Mach-O header
      `source` - A name that represents where the header came from (could be null)
      `monitor` - A cancellable task monitor
      `log` - The log
    Throws:
      `CancelledException` - if the user cancelled the operation