Package ghidra.program.model.mem
Interface MemBufferMixin
- All Superinterfaces:
MemBuffer
- All Known Implementing Classes:
AbstractBytesPcodeExecutorStatePiece.StateMemBuffer
-
Method Summary
Modifier and TypeMethodDescriptiondefault BigIntegergetBigInteger(int offset, int size, boolean signed) returns the value at the given offset, taking into account the endianness.default bytegetByte(int offset) Get one byte from memory at the current position plus offset.default intgetBytes(byte[] b, int offset) Readsb.lengthbytes from this memory buffer starting at the address of this memory buffer plus the given memoryBufferOffset from that position.intgetBytes(ByteBuffer buffer, int addressOffset) default ByteBuffergetBytesInFull(int offset, int len) default intgetInt(int offset) returns the int at the given offset, taking into account the endianness.default longgetLong(int offset) returns the long at the given offset, taking into account the endianness.default shortgetShort(int offset) returns the short at the given offset, taking into account the endianness.Methods inherited from interface ghidra.program.model.mem.MemBuffer
getAddress, getInputStream, getInputStream, getMemory, getUnsignedByte, getUnsignedInt, getUnsignedShort, getVarLengthInt, getVarLengthUnsignedInt, isBigEndian, isInitializedMemory
-
Method Details
-
getBytes
-
getByte
Description copied from interface:MemBufferGet one byte from memory at the current position plus offset.- Specified by:
getBytein interfaceMemBuffer- Parameters:
offset- the displacement from the current position.- Returns:
- the data at offset from the current position.
- Throws:
MemoryAccessException- if memory cannot be read at the specified offset
-
getBytes
default int getBytes(byte[] b, int offset) Description copied from interface:MemBufferReadsb.lengthbytes from this memory buffer starting at the address of this memory buffer plus the given memoryBufferOffset from that position. The actual number of bytes may be fewer if bytes can't be read.- Specified by:
getBytesin interfaceMemBuffer- Parameters:
b- the buffer into which bytes will be placedoffset- the offset in this memory buffer from which to start reading bytes.- Returns:
- the number of bytes read which may be fewer than b.length if available bytes are exhausted or no bytes are available at the specified offset.
-
getBytesInFull
- Throws:
MemoryAccessException
-
getShort
Description copied from interface:MemBufferreturns the short at the given offset, taking into account the endianness.- Specified by:
getShortin interfaceMemBuffer- Parameters:
offset- the offset from the membuffers origin (the address that it is set at)- Returns:
- the short at the given offset, taking into account the endianness.
- Throws:
MemoryAccessException- if a 2-byte short value cannot be read at the specified offset
-
getInt
Description copied from interface:MemBufferreturns the int at the given offset, taking into account the endianness.- Specified by:
getIntin interfaceMemBuffer- Parameters:
offset- the offset from the membuffers origin (the address that it is set at)- Returns:
- the int at the given offset, taking into account the endianness.
- Throws:
MemoryAccessException- if a 4-byte integer value cannot be read at the specified offset
-
getLong
Description copied from interface:MemBufferreturns the long at the given offset, taking into account the endianness.- Specified by:
getLongin interfaceMemBuffer- Parameters:
offset- the offset from the membuffers origin (the address that it is set at)- Returns:
- the long at the given offset, taking into account the endianness.
- Throws:
MemoryAccessException- if a 8-byte long value cannot be read at the specified offset
-
getBigInteger
Description copied from interface:MemBufferreturns the value at the given offset, taking into account the endianness.- Specified by:
getBigIntegerin interfaceMemBuffer- Parameters:
offset- the offset from the membuffers origin (the address that it is set at)size- the number of bytes to include in the valuesigned- true if value should be treated as a signed twos-compliment value.- Returns:
- the value at the given offset, taking into account the endianness.
- Throws:
MemoryAccessException- if the request size value cannot be read at the specified offset
-