xref: /php-src/ext/spl/spl_array.h (revision 54047c10)
1 /*
2    +----------------------------------------------------------------------+
3    | Copyright (c) The PHP Group                                          |
4    +----------------------------------------------------------------------+
5    | This source file is subject to version 3.01 of the PHP license,      |
6    | that is bundled with this package in the file LICENSE, and is        |
7    | available through the world-wide-web at the following url:           |
8    | https://www.php.net/license/3_01.txt                                 |
9    | If you did not receive a copy of the PHP license and are unable to   |
10    | obtain it through the world-wide-web, please send a note to          |
11    | license@php.net so we can mail you a copy immediately.               |
12    +----------------------------------------------------------------------+
13    | Authors: Marcus Boerger <helly@php.net>                              |
14    +----------------------------------------------------------------------+
15  */
16 
17 #ifndef SPL_ARRAY_H
18 #define SPL_ARRAY_H
19 
20 #include "php.h"
21 
22 #define SPL_ARRAY_STD_PROP_LIST      0x00000001
23 #define SPL_ARRAY_ARRAY_AS_PROPS     0x00000002
24 #define SPL_ARRAY_CHILD_ARRAYS_ONLY  0x00000004
25 #define SPL_ARRAY_IS_SELF            0x01000000
26 #define SPL_ARRAY_USE_OTHER          0x02000000
27 #define SPL_ARRAY_INT_MASK           0xFFFF0000
28 #define SPL_ARRAY_CLONE_MASK         0x0100FFFF
29 
30 #define SPL_ARRAY_METHOD_NO_ARG				0
31 #define SPL_ARRAY_METHOD_CALLBACK_ARG  		1
32 #define SPL_ARRAY_METHOD_SORT_FLAGS_ARG 	2
33 
34 extern PHPAPI zend_class_entry *spl_ce_ArrayObject;
35 extern PHPAPI zend_class_entry *spl_ce_ArrayIterator;
36 extern PHPAPI zend_class_entry *spl_ce_RecursiveArrayIterator;
37 
38 PHP_MINIT_FUNCTION(spl_array);
39 
40 extern void spl_array_iterator_append(zval *object, zval *append_value);
41 extern void spl_array_iterator_key(zval *object, zval *return_value);
42 
43 #endif /* SPL_ARRAY_H */
44