Package ghidra.app.util.bin
Interface StructConverter
-
- All Known Subinterfaces:
CoffSymbolAux,ElfFileSection,OptionalHeader,PdbInfoDotNetIface,PdbInfoIface
- 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,CliBlobMarshalSpec,CliMetadataDirectory,CliMetadataRoot,CliMethodDef,CliMethodExtraSections,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,DebugDataDirectory,DebugDirectory,DebugMisc,DebugStateX86_32,DebugStateX86_64,DefaultDataDirectory,DelayImportDataDirectory,DelayImportDescriptor,DOSHeader,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,FirstLinkerMember,FixedVirtualMemoryFileCommand,FixedVirtualMemorySharedLibraryCommand,GlobalPointerDataDirectory,GnuVerdaux,GnuVerdef,GnuVernaux,GnuVerneed,IdentCommand,ImageCor20Header,ImportAddressTableDataDirectory,ImportByName,ImportDataDirectory,ImportDescriptor,ImportedLibrary,ImportedSymbol,LinkEditDataCommand,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,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,ScatteredRelocationInfo,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 StructConverterAllows a class to create a structure datatype equivalent to its class members.
-
-
Field Summary
Fields Modifier and Type Field Description static DataTypeASCIIReusable ASCII datatype.static DataTypeBYTEReusable BYTE datatype.static DataTypeDWORDReusable DWORD datatype.static DataTypeIBO32Reusable 32-bit image base offset datatype.static DataTypePOINTERReusable POINTER datatype.static DataTypeQWORDReusable QWORD datatype.static DataTypeSTRINGReusable STRING datatype.static DataTypeUTF16Reusable UTF16 string datatype.static DataTypeUTF8Reusable UTF8 string datatype.static DataTypeVOIDReusable VOID datatype.static DataTypeWORDReusable WORD datatype.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DataTypetoDataType()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.
-
-
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
-
-