Package ghidra.app.util.bin
Interface StructConverter
-
- All Known Subinterfaces:
CoffSymbolAux
,ElfFileSection
,OptionalHeader
- All Known Implementing Classes:
AoutHeader
,AoutHeaderMIPS
,AppleSingleDouble
,ArchitectureDataDirectory
,BaseRelocation
,BaseRelocationDataDirectory
,BoundImportDataDirectory
,BoundImportDescriptor
,BoundImportForwarderRef
,BuildVersionCommand
,BuildVersionCommand.BuildToolVersion
,CFragResource
,CFragResourceMember
,CFragUsage1Union
,CFragUsage2Union
,CFragWhere1Union
,CFragWhere2Union
,CliAbstractSig
,CliAbstractStream
,CliAbstractTable
,CliBlob
,CliBlobCustomAttrib
,CliBlobMarshalSpec
,CliMetadataDirectory
,CliMetadataRoot
,CliMethodDef
,CliMethodExtraSections
,CliSigAssembly
,CliSigAssemblyRef
,CliSigConstant
,CliSigField
,CliSigLocalVar
,CliSigMethodDef
,CliSigMethodRef
,CliSigMethodSpec
,CliSigProperty
,CliSigStandAloneMethod
,CliSigTypeSpec
,CliStreamBlob
,CliStreamGuid
,CliStreamHeader
,CliStreamMetadata
,CliStreamStrings
,CliStreamUserStrings
,CliTableAssembly
,CliTableAssemblyOS
,CliTableAssemblyProcessor
,CliTableAssemblyRef
,CliTableAssemblyRefOS
,CliTableAssemblyRefProcessor
,CliTableClassLayout
,CliTableConstant
,CliTableCustomAttribute
,CliTableDeclSecurity
,CliTableEvent
,CliTableEventMap
,CliTableExportedType
,CliTableField
,CliTableFieldLayout
,CliTableFieldMarshall
,CliTableFieldRVA
,CliTableFile
,CliTableGenericParam
,CliTableGenericParamConstraint
,CliTableImplMap
,CliTableInterfaceImpl
,CliTableManifestResource
,CliTableMemberRef
,CliTableMethodDef
,CliTableMethodImpl
,CliTableMethodSemantics
,CliTableMethodSpec
,CliTableModule
,CliTableModuleRef
,CliTableNestedClass
,CliTableParam
,CliTableProperty
,CliTablePropertyMap
,CliTableStandAloneSig
,CliTableTypeDef
,CliTableTypeRef
,CliTableTypeSpec
,CoffArchiveHeader
,CoffArchiveMemberHeader
,CoffFileHeader
,CoffLineNumber
,CoffRelocation
,CoffSectionHeader
,CoffSymbol
,CoffSymbolAuxArray
,CoffSymbolAuxBeginningOfBlock
,CoffSymbolAuxEndOfBlock
,CoffSymbolAuxEndOfStruct
,CoffSymbolAuxFilename
,CoffSymbolAuxFunction
,CoffSymbolAuxName
,CoffSymbolAuxSection
,CoffSymbolAuxTagName
,COMDescriptorDataDirectory
,ContainerHeader
,DataDirectory
,DebugCodeView
,DebugCodeViewSymbolTable
,DebugCOFFSymbol
,DebugCOFFSymbolAux
,DebugCOFFSymbolAux.AuxFile
,DebugCOFFSymbolAux.AuxSection
,DebugCOFFSymbolAux.AuxSym
,DebugDataDirectory
,DebugDirectory
,DebugMisc
,DebugStateX86_32
,DebugStateX86_64
,DefaultDataDirectory
,DelayImportDataDirectory
,DelayImportDescriptor
,DOSHeader
,DyldCacheAccelerateInfo
,DyldCacheAcceleratorDof
,DyldCacheAcceleratorInitializer
,DyldCacheHeader
,DyldCacheImageInfo
,DyldCacheImageInfoExtra
,DyldCacheImageTextInfo
,DyldCacheLocalSymbolsEntry
,DyldCacheLocalSymbolsInfo
,DyldCacheMappingAndSlideInfo
,DyldCacheMappingInfo
,DyldCacheRangeEntry
,DyldCacheSlideInfo1
,DyldCacheSlideInfo2
,DyldCacheSlideInfo3
,DyldCacheSlideInfo4
,DyldCacheSlideInfoCommon
,DyldChainedFixupHeader
,DyldChainedFixupsCommand
,DyldChainedImport
,DyldChainedImports
,DyldChainedStartsInImage
,DyldChainedStartsInSegment
,DyldInfoCommand
,DynamicLibrary
,DynamicLibraryCommand
,DynamicLibraryModule
,DynamicLibraryReference
,DynamicLinkerCommand
,DynamicSymbolTableCommand
,ElfDynamicTable
,ElfHeader
,ElfProgramHeader
,ElfRelocation
,ElfRelocationTable
,ElfSectionHeader
,ElfStringTable
,ElfSymbolTable
,EncryptedInformationCommand
,EntryDescriptor
,EntryPointCommand
,ExceptionDataDirectory
,ExceptionStateX86_32
,ExceptionStateX86_64
,ExportDataDirectory
,ExportedSymbol
,ExportedSymbolHashSlot
,ExportedSymbolKey
,FileHeader
,FileSetEntryCommand
,FirstLinkerMember
,FixedVirtualMemoryFileCommand
,FixedVirtualMemorySharedLibraryCommand
,GlobalPointerDataDirectory
,GnuVerdaux
,GnuVerdef
,GnuVernaux
,GnuVerneed
,IdentCommand
,ImageCor20Header
,ImportAddressTableDataDirectory
,ImportByName
,ImportDataDirectory
,ImportDescriptor
,ImportedLibrary
,ImportedSymbol
,LinkEditDataCommand
,LinkerOptionCommand
,LoadCommand
,LoadCommandString
,LoadConfigDataDirectory
,LoadConfigDirectory
,LoaderInfoHeader
,LoaderRelocationHeader
,LongNamesMember
,MachHeader
,NList
,NTHeader
,ObjectiveC_Method
,ObjectiveC_MethodList
,ObjectiveC1_Category
,ObjectiveC1_Class
,ObjectiveC1_InstanceVariable
,ObjectiveC1_InstanceVariableList
,ObjectiveC1_MetaClass
,ObjectiveC1_Method
,ObjectiveC1_MethodList
,ObjectiveC1_Module
,ObjectiveC1_Protocol
,ObjectiveC1_ProtocolList
,ObjectiveC1_ProtocolMethod
,ObjectiveC1_ProtocolMethodList
,ObjectiveC1_SymbolTable
,ObjectiveC2_Cache
,ObjectiveC2_Category
,ObjectiveC2_Class
,ObjectiveC2_ClassRW
,ObjectiveC2_ImageInfo
,ObjectiveC2_Implementation
,ObjectiveC2_InstanceVariable
,ObjectiveC2_InstanceVariableList
,ObjectiveC2_MessageReference
,ObjectiveC2_Method
,ObjectiveC2_MethodList
,ObjectiveC2_Property
,ObjectiveC2_PropertyList
,ObjectiveC2_Protocol
,ObjectiveC2_ProtocolList
,ObsoleteCommand
,OptionalHeaderImpl
,PdbInfoCodeView
,PdbInfoDotNet
,PefDebug
,PrebindChecksumCommand
,PreboundDynamicLibraryCommand
,ReferenceListEntry
,Relocation
,RelocationInfo
,RelocByIndexGroup
,RelocBySectDWithSkip
,RelocIncrPosition
,RelocLgByImport
,RelocLgRepeat
,RelocLgSetOrBySection
,RelocSetPosition
,RelocSmRepeat
,RelocUndefinedOpcode
,RelocValueGroup
,ResourceDataDirectory
,ResourceDataEntry
,ResourceDirectory
,ResourceDirectoryEntry
,ResourceDirectoryString
,ResourceDirectoryStringU
,ResourceHeader
,ResourceMap
,ResourceType
,RichHeader
,RoutinesCommand
,RunPathCommand
,SecondLinkerMember
,Section
,SectionHeader
,SectionHeader
,SecurityCertificate
,SecurityDataDirectory
,SegmentCommand
,SourceVersionCommand
,SubClientCommand
,SubFrameworkCommand
,SubLibraryCommand
,SubUmbrellaCommand
,SymbolCommand
,SymbolTableCommand
,TableOfContents
,ThreadCommand
,ThreadState
,ThreadStateARM
,ThreadStateARM_64
,ThreadStateHeader
,ThreadStatePPC
,ThreadStateX86_32
,ThreadStateX86_64
,ThunkData
,TLSDataDirectory
,TLSDirectory
,TwoLevelHint
,TwoLevelHintsCommand
,UnsupportedLoadCommand
,UuidCommand
,VersionMinCommand
,VS_VERSION_CHILD
,VS_VERSION_INFO
,XCoffFileHeader
,XCoffOptionalHeader
,XCoffSectionHeader
public interface StructConverter
Allows a class to create a structure datatype equivalent to its class members.
-
-
Field Summary
Fields Modifier and Type Field Description static DataType
ASCII
Reusable ASCII datatype.static DataType
BYTE
Reusable BYTE datatype.static DataType
DWORD
Reusable DWORD datatype.static DataType
IBO32
Reusable 32-bit image base offset datatype.static DataType
IBO64
Reusable 64-bit image base offset datatype.static DataType
POINTER
Reusable POINTER datatype.static DataType
QWORD
Reusable QWORD datatype.static DataType
STRING
Reusable STRING datatype.static DataType
UTF16
Reusable UTF16 string datatype.static DataType
UTF8
Reusable UTF8 string datatype.static DataType
VOID
Reusable VOID datatype.static DataType
WORD
Reusable WORD datatype.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DataType
toDataType()
Returns a structure datatype representing the contents of the implementor of this interface.
-
-
-
Field Detail
-
BYTE
static final DataType BYTE
Reusable BYTE datatype.
-
WORD
static final DataType WORD
Reusable WORD datatype.
-
DWORD
static final DataType DWORD
Reusable DWORD datatype.
-
QWORD
static final DataType QWORD
Reusable QWORD datatype.
-
ASCII
static final DataType ASCII
Reusable ASCII datatype.
-
STRING
static final DataType STRING
Reusable STRING datatype.
-
UTF8
static final DataType UTF8
Reusable UTF8 string datatype.
-
UTF16
static final DataType UTF16
Reusable UTF16 string datatype.
-
POINTER
static final DataType POINTER
Reusable POINTER datatype.
-
VOID
static final DataType VOID
Reusable VOID datatype.
-
IBO32
static final DataType IBO32
Reusable 32-bit image base offset datatype.
-
IBO64
static final DataType IBO64
Reusable 64-bit image base offset datatype.
-
-
Method Detail
-
toDataType
DataType toDataType() throws DuplicateNameException, java.io.IOException
Returns a structure datatype representing the contents of the implementor of this interface.For example, given:
class A { int foo; double bar; }
The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.
- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException
- when a datatype of the same name already existsjava.io.IOException
- See Also:
StructureDataType
-
-