Package ghidra.app.util.bin.format.som
Class SomSymbol
java.lang.Object
ghidra.app.util.bin.format.som.SomSymbol
- All Implemented Interfaces:
StructConverter
Represents a SOM
symbol_dictionary_record structure- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSomSymbol(BinaryReader reader, long symbolStringsLocation) Creates a newSomSymbol -
Method Summary
Modifier and TypeMethodDescriptionintReturns the location of the first four words of the parameter list, and the location of the function return value to the linker and loader.intReturns the check level.getName()Returns the symbol name.Returns the symbol qualifier name.intReturns the reserved value.intReturns the symbol info.intReturns the symbol scope.intReturns the symbol type.longReturns the symbol value.intReturns the execution level that is required to call this entry point.booleanReturns whether or not the called entry point will have a long return sequence.booleanReturns whether or not the called entry point will not require any parameter relocation.booleanisComdat()Returns whether or not this symbol identifies as the key symbol for a set of COMDAT subspaces.booleanisCommon()Returns whether or not this symbol is an initialized common data block.booleanReturns whether or not this symbol name may conflict with another symbol of the same name if both are of type data.booleanisHidden()Returns whether or not the symbol is to be hidden from the loader for the purpose of resolving external (inter-SOM) references.booleanReturns whether or not the code importing or exporting this symbol is to be locked in physical memory when the operating system is being booted.booleanReturns whether or the the code that is importing or exporting this symbol is frozen in memory.booleanReturns whether or not the symbol is a secondary definition and has an additional name that is preceded by “_”.booleanReturns whether or not the qualifier name must be used to fully qualify the symbol.Returns a structure datatype representing the contents of the implementor of this interface.toString()
-
Field Details
-
SIZE
public static final int SIZEThe size in bytes of aSomSymbol- See Also:
-
-
Constructor Details
-
SomSymbol
Creates a newSomSymbol- Parameters:
reader- ABinaryReaderpositioned at the start of the recordsymbolStringsLocation- The starting index of the symbol strings- Throws:
IOException- if there was an IO-related error
-
-
Method Details
-
isHidden
public boolean isHidden()Returns whether or not the symbol is to be hidden from the loader for the purpose of resolving external (inter-SOM) references.- Returns:
- whether or not the symbol is to be hidden from the loader for the purpose of resolving external (inter-SOM) references
-
isSecondaryDef
public boolean isSecondaryDef()Returns whether or not the symbol is a secondary definition and has an additional name that is preceded by “_”.- Returns:
- whether or not the symbol is a secondary definition and has an additional name that is preceded by “_”
-
getSymbolType
public int getSymbolType()Returns the symbol type.- Returns:
- the symbol type
- See Also:
-
getSymbolScope
public int getSymbolScope()Returns the symbol scope.- Returns:
- the symbol scope
- See Also:
-
getCheckLevel
public int getCheckLevel()Returns the check level.- Returns:
- the check level
-
mustQualify
public boolean mustQualify()Returns whether or not the qualifier name must be used to fully qualify the symbol.- Returns:
- whether or not the qualifier name must be used to fully qualify the symbol
-
isInitiallyFrozen
public boolean isInitiallyFrozen()Returns whether or not the code importing or exporting this symbol is to be locked in physical memory when the operating system is being booted.- Returns:
- whether or not the code importing or exporting this symbol is to be locked in physical memory when the operating system is being booted
-
isMemoryResident
public boolean isMemoryResident()Returns whether or the the code that is importing or exporting this symbol is frozen in memory.- Returns:
- whether or the the code that is importing or exporting this symbol is frozen in memory
-
isCommon
public boolean isCommon()Returns whether or not this symbol is an initialized common data block.- Returns:
- whether or not this symbol is an initialized common data block
-
isDupCommon
public boolean isDupCommon()Returns whether or not this symbol name may conflict with another symbol of the same name if both are of type data.- Returns:
- whether or not this symbol name may conflict with another symbol of the same name if both are of type data
-
getXleast
public int getXleast()Returns the execution level that is required to call this entry point.- Returns:
- the execution level that is required to call this entry point
-
getArgReloc
public int getArgReloc()Returns the location of the first four words of the parameter list, and the location of the function return value to the linker and loader.- Returns:
- the location of the first four words of the parameter list, and the location of the function return value to the linker and loader
-
getName
Returns the symbol name.- Returns:
- the symbol name
-
getQualifierName
Returns the symbol qualifier name.- Returns:
- the symbol qualifier name
-
hasLongReturn
public boolean hasLongReturn()Returns whether or not the called entry point will have a long return sequence.- Returns:
- whether or not the called entry point will have a long return sequence
-
hasNoRelocation
public boolean hasNoRelocation()Returns whether or not the called entry point will not require any parameter relocation.- Returns:
- whether or not the called entry point will not require any parameter relocation
-
isComdat
public boolean isComdat()Returns whether or not this symbol identifies as the key symbol for a set of COMDAT subspaces.- Returns:
- whether or not this symbol identifies as the key symbol for a set of COMDAT subspaces
-
getReserved
public int getReserved()Returns the reserved value.- Returns:
- the reserved value
-
getSymbolInfo
public int getSymbolInfo()Returns the symbol info.- Returns:
- the symbol info
-
getSymbolValue
public long getSymbolValue()Returns the symbol value.- Returns:
- the symbol value
-
toDataType
Description copied from interface:StructConverterReturns 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:
toDataTypein interfaceStructConverter- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException- when a datatype of the same name already existsIOException- if an IO-related error occurs- See Also:
-
toString
-