1 /*
2 +----------------------------------------------------------------------+
3 | Zend Engine |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1998-2016 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 | Zeev Suraski <zeev@zend.com> |
17 +----------------------------------------------------------------------+
18 */
19
20 /* $Id$ */
21
22 #ifndef ZEND_DYNAMIC_ARRAY_H
23 #define ZEND_DYNAMIC_ARRAY_H
24
25 typedef struct _dynamic_array {
26 char *array;
27 unsigned int element_size;
28 unsigned int last_used;
29 unsigned int allocated;
30 } dynamic_array;
31
32 BEGIN_EXTERN_C()
33 ZEND_API int zend_dynamic_array_init(dynamic_array *da, unsigned int element_size, unsigned int size);
34 ZEND_API void *zend_dynamic_array_push(dynamic_array *da);
35 ZEND_API void *zend_dynamic_array_pop(dynamic_array *da);
36 ZEND_API void *zend_dynamic_array_get_element(dynamic_array *da, unsigned int index);
37 END_EXTERN_C()
38
39 #endif /* ZEND_DYNAMIC_ARRAY_H */
40
41 /*
42 * Local variables:
43 * tab-width: 4
44 * c-basic-offset: 4
45 * indent-tabs-mode: t
46 * End:
47 */