Package ghidra.program.model.data

# Class UnsignedCharDataType

java.lang.Object
ghidra.program.model.data.AbstractDataType
ghidra.program.model.data.DataTypeImpl
ghidra.program.model.data.BuiltIn
ghidra.program.model.data.AbstractIntegerDataType
ghidra.program.model.data.CharDataType
ghidra.program.model.data.UnsignedCharDataType

All Implemented Interfaces:
  `ArrayStringable`, `BuiltInDataType`, `DataType`, `DataTypeWithCharset`, `ExtensionPoint`

public class UnsignedCharDataType extends CharDataType
Provides a definition of a primitive unsigned char data type. While in most environment the size is one 8-bit byte, this can vary based upon data organization imposed by the associated data type manager.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final UnsignedCharDataType`
  `dataType`

  ### Fields inherited from class ghidra.program.model.data.AbstractIntegerDataType

  `ENDIAN, MNEMONIC, PADDING, SETTINGS_DEFS, TYPEDEF_SETTINGS_DEFS`

  ### Fields inherited from class ghidra.program.model.data.DataTypeImpl

  `defaultSettings`

  ### Fields inherited from class ghidra.program.model.data.AbstractDataType

  `categoryPath, dataMgr, EMPTY_TYPEDEF_DEFINITIONS, 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

  Constructors
  Constructor
  Description
  `UnsignedCharDataType()`
  Constructs a new unsigned char datatype.
  `UnsignedCharDataType(DataTypeManager dtm)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `UnsignedCharDataType`
  `clone(DataTypeManager dtm)`
  Returns an instance of this DataType using the specified `DataTypeManager` to allow its use of the corresponding `DataOrganization` while retaining its unique identity (see `DataType.getUniversalID()` and archive association (see `DataType.getSourceArchive()`) if applicable.
  `String`
  `getCDeclaration()`
  Returns the C style data-type declaration for this data-type.
  `String`
  `getCTypeDeclaration(DataOrganization dataOrganization)`
  Returns null for FactoryDataType (which should never be used) and Dynamic types which should generally be replaced by a primitive array (e.g., char[5]) or, a primitive pointer (e.g., char *).
  `String`
  `getDefaultLabelPrefix()`
  Returns the appropriate string to use as the default label prefix in the absence of any data.
  `String`
  `getDescription()`
  Get a String briefly describing this DataType.
  `boolean`
  `isSigned()`
  Determine if this type is signed.

  ### Methods inherited from class ghidra.program.model.data.CharDataType

  `encodeRepresentation, encodeValue, getBuiltInSettingsDefinitions, getCharsetName, getDefaultLabelPrefix, getFormatSettingsDefinition, getLength, getOppositeSignednessDataType, getValue, getValueClass, hasLanguageDependantLength, isEncodable`

  ### Methods inherited from class ghidra.program.model.data.AbstractIntegerDataType

  `castValueToEncode, getArrayDefaultLabelPrefix, getArrayDefaultOffcutLabelPrefix, getAssemblyMnemonic, getBitCount, getCMnemonic, getMnemonic, getRepresentation, getSignedDataType, getSignedDataTypes, getTypeDefSettingsDefinitions, getUnsignedDataType, getUnsignedDataTypes, hasStringValue, isEquivalent`

  ### Methods inherited from class ghidra.program.model.data.BuiltIn

  `addParent, copy, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, removeParent, setDefaultSettings`

  ### Methods inherited from class ghidra.program.model.data.DataTypeImpl

  `equals, getAlignedLength, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getSourceArchive, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive`

  ### Methods inherited from class ghidra.program.model.data.AbstractDataType

  `dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getCategoryPath, getDataOrganization, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getName, getPathName, isDeleted, isNotYetDefined, isZeroLength, setCategoryPath, setName, setNameAndCategory, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.program.model.data.ArrayStringable

  `getArrayString`

  ### Methods inherited from interface ghidra.program.model.data.DataType

  `addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignedLength, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getLastChangeTime, getLastChangeTimeInSourceArchive, getMnemonic, getName, getParents, getPathName, getRepresentation, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, getUniversalID, isDeleted, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive`

  ### Methods inherited from interface ghidra.program.model.data.DataTypeWithCharset

  `encodeCharacterRepresentation, encodeCharacterValue`

- ## Field Details

  - ### dataType

    public static final UnsignedCharDataType dataType

- ## Constructor Details

  - ### UnsignedCharDataType

    public UnsignedCharDataType()
    Constructs a new unsigned char datatype.

  - ### UnsignedCharDataType

    public UnsignedCharDataType(DataTypeManager dtm)

- ## Method Details

  - ### isSigned

    public boolean isSigned()
    Description copied from class: `AbstractIntegerDataType`
    Determine if this type is signed.
    Overrides:
      `isSigned` in class `CharDataType`
    Returns:
      true if this is a signed integer data-type

  - ### getDescription

    public String getDescription()
    Description copied from interface: `DataType`
    Get a String briefly describing this DataType.
    Specified by:
      `getDescription` in interface `DataType`
    Overrides:
      `getDescription` in class `CharDataType`
    Returns:
      a one-liner describing this DataType.

  - ### clone

    public UnsignedCharDataType clone(DataTypeManager dtm)
    Description copied from interface: `DataType`
    Returns an instance of this DataType using the specified `DataTypeManager` to allow its use of the corresponding `DataOrganization` while retaining its unique identity (see `DataType.getUniversalID()` and archive association (see `DataType.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.

    Specified by:
      `clone` in interface `DataType`
    Overrides:
      `clone` in class `CharDataType`
    Parameters:
      `dtm` - the data-type manager instance whose data-organization should apply.
    Returns:
      cloned instance which may be the same as this instance

  - ### getDefaultLabelPrefix

    public String getDefaultLabelPrefix()
    Description copied from interface: `DataType`
    Returns the appropriate string to use as the default label prefix in the absence of any data.
    Specified by:
      `getDefaultLabelPrefix` in interface `DataType`
    Overrides:
      `getDefaultLabelPrefix` in class `CharDataType`
    Returns:
      the default label prefix or null if none specified.

  - ### getCDeclaration

    public String getCDeclaration()
    Description copied from class: `CharDataType`
    Returns the C style data-type declaration for this data-type. Null is returned if no appropriate declaration exists.
    Overrides:
      `getCDeclaration` in class `CharDataType`
    Returns:
      the C style data-type declaration for this data-type. Null is returned if no appropriate declaration exists.

  - ### getCTypeDeclaration

    public String getCTypeDeclaration(DataOrganization dataOrganization)
    Description copied from class: `BuiltIn`
    Returns null for FactoryDataType (which should never be used) and Dynamic types which should generally be replaced by a primitive array (e.g., char[5]) or, a primitive pointer (e.g., char *). For other types an appropriately sized unsigned integer typedef is returned.
    Specified by:
      `getCTypeDeclaration` in interface `BuiltInDataType`
    Overrides:
      `getCTypeDeclaration` in class `CharDataType`
    Parameters:
      `dataOrganization` - or null for default
    Returns:
      definition C-statement (e.g., #define or typedef) or null if type name is a standard C-primitive name or if type is FactoryDataType or Dynamic.
    See Also:
      - `BuiltInDataType.getCTypeDeclaration(ghidra.program.model.data.DataOrganization)`