moved back to old acc
[vox.git] / src / core / pcheader.hpp
blob2495cbc19b33265601ba9da6840d17499b6b7ded
2 #ifndef _VXPCHEADER_H_
3 #define _VXPCHEADER_H_
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <stdarg.h>
8 #include <string.h>
9 #include <new>
10 #include <errno.h>
11 #include "errors.hpp"
12 #include "vox.h"
14 #define VX_VMSTATE_IDLE 0
15 #define VX_VMSTATE_RUNNING 1
16 #define VX_VMSTATE_SUSPENDED 2
18 #define VOX_EOB 0
20 #define VX_MATCHTYPEMASKSTRING (-99999)
21 #define VX_RAW_TYPE(type) ((type) & VX_RT_MASK)
23 #define ISREFCOUNTED(t) (t & VXOBJECT_REF_COUNTED)
25 #define _PRINT_INT_FMT "%d"
27 #define VOX_MAX_CHAR 0xFF
29 // VX_ALIGNMENT shall be less than or equal to VX_MALLOC alignments, and
30 // its value shall be power of 2.
31 #define VX_ALIGNMENT 4
33 #define VX_BYTECODE_STREAM_TAG 0xFAFA
35 #define DOSTRING_DEFAULTBUFFERNAME "<dostring>"
37 #define vox_new(__ptr, __type) \
38 { \
39 __ptr = (__type *)vox_mem_malloc(sizeof(__type)); \
40 new(__ptr) __type; \
43 #define vox_delete(__ptr,__type) \
44 { \
45 __ptr->~__type(); \
46 vox_mem_free(__ptr, sizeof(__type)); \
49 #define vox_aligning(v) (((size_t)(v) + (VX_ALIGNMENT-1)) & (~(VX_ALIGNMENT-1)))
51 #endif //_VXPCHEADER_H_