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

# Class DyldCacheSlideInfo1

java.lang.Object
ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfoCommon
ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfo1

All Implemented Interfaces:
  `StructConverter`

public class DyldCacheSlideInfo1 extends DyldCacheSlideInfoCommon
Represents a dyld_cache_slide_info structure.

Seen in iOS 8 and earlier.

- ## Field Summary

  ### Fields inherited from class ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfoCommon

  `BYTES_PER_CHAIN_OFFSET, CHAIN_OFFSET_MASK, DATA_PAGE_MAP_ENTRY, mappingInfo, slideInfoOffset, version`

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

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DyldCacheSlideInfo1(BinaryReader reader, DyldCacheMappingInfo mappingInfo)`
  Create a new `DyldCacheSlideInfo1`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte[][]`
  `getEntries()`
  Returns The entries.
  `int`
  `getEntriesCount()`
  Returns The entries count.
  `int`
  `getEntriesOffset()`
  Returns The entries offset.
  `int`
  `getEntriesSize()`
  Returns The entries size.
  `List<DyldFixup>`
  `getSlideFixups(BinaryReader reader, int pointerSize, MessageLog log, TaskMonitor monitor)`
  Walks the slide fixup information and collects a `List` of `DyldFixup`s that will need to be applied to the image
  `short[]`
  `getToc()`
  Returns The TOC.
  `int`
  `getTocCount()`
  Returns The TOC count.
  `int`
  `getTocOffset()`
  Returns The TOC offset.
  `DataType`
  `toDataType()`
  Returns a structure datatype representing the contents of the implementor of this interface.

  ### Methods inherited from class ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfoCommon

  `fixupSlidePointers, getMappingInfo, getSlideInfoOffset, getVersion, parseSlideInfo`

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

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

- ## Constructor Details

  - ### DyldCacheSlideInfo1

    public DyldCacheSlideInfo1(BinaryReader reader, DyldCacheMappingInfo mappingInfo) throws IOException
    Create a new `DyldCacheSlideInfo1`.
    Parameters:
      `reader` - A `BinaryReader` positioned at the start of a DYLD slide info 1
      `mappingInfo` - The `DyldCacheMappingInfo` of where the slide fixups will take place
    Throws:
      `IOException` - if there was an IO-related problem creating the DYLD slide info 1

- ## Method Details

  - ### getTocOffset

    public int getTocOffset()
    Returns The TOC offset.
    Returns:
      The TOC offset

  - ### getTocCount

    public int getTocCount()
    Returns The TOC count.
    Returns:
      The TOC count

  - ### getEntriesOffset

    public int getEntriesOffset()
    Returns The entries offset.
    Returns:
      The entries offset

  - ### getEntriesCount

    public int getEntriesCount()
    Returns The entries count.
    Returns:
      The entries count

  - ### getEntriesSize

    public int getEntriesSize()
    Returns The entries size.
    Returns:
      The entries size

  - ### getToc

    public short[] getToc()
    Returns The TOC.
    Returns:
      The TOC

  - ### getEntries

    public byte[][] getEntries()
    Returns The entries.
    Returns:
      The entries

  - ### getSlideFixups

    public List<DyldFixup> getSlideFixups(BinaryReader reader, int pointerSize, MessageLog log, TaskMonitor monitor) throws IOException, CancelledException
    Description copied from class: `DyldCacheSlideInfoCommon`
    Walks the slide fixup information and collects a `List` of `DyldFixup`s that will need to be applied to the image
    Specified by:
      `getSlideFixups` in class `DyldCacheSlideInfoCommon`
    Parameters:
      `reader` - A `BinaryReader` positioned at the start of the segment to fix up
      `pointerSize` - The size of a pointer in bytes
      `log` - The log
      `monitor` - A cancellable monitor
    Returns:
      A `List` of `DyldFixup`s
    Throws:
      `IOException` - If there was an IO-related issue
      `CancelledException` - If the user cancelled the operation

  - ### 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.

    Specified by:
      `toDataType` in interface `StructConverter`
    Overrides:
      `toDataType` in class `DyldCacheSlideInfoCommon`
    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:
      - `StructureDataType`