Package ghidra.program.model.mem
Interface MemoryBlockSourceInfo
-
public interface MemoryBlockSourceInfoDescribes the source of bytes for a memory block.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description booleancontains(Address address)Returns true if this SourceInfo object applies to the given address;default booleancontainsFileOffset(long fileOffset)Determine if this block source contains the specified file offset.java.util.Optional<ByteMappingScheme>getByteMappingScheme()Returns anOptionalByteMappingSchemeemployed if this is a byte-mapped memory block.java.lang.StringgetDescription()Returns a description of this SourceInfo object.java.util.Optional<FileBytes>getFileBytes()Returns anOptionalFileBytesobject if a FileBytes object is the byte source for this SourceInfo.longgetFileBytesOffset()longgetFileBytesOffset(Address address)longgetLength()Returns the length of this block byte source.java.util.Optional<AddressRange>getMappedRange()Returns anOptionalAddressRangefor the mapped addresses if this is a mapped memory block (bit mapped or byte mapped).AddressgetMaxAddress()Returns the end address where this byte source is mapped.MemoryBlockgetMemoryBlock()Returns the containing Memory BlockAddressgetMinAddress()Returns the start address where this byte source is mapped.default AddresslocateAddressForFileOffset(long fileOffset)Get the Address within this sub-block which corresponds to the specified file offset.
-
-
-
Method Detail
-
getLength
long getLength()
Returns the length of this block byte source.- Returns:
- the length of this block byte source.
-
getMinAddress
Address getMinAddress()
Returns the start address where this byte source is mapped.- Returns:
- the start address where this byte source is mapped.
-
getMaxAddress
Address getMaxAddress()
Returns the end address where this byte source is mapped.- Returns:
- the end address where this byte source is mapped.
-
getDescription
java.lang.String getDescription()
Returns a description of this SourceInfo object.- Returns:
- a description of this SourceInfo object.
-
getFileBytes
java.util.Optional<FileBytes> getFileBytes()
Returns anOptionalFileBytesobject if a FileBytes object is the byte source for this SourceInfo. Otherwise, the Optional will be empty.- Returns:
- the
FileBytesobject if it is the byte source for this section
-
getFileBytesOffset
long getFileBytesOffset()
Returns the offset into the underlyingFileBytesobject where this sub-block starts getting its bytes from or -1 if this sub-block does not have an associatedFileBytesor a complex bit/byte-mapping is used.- Returns:
- the offset into the
FileBytesobject where this section starts getting its bytes.
-
getFileBytesOffset
long getFileBytesOffset(Address address)
-
getMappedRange
java.util.Optional<AddressRange> getMappedRange()
Returns anOptionalAddressRangefor the mapped addresses if this is a mapped memory block (bit mapped or byte mapped). Otherwise, the Optional is empty.- Returns:
- an
OptionalAddressRangefor the mapped addresses if this is a mapped memory block
-
getByteMappingScheme
java.util.Optional<ByteMappingScheme> getByteMappingScheme()
Returns anOptionalByteMappingSchemeemployed if this is a byte-mapped memory block. Otherwise, the Optional is empty.- Returns:
- an
OptionalByteMappingSchemeemployed if this is a byte-mapped memory block.
-
getMemoryBlock
MemoryBlock getMemoryBlock()
Returns the containing Memory Block- Returns:
- the containing Memory Block
-
contains
boolean contains(Address address)
Returns true if this SourceInfo object applies to the given address;- Parameters:
address- the address to test if this is its SourceInfo- Returns:
- true if this SourceInfo object applies to the given address;
-
containsFileOffset
default boolean containsFileOffset(long fileOffset)
Determine if this block source contains the specified file offset.- Parameters:
fileOffset- file offset within underlying FileBytes (if applicable) within the loaded range associated with this source info.- Returns:
- true if file offset is within the loaded range of the corresponding FileBytes, else false if method is not supported by the sub-block type (e.g., bit/byte-mapped sub-block).
-
locateAddressForFileOffset
default Address locateAddressForFileOffset(long fileOffset)
Get the Address within this sub-block which corresponds to the specified file offset.- Parameters:
fileOffset- file offset- Returns:
Addresswithin this sub-block or null if file offset is out of range or method is not supported by the sub-block type (e.g., bit/byte-mapped sub-block).
-
-