Interface ExtentAllocI
-
- All Superinterfaces:
org.lwjgl.system.CallbackI
,org.lwjgl.system.CallbackI.P
,org.lwjgl.system.Pointer
- All Known Implementing Classes:
ExtentAlloc
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface ExtentAllocI extends org.lwjgl.system.CallbackI.P
Instances of this interface may be set to theExtentHooks
struct.Type
void * (*) ( extent_hooks_t *extent_hooks, void *new_addr, size_t size, size_t alignment, bool *zero, bool *commit, unsigned int arena_ind )
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.lwjgl.system.CallbackI
org.lwjgl.system.CallbackI.B, org.lwjgl.system.CallbackI.D, org.lwjgl.system.CallbackI.F, org.lwjgl.system.CallbackI.I, org.lwjgl.system.CallbackI.J, org.lwjgl.system.CallbackI.N, org.lwjgl.system.CallbackI.P, org.lwjgl.system.CallbackI.S, org.lwjgl.system.CallbackI.V, org.lwjgl.system.CallbackI.Z
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SIGNATURE
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default long
callback(long args)
default java.lang.String
getSignature()
long
invoke(long extent_hooks, long new_addr, long size, long alignment, long zero, long commit, int arena_ind)
Extent allocation hook.
-
-
-
Field Detail
-
SIGNATURE
static final java.lang.String SIGNATURE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSignature
default java.lang.String getSignature()
- Specified by:
getSignature
in interfaceorg.lwjgl.system.CallbackI
-
callback
default long callback(long args)
- Specified by:
callback
in interfaceorg.lwjgl.system.CallbackI.P
-
invoke
long invoke(long extent_hooks, long new_addr, long size, long alignment, long zero, long commit, int arena_ind)
Extent allocation hook.An extent allocation function conforms to the
extent_alloc_t
type and upon success returns a pointer tosize
bytes of mapped memory on behalf of arenaarena_ind
such that the extent's base address is a multiple ofalignment
, as well as setting*zero
to indicate whether the extent is zeroed and*commit
to indicate whether the extent is committed. Upon error the function returnsNULL
and leaves*zero
and*commit
unmodified. Thesize
parameter is always a multiple of the page size. Thealignment
parameter is always a power of two at least as large as the page size. Zeroing is mandatory if*zero
is true upon function entry. Committing is mandatory if*commit
is true upon function entry. Ifnew_addr
is notNULL
, the returned pointer must benew_addr
on success orNULL
on error. Committed memory may be committed in absolute terms as on a system that does not overcommit, or in implicit terms as on a system that overcommits and satisfies physical memory needs on demand via soft page faults. Note that replacing the default extent allocation function makes the arena'sarena.i.dss
setting irrelevant.
-
-