jnr.ffi
Class Struct

java.lang.Object
  extended by jnr.ffi.Struct
Direct Known Subclasses:
Union

public abstract class Struct
extends Object

Representation of C structures in java. Note: This class is not threadsafe.


Nested Class Summary
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.
 class Struct.AsciiString
           
 class Struct.AsciiStringRef
           
 class Struct.blkcnt_t
           
 class Struct.blksize_t
           
 class Struct.Boolean
          A normal C boolean - 1 byte in size
 class Struct.caddr_t
           
 class Struct.clock_t
           
 class Struct.dev_t
           
 class Struct.Double
           
 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
           
protected  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
           
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.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.ssize_t
           
 class Struct.String
           
 class Struct.swblk_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
 
Constructor Summary
protected Struct(Runtime runtime)
          Creates a new Struct.
 
Method Summary
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  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
<T extends Struct.Member>
T[]
array(T[] array)
          Creates an array of Member instances.
protected  void arrayBegin()
          Starts an array construction session
protected  void arrayEnd()
          Ends an array construction session
static
<T extends Struct>
T[]
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>
T
inner(T struct)
           
static boolean isDirect(Struct struct)
           
static int size(Struct struct)
           
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Struct

protected Struct(Runtime runtime)
Creates a new Struct.

Method Detail

getRuntime

public final Runtime getRuntime()

useMemory

public final void useMemory(Pointer address)
Uses the specified memory address as the backing store for this structure.

Parameters:
address - the native memory area.

getMemory

public static Pointer getMemory(Struct struct)

getMemory

public static Pointer getMemory(Struct struct,
                                int flags)

size

public static int size(Struct struct)

alignment

public static int alignment(Struct struct)

isDirect

public static boolean isDirect(Struct struct)

arrayOf

public static <T extends Struct> T[] arrayOf(Runtime runtime,
                                             Class<T> type,
                                             int length)

toString

public String toString()
Returns a human readable String representation of the structure.

Overrides:
toString in class Object
Returns:
a String representation of this structure.

arrayBegin

protected final void arrayBegin()
Starts an array construction session


arrayEnd

protected final void arrayEnd()
Ends an array construction session


array

protected <T extends Struct.Member> T[] array(T[] array)
Creates an array of Member instances.

Type Parameters:
T - The type of the Member subclass to create.
Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Signed8[] array(Struct.Signed8[] array)
Creates an array of Signed8 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Unsigned8[] array(Struct.Unsigned8[] array)
Creates an array of Unsigned8 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Signed16[] array(Struct.Signed16[] array)
Creates an array of Signed16 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Unsigned16[] array(Struct.Unsigned16[] array)
Creates an array of Unsigned16 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Signed32[] array(Struct.Signed32[] array)
Creates an array of Signed32 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Unsigned32[] array(Struct.Unsigned32[] array)
Creates an array of Unsigned32 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Signed64[] array(Struct.Signed64[] array)
Creates an array of Signed64 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Unsigned64[] array(Struct.Unsigned64[] array)
Creates an array of Unsigned64 instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.SignedLong[] array(Struct.SignedLong[] array)
Creates an array of SignedLong instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.UnsignedLong[] array(Struct.UnsignedLong[] array)
Creates an array of UnsignedLong instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Float[] array(Struct.Float[] array)
Creates an array of Float instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Double[] array(Struct.Double[] array)
Creates an array of Double instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Address[] array(Struct.Address[] array)
Creates an array of Address instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

array

protected final Struct.Pointer[] array(Struct.Pointer[] array)
Creates an array of Pointer instances.

Parameters:
array - the array to store the instances in
Returns:
the array that was passed in

inner

protected final <T extends Struct> T inner(T struct)

function

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


Copyright © 2013. All Rights Reserved.