1 /* 2 +----------------------------------------------------------------------+ 3 | Zend Engine | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 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: Dmitry Stogov <dmitry@php.net> | 16 +----------------------------------------------------------------------+ 17 */ 18 19 #ifndef ZEND_VM_H 20 #define ZEND_VM_H 21 22 BEGIN_EXTERN_C() 23 24 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler(zend_op* opcode); 25 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* opcode, uint32_t op1_info, uint32_t op2_info, uint32_t res_info); 26 ZEND_API void ZEND_FASTCALL zend_serialize_opcode_handler(zend_op *op); 27 ZEND_API void ZEND_FASTCALL zend_deserialize_opcode_handler(zend_op *op); 28 ZEND_API const void* ZEND_FASTCALL zend_get_opcode_handler_func(const zend_op *op); 29 ZEND_API const zend_op *zend_get_halt_op(void); 30 ZEND_API int ZEND_FASTCALL zend_vm_call_opcode_handler(zend_execute_data *ex); 31 ZEND_API int zend_vm_kind(void); 32 33 void zend_vm_init(void); 34 void zend_vm_dtor(void); 35 36 END_EXTERN_C() 37 38 #define ZEND_VM_SET_OPCODE_HANDLER(opline) zend_vm_set_opcode_handler(opline) 39 40 #endif 41