public interface

IStructureType

implements INativeType
com.pnfsoftware.jeb.core.units.code.asm.type.IStructureType
Known Indirect Subclasses

Class Overview

Type item representing a structure or union-structure (overlapping fields).

Fields manipulation (addition, removal, etc.) can be done via the structure's controlling type manager.

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
Public Methods
abstract int getAlignment()
Retrieve the structure's actual global alignment.
abstract IStructureTypeField getField(int index)
abstract IStructureTypeField getFieldAfter(int offset)
abstract IStructureTypeField getFieldAt(int offset, int bitstart)
abstract IStructureTypeField getFieldAt(int offset)
abstract IStructureTypeField getFieldByName(String name)
abstract IStructureTypeField getFieldOver(int offset)
abstract List<? extends IStructureTypeField> getFields()
Get the list of true (non-synthetic) fields.
abstract int getFieldsCount()
Get the number of fields.
abstract List<? extends IStructureTypeField> getFieldsWithGaps()
Get a complete list of fields as well as gaps in-between fields (synthetic fields).
abstract int getIndexOfField(IStructureTypeField field)
abstract int getPadding()
Retrieve the structure's fields alignment, aka fields padding/packing.
abstract boolean isCircular(INativeType type)
abstract boolean isStructure()
Determine whether this type is really a structure (and not a union).
abstract boolean isUnion()
Determine whether this type is union (instead of a structure).
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
From interface com.pnfsoftware.jeb.core.units.code.ICodeType
From interface com.pnfsoftware.jeb.core.units.code.asm.items.INativeItem
From interface com.pnfsoftware.jeb.core.units.code.asm.items.INativeItemListenable
From interface com.pnfsoftware.jeb.core.units.code.asm.type.INativeType

Public Methods

public abstract int getAlignment ()

Retrieve the structure's actual global alignment. It may be bigger than the alignment set when the structure was created (if any was provided).

public abstract IStructureTypeField getField (int index)

public abstract IStructureTypeField getFieldAfter (int offset)

public abstract IStructureTypeField getFieldAt (int offset, int bitstart)

public abstract IStructureTypeField getFieldAt (int offset)

public abstract IStructureTypeField getFieldByName (String name)

public abstract IStructureTypeField getFieldOver (int offset)

public abstract List<? extends IStructureTypeField> getFields ()

Get the list of true (non-synthetic) fields.

public abstract int getFieldsCount ()

Get the number of fields.

public abstract List<? extends IStructureTypeField> getFieldsWithGaps ()

Get a complete list of fields as well as gaps in-between fields (synthetic fields).

public abstract int getIndexOfField (IStructureTypeField field)

public abstract int getPadding ()

Retrieve the structure's fields alignment, aka fields padding/packing.

public abstract boolean isCircular (INativeType type)

public abstract boolean isStructure ()

Determine whether this type is really a structure (and not a union).

public abstract boolean isUnion ()

Determine whether this type is union (instead of a structure).