diff options
Diffstat (limited to 'gpr/source/lib/common/public/gpr_allocator.h')
-rwxr-xr-x | gpr/source/lib/common/public/gpr_allocator.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gpr/source/lib/common/public/gpr_allocator.h b/gpr/source/lib/common/public/gpr_allocator.h new file mode 100755 index 0000000..0f002a0 --- /dev/null +++ b/gpr/source/lib/common/public/gpr_allocator.h @@ -0,0 +1,50 @@ +/*! @file gpr_allocator.h + * + * @brief The API for memory allocation and deallocation functions. + * + * @version 1.0.0 + * + * (C) Copyright 2018 GoPro Inc (http://gopro.com/). + * + * Licensed under either: + * - Apache License, Version 2.0, http://www.apache.org/licenses/LICENSE-2.0 + * - MIT license, http://opensource.org/licenses/MIT + * at your option. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GPR_ALLOCATOR_H +#define GPR_ALLOCATOR_H + +#include "gpr_platform.h" + +#ifdef __cplusplus +extern "C" { +#endif + + extern void* gpr_global_malloc(size_t size); + + extern void gpr_global_free(void *block); + + typedef void* (*gpr_malloc)(size_t size); /* Malloc callback function typedef */ + + typedef void (*gpr_free)(void* p); /* Free callback function typedef */ + + typedef struct + { + gpr_malloc Alloc; // Callback function to allocate memory + + gpr_free Free; // Callback function to free memory + + } gpr_allocator; + +#ifdef __cplusplus +} +#endif + +#endif // GPR_ALLOCATOR_H |