Package ghidra.program.model.data
Class IBO64DataType
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.IBO64DataType
- All Implemented Interfaces:
BuiltInDataType
,DataType
,TypeDef
,ExtensionPoint
IBO64DataType
provides a Pointer-Typedef BuiltIn for
a 64-bit Image Base Offset Relative Pointer. This TypeDef
implementation
specifies the PointerType.IMAGE_BASE_RELATIVE
attribute/setting
associated with a 64-bit Pointer
.
This class replaces the use of the old
ImageBaseOffset64DataType
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 createIBO64PointerTypedef(DataType)
).-
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, TYPEDEF_ATTRIBUTE_PREFIX, TYPEDEF_ATTRIBUTE_SUFFIX, VOID
-
Constructor Summary
ConstructorDescriptionConstructs a 64-bit Image Base Offset relative pointer-typedef.Constructs a 64-bit Image Base Offset relative pointer-typedef. -
Method Summary
Modifier and TypeMethodDescriptionclone
(DataTypeManager dtm) Returns an instance of this DataType using the specifiedDataTypeManager
to allow its use of the correspondingDataOrganization
while retaining its unique identity (seeDataType.getUniversalID()
and archive association (seeDataType.getSourceArchive()
) if applicable.static PointerTypedef
createIBO64PointerTypedef
(DataType referencedDataType) Create a IBO64PointerTypedef
with 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, toString
Methods 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, setNameAndCategory
Methods 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, setSourceArchive
Methods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, encodeRepresentation, encodeValue, getCategoryPath, getDataOrganization, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getDocs, getTypeDefSettingsDefinitions, isDeleted, isEncodable, isNotYetDefined, isZeroLength
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods 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, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, isDeleted, isEncodable, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
Methods inherited from interface ghidra.program.model.data.TypeDef
hasSameTypeDefSettings, isPointer
-
Field Details
-
dataType
-
-
Constructor Details
-
IBO64DataType
public IBO64DataType()Constructs a 64-bit Image Base Offset relative pointer-typedef. -
IBO64DataType
Constructs a 64-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:DataType
Get a String briefly describing this DataType.- Returns:
- a one-liner describing this DataType.
-
clone
Description copied from interface:DataType
Returns an instance of this DataType using the specifiedDataTypeManager
to allow its use of the correspondingDataOrganization
while 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
DataTypeManager
matches 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:DataType
Get the mnemonic for this DataType.- Specified by:
getMnemonic
in interfaceDataType
- Overrides:
getMnemonic
in classAbstractDataType
- Parameters:
settings
- settings which may influence the result or null- Returns:
- the mnemonic for this DataType.
-
getBuiltInSettingsDefinitions
Description copied from class:BuiltIn
Gets a list of all the settingsDefinitions used by this datatype.- Overrides:
getBuiltInSettingsDefinitions
in classAbstractPointerTypedefBuiltIn
- Returns:
- a list of the settingsDefinitions used by this datatype.
-
createIBO64PointerTypedef
Create a IBO64PointerTypedef
with auto-naming. If needed, a name and category may be assigned to the returned instance. Unlike using an immutableIBO32DataType
instance the returned instance is mutable.- Parameters:
referencedDataType
- referenced datatype or null- Returns:
- new IBO64 pointer-typedef
-