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

# Class DyldCacheSlideInfo4

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

All Implemented Interfaces:
  `StructConverter`

public class DyldCacheSlideInfo4 extends DyldCacheSlideInfoCommon
Represents a dyld_cache_slide_info4 structure.

Not seen yet.

- ## 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, mappingAddress, mappingFileOffset, mappingSize, 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
  `DyldCacheSlideInfo4(BinaryReader reader, long mappingAddress, long mappingSize, long mappingFileOffset)`
  Create a new `DyldCacheSlideInfo3`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `getDeltaMask()`
  Returns The delta mask.
  `short[]`
  `getPageExtras()`
  Returns The page extras array.
  `int`
  `getPageExtrasCount()`
  Returns The page extras count.
  `int`
  `getPageExtrasOffset()`
  Returns The page extras offset.
  `int`
  `getPageSize()`
  Returns The page size.
  `short[]`
  `getPageStarts()`
  Returns The page starts array.
  `int`
  `getPageStartsCount()`
  Returns The page starts count.
  `int`
  `getPageStartsOffset()`
  Returns The page starts offset.
  `List<DyldCacheSlideFixup>`
  `getSlideFixups(BinaryReader reader, int pointerSize, MessageLog log, TaskMonitor monitor)`
  Walks the slide fixup information and collects a `List` of `DyldCacheSlideFixup`s that will need to be applied to the image
  `long`
  `getValueAdd()`
  Returns The "value add".
  `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, getMappingAddress, getMappingFileOffset, getMappingSize, getSlideInfoOffset, getVersion, parseSlideInfo`

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

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

- ## Constructor Details

  - ### DyldCacheSlideInfo4

    public DyldCacheSlideInfo4(BinaryReader reader, long mappingAddress, long mappingSize, long mappingFileOffset) throws IOException
    Create a new `DyldCacheSlideInfo3`.
    Parameters:
      `reader` - A `BinaryReader` positioned at the start of a DYLD slide info 3
      `mappingAddress` - The base address of where the slide fixups will take place
      `mappingSize` - The size of the slide fixups block
      `mappingFileOffset` - The base file offset of where the slide fixups will take place
    Throws:
      `IOException` - if there was an IO-related problem creating the DYLD slide info 3

- ## Method Details

  - ### getPageSize

    public int getPageSize()
    Returns The page size.
    Returns:
      The page size

  - ### getPageStartsOffset

    public int getPageStartsOffset()
    Returns The page starts offset.
    Returns:
      The page starts offset

  - ### getPageStartsCount

    public int getPageStartsCount()
    Returns The page starts count.
    Returns:
      The page starts count

  - ### getPageExtrasOffset

    public int getPageExtrasOffset()
    Returns The page extras offset.
    Returns:
      The page extras offset

  - ### getPageExtrasCount

    public int getPageExtrasCount()
    Returns The page extras count.
    Returns:
      The page extras count

  - ### getDeltaMask

    public long getDeltaMask()
    Returns The delta mask.
    Returns:
      The delta mask

  - ### getValueAdd

    public long getValueAdd()
    Returns The "value add".
    Returns:
      The "value add"

  - ### getPageStarts

    public short[] getPageStarts()
    Returns The page starts array.
    Returns:
      The page starts array

  - ### getPageExtras

    public short[] getPageExtras()
    Returns The page extras array.
    Returns:
      The page extras array

  - ### getSlideFixups

    public List<DyldCacheSlideFixup> 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 `DyldCacheSlideFixup`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 `DyldCacheSlideFixup`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`
    See Also:
      - `StructureDataType`