3 * Copyright (C) 2006-2012 Sawtooth Consulting Ltd.
5 * This file is part of CyaSSL.
7 * CyaSSL is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * CyaSSL is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
26 /* submitted by eof */
29 #include <cyassl/ctaocrypt/settings.h>
31 #ifdef USE_CYASSL_MEMORY
33 #include <cyassl/ctaocrypt/memory.h>
34 #include <cyassl/ctaocrypt/error.h>
37 /* Set these to default values initially. */
38 static CyaSSL_Malloc_cb malloc_function = 0;
39 static CyaSSL_Free_cb free_function = 0;
40 static CyaSSL_Realloc_cb realloc_function = 0;
42 int CyaSSL_SetAllocators(CyaSSL_Malloc_cb mf,
59 realloc_function = rf;
67 void* CyaSSL_Malloc(size_t size)
72 res = malloc_function(size);
79 void CyaSSL_Free(void *ptr)
87 void* CyaSSL_Realloc(void *ptr, size_t size)
92 res = realloc_function(ptr, size);
94 res = realloc(ptr, size);
99 #endif /* USE_CYASSL_MEMORY */