Interface RPMemoryUnmapCallbackI

  • All Superinterfaces:
    CallbackI, CallbackI.V, Pointer
    All Known Implementing Classes:
    RPMemoryUnmapCallback
    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 RPMemoryUnmapCallbackI
    extends CallbackI.V
    Instances of this interface may be set to the RPMallocConfig struct.

    Type

    
     void (*) (
         void *address,
         size_t size,
         size_t offset,
         int release
     )
    • Method Detail

      • getSignature

        default java.lang.String getSignature()
        Description copied from interface: CallbackI
        Returns the dyncall signature for this callback function. [INTERNAL API]
        Specified by:
        getSignature in interface CallbackI
        Returns:
        the dyncall signature
      • callback

        default void callback​(long args)
        Description copied from interface: CallbackI.V
        Will be called by native code.
        Specified by:
        callback in interface CallbackI.V
        Parameters:
        args - pointer to a DCArgs iterator
      • invoke

        void invoke​(long address,
                    long size,
                    long offset,
                    boolean release)
        Unmap the memory pages starting at address and spanning the given number of bytes.

        If release is set to non-zero, the unmap is for an entire span range as returned by a previous call to memory_map and that the entire range should be released. The release argument holds the size of the entire span range. If release is set to 0, the unmap is a partial decommit of a subset of the mapped memory range.

        If you set a memory_unmap function, you must also set a memory_map function or else the default implementation will be used for both.

        Parameters:
        address - the address to unmap
        size - the size of the mapped pages, in bytes
        offset - the alignment offset
        release - the release flag