Package ghidra.app.util.opinion
Class PeDataType
- java.lang.Object
-
- All Implemented Interfaces:
BuiltInDataType,DataType,FactoryDataType,ExtensionPoint,java.util.EventListener,javax.swing.event.ChangeListener
public class PeDataType extends FactoryStructureDataType
A datatype for creating portable executable data structures.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ghidra.util.classfinder.ExtensionPoint
ExtensionPoint.Exclude, ExtensionPoint.Util
-
-
Field Summary
-
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 PeDataType()Constructs a new PE datatype.PeDataType(DataTypeManager dtm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataTypeclone(DataTypeManager dtm)Returns a new instance of this DataType with its universalID and SourceArchive identity retained.java.lang.StringgetDescription()Get a String briefly describing this DataType.java.lang.StringgetMnemonic(Settings settings)Get the mnemonic for this DataType.booleanisDynamicallySized()Indicates if this data-type is dynamically sized based upon DataOrganization.protected voidpopulateDynamicStructure(MemBuffer buf, Structure struct)-
Methods inherited from class ghidra.program.model.data.FactoryStructureDataType
addComponent, getDataType, 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, notifyDeleted, notifyNameChanged, notifyReplaced, notifySizeChanged, replaceWith, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive, stateChanged
-
Methods inherited from class ghidra.program.model.data.AbstractDataType
getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getDocs, getName, isDeleted, isNotYetDefined, 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, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getUniversalID, getValueClass, isDeleted, isEquivalent, isNotYetDefined, removeParent, replaceWith, setCategoryPath, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
-
-
-
Constructor Detail
-
PeDataType
public PeDataType()
Constructs a new PE datatype.
-
PeDataType
public PeDataType(DataTypeManager dtm)
-
-
Method Detail
-
getMnemonic
public java.lang.String getMnemonic(Settings settings)
Description copied from interface:DataTypeGet the mnemonic for this DataType.- Specified by:
getMnemonicin interfaceDataType- Overrides:
getMnemonicin classAbstractDataType- Returns:
- the mnemonic for this DataType.
-
getDescription
public java.lang.String getDescription()
Description copied from interface:DataTypeGet a String briefly describing this DataType.- Specified by:
getDescriptionin interfaceDataType- Overrides:
getDescriptionin classFactoryStructureDataType- Returns:
- a one-liner describing this DataType.
- See Also:
DataType.getDescription()
-
isDynamicallySized
public boolean isDynamicallySized()
Description copied from interface:DataTypeIndicates if this data-type is dynamically sized based upon DataOrganization.- Specified by:
isDynamicallySizedin interfaceDataType- Overrides:
isDynamicallySizedin classAbstractDataType- See Also:
DataType.isDynamicallySized()
-
populateDynamicStructure
protected void populateDynamicStructure(MemBuffer buf, Structure struct)
- Specified by:
populateDynamicStructurein classFactoryStructureDataType
-
clone
public DataType clone(DataTypeManager dtm)
Description copied from interface:DataTypeReturns a new instance of this DataType with its universalID and SourceArchive identity retained. Note: for built-in DataType's, clone and copy should have the same affect.- Specified by:
clonein interfaceDataType- Specified by:
clonein classFactoryStructureDataType- Parameters:
dtm- the data-type manager instance whose data-organization should apply.
-
-