Package jnr.ffi
Class Memory
java.lang.Object
jnr.ffi.Memory
A utility for allocating memory that can be passed to native functions.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Pointer
Allocates a new block of java memory and wraps it in aPointer
accessor.static Pointer
allocate
(Runtime runtime, NativeType type) Allocates a new block of java memory and wraps it in aPointer
accessor.static Pointer
Allocates a new block of java memory and wraps it in aPointer
accessor.static Pointer
Allocates a new block of java memory and wraps it in aPointer
accessor.static Pointer
allocateDirect
(Runtime runtime, int size) Allocates a new block of native memory and wraps it in aPointer
accessor.static Pointer
allocateDirect
(Runtime runtime, int size, boolean clear) Allocates a new block of native memory and wraps it in aPointer
accessor.static Pointer
allocateDirect
(Runtime runtime, long size) Allocates a new block of native memory and wraps it in aPointer
accessor.static Pointer
allocateDirect
(Runtime runtime, long size, boolean clear) Allocates a new block of native memory and wraps it in aPointer
accessor.static Pointer
allocateDirect
(Runtime runtime, NativeType type) Allocates a new block of native memory and wraps it in aPointer
accessor.static Pointer
allocateDirect
(Runtime runtime, TypeAlias type) Allocates a new block of native memory and wraps it in aPointer
accessor.static Pointer
allocateTemporary
(Runtime runtime, NativeType type) Allocates a new block of transient native memory and wraps it in aPointer
accessor.static Pointer
allocateTemporary
(Runtime runtime, NativeType type, boolean clear) Allocates a new block of transient native memory and wraps it in aPointer
accessor.static Pointer
allocateTemporary
(Runtime runtime, TypeAlias type) Allocates a new block of transient native memory and wraps it in aPointer
accessor.
-
Constructor Details
-
Memory
private Memory()
-
-
Method Details
-
allocate
Allocates a new block of java memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.size
- The size in bytes of memory to allocate.- Returns:
- a
Pointer
instance that can access the memory.
-
allocate
Allocates a new block of java memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.type
- The native type to allocate memory for.- Returns:
- a
Pointer
instance that can access the memory.
-
allocate
Allocates a new block of java memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.type
- The type to allocate memory for.- Returns:
- a
Pointer
instance that can access the memory.
-
allocate
Allocates a new block of java memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.type
- The type alias to allocate memory for.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateDirect
Allocates a new block of native memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.size
- The size in bytes of memory to allocate.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateDirect
Allocates a new block of native memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.size
- The size in bytes of memory to allocate.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateDirect
Allocates a new block of native memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.type
- The native type to allocate memory for.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateDirect
Allocates a new block of native memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.type
- The type alias to allocate memory for.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateDirect
Allocates a new block of native memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.size
- The size in bytes of memory to allocate.clear
- Whether the memory contents should be cleared, or left as random data.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateDirect
Allocates a new block of native memory and wraps it in aPointer
accessor.- Parameters:
runtime
- The current runtime.size
- The size in bytes of memory to allocate.clear
- Whether the memory contents should be cleared, or left as random data.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateTemporary
Allocates a new block of transient native memory and wraps it in aPointer
accessor. The memory returned by this method should not be passed to native methods that store the address for later use, as it may change each time it is passed to native code.- Parameters:
runtime
- The current runtime.type
- The native type to allocate memory for.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateTemporary
Allocates a new block of transient native memory and wraps it in aPointer
accessor. The memory returned by this method should not be passed to native methods that store the address for later use, as it may change each time it is passed to native code.- Parameters:
runtime
- The current runtime.type
- The type alias to allocate memory for.- Returns:
- a
Pointer
instance that can access the memory.
-
allocateTemporary
Allocates a new block of transient native memory and wraps it in aPointer
accessor. The memory returned by this method should not be passed to native methods that store the address for later use, as it may change each time it is passed to native code.- Parameters:
runtime
- The current runtime.type
- The native type to allocate memory for.clear
- Whether the memory contents should be cleared, or left as random data.- Returns:
- a
Pointer
instance that can access the memory.
-