Top Inners Fields Constructors Methods
jnr.ffi

public Class StructLayout

extends Type
Class Inheritance
Imports
jnr.ffi.util.EnumMapper, java.lang.reflect.Constructor, java.nio.charset.Charset

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected abstract class
StructLayout.AbstractBoolean

Base class for Boolean fields

protected abstract class
StructLayout.AbstractField

Base implementation of Member

public class
public class
public class
public class
public class
protected class
StructLayout.Boolean

A normal C boolean - 1 byte in size

public class
public class
public class
public class
public class
StructLayout.Enum<T extends Enum<T>>

public class
StructLayout.Enum16<E extends Enum<E>>

public class
StructLayout.Enum32<E extends Enum<E>>

public class
StructLayout.Enum64<E extends Enum<E>>

public class
StructLayout.Enum8<
the java.lang.Enum to translate to/from.
E extends Enum<E>
>

An 8 bit enum field.

protected abstract class
StructLayout.EnumField<
the type of java.lang.Enum
E extends Enum<E>
>

Base for all the Enum fields.

public class
protected abstract class
StructLayout.Field

Interface all Struct members must implement.

public class
public class
public class
protected class
public class
public class
public class
public class
public class
public class
public class
public class
public class
public class
public abstract class
public class
public class
public class
protected abstract class
StructLayout.NumberField

Base class for all Number structure fields.

public class
protected static class
protected class
StructLayout.Padding

Specialized padding fields for structs.

public class
public class
StructLayout.Pointer

Represents a native memory address.

public class
public class
public class
StructLayout.Signed16

A 16 bit signed integer field.

public class
StructLayout.Signed32

A 32 bit signed integer field.

public class
StructLayout.Signed64

A 64 bit signed integer field.

public class
StructLayout.Signed8

An 8 bit signed integer

public class
StructLayout.SignedLong

A native long integer field.

public class
public class
public class
public abstract class
public class
public class
public class
public class
public class
public class
public class
public class
public class
StructLayout.Unsigned16

A 16 bit signed integer field.

public class
StructLayout.Unsigned32

A 32 bit signed integer field.

public class
StructLayout.Unsigned64

A 64 bit unsigned integer field.

public class
StructLayout.Unsigned8

An 8 bit unsigned integer

public class
StructLayout.UnsignedLong

A native long integer field.

public class
public class
public class
public class
protected class
StructLayout.WBOOL

A Windows BOOL - 4 bytes

Field Summary

Modifier and TypeField and Description
pack-priv int
pack-priv static final Charset
pack-priv StructLayout
private final boolean
pack-priv int
pack-priv int
private boolean
private final Runtime
pack-priv int
pack-priv static final Charset

Constructor Summary

AccessConstructor and Description
protected
StructLayout(Runtime
The current runtime.
runtime
)

Creates a new StructLayout.

protected
StructLayout(Runtime runtime, int structSize)

Method Summary

Modifier and TypeMethod and Description
protected final int
addField(int size, int align)

protected final int
addField(int size, int align, StructLayout.Offset offset)

protected final int
protected final int
private static int
align(int offset, int alignment)

public final int
alignment()

Implements abstract jnr.ffi.Type.alignment.

The native alignment of this type, in bytes
protected <
The type of the Member subclass to create.
T extends StructLayout.Field
>
T[]

Returns:

the array that was passed in
array
(T[]
the array to store the instances in
array
)

Creates an array of Member instances.

protected final void
arrayBegin()

Starts an array construction session

protected final void
arrayEnd()

Ends an array construction session

protected final StructLayout.Offset
at(int offset)

protected final <T> StructLayout.Function<T>
function(Class<T> closureClass)

protected final <T> StructLayout.Function<T>
function(Class<T> closureClass, StructLayout.Offset offset)

public NativeType
getNativeType()

Implements abstract jnr.ffi.Type.getNativeType.

The native type of this type
public final Runtime
protected final <T extends StructLayout> T
inner(T structLayout)

public final int
public final int
size()

Implements abstract jnr.ffi.Type.size.

The size in bytes of this type.
public String

Returns:

a String representation of this structure.
toString
()

Overrides java.lang.Object.toString.

Returns a human readable java.lang.String representation of the structure.