1/* Copyright (c) 1998,2011,2014 Apple Inc.  All Rights Reserved.
2 *
3 * NOTICE: USE OF THE MATERIALS ACCOMPANYING THIS NOTICE IS SUBJECT
4 * TO THE TERMS OF THE SIGNED "FAST ELLIPTIC ENCRYPTION (FEE) REFERENCE
5 * SOURCE CODE EVALUATION AGREEMENT" BETWEEN APPLE, INC. AND THE
6 * ORIGINAL LICENSEE THAT OBTAINED THESE MATERIALS FROM APPLE,
7 * INC.  ANY USE OF THESE MATERIALS NOT PERMITTED BY SUCH AGREEMENT WILL
8 * EXPOSE YOU TO LIABILITY.
9 ***************************************************************************
10 *
11 * falloc.h - FEE malloc routines
12 *
13 * Revision History
14 * ----------------
15 *  20 Aug 96 at NeXT
16 *	Created.
17 */
18
19#ifndef	_CK_FALLOC_H_
20#define _CK_FALLOC_H_
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/*
27 * Clients can *optionally* register external memory alloc/free functions here.
28 */
29typedef void *(mallocExternFcn)(unsigned size);
30typedef void (freeExternFcn)(void *data);
31typedef void *(reallocExternFcn)(void *oldData, unsigned newSize);
32void fallocRegister(mallocExternFcn *mallocExtern,
33	freeExternFcn *freeExtern,
34	reallocExternFcn *reallocExtern);
35
36
37void *fmalloc(unsigned size);		/* general malloc */
38void *fmallocWithData(const void *origData,
39	unsigned origDataLen);		/* malloc, copy existing data */
40void ffree(void *data);			/* general free */
41void *frealloc(void *oldPtr, unsigned newSize);
42
43#ifdef __cplusplus
44}
45#endif
46
47#endif	/*_CK_FALLOC_H_*/
48