-
Notifications
You must be signed in to change notification settings - Fork 1
/
array.h
executable file
·92 lines (61 loc) · 3.25 KB
/
array.h
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/************************************************************************************************************
NAME
array.h
DESCRIPTION
Definitions for buffered arrays.
AUTHOR
Christian Vigh, 10/2014.
HISTORY
tbd
************************************************************************************************************/
# ifndef __ARRAY_H__
# define __ARRAY_H__
language_block ( C ) ;
/*-----------------------------------------------------------------------------------------------------------
Macros & constants.
*-----------------------------------------------------------------------------------------------------------*/
# define ARRAY_BUFFER_CLASS_NAME "ArrayBuffer"
# define ARRAY_BUFFER_RESOURCE_NAME "array_buffer"
# define ARRAY_BUFFER_MAX_SIZE_SETTING "array_buffer.max_size"
# define DEFAULT_ARRAY_BUFFER_MAX_SIZE "1Mb"
# define ARRAY_BUFFER_MIN_FREE_MEMORY_SETTING "array_buffer.min_free_memory"
# define DEFAULT_ARRAY_BUFFER_MIN_FREE_MEMORY "30%"
/*-----------------------------------------------------------------------------------------------------------
Array buffer structures.
*-----------------------------------------------------------------------------------------------------------*/
typedef struct array_buffer
{
void * data ;
long size ;
} array_buffer ;
/*-----------------------------------------------------------------------------------------------------------
External variables.
*-----------------------------------------------------------------------------------------------------------*/
ZEND_BEGIN_MODULE_GLOBALS ( array_buffer ) /* Module globals */
int junk ;
ZEND_END_MODULE_GLOBALS ( array_buffer ) ;
extern int array_buffer_resource_id ; /* Id of the resource associated with an array_buffer */
extern thrak_byte_quantity array_buffer_max_size ; /* Max array buffer size */
/*-----------------------------------------------------------------------------------------------------------
External array_buffer functions.
*-----------------------------------------------------------------------------------------------------------*/
extern PHP_FUNCTION ( array_buffer_clone ) ;
extern PHP_FUNCTION ( array_buffer_copy ) ;
extern PHP_FUNCTION ( array_buffer_create ) ;
extern PHP_FUNCTION ( array_buffer_destroy ) ;
extern PHP_FUNCTION ( array_buffer_get ) ;
extern PHP_FUNCTION ( array_buffer_resize ) ;
extern PHP_FUNCTION ( array_buffer_set ) ;
extern PHP_FUNCTION ( array_buffer_size ) ;
extern void array_buffer_initialize ( THRAK_INIT_FUNC_ARGS ) ;
extern void array_buffer_shutdown ( THRAK_SHUTDOWN_FUNC_ARGS ) ;
/*-----------------------------------------------------------------------------------------------------------
External array functions.
*-----------------------------------------------------------------------------------------------------------*/
extern PHP_FUNCTION ( array_flatten ) ;
extern PHP_FUNCTION ( iin_array ) ;
extern PHP_FUNCTION ( array_ikey_exists ) ;
extern void array_initialize ( THRAK_INIT_FUNC_ARGS ) ;
extern void array_shutdown ( THRAK_SHUTDOWN_FUNC_ARGS ) ;
end_language_block ( C ) ;
# endif /* __ARRAY_H__ */