]> git.proxmox.com Git - libtpms.git/blob - include/libtpms/tpm_memory.h
Move common debug, memory & nvfile units to src/
[libtpms.git] / include / libtpms / tpm_memory.h
1 /********************************************************************************/
2 /* */
3 /* TPM Memory Allocation */
4 /* Written by Ken Goldman */
5 /* IBM Thomas J. Watson Research Center */
6 /* $Id: tpm_memory.h 4609 2011-08-26 19:27:38Z kgoldman $ */
7 /* */
8 /* (c) Copyright IBM Corporation 2006, 2010. */
9 /* */
10 /* All rights reserved. */
11 /* */
12 /* Redistribution and use in source and binary forms, with or without */
13 /* modification, are permitted provided that the following conditions are */
14 /* met: */
15 /* */
16 /* Redistributions of source code must retain the above copyright notice, */
17 /* this list of conditions and the following disclaimer. */
18 /* */
19 /* Redistributions in binary form must reproduce the above copyright */
20 /* notice, this list of conditions and the following disclaimer in the */
21 /* documentation and/or other materials provided with the distribution. */
22 /* */
23 /* Neither the names of the IBM Corporation nor the names of its */
24 /* contributors may be used to endorse or promote products derived from */
25 /* this software without specific prior written permission. */
26 /* */
27 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
28 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
29 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */
30 /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
31 /* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
32 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
33 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
34 /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */
35 /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
36 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */
37 /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
38 /********************************************************************************/
39
40 #ifndef TPM_MEMORY_H
41 #define TPM_MEMORY_H
42
43 #include "tpm_types.h"
44
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48
49 /* This value is used to limit memory allocation to prevent resource overload. */
50
51 #ifndef TPM_ALLOC_MAX
52 #define TPM_ALLOC_MAX 0x20000 /* 128k bytes */
53 #endif
54
55 TPM_RESULT TPM_Malloc(unsigned char **buffer, uint32_t size);
56 TPM_RESULT TPM_Realloc(unsigned char **buffer, uint32_t size);
57 void TPM_Free(unsigned char *buffer);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63
64 #endif