# Package ghidra.program.model.data

package ghidra.program.model.data

- Class
  Description
  AbstractComplexDataType
  Base class for a variety of Complex data types of different sizes and types.
  AbstractDataType
  Base class for DataType classes.
  AbstractFloatDataType
  Provides a definition of a Float within a program.
  AbstractIntegerDataType
  Base type for integer data types such as `chars`, `ints`, and `longs`.
  AbstractLeb128DataType
  An abstract base class for a LEB128 variable length integer data type.
  AbstractPointerTypedefBuiltIn
  `AbstractPointerTypedefDataType` provides an abstract `BuiltIn` datatype implementation for a pointer-typedef datatype.
  AbstractSignedIntegerDataType
  Base type for unsigned integer data types.
  AbstractStringDataType
  Common base class for all Ghidra string `DataType`s.
  AbstractUnsignedIntegerDataType
  Base type for unsigned integer data types.
  AddressSpaceSettingsDefinition
  AIFFDataType
  AIFF / AIFC header format:
  AlignedStructureInspector
  `AlignedStructureInspector` provides a simple instance of a structure member container used to perform alignment operations without forcing modification of the actual structure.
  AlignedStructurePacker
  `AlignedStructurePacker` provides support for performing aligned packing of Structure components.
  AlignedStructurePacker.StructurePackResult
  `StructurePackResult` provides access to aligned packing results
  AlignmentDataType
  AlignmentType
  `AlignmentType` specifies the type of alignment which applies to a composite data type.
  AnnotationHandler
  NOTE: ALL AnnotationHandler CLASSES MUST END IN "AnnotationHandler".
  ArchiveType
  Array
  Array interface
  ArrayDataType
  Basic implementation of the Array interface.
  ArrayStringable
  `ArrayStringable` identifies those data types which when formed into an array can be interpreted as a string (e.g., character array).
  AUDataType
  AudioPlayer
  BadDataType
  Provides an implementation of a data type that is not valid (bad) as it is used in the program.
  BitFieldDataType
  `BitFieldDataType` provides a means of defining a minimally sized bit-field for use within data structures.
  BitFieldPacking
  BitFieldPackingImpl
  BitGroup
  Class used to organize long values into sets of values with overlapping bits.
  BitmapResource
  BitmapResourceDataType
  Definition of a Bitmap Resource Data Structure defined within the resources section of a windows executable.
  BooleanDataType
  Provides a definition of an Ascii byte in a program.
  BuiltIn
  NOTE: ALL DATATYPE CLASSES MUST END IN "DataType".
  BuiltInDataType
  NOTE: ALL DATATYPE CLASSES MUST END IN "DataType".
  BuiltInDataTypeClassExclusionFilter
  An exclusion filter to use when searching for classes that implement `BuiltInDataType`
  BuiltInDataTypeManager
  Data type manager for built in types that do not live anywhere except in memory.
  ByteDataType
  Provides a definition of a Byte within a program.
  Category
  Each data type resides in a given a category.
  CategoryPath
  A category path is the full path to a particular data type
  CharDataType
  Provides a definition of an primitive char in a program.
  CharsetInfo
  Additional information about `java.nio.charset.Charset's` that Ghidra needs to be able to create Ghidra string datatype instances.
  CharsetSettingsDefinition
  `SettingsDefinition` for setting the charset of a string instance.
  Complex16DataType
  Provides a definition of a `complex` built-in data type consisting of two 64-bit floating point numbers in the IEEE 754 double precision format.
  Complex32DataType
  Provides a definition of a `complex` built-in data type consisting of two 128-bit floating point numbers in the IEEE 754 double precision format.
  Complex8DataType
  Provides a definition of a `complex` built-in data type consisting of two 32-bit floating point numbers in the IEEE 754 double precision format.
  ComponentOffsetSettingsDefinition
  Composite
  Interface for common methods in Structure and Union
  CompositeAlignmentHelper
  CompositeDataTypeImpl
  Common implementation methods for structure and union
  CompositeInternal
  Interface for common methods in Structure and Union
  CompositeInternal.ComponentComparator
  `ComponentComparator` provides ability to compare two DataTypeComponent objects based upon their ordinal.
  CompositeInternal.OffsetComparator
  `OffsetComparator` provides ability to compare an Integer offset with a DataTypeComponent object.
  CompositeInternal.OrdinalComparator
  `OrdinalComparator` provides ability to compare an Integer ordinal with a DataTypeComponent object.
  CountedDynamicDataType
  A dynamic data type that changes the number of elements it contains based on a count found in header data type.
  CustomFormat
  Container object for a DataType and a byte array that is the format for the data type.
  CycleGroup
  Class to define a set of dataTypes that a single action can cycle through.
  DataImage
  DataOrganization
  DataOrganizationImpl
  DataOrganization provides a single place for determining size and alignment information for data types within an archive or a program.
  DataType
  The interface that all datatypes must implement.
  DataTypeArchiveIdDumper
  DataTypeComparator
  DataTypeComponent
  DataTypeComponents are holders for the dataTypes that make up composite (Structures and Unions) dataTypes.
  DataTypeComponentImpl
  Basic implementation of a DataTypeComponent
  DataTypeConflictHandler
  `DataTypeConflictHandler` provides the `DataTypeManager` with a handler that is used to provide a disposition when a datatype conflict is detected during `DataTypeManager.resolve(DataType, DataTypeConflictHandler)` processing.
  DataTypeConflictHandler.ConflictResolutionPolicy
  `ConflictResolutionPolicy` indicates the conflict resolution policy which should be applied when any conflict is encountered
  DataTypeConflictHandler.ConflictResult
  `ConflictResult` indicates the resolution which should be applied to a specific conflict
  DataTypeDependencyException
  `DataTypeDependencyException` corresponds to a datatype dependency failure.
  DataTypeDisplayOptions
  DataTypeEncodeException
  Exception thrown when a value cannot be encoded for a data type
  DataTypeImpl
  Base implementation for dataTypes.
  DataTypeInstance
  An instance of a DataType that is applicable for a given context.
  DataTypeManager
  Interface for Managing data types.
  DataTypeManagerChangeListener
  The listener interface for notification of changes to a DataTypeManager
  DataTypeManagerChangeListenerAdapter
  Adapter for a Category change listener.
  DataTypeManagerChangeListenerHandler
  Default implementation for a `DataTypeManagerChangeListener` that sends out the events to its own list of listeners.
  DataTypeManagerDomainObject
  DataTypeMnemonicSettingsDefinition
  The settings definition for the numeric display format
  DataTypePath
  Object to hold a category path and a datatype name.
  DataTypeTransferable
  Defines data that is available for drag/drop and clipboard transfers.
  DataTypeWithCharset
  DataTypeWriter
  A class used to convert data types into ANSI-C.
  DataUtilities
  DataUtilities.ClearDataMode
  `ClearDataMode` specifies how conflicting data should be cleared when creating/re-creating data
  DefaultAnnotationHandler
  DefaultDataType
  Provides an implementation of a byte that has not been defined yet as a particular type of data in the program.
  DialogResourceDataType
  DomainFileBasedDataTypeManager
  Extends DataTypeManager to provide methods specific to a data type manager stored as a domain file.
  DoubleComplexDataType
  Provides a definition of a `complex` built-in data type consisting of two double point numbers in the IEEE 754 double precision format.
  DoubleDataType
  Provides a definition of a Double within a program.
  DWordDataType
  Provides a definition of a Double Word within a program.
  Dynamic
  A DataType class that must compute its length based upon actual data.
  DynamicDataType
  Interface for dataTypes that don't get applied, but instead generate dataTypes on the fly based on the data.
  EndianSettingsDefinition
  SettingsDefinition for endianess
  Enum
  EnumDataType
  EnumValuePartitioner
  This is a static utility class used to partition a set of long values into as many non-intersecting BitGroups as possible.
  FactoryDataType
  A DataType class that creates data types dynamically should implement this interface.
  FactoryStructureDataType
  Abstract class used to create specialized data structures that act like a Structure and create a new Dynamic structure each time they are used.
  FileArchiveBasedDataTypeManager
  Extends DataTypeManager to provide methods specific to file data type archives (.gdt).
  FileBasedDataTypeManager
  Extends DataTypeManager to provide methods specific to a data type manager that is file based.
  FileDataTypeManager
  DataTypeManager for a file.
  FileTimeDataType
  A datatype to interpret the FILETIME timestamp convention, which is based on the number of 100-nanosecond ticks since January 1, 1601.
  Float10DataType
  Float16DataType
  Float2DataType
  Float4DataType
  Float8DataType
  FloatComplexDataType
  Provides a definition of a `complex` built-in data type consisting of two floating point numbers in the IEEE 754 double precision format.
  FloatDataType
  Provides a definition of a Float within a program.
  FunctionDefinition
  Defines a function signature for things like function pointers.
  FunctionDefinitionDataType
  Definition of a function for things like function pointers.
  GenericCallingConvention
  Deprecated.
  Calling convention name strings should be used instead of this class.
  GenericDataType
  Base implementation for a generic data type.
  GifDataType
  GIFResource
  Class for determining the size of a GIF image.
  IBO32DataType
  `IBO32DataType` provides a Pointer-Typedef BuiltIn for a 32-bit Image Base Offset Relative Pointer.
  IBO64DataType
  `IBO64DataType` provides a Pointer-Typedef BuiltIn for a 64-bit Image Base Offset Relative Pointer.
  ICategory
  IconMaskResourceDataType
  IconResource
  IconResourceDataType
  IllegalRenameException
  Exception thrown if a data type does not allow its name to be changed.
  IndexedDynamicDataType
  Indexed Dynamic Data Type template.
  Integer16DataType
  A fixed size 16 byte signed integer (commonly referred to in C as int128_t)
  Integer3DataType
  Integer5DataType
  Integer6DataType
  Integer7DataType
  IntegerDataType
  Basic implementation for an signed Integer dataType
  InternalDataTypeComponent
  InvalidatedListener
  InvalidDataTypeException
  Exception thrown if a data type is not valid for the operation being performed.
  JPEGDataType
  LEB128
  Logic for reading LEB128 values.
  LongDataType
  Basic implementation for a Signed Long Integer dataType
  LongDoubleComplexDataType
  Provides a definition of a `complex` built-in data type consisting of two LongDouble numbers in the IEEE 754 double precision format.
  LongDoubleDataType
  Provides a definition of a Long Double within a program.
  LongLongDataType
  Basic implementation for an Signed LongLong Integer dataType
  MacintoshTimeStampDataType
  A datatype to interpret the Mac OS timestamp convention, which is based on the number of seconds measured from January 1, 1904.
  MemBufferImageInputStream
  ImageInputStream for reading images that wraps a MemBuffer to get the bytes.
  MenuResourceDataType
  MetaDataType
  MissingBuiltInDataType
  Provides an implementation of a data type that stands-in for a missing Built-In data type.
  MutabilitySettingsDefinition
  The settings definition for the numeric display format
  NoisyStructureBuilder
  Build a structure from a "noisy" source of field information.
  OffsetMaskSettingsDefinition
  Setting definition for a pointer offset bit-mask to be applied prior to any bit-shift (if specified) during the computation of an actual address offset.
  OffsetShiftSettingsDefinition
  PackingType
  `PackingType` specifies the pack setting which applies to a composite data type.
  PaddingSettingsDefinition
  The Settings definition for setting the padded/unpadded setting
  ParameterDefinition
  `ParameterDefinition` specifies a parameter which can be used to specify a function definition.
  ParameterDefinitionImpl
  PascalString255DataType
  A length-prefixed string `DataType` (max 255 bytes) with char size of 1 byte, user setable `charset` (default ASCII), unbounded (ignores containing field size, relies on embedded length value).
  PascalStringDataType
  A length-prefixed string `DataType` (max 64k bytes) with char size of 1 byte, user setable `charset` (default ASCII), unbounded (ignores containing field size, relies on embedded length value).
  PascalUnicodeDataType
  A length-prefixed string `DataType` (max 64k bytes) with char size of 2 bytes, `UTF-16` charset, unbounded (ignores containing field size, relies on embedded length value).
  Playable
  PngDataType
  Pointer
  Interface for pointers
  Pointer16DataType
  Pointer16 is really a factory for generating 2-byte pointers.
  Pointer24DataType
  Pointer24 is really a factory for generating 3-byte pointers.
  Pointer32DataType
  Pointer32 is really a factory for generating 4-byte pointers.
  Pointer40DataType
  Pointer40 is really a factory for generating 5-byte pointers.
  Pointer48DataType
  Pointer48 is really a factory for generating 6-byte pointers.
  Pointer56DataType
  Pointer56 is really a factory for generating 7-byte pointers.
  Pointer64DataType
  Pointer64 is really a factory for generating 8-byte pointers.
  Pointer8DataType
  Pointer8 is really a factory for generating 1-byte pointers.
  PointerDataType
  Basic implementation for a pointer dataType
  PointerType
  `PointerType` specified the pointer-type associated with a pointer-typedef.
  PointerTypedef
  `PointerTypedef` provides a Pointer-Typedef template datatype which may be used as an alternative to `PointerTypedefBuilder` for select use cases.
  PointerTypedefBuilder
  `PointerTypedefBuilder` provides a builder for creating `Pointer` - `TypeDef`s.
  PointerTypeSettingsDefinition
  The settings definition for the numeric display format
  ProgramArchitectureTranslator
  ProgramBasedDataTypeManager
  Extends DataTypeManager to include methods specific to a data type manager for a program.
  ProjectArchiveBasedDataTypeManager
  Extends DataTypeManager to provide methods specific to project data type archives.
  QWordDataType
  Provides a definition of a Quad Word within a program.
  ReadOnlyDataTypeComponent
  DataTypeComponents from dataTypes that can not be modified.
  RenderUnicodeSettingsDefinition
  Settings definition for controlling the display of UNICODE characters.
  RenderUnicodeSettingsDefinition.RENDER_ENUM
  RepeatCountDataType
  Base abstract data type for a Dynamic structure data type that contains some number of repeated data types.
  RepeatedDynamicDataType
  Template for a repeated Dynamic Data Type.
  RepeatedStringDataType
  Some number of repeated strings.
  Resource
  Identifies code units that are resources, such as Bitmap, jpeg, png, etc.
  SegmentedCodePointerDataType
  ShiftedAddressDataType
  Provides a definition of a Double Word within a program.
  ShortDataType
  Basic implementation for a Short Integer dataType
  SignedByteDataType
  Provides a definition of a Signed Byte within a program.
  SignedCharDataType
  Provides a definition of a primitive signed char data type.
  SignedDWordDataType
  Provides a definition of a Signed Double Word within a program.
  SignedLeb128DataType
  A Signed Little Endian Base 128 integer data type.
  SignedQWordDataType
  Provides a definition of a Signed Quad Word within a program.
  SignedWordDataType
  Provides a basic implementation of a signed word datatype
  SourceArchive
  DataTypeSource holds information about a single data type archive which supplied a data type to the program.
  StandAloneDataTypeManager
  Basic implementation of the DataTypeManger interface
  StandAloneDataTypeManager.ArchiveWarning
  StandAloneDataTypeManager.ArchiveWarningLevel
  StandAloneDataTypeManager.LanguageUpdateOption
  StringDataInstance
  Represents an instance of a string in a `MemBuffer`.
  StringDataInstance.StaticStringInstance
  StringDataType
  A fixed-length string `DataType` with a user setable `charset` (default ASCII).
  StringLayoutEnum
  Controls strings termination `StringLayoutEnum.FIXED_LEN` `StringLayoutEnum.CHAR_SEQ` `StringLayoutEnum.NULL_TERMINATED_UNBOUNDED` `StringLayoutEnum.NULL_TERMINATED_BOUNDED` `StringLayoutEnum.PASCAL_255` `StringLayoutEnum.PASCAL_64k`
  StringRenderBuilder
  Helper class used to build up a formatted (for human consumption) string representation returned by Unicode and String data types.
  StringRenderParser
  A parser to invert `StringDataInstance.getStringRepresentation()`, `StringDataInstance.getCharRepresentation()`, and related.
  StringRenderParser.StringParseException
  An exception for when a string representation cannot be parsed.
  StringUTF8DataType
  A fixed-length UTF-8 string `DataType`.
  Structure
  The structure interface.
  Structure.BitOffsetComparator
  `BitOffsetComparator` provides ability to compare an normalized bit offset (see `Structure.BitOffsetComparator.getNormalizedBitfieldOffset(int, int, int, int, boolean)`) with a `DataTypeComponent` object.
  StructureDataType
  Basic implementation of the structure data type.
  StructuredDynamicDataType
  Structured Dynamic Data type.
  StructureFactory
  Creates and initializes `Structure` objects.
  StructureInternal
  TerminatedSettingsDefinition
  Settings definition for strings being terminated or unterminated
  TerminatedStringDataType
  A null-terminated string `DataType` with a user setable `charset` (default ASCII).
  TerminatedUnicode32DataType
  A null-terminated UTF-32 string `DataType`.
  TerminatedUnicodeDataType
  A null-terminated string `DataType` with a UTF-16 `charset`.
  TranslationSettingsDefinition
  SettingsDefinition for translation display, handles both the toggle of "show" vs "don't show", as well as accessing the translated value.
  TranslationSettingsDefinition.TRANSLATION_ENUM
  TypeDef
  The typedef interface
  TypedefDataType
  Basic implementation for the typedef dataType.
  TypeDefSettingsDefinition
  `TypeDefSettingsDefinition` specifies a `SettingsDefinition` whose use as a `TypeDef` setting will be available for use within a non-Program DataType archive.
  Undefined
  `Undefined` identifies an undefined data type
  Undefined1DataType
  Provides an implementation of a byte that has not been defined yet as a particular type of data in the program.
  Undefined2DataType
  Provides an implementation of a 2 byte dataType that has not been defined yet as a particular type of data in the program.
  Undefined3DataType
  Provides an implementation of a byte that has not been defined yet as a particular type of data in the program.
  Undefined4DataType
  Provides an implementation of a 4-byte dataType that has not been defined yet as a particular type of data in the program.
  Undefined5DataType
  Provides an implementation of a byte that has not been defined yet as a particular type of data in the program.
  Undefined6DataType
  Provides an implementation of a byte that has not been defined yet as a particular type of data in the program.
  Undefined7DataType
  Provides an implementation of a byte that has not been defined yet as a particular type of data in the program.
  Undefined8DataType
  Provides an implementation of an 8-byte dataType that has not been defined yet as a particular type of data in the program.
  Unicode32DataType
  A fixed-length UTF-32 string `DataType`.
  UnicodeDataType
  A fixed-length UTF-16 string `DataType`.
  Union
  The union interface.
  UnionDataType
  Basic implementation of the union data type.
  UnionInternal
  UnsignedCharDataType
  Provides a definition of a primitive unsigned char data type.
  UnsignedInteger16DataType
  A fixed size 16 byte unsigned integer (commonly referred to in C as uint128_t)
  UnsignedInteger3DataType
  UnsignedInteger5DataType
  UnsignedInteger6DataType
  UnsignedInteger7DataType
  UnsignedIntegerDataType
  Basic implementation for an unsigned Integer dataType
  UnsignedLeb128DataType
  An Unsigned Little Endian Base 128 integer data type.
  UnsignedLongDataType
  Basic implementation for a Signed Long Integer dataType
  UnsignedLongLongDataType
  Basic implementation for an Signed LongLong Integer dataType
  UnsignedShortDataType
  Basic implementation for a Short Integer dataType
  VoidDataType
  Special dataType used only for function return types.
  WAVEDataType
  WideChar16DataType
  WideChar32DataType
  WideCharDataType
  WordDataType
  Provides a basic implementation of a word datatype