NAME
memmove, memmove_data – copy bytes in memory
SYNOPSIS
#include <sys/systm.h>
void *
memmove(void *dst, const void *src, size_t len);
void *
memmove_data(void *dst, const void *src, size_t len);
DESCRIPTION
The memmove() function copies len bytes from object src to object dst. The two objects may overlap; the copy is always done in a non-destructive manner and preserves the provenance of pointers in the copied object (see memory_model(7) for further information). The memmove_data() function does the same except that it does not preserve the provenance of pointers in the copied object. On CHERI targets, the validity tag of any copied capability is explicitly cleared.
RETURN VALUES
The memmove() and memmove_data() functions return the original value of dst.
SEE ALSO
STANDARDS
The memmove() function conforms to ISO/IEC 9899:1990 (“ISO C90”).
HISTORY
The memmove_data() function first appeared in FreeBSD 16.0.