xref: /PHP-7.4/sapi/phpdbg/phpdbg_opcode.h (revision 50cce5eb)
1 /*
2    +----------------------------------------------------------------------+
3    | PHP Version 7                                                        |
4    +----------------------------------------------------------------------+
5    | Copyright (c) The PHP Group                                          |
6    +----------------------------------------------------------------------+
7    | This source file is subject to version 3.01 of the PHP 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.php.net/license/3_01.txt                                  |
11    | If you did not receive a copy of the PHP license and are unable to   |
12    | obtain it through the world-wide-web, please send a note to          |
13    | license@php.net so we can mail you a copy immediately.               |
14    +----------------------------------------------------------------------+
15    | Authors: Felipe Pena <felipe@php.net>                                |
16    | Authors: Joe Watkins <joe.watkins@live.co.uk>                        |
17    | Authors: Bob Weinand <bwoebi@php.net>                                |
18    +----------------------------------------------------------------------+
19 */
20 
21 #ifndef PHPDBG_OPCODE_H
22 #define PHPDBG_OPCODE_H
23 
24 #include "zend_types.h"
25 
26 char *phpdbg_decode_opline(zend_op_array *ops, zend_op *op);
27 void phpdbg_print_opline(zend_execute_data *execute_data, zend_bool ignore_flags);
28 void phpdbg_print_opline_ex(zend_execute_data *execute_data, zend_bool ignore_flags);
29 
30 typedef struct _phpdbg_oplog_entry phpdbg_oplog_entry;
31 struct _phpdbg_oplog_entry {
32 	phpdbg_oplog_entry *next;
33 	zend_string *function_name;
34 	zend_class_entry *scope;
35 	zend_string *filename;
36 	zend_op *opcodes;
37 	zend_op *op;
38 };
39 
40 typedef struct _phpdbg_oplog_list phpdbg_oplog_list;
41 struct _phpdbg_oplog_list {
42 	phpdbg_oplog_list *prev;
43 	phpdbg_oplog_entry start; /* Only "next" member used. */
44 };
45 
46 #endif /* PHPDBG_OPCODE_H */
47