mirror of
https://github.com/ufrisk/MemProcFS.git
synced 2026-05-07 05:46:37 +08:00
61 lines
1.4 KiB
Java
61 lines
1.4 KiB
Java
package vmm;
|
|
|
|
/**
|
|
* Interface to simplify efficient scattered read/write from the underlying API.
|
|
* @see https://github.com/ufrisk/MemProcFS
|
|
* @author Ulf Frisk - pcileech@frizk.net
|
|
*/
|
|
public interface IVmmMemScatterMemory
|
|
{
|
|
|
|
/**
|
|
* Retrieve the object validity. Will turn to false after Close().
|
|
* @return
|
|
*/
|
|
public boolean isValid();
|
|
|
|
/**
|
|
* Retrieve the flags.
|
|
* @return
|
|
*/
|
|
public int getFlags();
|
|
|
|
/**
|
|
* Prepare memory for reading. Read memory after a successful call to Execute()
|
|
* @param va
|
|
* @param size
|
|
*/
|
|
void prepare(long va, int size);
|
|
|
|
/**
|
|
* Prepare memory for writing. Memory will hopefully be written after a call to Execute()
|
|
* @param va
|
|
* @param data
|
|
*/
|
|
void prepareWrite(long va, byte[] data);
|
|
|
|
/**
|
|
* Execute memory read/write operations queued by previous calls to Prepare()/PrepareWrite()
|
|
*/
|
|
void execute();
|
|
|
|
/**
|
|
* Clear the IVmmMemScatter for new calls to Prepare()/PrepareWrite()
|
|
*/
|
|
void clear();
|
|
|
|
/**
|
|
* Read scatter data previously prepared by Prepare() after an Execute() call.
|
|
* @param va
|
|
* @param size
|
|
* @return
|
|
*/
|
|
byte[] read(long va, int size);
|
|
|
|
/**
|
|
* Close the IVmmMemScatter object and clean up native resources.
|
|
*/
|
|
void close();
|
|
|
|
}
|