debian man page for memswap

Query: memswap

OS: debian

Section: 3pub

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

MEMSWAP(3pub)						       C Programmer's Manual						     MEMSWAP(3pub)

NAME
memswap - swap the contents of two memory blocks
SYNOPSIS
#include <publib.h> void memswap(void *block1, void *block2, size_t n);
DESCRIPTION
memswap will swap the contents of the two blocks pointed by its first two arguments. The last argument gives the size of the memory blocks.
EXAMPLE
To swap two structs, one might do the following. struct tm tm1, tm2; memswap(&tm1, &tm2, sizeof(struct tm));
BUGS
Using memswap to swap small portions of memory is inefficient. It is not worth it to use it to swap variables of any of the basic types, for instance. Use inline code for such cases. However, for large portions of memory, e.g., arrays, it is convenient. memswap can't swap variables whose address can't be taken. This excludes variables with the register specifier and bitfields in structs. But then, there is no way to write a function (or macro) that can handle any kind of arguments. Life is hard.
SEE ALSO
publib(3)
AUTHOR
Lars Wirzenius (lars.wirzenius@helsinki.fi) Publib C Programmer's Manual MEMSWAP(3pub)
Related Man Pages
xfree(3pub) - debian
strltrim(3pub) - debian
xmalloc(3pub) - debian
xfree(3pub) - mojave
xmalloc(3pub) - mojave
Similar Topics in the Unix Linux Community
Hobbit Question
Memory Usage Monitor on Linux/SunOS Servers