xref: /PHP-7.4/sapi/phpdbg/phpdbg_list.h (revision 0cf7de1c)
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_LIST_H
22 #define PHPDBG_LIST_H
23 
24 #include "TSRM.h"
25 #include "phpdbg_cmd.h"
26 
27 #define PHPDBG_LIST(name)         PHPDBG_COMMAND(list_##name)
28 #define PHPDBG_LIST_HANDLER(name) PHPDBG_COMMAND_HANDLER(list_##name)
29 
30 PHPDBG_LIST(lines);
31 PHPDBG_LIST(class);
32 PHPDBG_LIST(method);
33 PHPDBG_LIST(func);
34 
35 void phpdbg_list_function_byname(const char *, size_t);
36 void phpdbg_list_function(const zend_function *);
37 void phpdbg_list_file(zend_string *, uint32_t, int, uint32_t);
38 
39 extern const phpdbg_command_t phpdbg_list_commands[];
40 
41 void phpdbg_init_list(void);
42 void phpdbg_list_update(void);
43 
44 typedef struct {
45 	char *buf;
46 	size_t len;
47 #if HAVE_MMAP
48 	void *map;
49 #endif
50 	zend_op_array op_array;
51 	uint32_t lines;
52 	uint32_t line[1];
53 } phpdbg_file_source;
54 
55 #endif /* PHPDBG_LIST_H */
56