Interface ExtentAllocI
-
- All Superinterfaces:
org.lwjgl.system.CallbackI,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.CallbackIInstances of this interface may be set to theExtentHooksstruct.Type
void * (*invoke(long, long, long, long, long, long, int)) ( extent_hooks_t *extent_hooks, void *new_addr, size_t size, size_t alignment, bool *zero, bool *commit, unsigned int arena_ind )
-
-
Field Summary
Fields Modifier and Type Field Description static org.lwjgl.system.libffi.FFICIFCIF
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidcallback(long ret, long args)default org.lwjgl.system.libffi.FFICIFgetCallInterface()longinvoke(long extent_hooks, long new_addr, long size, long alignment, long zero, long commit, int arena_ind)Extent allocation hook.
-
-
-
Method Detail
-
getCallInterface
default org.lwjgl.system.libffi.FFICIF getCallInterface()
- Specified by:
getCallInterfacein interfaceorg.lwjgl.system.CallbackI
-
callback
default void callback(long ret, long args)- Specified by:
callbackin interfaceorg.lwjgl.system.CallbackI
-
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_ttype and upon success returns a pointer tosizebytes of mapped memory on behalf of arenaarena_indsuch that the extent's base address is a multiple ofalignment, as well as setting*zeroto indicate whether the extent is zeroed and*committo indicate whether the extent is committed. Upon error the function returnsNULLand leaves*zeroand*commitunmodified. Thesizeparameter is always a multiple of the page size. Thealignmentparameter is always a power of two at least as large as the page size. Zeroing is mandatory if*zerois true upon function entry. Committing is mandatory if*commitis true upon function entry. Ifnew_addris notNULL, the returned pointer must benew_addron success orNULLon 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.dsssetting irrelevant.
-
-