Package ghidra.app.util.bin.format.elf
Class GnuBuildIdSection
- 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.GnuBuildIdSection
-
- All Implemented Interfaces:
BuiltInDataType
,DataType
,FactoryDataType
,ExtensionPoint
public class GnuBuildIdSection extends FactoryStructureDataType
Factory data type that marks up a Gnu Build-Id record from a ELF .note.gnu.build-id section
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GnuBuildIdSection.GnuBuildIdValues
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BUILD_ID_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 GnuBuildIdSection(DataTypeManager dtm, long sectionSize)
Creates a new GnuBuildIdDataType 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 GnuBuildIdSection.GnuBuildIdValues
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
-
BUILD_ID_SECTION_NAME
public static final java.lang.String BUILD_ID_SECTION_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GnuBuildIdSection
public GnuBuildIdSection(DataTypeManager dtm, long sectionSize)
Creates a new GnuBuildIdDataType instance.- Parameters:
dtm
- theDataTypeManager
for the programsectionSize
- the size of the section (for bounds checking, assumes this is the only record in the section)
-
-
Method Detail
-
fromProgram
public static GnuBuildIdSection.GnuBuildIdValues 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.
-
-