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 classGnuDebugLinkSection.GnuDebugLinkSectionValues
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEBUG_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 DataTypeclone(DataTypeManager dtm)Returns an instance of this DataType with its universalID and SourceArchive identity retained.static GnuDebugLinkSection.GnuDebugLinkSectionValuesfromProgram(Program program)protected voidpopulateDynamicStructure(MemBuffer buf, Structure es)protected StructuresetCategoryPath(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'sDataTypeManagersectionSize- 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:DataTypeReturns 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:
clonein interfaceDataType- Specified by:
clonein 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:
populateDynamicStructurein classFactoryStructureDataType
-
setCategoryPath
protected Structure setCategoryPath(Structure struct, MemBuffer buf)
Description copied from class:FactoryStructureDataTypeSet the category of this data type.- Overrides:
setCategoryPathin classFactoryStructureDataType- Returns:
- Returns a new structure with the correct category.
-
-