Package ghidra.app.util.bin.format.elf
Class GnuDebugLinkSection
- java.lang.Object
-
- ghidra.program.model.data.AbstractDataType
-
- ghidra.program.model.data.DataTypeImpl
-
- ghidra.program.model.data.BuiltIn
-
- ghidra.program.model.data.FactoryStructureDataType
-
- ghidra.app.util.bin.format.elf.GnuDebugLinkSection
-
- All Implemented Interfaces:
BuiltInDataType
,DataType
,FactoryDataType
,ExtensionPoint
public class GnuDebugLinkSection extends FactoryStructureDataType
Factory data type that marks up a ELF .gnu_debuglink section.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GnuDebugLinkSection.GnuDebugLinkSectionValues
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEBUG_LINK_SECTION_NAME
-
Fields inherited from class ghidra.program.model.data.DataTypeImpl
defaultSettings
-
Fields inherited from class ghidra.program.model.data.AbstractDataType
categoryPath, dataMgr, name
-
Fields inherited from interface ghidra.program.model.data.DataType
CONFLICT_SUFFIX, DEFAULT, NO_LAST_CHANGE_TIME, NO_SOURCE_SYNC_TIME, VOID
-
-
Constructor Summary
Constructors Constructor Description GnuDebugLinkSection(DataTypeManager dtm, long sectionSize)
Creates a new GnuDebugLinkDataType instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DataType
clone(DataTypeManager dtm)
Returns an instance of this DataType with its universalID and SourceArchive identity retained.static GnuDebugLinkSection.GnuDebugLinkSectionValues
fromProgram(Program program)
protected void
populateDynamicStructure(MemBuffer buf, Structure es)
protected Structure
setCategoryPath(Structure struct, MemBuffer buf)
Set the category of this data type.-
Methods inherited from class ghidra.program.model.data.FactoryStructureDataType
addComponent, getDataType, getDescription, getLength, getRepresentation, getValue
-
Methods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getBuiltInSettingsDefinitions, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, isEquivalent, removeParent, setCategoryPath, setName, setNameAndCategory
-
Methods inherited from class ghidra.program.model.data.DataTypeImpl
equals, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getPathName, getSourceArchive, getValueClass, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive
-
Methods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, encodeRepresentation, encodeValue, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getDocs, getMnemonic, getName, hasLanguageDependantLength, isDeleted, isEncodable, isNotYetDefined, isZeroLength, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ghidra.program.model.data.BuiltInDataType
getCTypeDeclaration
-
Methods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, encodeRepresentation, encodeValue, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getMnemonic, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getUniversalID, getValueClass, hasLanguageDependantLength, isDeleted, isEncodable, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
-
-
-
Field Detail
-
DEBUG_LINK_SECTION_NAME
public static final java.lang.String DEBUG_LINK_SECTION_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GnuDebugLinkSection
public GnuDebugLinkSection(DataTypeManager dtm, long sectionSize)
Creates a new GnuDebugLinkDataType instance.- Parameters:
dtm
- the program'sDataTypeManager
sectionSize
- the size of the section (for bounds checking)
-
-
Method Detail
-
fromProgram
public static GnuDebugLinkSection.GnuDebugLinkSectionValues fromProgram(Program program)
-
clone
public DataType clone(DataTypeManager dtm)
Description copied from interface:DataType
Returns an instance of this DataType with its universalID and SourceArchive identity retained.The current instanceof will be returned if this datatype's DataTypeManager matches the specified dtm. The recursion depth of a clone will stop on any datatype whose DataTypeManager matches the specified dtm and simply use the existing datatype instance.
- Specified by:
clone
in interfaceDataType
- Specified by:
clone
in classFactoryStructureDataType
- Parameters:
dtm
- the data-type manager instance whose data-organization should apply.- Returns:
- cloned instance which may be the same as this instance
-
populateDynamicStructure
protected void populateDynamicStructure(MemBuffer buf, Structure es)
- Specified by:
populateDynamicStructure
in classFactoryStructureDataType
-
setCategoryPath
protected Structure setCategoryPath(Structure struct, MemBuffer buf)
Description copied from class:FactoryStructureDataType
Set the category of this data type.- Overrides:
setCategoryPath
in classFactoryStructureDataType
- Returns:
- Returns a new structure with the correct category.
-
-