table of contents
VDM_MEMMOVE(3) | MINIASYNC Programmer's Manual | VDM_MEMMOVE(3) |
NAME¶
vdm_memmove() - create a new memmove virtual data mover operation structure
SYNOPSIS¶
-
#include <libminiasync.h> struct vdm_operation_output_memmove {
void *dest; }; FUTURE(vdm_operation_future,
struct vdm_operation_data, struct vdm_operation_output); struct vdm_operation_future vdm_memmove(struct vdm *vdm, void *dest, void *src,
size_t n, uint64_t flags);
For general description of virtual data mover API, see miniasync_vdm(7).
DESCRIPTION¶
vdm_memmove() initializes and returns a new memmove future based on the virtual data mover implementation instance vdm. The parameters: dest, src, n are standard memmove parameters. The flags represents data mover specific flags. For example, miniasync_vdm_dml(7) flag VDM_F_MEM_DURABLE specifies that the write destination is identified as a write to durable memory. This flag is meant to be used only with the miniasync_vdm_dml(7) data mover implementation, providing it to any other data mover will result in undefined behavior.
Memmove future obtained using vdm_memmove() will attempt to move n bytes from memory area src to memory area dest when its polled.
RETURN VALUE¶
The vdm_memmove() function returns an initialized struct vdm_operation_future memmove future.
SEE ALSO¶
vdm_flush(3), vdm_memcpy(3), vdm_memset(3), miniasync(7), miniasync_vdm(7), miniasync_vdm_dml(7) and <https://pmem.io>
2022-09-04 | MINIASYNC - miniasync version 0.2.1 |