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 classGnuBuildIdSection.GnuBuildIdValues
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBUILD_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 DataTypeclone(DataTypeManager dtm)Returns an instance of this DataType with its universalID and SourceArchive identity retained.static GnuBuildIdSection.GnuBuildIdValuesfromProgram(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
-
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- theDataTypeManagerfor 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: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.
-
-