#include void * memcpy( void * destination, const void * source, size_t count ) { unsigned char * out = ( unsigned char * ) destination; const unsigned char * in = ( const unsigned char * ) source; for( size_t index = 0; index < count; ++index ) { out[ index ] = in[ index ]; } return destination; } void * memset( void * destination, int value, size_t count ) { unsigned char * out = ( unsigned char * ) destination; for( size_t index = 0; index < count; ++index ) { out[ index ] = ( unsigned char ) value; } return destination; } size_t strlen( const char * text ) { size_t length = 0; while( text[ length ] != '\0' ) { ++length; } return length; }