Annotation of embedaddon/php/Zend/zend_static_allocator.h, revision 1.1.1.1
1.1 misho 1: /*
2: +----------------------------------------------------------------------+
3: | Zend Engine |
4: +----------------------------------------------------------------------+
5: | Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
6: +----------------------------------------------------------------------+
7: | This source file is subject to version 2.00 of the Zend license, |
8: | that is bundled with this package in the file LICENSE, and is |
9: | available through the world-wide-web at the following url: |
10: | http://www.zend.com/license/2_00.txt. |
11: | If you did not receive a copy of the Zend license and are unable to |
12: | obtain it through the world-wide-web, please send a note to |
13: | license@zend.com so we can mail you a copy immediately. |
14: +----------------------------------------------------------------------+
15: | Authors: Andi Gutmans <andi@zend.com> |
16: +----------------------------------------------------------------------+
17: */
18:
19: /* $Id: zend_static_allocator.h 321634 2012-01-01 13:15:04Z felipe $ */
20:
21: #ifndef ZEND_STATIC_ALLOCATOR_H
22: #define ZEND_STATIC_ALLOCATOR_H
23:
24: #define ALLOCATOR_BLOCK_SIZE 400000
25:
26: /* Temporary */
27: typedef unsigned int zend_uint;
28: #define emalloc(s) malloc(s)
29: #define efree(p) free(p)
30:
31: typedef struct _Block {
32: char *bp;
33: char *pos;
34: char *end;
35: } Block;
36:
37: typedef struct _StaticAllocator {
38: Block *Blocks;
39: zend_uint num_blocks;
40: zend_uint current_block;
41: } StaticAllocator;
42:
43: void static_allocator_init(StaticAllocator *sa);
44: char *static_allocator_allocate(StaticAllocator *sa, zend_uint size);
45: void static_allocator_destroy(StaticAllocator *sa);
46:
47: #endif /* ZEND_STATIC_ALLOCATOR_H */
48:
49: /*
50: * Local variables:
51: * tab-width: 4
52: * c-basic-offset: 4
53: * indent-tabs-mode: t
54: * End:
55: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>