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

# Class DyldCacheMappingAndSlideInfo

java.lang.Object
ghidra.app.util.bin.format.macho.dyld.DyldCacheMappingAndSlideInfo

All Implemented Interfaces:
  `StructConverter`

public class DyldCacheMappingAndSlideInfo extends Object implements StructConverter
Represents a dyld_cache_mapping_and_slide_info structure.

See Also:
  - dyld_cache_format.h

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static long`
  `DYLD_CACHE_DYNAMIC_CONFIG_DATA`
  `static long`
  `DYLD_CACHE_MAPPING_AUTH_DATA`
  `static long`
  `DYLD_CACHE_MAPPING_CONST_DATA`
  `static long`
  `DYLD_CACHE_MAPPING_CONST_TPRO_DATA`
  `static long`
  `DYLD_CACHE_MAPPING_DIRTY_DATA`
  `static long`
  `DYLD_CACHE_MAPPING_TEXT_STUBS`
  `static long`
  `DYLD_CACHE_READ_ONLY_DATA`

  ### 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
  `DyldCacheMappingAndSlideInfo(BinaryReader reader)`
  Create a new `DyldCacheImageInfo`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `contains(long addr, boolean isAddr)`
  Returns true if the mapping contains the given address
  `long`
  `getAddress()`
  Gets the address of the start of the mapping.
  `long`
  `getFileOffset()`
  Gets the file offset of the start of the mapping.
  `long`
  `getFlags()`
  Get slide info flags
  `int`
  `getInitialProtection()`
  `int`
  `getMaxProtection()`
  `long`
  `getSize()`
  Gets the size of the mapping.
  `long`
  `getSlideInfoFileOffset()`
  Get slide info file offset
  `long`
  `getSlideInfoFileSize()`
  Get slide info file size
  `boolean`
  `isAuthData()`
  `boolean`
  `isConfigData()`
  `boolean`
  `isConstData()`
  `boolean`
  `isConstTproData()`
  `boolean`
  `isDirtyData()`
  `boolean`
  `isExecute()`
  Returns true if the initial protections include EXECUTE.
  `boolean`
  `isRead()`
  Returns true if the initial protections include READ.
  `boolean`
  `isReadOnlyData()`
  `boolean`
  `isTextStubs()`
  `boolean`
  `isWrite()`
  Returns true if the initial protections include WRITE.
  `DataType`
  `toDataType()`
  Returns a structure datatype representing the contents of the implementor of this interface.

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

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

- ## Field Details

  - ### DYLD_CACHE_MAPPING_AUTH_DATA

    public static long DYLD_CACHE_MAPPING_AUTH_DATA

  - ### DYLD_CACHE_MAPPING_DIRTY_DATA

    public static long DYLD_CACHE_MAPPING_DIRTY_DATA

  - ### DYLD_CACHE_MAPPING_CONST_DATA

    public static long DYLD_CACHE_MAPPING_CONST_DATA

  - ### DYLD_CACHE_MAPPING_TEXT_STUBS

    public static long DYLD_CACHE_MAPPING_TEXT_STUBS

  - ### DYLD_CACHE_DYNAMIC_CONFIG_DATA

    public static long DYLD_CACHE_DYNAMIC_CONFIG_DATA

  - ### DYLD_CACHE_READ_ONLY_DATA

    public static long DYLD_CACHE_READ_ONLY_DATA

  - ### DYLD_CACHE_MAPPING_CONST_TPRO_DATA

    public static long DYLD_CACHE_MAPPING_CONST_TPRO_DATA

- ## Constructor Details

  - ### DyldCacheMappingAndSlideInfo

    public DyldCacheMappingAndSlideInfo(BinaryReader reader) throws IOException
    Create a new `DyldCacheImageInfo`.
    Parameters:
      `reader` - A `BinaryReader` positioned at the start of a DYLD mapping info
    Throws:
      `IOException` - if there was an IO-related problem creating the DYLD mapping info

- ## Method Details

  - ### getAddress

    public long getAddress()
    Gets the address of the start of the mapping.
    Returns:
      The address of the start of the mapping

  - ### getSize

    public long getSize()
    Gets the size of the mapping.
    Returns:
      The size of the mapping

  - ### getFileOffset

    public long getFileOffset()
    Gets the file offset of the start of the mapping.
    Returns:
      The file offset of the start of the mapping

  - ### getSlideInfoFileOffset

    public long getSlideInfoFileOffset()
    Get slide info file offset
    Returns:
      slide info file offset

  - ### getSlideInfoFileSize

    public long getSlideInfoFileSize()
    Get slide info file size
    Returns:
      slide info file size

  - ### getFlags

    public long getFlags()
    Get slide info flags
    Returns:
      slide info flags

  - ### getMaxProtection

    public int getMaxProtection()

  - ### getInitialProtection

    public int getInitialProtection()

  - ### isAuthData

    public boolean isAuthData()

  - ### isDirtyData

    public boolean isDirtyData()

  - ### isConstData

    public boolean isConstData()

  - ### isTextStubs

    public boolean isTextStubs()

  - ### isConfigData

    public boolean isConfigData()

  - ### isReadOnlyData

    public boolean isReadOnlyData()

  - ### isConstTproData

    public boolean isConstTproData()

  - ### isRead

    public boolean isRead()
    Returns true if the initial protections include READ.
    Returns:
      true if the initial protections include READ

  - ### isWrite

    public boolean isWrite()
    Returns true if the initial protections include WRITE.
    Returns:
      true if the initial protections include WRITE

  - ### isExecute

    public boolean isExecute()
    Returns true if the initial protections include EXECUTE.
    Returns:
      true if the initial protections include EXECUTE

  - ### contains

    public boolean contains(long addr, boolean isAddr)
    Returns true if the mapping contains the given address
    Parameters:
      `addr` - The address to check
      `isAddr` - True if the `addr` parameter is an address; false if it's a file offset
    Returns:
      True if the mapping contains the given address; otherwise, false

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