summaryrefslogtreecommitdiff
path: root/src/include/memmgr.h
blob: f78395f4df1bb141d7a420869145f02d23c0b30c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

/*
 * Licensed Materials - Property of IBM
 *
 * trousers - An open source TCG Software Stack
 *
 * (C) Copyright International Business Machines Corp. 2004
 *
 */

#ifndef _MEMMGR_H_
#define _MEMMGR_H_

/*
 * For each TSP context, there is one memTable, which holds a list of memEntry's,
 * each of which holds a pointer to some malloc'd memory that's been returned to
 * the user. The memTable also can point to other memTable's which would be
 * created if multiple TSP contexts were opened.
 *
 */

struct memEntry {
	void *memPointer;
	struct memEntry *nextEntry;
};

struct memTable {
	TSS_HCONTEXT tspContext;
	struct memEntry *entries;
	struct memTable *nextTable;
};

MUTEX_DECLARE_INIT(memtable_lock);

struct memTable *SpiMemoryTable = NULL;

#endif