Package ghidra.app.util.opinion

# Class NeLoader

java.lang.Object
ghidra.app.util.opinion.AbstractProgramLoader
ghidra.app.util.opinion.AbstractLibrarySupportLoader
ghidra.app.util.opinion.AbstractOrdinalSupportLoader
ghidra.app.util.opinion.NeLoader

All Implemented Interfaces:
  `Loader`, `ExtensionPoint`, `Comparable<Loader>`

public class NeLoader extends AbstractOrdinalSupportLoader
A `Loader` for processing Microsoft New Executable (NE) files.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader

  `AbstractLibrarySupportLoader.LibrarySearchPath, AbstractLibrarySupportLoader.UnprocessedLibrary`

  ## Nested classes/interfaces inherited from interface ghidra.app.util.opinion.Loader

  `Loader.ImporterSettings`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `NE_NAME`

  ### Fields inherited from class ghidra.app.util.opinion.AbstractOrdinalSupportLoader

  `ORDINAL_LOOKUP_OPTION_NAME`

  ### Fields inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader

  `DEPTH_OPTION_NAME, LIBRARY_DEST_FOLDER_OPTION_NAME, LIBRARY_SEARCH_PATH_DUMMY_OPTION_NAME, LINK_EXISTING_OPTION_NAME, LINK_SEARCH_FOLDER_OPTION_NAME, LOAD_LIBRARY_OPTION_NAME, LOAD_ONLY_LIBRARIES_OPTION_NAME, MIRROR_LAYOUT_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, loggingDisabled, OPTIONS_PROJECT_SAVE_STATE_KEY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `NeLoader()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<LoadSpec>`
  `findSupportedLoadSpecs(ByteProvider provider)`
  If this `Loader` supports loading the given `ByteProvider`, this methods returns a `Collection` of all supported `LoadSpec`s that contain discovered load specification information that this `Loader` will need to load.
  `protected Comparator<String>`
  `getLibraryNameComparator()`
  Returns a `Comparator` for comparing library names.
  `String`
  `getName()`
  Gets the `Loader`'s name, which is used both for display purposes, and to identify the `Loader` in the opinion files.
  `void`
  `load(Program prog, Loader.ImporterSettings settings)`
  Loads bytes in a particular format into the given `Program`.

  ### Methods inherited from class ghidra.app.util.opinion.AbstractOrdinalSupportLoader

  `getDefaultOptions, postLoadCleanup, postLoadProgramFixups, processLibrary, shouldSearchAllPaths, validateOptions`

  ### Methods inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader

  `createLibraryByteProvider, findLibraryInLoadedList, findLibraryInProject, getCustomLibrarySearchPaths, getLibraryDestinationFolderPath, getLibraryDestinationSearchFolder, getLibraryLoadDepth, getLibrarySearchFolders, getLibrarySearchPaths, getLinkSearchFolder, getTier, getTierPriority, isLinkExistingLibraries, isLoadLibraries, isMirroredLayout, isValidSearchPath, loadProgram, loadProgramInto, lookupLibraryInFolder, lookupLibraryInFs, matchSupportedLoadSpec, shouldLoadOnlyLibraries`

  ### Methods inherited from class ghidra.app.util.opinion.AbstractProgramLoader

  `addExternalBlock, createDefaultMemoryBlocks, createProgram, createProgram, generateBlockName, getLanguageService, load, loadInto, markAsFunction, setProgramProperties, 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, loadsIntoNewFolder, supportsLoadIntoProgram, supportsLoadIntoProgram`

- ## Field Details

  - ### NE_NAME

    public static final String NE_NAME
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### NeLoader

    public NeLoader()

- ## Method Details

  - ### findSupportedLoadSpecs

    public Collection<LoadSpec> findSupportedLoadSpecs(ByteProvider provider) throws IOException
    Description copied from interface: `Loader`
    If this `Loader` supports loading the given `ByteProvider`, this methods returns a `Collection` of all supported `LoadSpec`s that contain discovered load specification information that this `Loader` will need to load. If this `Loader` cannot support loading the given `ByteProvider`, an empty `Collection` is returned.
    Parameters:
      `provider` - The bytes being loaded.
    Returns:
      A `Collection` of `LoadSpec`s that this `Loader` supports loading, or an empty `Collection` if this `Loader` doesn't support loading the given `ByteProvider`.
    Throws:
      `IOException` - if there was an IO-related issue finding the `LoadSpec`s.

  - ### load

    public void load(Program prog, Loader.ImporterSettings settings) throws IOException, CancelledException
    Description copied from class: `AbstractLibrarySupportLoader`
    Loads bytes in a particular format into the given `Program`.
    Specified by:
      `load` in class `AbstractLibrarySupportLoader`
    Parameters:
      `prog` - The `Program` to load into.
      `settings` - The `Loader.ImporterSettings`
    Throws:
      `IOException` - if there was an IO-related problem loading.
      `CancelledException` - if the user cancelled the load.

  - ### getLibraryNameComparator

    protected Comparator<String> getLibraryNameComparator()
    Description copied from class: `AbstractLibrarySupportLoader`
    Returns a `Comparator` for comparing library names.

    No assumptions should be made about whether the library name includes path information or not.

    Overrides:
      `getLibraryNameComparator` in class `AbstractLibrarySupportLoader`
    Returns:
      a `Comparator` for comparing library names

  - ### getName

    public String getName()
    Description copied from interface: `Loader`
    Gets the `Loader`'s name, which is used both for display purposes, and to identify the `Loader` in the opinion files.
    Returns:
      The `Loader`'s name.