Class AbstractRuntime

java.lang.Object
jnr.ffi.Runtime
jnr.ffi.provider.AbstractRuntime
Direct Known Subclasses:
NativeRuntime

public abstract class AbstractRuntime extends Runtime
  • Field Details

    • types

      private final Type[] types
    • addressMask

      private final long addressMask
    • addressSize

      private final int addressSize
    • longSize

      private final int longSize
    • byteOrder

      private final ByteOrder byteOrder
  • Constructor Details

  • Method Details

    • findType

      public final Type findType(NativeType type)
      Looks up the runtime-specific that corresponds to the pseudo-type
      Specified by:
      findType in class Runtime
      Parameters:
      type - The native pseudo-type.
      Returns:
      A Type instance.
    • getMemoryManager

      public abstract MemoryManager getMemoryManager()
      Gets the native memory manager instance for this runtime
      Specified by:
      getMemoryManager in class Runtime
      Returns:
      a MemoryManager
    • getLastError

      public abstract int getLastError()
      Gets the last native error code.

      This returns the errno value that was set at the time of the last native function call.

      Specified by:
      getLastError in class Runtime
      Returns:
      The errno value.
    • setLastError

      public abstract void setLastError(int error)
      Sets the native error code.
      Specified by:
      setLastError in class Runtime
      Parameters:
      error - The value to set errno to.
    • addressMask

      public final long addressMask()
      Gets the address mask for this runtime
      Specified by:
      addressMask in class Runtime
      Returns:
      The address mask for the runtime.
    • addressSize

      public final int addressSize()
      Gets the size of an address (e.g. a pointer) for this runtime
      Specified by:
      addressSize in class Runtime
      Returns:
      The size of an address in bytes.
    • longSize

      public final int longSize()
      Gets the size of a C long integer for this runtime
      Specified by:
      longSize in class Runtime
      Returns:
      The size of a C long integer in bytes.
    • byteOrder

      public final ByteOrder byteOrder()
      Retrieves this runtime's native byte order.
      Specified by:
      byteOrder in class Runtime
      Returns:
      this runtime's byte order