Package jnr.ffi
Class StructLayout
java.lang.Object
jnr.ffi.Type
jnr.ffi.StructLayout
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classBase class for Boolean fieldsprotected classBase implementation of Memberclassclassfinal classfinal classfinal classprotected final classA normal C boolean - 1 byte in sizefinal classfinal classfinal classfinal classclassStructLayout.Enum<T extends Enum<T>>classStructLayout.Enum16<E extends Enum<E>>classStructLayout.Enum32<E extends Enum<E>>classStructLayout.Enum64<E extends Enum<E>>classStructLayout.Enum8<E extends Enum<E>>An 8 bit enum field.protected classStructLayout.EnumField<E extends Enum<E>>Base for all the Enum fields.classStructLayout.EnumLong<E extends Enum<E>>protected classInterface all Struct members must implement.classfinal classfinal classprotected final classfinal classfinal classfinal classfinal classfinal classfinal classfinal classfinal classfinal classfinal classclassfinal classfinal classfinal classfinal classprotected classBase class for all Number structure fields.final classprotected static final classprotected final classSpecialized padding fields for structs.final classclassRepresents a native memory address.final classfinal classclassA 16 bit signed integer field.classA 32 bit signed integer field.classA 64 bit signed integer field.classAn 8 bit signed integerclassA native long integer field.final classfinal classfinal classclassfinal classfinal classfinal classfinal classfinal classfinal classfinal classfinal classclassA 16 bit signed integer field.classA 32 bit signed integer field.classA 64 bit unsigned integer field.classAn 8 bit unsigned integerclassA native long integer field.classclassclassclassprotected final classA Windows BOOL - 4 bytes -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStructLayout(Runtime runtime) Creates a newStructLayout.protectedStructLayout(Runtime runtime, int structSize) -
Method Summary
Modifier and TypeMethodDescriptionprotected final intaddField(int size, int align) protected final intaddField(int size, int align, StructLayout.Offset offset) protected final intprotected final intaddField(Type t, StructLayout.Offset offset) final intThe native alignment of this type, in bytesprotected <T extends StructLayout.Field>
T[]array(T[] array) Creates an array ofMemberinstances.protected final voidStarts an array construction sessionprotected final voidarrayEnd()Ends an array construction sessionprotected final StructLayout.Offsetat(int offset) protected final <T> StructLayout.Function<T>protected final <T> StructLayout.Function<T>function(Class<T> closureClass, StructLayout.Offset offset) The native type of this typefinal Runtimeprotected final <T extends StructLayout>
Tinner(T structLayout) final intoffset()final intsize()The size in bytes of this type.toString()Returns a human readableStringrepresentation of the structure.
-
Constructor Details
-
StructLayout
Creates a newStructLayout.- Parameters:
runtime- The current runtime.
-
StructLayout
-
-
Method Details
-
getRuntime
-
size
public final int size()Description copied from class:TypeThe size in bytes of this type. -
alignment
public final int alignment()Description copied from class:TypeThe native alignment of this type, in bytes -
offset
public final int offset() -
getNativeType
Description copied from class:TypeThe native type of this type- Specified by:
getNativeTypein classType- Returns:
- the native type of this type
-
toString
Returns a human readableStringrepresentation of the structure. -
addField
protected final int addField(int size, int align) -
addField
-
addField
-
addField
-
at
-
arrayBegin
protected final void arrayBegin()Starts an array construction session -
arrayEnd
protected final void arrayEnd()Ends an array construction session -
array
Creates an array ofMemberinstances.- Type Parameters:
T- The type of theMembersubclass to create.- Parameters:
array- the array to store the instances in- Returns:
- the array that was passed in
-
inner
-
function
-
function
protected final <T> StructLayout.Function<T> function(Class<T> closureClass, StructLayout.Offset offset)
-