memswap man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

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

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(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net