[895964]: memAlloc.h Maximize Restore History

Download this file

memAlloc.h    58 lines (49 with data), 1.5 kB

 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// This program is free software; you can redistribute
// it and/or modify it under the terms of the GNU
// General Public License as published by the Free
// Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will
// be useful, but WITHOUT ANY WARRANTY; without even
// the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE. See the GNU General Public
// License for more details.
//
// You should have received a copy of the GNU General
// Public License along with this program; if not,
// write to the Free Software Foundation, Inc., 675
// Mass Ave, Cambridge, MA 02139, USA.
/**
* @file memAlloc.h
* This file is included in all four plug-ins (PTAdjust, PTCorrect, PTPerspect, and PTRemap)
* Used for allocating, freeing, locking, and unlocking memmory.
* @date January 2007
*/
#ifndef MEMALLOC_H
#define MEMALLOC_H
#define MAX_STACK 20
/**
* buffer for Handle
*/
typedef struct
{
void *mem; //< pointer to first byte in handle
BufferID id; //< handle
} bufHandle;
/**
* static variables for Alloc.c
*/
typedef struct
{
bufHandle stack[MAX_STACK]; //< the stac
int32 tos; //< the tos
} MemData;
enum MemType { memStatic, memDynamic };
void memInit(MemType);
void *memAlloc(MemType, int32 size);
void memFree(MemType, void *buf);
void memFreeAll(MemType);
void memLockHandles(MemType);
void memUnlockHandles(MemType);
#endif