Class SomSubspace

java.lang.Object
ghidra.app.util.bin.format.som.SomSubspace
All Implemented Interfaces:
StructConverter

public class SomSubspace extends Object implements StructConverter
Represents a SOM subspace_dictionary_record structure
See Also:
  • Field Details

  • Constructor Details

    • SomSubspace

      public SomSubspace(BinaryReader reader, long spaceStringsLocation) throws IOException
      Creates a new SomSubspace
      Parameters:
      reader - A BinaryReader positioned at the start of the record
      spaceStringsLocation - The starting index of the space strings
      Throws:
      IOException - if there was an IO-related error
  • Method Details

    • getSpaceIndex

      public int getSpaceIndex()
      Returns the space index.
      Returns:
      the space index
    • getAccessControlBits

      public int getAccessControlBits()
      Returns the access control bits for PDIR entries.
      Returns:
      the access control bits for PDIR entries
    • isMemoryResident

      public boolean isMemoryResident()
      Returns whether or not to lock in memory during execution.
      Returns:
      whether or not to lock in memory during execution
    • isDupCommon

      public boolean isDupCommon()
      Returns whether or not data name clashes are allowed.
      Returns:
      whether or not data name clashes are allowed
    • isCommon

      public boolean isCommon()
      Returns whether or not the subspace is a common.
      Returns:
      whether or not the subspace is a common
    • isLoadable

      public boolean isLoadable()
      Returns whether or not the subspace is loadable.
      Returns:
      whether or not the subspace is loadable
    • getQuadrant

      public int getQuadrant()
      Returns the quadrant request.
      Returns:
      the quadrant request
    • isInitiallyFrozen

      public boolean isInitiallyFrozen()
      Returns whether or not the subspace must be locked into memory when the OS is booted.
      Returns:
      whether or not the subspace must be locked into memory when the OS is booted
    • isFirst

      public boolean isFirst()
      Returns whether or not this must be the first subspace.
      Returns:
      whether or not this must be the first subspace
    • isCodeOnly

      public boolean isCodeOnly()
      Returns whether or not the subspace must contain only code.
      Returns:
      whether or not the subspace must contain only code
    • getSortKey

      public int getSortKey()
      Returns the sort key for the subspace.
      Returns:
      the sort key for the subspace
    • isReplicateInit

      public boolean isReplicateInit()
      Returns whether or not init values are replicated to fill subspace_length.
      Returns:
      whether or not init values are replicated to fill subspace_length
    • isContinuation

      public boolean isContinuation()
      Returns whether or not this subspace is a continuation.
      Returns:
      whether or not this subspace is a continuation
    • isThreadSpecific

      public boolean isThreadSpecific()
      Returns whether or not the subspace is thread specific.
      Returns:
      whether or not the subspace is thread specific
    • isComdat

      public boolean isComdat()
      Returns whether or not this is for COMDAT subspaces.
      Returns:
      whether or not this is for COMDAT subspaces
    • getReserved

      public int getReserved()
      Returns the first reserved value.
      Returns:
      the first reserved value
    • getFileLocInitValue

      public int getFileLocInitValue()
      Returns the file location or initialization value.
      Returns:
      the file location or initialization value
    • getInitializationLength

      public long getInitializationLength()
      Returns the initialization length.
      Returns:
      the initialization length
    • getSubspaceStart

      public long getSubspaceStart()
      Returns the starting offset.
      Returns:
      the starting offset
    • getSubspaceLength

      public long getSubspaceLength()
      Returns the number of bytes defined by this subspace.
      Returns:
      the number of bytes defined by this subspace
    • getReserved2

      public int getReserved2()
      Returns the second reserved value.
      Returns:
      the second reserved value
    • getAlignment

      public int getAlignment()
      Returns the alignment required for the subspace.
      Returns:
      the alignment required for the subspace
    • getName

      public String getName()
      Returns the subspace name.
      Returns:
      the subspace name
    • getFixupRequestIndex

      public int getFixupRequestIndex()
      Returns the index into fixup array.
      Returns:
      the index into fixup array
    • getFixupRequestQuantity

      public long getFixupRequestQuantity()
      Returns the number of fixup requests.
      Returns:
      the number of fixup requests
    • isRead

      public boolean isRead()
      Returns whether or not this subspace is readable.
      Returns:
      whether or not this subspace is readable
    • isWrite

      public boolean isWrite()
      Returns whether or not this subspace is writeable.
      Returns:
      whether or not this subspace is writeable
    • isExecute

      public boolean isExecute()
      Returns whether or not this subspace is executable.
      Returns:
      whether or not this subspace is executable
    • toDataType

      public DataType toDataType() throws DuplicateNameException, IOException
      Description copied from interface: StructConverter
      Returns a structure datatype representing the contents of the implementor of this interface.

      For example, given:

       class A {
           int foo;
           double bar;
       }
       

      The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.

      Specified by:
      toDataType in interface StructConverter
      Returns:
      returns a structure datatype representing the implementor of this interface
      Throws:
      DuplicateNameException - when a datatype of the same name already exists
      IOException - if an IO-related error occurs
      See Also: