Package ghidra.app.util.opinion
Class OmfLoader
- java.lang.Object
-
- ghidra.app.util.opinion.AbstractProgramLoader
-
- ghidra.app.util.opinion.AbstractLibrarySupportLoader
-
- ghidra.app.util.opinion.OmfLoader
-
- All Implemented Interfaces:
Loader,ExtensionPoint,java.lang.Comparable<Loader>
public class OmfLoader extends AbstractLibrarySupportLoader
-
-
Field Summary
Fields Modifier and Type Field Description static longIMAGE_BASEstatic longMAX_UNINITIALIZED_FILLstatic longMIN_BYTE_LENGTHstatic java.lang.StringOMF_NAME-
Fields inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader
LIB_OPTION_NAME, SYM_OPTION_NAME
-
Fields inherited from class ghidra.app.util.opinion.AbstractProgramLoader
ANCHOR_LABELS_OPTION_NAME, APPLY_LABELS_OPTION_NAME
-
Fields inherited from interface ghidra.app.util.opinion.Loader
COMMAND_LINE_ARG_PREFIX
-
-
Constructor Summary
Constructors Constructor Description OmfLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<LoadSpec>findSupportedLoadSpecs(ByteProvider provider)If thisLoadersupports loading the givenByteProvider, this methods returns aCollectionof all supportedLoadSpecs that contain discovered load specification information that thisLoaderwill need to load.java.lang.StringgetName()protected voidload(ByteProvider provider, LoadSpec loadSpec, java.util.List<Option> options, Program program, TaskMonitor monitor, MessageLog log)Loads bytes in a particular format into the givenProgram.-
Methods inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader
createExportsFile, findAlreadyImportedLibrary, getDefaultOptions, getLoadSpec, getTier, getTierPriority, importLibrary, importLibrary, isCaseInsensitiveLibraryFilenames, loadProgram, loadProgramInto, postLoadProgramFixups, validateOptions
-
Methods inherited from class ghidra.app.util.opinion.AbstractProgramLoader
createDefaultMemoryBlocks, createProgram, generateBlockName, getLanguageService, load, loadInto, markAsFunction, release, shouldApplyProcessorLabelsByDefault
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ghidra.app.util.opinion.Loader
compareTo, getPreferredFileName, supportsLoadIntoProgram
-
-
-
-
Field Detail
-
OMF_NAME
public static final java.lang.String OMF_NAME
- See Also:
- Constant Field Values
-
MIN_BYTE_LENGTH
public static final long MIN_BYTE_LENGTH
- See Also:
- Constant Field Values
-
IMAGE_BASE
public static final long IMAGE_BASE
- See Also:
- Constant Field Values
-
MAX_UNINITIALIZED_FILL
public static final long MAX_UNINITIALIZED_FILL
- See Also:
- Constant Field Values
-
-
Method Detail
-
findSupportedLoadSpecs
public java.util.Collection<LoadSpec> findSupportedLoadSpecs(ByteProvider provider) throws java.io.IOException
Description copied from interface:LoaderIf thisLoadersupports loading the givenByteProvider, this methods returns aCollectionof all supportedLoadSpecs that contain discovered load specification information that thisLoaderwill need to load. If thisLoadercannot support loading the givenByteProvider, an emptyCollectionis returned.- Parameters:
provider- The bytes being loaded.- Returns:
- A
CollectionofLoadSpecs that thisLoadersupports loading, or an emptyCollectionif thisLoaderdoesn't support loading the givenByteProvider. - Throws:
java.io.IOException- if there was an IO-related issue finding theLoadSpecs.
-
getName
public java.lang.String getName()
Description copied from interface:LoaderGets theLoader's name, which is used both for display purposes, and to identify theLoaderin the opinion files.- Returns:
- The
Loader's name.
-
load
protected void load(ByteProvider provider, LoadSpec loadSpec, java.util.List<Option> options, Program program, TaskMonitor monitor, MessageLog log) throws java.io.IOException, CancelledException
Description copied from class:AbstractLibrarySupportLoaderLoads bytes in a particular format into the givenProgram.- Specified by:
loadin classAbstractLibrarySupportLoader- Parameters:
provider- The bytes to load.loadSpec- TheLoadSpecto use during load.options- The load options.program- TheProgramto load into.monitor- A cancelable task monitor.log- The message log.- Throws:
java.io.IOException- if there was an IO-related problem loading.CancelledException- if the user cancelled the load.
-
-