Package ghidra.program.model.data
Class IBO32DataType
java.lang.Object
ghidra.program.model.data.AbstractDataType
ghidra.program.model.data.DataTypeImpl
ghidra.program.model.data.BuiltIn
ghidra.program.model.data.AbstractPointerTypedefBuiltIn
ghidra.program.model.data.IBO32DataType
- All Implemented Interfaces:
BuiltInDataType,DataType,TypeDef,ExtensionPoint
IBO32DataType provides a Pointer-Typedef BuiltIn for
a 32-bit Image Base Offset Relative Pointer. This TypeDef implementation
specifies the PointerType.IMAGE_BASE_RELATIVE attribute/setting
associated with a 32-bit Pointer.
This class replaces the use of the old
ImageBaseOffset32DataType
which did not implement the Pointer interface. This is an alternative
BuiltIn implementation to using the more general PointerTypedef
datatype with an unspecified referenced datatype. PointerTypedef should
be used for other cases
(see createIBO32PointerTypedef(DataType)).-
Field Summary
FieldsFields inherited from class ghidra.program.model.data.DataTypeImpl
defaultSettingsFields inherited from class ghidra.program.model.data.AbstractDataType
categoryPath, dataMgr, nameFields inherited from interface ghidra.program.model.data.DataType
CONFLICT_SUFFIX, DEFAULT, NO_LAST_CHANGE_TIME, NO_SOURCE_SYNC_TIME, TYPEDEF_ATTRIBUTE_PREFIX, TYPEDEF_ATTRIBUTE_SUFFIX, VOID -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a 32-bit Image Base Offset relative pointer-typedef.Constructs a 32-bit Image Base Offset relative pointer-typedef. -
Method Summary
Modifier and TypeMethodDescriptionclone(DataTypeManager dtm) Returns an instance of this DataType using the specifiedDataTypeManagerto allow its use of the correspondingDataOrganizationwhile retaining its unique identity (seeDataType.getUniversalID()and archive association (seeDataType.getSourceArchive()) if applicable.static PointerTypedefcreateIBO32PointerTypedef(DataType referencedDataType) Create a IBO32PointerTypedefwith auto-naming.Gets a list of all the settingsDefinitions used by this datatype.Get a String briefly describing this DataType.getMnemonic(Settings settings) Get the mnemonic for this DataType.Methods inherited from class ghidra.program.model.data.AbstractPointerTypedefBuiltIn
dependsOn, enableAutoNaming, getAlignedLength, getBaseDataType, getDataType, getLength, getName, getReferencedDataType, getRepresentation, getUniversalID, getValue, getValueClass, hasGeneratedNamed, hasLanguageDependantLength, isAutoNamed, isEquivalent, toStringMethods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, removeParent, setCategoryPath, setDefaultSettings, setName, setNameAndCategoryMethods inherited from class ghidra.program.model.data.DataTypeImpl
equals, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getPathName, getSourceArchive, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchiveMethods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, encodeRepresentation, encodeValue, getCategoryPath, getDataOrganization, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getTypeDefSettingsDefinitions, isDeleted, isEncodable, isNotYetDefined, isZeroLengthMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, encodeRepresentation, encodeValue, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getLastChangeTime, getLastChangeTimeInSourceArchive, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, isDeleted, isEncodable, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchiveMethods inherited from interface ghidra.program.model.data.TypeDef
hasSameTypeDefSettings, isPointer
-
Field Details
-
dataType
-
-
Constructor Details
-
IBO32DataType
public IBO32DataType()Constructs a 32-bit Image Base Offset relative pointer-typedef. -
IBO32DataType
Constructs a 32-bit Image Base Offset relative pointer-typedef.- Parameters:
dtm- data-type manager whose data organization should be used
-
-
Method Details
-
getDescription
Description copied from interface:DataTypeGet a String briefly describing this DataType.- Returns:
- a one-liner describing this DataType.
-
clone
Description copied from interface:DataTypeReturns an instance of this DataType using the specifiedDataTypeManagerto allow its use of the correspondingDataOrganizationwhile retaining its unique identity (seeDataType.getUniversalID()and archive association (seeDataType.getSourceArchive()) if applicable.This instance will be returned if this datatype's DataTypeManager matches the specified dtm. The recursion depth of a clone will stop on any datatype whose
DataTypeManagermatches the specified dtm and simply use the existing datatype instance.NOTE: In general, this method should not be used to obtain an instance to be modified. In most cases changes may be made directly to this instance if supported or to a
DataType.copy(DataTypeManager)of this type.- Parameters:
dtm- the data-type manager instance whose data-organization should apply.- Returns:
- cloned instance which may be the same as this instance
-
getMnemonic
Description copied from interface:DataTypeGet the mnemonic for this DataType.- Specified by:
getMnemonicin interfaceDataType- Overrides:
getMnemonicin classAbstractDataType- Parameters:
settings- settings which may influence the result or null- Returns:
- the mnemonic for this DataType.
-
getBuiltInSettingsDefinitions
Description copied from class:BuiltInGets a list of all the settingsDefinitions used by this datatype.- Overrides:
getBuiltInSettingsDefinitionsin classAbstractPointerTypedefBuiltIn- Returns:
- a list of the settingsDefinitions used by this datatype.
-
createIBO32PointerTypedef
Create a IBO32PointerTypedefwith auto-naming. If needed, a name and category may be assigned to the returned instance. Unlike using an immutableIBO32DataTypeinstance the returned instance is mutable.- Parameters:
referencedDataType- referenced datatype or null- Returns:
- new IBO32 pointer-typedef
-