summaryrefslogtreecommitdiff
path: root/Zend/zend_static_allocator.h
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2000-06-23 00:04:05 +0000
committerAndi Gutmans <andi@php.net>2000-06-23 00:04:05 +0000
commit56adbffdbff07997a7e05e7e4bee470ee524ffff (patch)
treeaac57626bcc72c7e5ce2ed2d5595ca15aa5bc346 /Zend/zend_static_allocator.h
parent63526e633eab576cc927d51ff801a66737441b6c (diff)
downloadphp-git-56adbffdbff07997a7e05e7e4bee470ee524ffff.tar.gz
- Commit static allocator structure which we might use in an upcoming Zend
- change
Diffstat (limited to 'Zend/zend_static_allocator.h')
-rw-r--r--Zend/zend_static_allocator.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/Zend/zend_static_allocator.h b/Zend/zend_static_allocator.h
new file mode 100644
index 0000000000..132d18283a
--- /dev/null
+++ b/Zend/zend_static_allocator.h
@@ -0,0 +1,30 @@
+#ifndef _STATIC_ALLOCATOR_H
+#define _STATIC_ALLOCATOR_H
+
+#define ALLOCATOR_BLOCK_SIZE 400000
+
+typedef unsigned int zend_uint;
+
+typedef struct _Block {
+ char *bp;
+ char *pos;
+ char *end;
+} Block;
+
+typedef struct _StaticAllocator {
+ Block *Blocks;
+ zend_uint num_blocks;
+ zend_uint current_block;
+} StaticAllocator;
+
+int static_allocator_init(StaticAllocator *sa);
+char *static_allocator_allocate(StaticAllocator *sa, zend_uint size);
+void static_allocator_destroy(StaticAllocator *sa);
+
+/* Temporary */
+#define emalloc(s) malloc(s)
+#define efree(p) free(p)
+#define SUCCESS 0
+#define FAILURE -1
+
+#endif /* _STATIC_ALLOCATOR_H */