Modifier and Type | Class and Description |
---|---|
protected class |
Struct.AbstractBoolean
Base class for Boolean fields
|
protected class |
Struct.AbstractMember
Base implementation of Member
|
class |
Struct.Address
Represents a native memory address.
|
static class |
Struct.Alignment |
class |
Struct.AsciiString |
class |
Struct.AsciiStringRef |
class |
Struct.blkcnt_t |
class |
Struct.blksize_t |
class |
Struct.BOOL16 |
class |
Struct.Boolean
A normal C boolean - 1 byte in size
|
class |
Struct.BYTE |
class |
Struct.caddr_t |
class |
Struct.cc_t |
class |
Struct.clock_t |
class |
Struct.dev_t |
class |
Struct.Double |
class |
Struct.DWORD |
class |
Struct.Enum<T extends Enum<T>> |
class |
Struct.Enum16<E extends Enum<E>> |
class |
Struct.Enum32<E extends Enum<E>> |
class |
Struct.Enum64<E extends Enum<E>> |
class |
Struct.Enum8<E extends Enum<E>>
An 8 bit enum field.
|
protected class |
Struct.EnumField<E>
Base for all the Enum fields.
|
class |
Struct.EnumLong<E extends Enum<E>> |
class |
Struct.Float |
class |
Struct.fsblkcnt_t |
class |
Struct.fsfilcnt_t |
class |
Struct.Function<T> |
class |
Struct.gid_t |
class |
Struct.id_t |
class |
Struct.in_addr_t |
class |
Struct.in_port_t |
class |
Struct.ino_t |
class |
Struct.ino64_t |
class |
Struct.int16_t |
class |
Struct.int32_t |
class |
Struct.int64_t |
class |
Struct.int8_t |
class |
Struct.IntegerAlias |
class |
Struct.intptr_t |
class |
Struct.key_t |
class |
Struct.LONG |
protected class |
Struct.Member
Interface all Struct members must implement.
|
class |
Struct.mode_t |
class |
Struct.nlink_t |
class |
Struct.NumberField
Base class for all Number structure fields.
|
class |
Struct.off_t |
static class |
Struct.Offset |
protected class |
Struct.Padding
Specialized padding fields for structs.
|
class |
Struct.pid_t |
class |
Struct.Pointer
Represents a native memory address.
|
class |
Struct.PointerField |
class |
Struct.rlim_t |
class |
Struct.sa_family_t |
class |
Struct.Signed16
A 16 bit signed integer field.
|
class |
Struct.Signed32
A 32 bit signed integer field.
|
class |
Struct.Signed64
A 64 bit signed integer field.
|
class |
Struct.Signed8
An 8 bit signed integer
|
class |
Struct.SignedLong
A native long integer field.
|
class |
Struct.size_t |
class |
Struct.socklen_t |
class |
Struct.speed_t |
class |
Struct.ssize_t |
class |
Struct.String |
class |
Struct.StructRef<T extends Struct>
Represents a reference to a Struct or and array of Structs
|
class |
Struct.swblk_t |
class |
Struct.tcflag_t |
class |
Struct.time_t |
class |
Struct.u_int16_t |
class |
Struct.u_int32_t |
class |
Struct.u_int64_t |
class |
Struct.u_int8_t |
class |
Struct.uid_t |
class |
Struct.uintptr_t |
class |
Struct.Unsigned16
A 16 bit signed integer field.
|
class |
Struct.Unsigned32
A 32 bit signed integer field.
|
class |
Struct.Unsigned64
A 64 bit unsigned integer field.
|
class |
Struct.Unsigned8
An 8 bit unsigned integer
|
class |
Struct.UnsignedLong
A native long integer field.
|
class |
Struct.UTF8String |
class |
Struct.UTF8StringRef |
class |
Struct.UTFString |
class |
Struct.UTFStringRef |
class |
Struct.WBOOL
A Windows BOOL - 4 bytes
|
class |
Struct.WORD |
Modifier | Constructor and Description |
---|---|
protected |
Struct(Runtime runtime)
Creates a new
Struct . |
protected |
Struct(Runtime runtime,
boolean isUnion)
Creates a new
Struct . |
protected |
Struct(Runtime runtime,
Struct.Alignment alignment) |
protected |
Struct(Runtime runtime,
Struct enclosing) |
Modifier and Type | Method and Description |
---|---|
static int |
alignment(Struct struct) |
protected Struct.Address[] |
array(Struct.Address[] array)
Creates an array of
Address instances. |
protected Struct.Double[] |
array(Struct.Double[] array)
Creates an array of
Double instances. |
protected <T extends Enum<T>> |
array(Struct.Enum<T>[] array,
Class<T> enumClass)
Creates an array of
Enum instances. |
protected <T extends Enum<T>> |
array(Struct.Enum16<T>[] array,
Class<T> enumClass)
Creates an array of
Enum16 instances. |
protected <T extends Enum<T>> |
array(Struct.Enum32<T>[] array,
Class<T> enumClass)
Creates an array of
Enum32 instances. |
protected <T extends Enum<T>> |
array(Struct.Enum64<T>[] array,
Class<T> enumClass)
Creates an array of
Enum64 instances. |
protected <T extends Enum<T>> |
array(Struct.Enum8<T>[] array,
Class<T> enumClass)
Creates an array of
Enum8 instances. |
protected Struct.Float[] |
array(Struct.Float[] array)
Creates an array of
Float instances. |
protected Struct.Pointer[] |
array(Struct.Pointer[] array)
Creates an array of
Pointer instances. |
protected Struct.Signed16[] |
array(Struct.Signed16[] array)
Creates an array of
Signed16 instances. |
protected Struct.Signed32[] |
array(Struct.Signed32[] array)
Creates an array of
Signed32 instances. |
protected Struct.Signed64[] |
array(Struct.Signed64[] array)
Creates an array of
Signed64 instances. |
protected Struct.Signed8[] |
array(Struct.Signed8[] array)
Creates an array of
Signed8 instances. |
protected Struct.SignedLong[] |
array(Struct.SignedLong[] array)
Creates an array of
SignedLong instances. |
protected Struct.Unsigned16[] |
array(Struct.Unsigned16[] array)
Creates an array of
Unsigned16 instances. |
protected Struct.Unsigned32[] |
array(Struct.Unsigned32[] array)
Creates an array of
Unsigned32 instances. |
protected Struct.Unsigned64[] |
array(Struct.Unsigned64[] array)
Creates an array of
Unsigned64 instances. |
protected Struct.Unsigned8[] |
array(Struct.Unsigned8[] array)
Creates an array of
Unsigned8 instances. |
protected Struct.UnsignedLong[] |
array(Struct.UnsignedLong[] array)
Creates an array of
UnsignedLong instances. |
protected Struct.UTF8String[] |
array(Struct.UTF8String[] array,
int stringLength)
Creates an array of
UTF8String instances. |
protected <T extends Struct.Member> |
array(T[] array)
Creates an array of
Member instances. |
protected <T extends Struct> |
array(T[] array)
Creates an array of
Struct instances. |
protected void |
arrayBegin()
Starts an array construction session
|
protected void |
arrayEnd()
Ends an array construction session
|
static <T extends Struct> |
arrayOf(Runtime runtime,
Class<T> type,
int length) |
protected <T> Struct.Function<T> |
function(Class<T> closureClass) |
static Pointer |
getMemory(Struct struct) |
static Pointer |
getMemory(Struct struct,
int flags) |
Runtime |
getRuntime() |
protected <T extends Struct> |
inner(Class<T> structClass)
Creates inner Structs in Struct definitions.
|
protected <T extends Struct> |
inner(T struct)
Creates inner Structs in Struct definitions.
|
static boolean |
isDirect(Struct struct) |
static <T extends Struct> |
size(Class<T> structClass)
Gets the size of a Struct type in bytes
|
static <T extends Struct> |
size(Class<T> structClass,
Runtime runtime)
Gets the size of a Struct type in bytes
|
static int |
size(Struct struct)
Gets the size of a Struct instance in bytes
|
String |
toString()
Returns a human readable
String representation of the structure. |
void |
useMemory(Pointer address)
Uses the specified memory address as the backing store for this structure.
|
protected Struct(Runtime runtime)
Struct
.runtime
- The current runtime.protected Struct(Runtime runtime, Struct.Alignment alignment)
protected Struct(Runtime runtime, boolean isUnion)
Struct
.runtime
- the current jnr-ffi runtimeisUnion
- if this Struct is a Unionpublic final Runtime getRuntime()
public final void useMemory(Pointer address)
address
- the native memory area.public static int size(Struct struct)
struct
- the Struct instancepublic static <T extends Struct> int size(Class<T> structClass, Runtime runtime)
public static <T extends Struct> int size(Class<T> structClass)
T
- the Struct typestructClass
- the Class
of the Structpublic static int alignment(Struct struct)
public static boolean isDirect(Struct struct)
protected final void arrayBegin()
protected final void arrayEnd()
protected <T extends Struct.Member> T[] array(T[] array)
Member
instances.T
- The type of the Member
subclass to create.array
- the array to store the instances inprotected <T extends Enum<T>> Struct.Enum8<T>[] array(Struct.Enum8<T>[] array, Class<T> enumClass)
Enum8
instances.T
- The type of the java.lang.Enum
array
- the array to store the instances inenumClass
- class of java.lang.Enum
, these Enum8
instances will representprotected <T extends Enum<T>> Struct.Enum16<T>[] array(Struct.Enum16<T>[] array, Class<T> enumClass)
Enum16
instances.T
- The type of the java.lang.Enum
array
- the array to store the instances inenumClass
- class of java.lang.Enum
, these Enum16
instances will representprotected <T extends Enum<T>> Struct.Enum32<T>[] array(Struct.Enum32<T>[] array, Class<T> enumClass)
Enum32
instances.T
- The type of the java.lang.Enum
array
- the array to store the instances inenumClass
- class of java.lang.Enum
, these Enum32
instances will representprotected <T extends Enum<T>> Struct.Enum64<T>[] array(Struct.Enum64<T>[] array, Class<T> enumClass)
Enum64
instances.T
- The type of the java.lang.Enum
array
- the array to store the instances inenumClass
- class of java.lang.Enum
, these Enum64
instances will representprotected <T extends Enum<T>> Struct.Enum<T>[] array(Struct.Enum<T>[] array, Class<T> enumClass)
Enum
instances.T
- The type of the java.lang.Enum
array
- the array to store the instances inenumClass
- class of java.lang.Enum
, these Enum
instances will representprotected <T extends Struct> T[] array(T[] array)
Struct
instances.T
- the type of Structarray
- the array to store the instances inprotected final Struct.Signed8[] array(Struct.Signed8[] array)
Signed8
instances.array
- the array to store the instances inprotected final Struct.Unsigned8[] array(Struct.Unsigned8[] array)
Unsigned8
instances.array
- the array to store the instances inprotected final Struct.Signed16[] array(Struct.Signed16[] array)
Signed16
instances.array
- the array to store the instances inprotected final Struct.Unsigned16[] array(Struct.Unsigned16[] array)
Unsigned16
instances.array
- the array to store the instances inprotected final Struct.Signed32[] array(Struct.Signed32[] array)
Signed32
instances.array
- the array to store the instances inprotected final Struct.Unsigned32[] array(Struct.Unsigned32[] array)
Unsigned32
instances.array
- the array to store the instances inprotected final Struct.Signed64[] array(Struct.Signed64[] array)
Signed64
instances.array
- the array to store the instances inprotected final Struct.Unsigned64[] array(Struct.Unsigned64[] array)
Unsigned64
instances.array
- the array to store the instances inprotected final Struct.SignedLong[] array(Struct.SignedLong[] array)
SignedLong
instances.array
- the array to store the instances inprotected final Struct.UnsignedLong[] array(Struct.UnsignedLong[] array)
UnsignedLong
instances.array
- the array to store the instances inprotected final Struct.Float[] array(Struct.Float[] array)
Float
instances.array
- the array to store the instances inprotected final Struct.Double[] array(Struct.Double[] array)
Double
instances.array
- the array to store the instances inprotected final Struct.Address[] array(Struct.Address[] array)
Address
instances.array
- the array to store the instances inprotected final Struct.Pointer[] array(Struct.Pointer[] array)
Pointer
instances.array
- the array to store the instances inprotected Struct.UTF8String[] array(Struct.UTF8String[] array, int stringLength)
UTF8String
instances.array
- the array to store the instances instringLength
- length of each string in arrayprotected final <T extends Struct> T inner(T struct)
public class InnerStruct extends Struct {
public final Signed32 innerInt32 = new Signed32();
public final Double innerDouble = new Double();
public InnerStruct(Runtime runtime) {super(runtime);}
}
public class MyStruct extends Struct {
public final Signed32 myInt32 = new Signed32();
public final InnerStruct myInnerStruct = inner(new InnerStruct());
public MyStruct(Runtime runtime) {super(runtime);}
}
T
- the type of the inner Structstruct
- an instance of the inner StructT
protected final <T extends Struct> T inner(Class<T> structClass)
public class InnerStruct extends Struct {
public final Signed32 innerInt32 = new Signed32();
public final Double innerDouble = new Double();
public InnerStruct(Runtime runtime) {super(runtime);}
}
public class MyStruct extends Struct {
public final Signed32 myInt32 = new Signed32();
public final InnerStruct myInnerStruct = inner(InnerStruct.class);
public MyStruct(Runtime runtime) {super(runtime);}
}
T
- the type of the inner StructstructClass
- the Class
of the inner StructT
protected final <T> Struct.Function<T> function(Class<T> closureClass)
Copyright © 2024. All rights reserved.