public interface

IStructureTypeField

com.pnfsoftware.jeb.core.units.code.asm.type.IStructureTypeField

Class Overview

Item representing the field of a structure type.

Summary

Constants
int FLAG_ANONYMOUS This flag indicates that the field is anonymous (it does not have a meaningful name).
int FLAG_HINT_RVA This hint indicates that the field's value may be an offset relative to a memory base.
Public Methods
abstract int getAlignment()
Get the alignment requirement for this field.
abstract int getBitend()
Reserved for bit fields.
abstract int getBitsize()
Reserved for bit fields.
abstract int getBitstart()
Reserved for bit fields.
abstract int getEndOffset()
Convenience method returning the end offset (exclusive) of the field.
abstract int getFlags()
Retrieve the field flags.
abstract String getName(boolean includeBitfield)
Get the field name.
abstract String getName()
Get the field name.
abstract int getOffset()
Get the field offset within the structure.
abstract int getSize()
Get the field effective size (not counting padding, ie following gap bytes) in bytes.
abstract INativeType getType()
Get the field type.
abstract boolean isAnonymous()
abstract boolean isBitfield()
Determine if this field is a bit field.
abstract boolean isSynthetic()
A synthetic field is an artificial field that represents a gap item, ie the unused space between two real structure field.

Constants

public static final int FLAG_ANONYMOUS

This flag indicates that the field is anonymous (it does not have a meaningful name).

Constant Value: 2097152 (0x00200000)

public static final int FLAG_HINT_RVA

This hint indicates that the field's value may be an offset relative to a memory base.

Constant Value: 1 (0x00000001)

Public Methods

public abstract int getAlignment ()

Get the alignment requirement for this field.

Returns
  • 0 if none, else a byte value specifying the alignment requirement for this field

public abstract int getBitend ()

Reserved for bit fields.

public abstract int getBitsize ()

Reserved for bit fields.

public abstract int getBitstart ()

Reserved for bit fields.

public abstract int getEndOffset ()

Convenience method returning the end offset (exclusive) of the field. The value returned is getOffset() + getSize(). If padding follows the field, the returned offset points to the first padding byte.

public abstract int getFlags ()

Retrieve the field flags.

Returns
  • a bitfield of FLAG_xxx constants

public abstract String getName (boolean includeBitfield)

Get the field name.

Returns
  • the name, never null

public abstract String getName ()

Get the field name.

Returns
  • the name, never null

public abstract int getOffset ()

Get the field offset within the structure. Note that is this is a union-field, the value returned will always be zero.

public abstract int getSize ()

Get the field effective size (not counting padding, ie following gap bytes) in bytes. If the field is a bitfield, the full field size is returned. Eg, "int a:1" could return 4.

public abstract INativeType getType ()

Get the field type. A synthetic field has not type.

Returns
  • the type, or null for a synthetic field

public abstract boolean isAnonymous ()

public abstract boolean isBitfield ()

Determine if this field is a bit field.

public abstract boolean isSynthetic ()

A synthetic field is an artificial field that represents a gap item, ie the unused space between two real structure field.