/*====================================================================* * * void memswap (void * memory1, void * memory2, size_t extent); * * memory.h * * exchange the contents of one memory region with that of another; * return no value; * * one application for this function is to exchange the source and * destination addresses in an Ethernet frame to form a response * message; * * Motley Tools by Charles Maier <cmaier@cmassoc.net>; * Copyright (c) 2001-2006 by Charles Maier Associates; * Licensed under the Internet Software Consortium License; * *--------------------------------------------------------------------*/ #ifndef MEMSWAP_SOURCE #define MEMSWAP_SOURCE #include "../tools/memory.h" void memswap (void * memory1, void * memory2, size_t extent) { register byte * byte1 = (byte *)(memory1); register byte * byte2 = (byte *)(memory2); if (memory1 != memory2) while (extent--) { byte byte = *byte1; *byte1++ = *byte2; *byte2++ = byte; } return; } #endif