1 /*
2 +----------------------------------------------------------------------+
3 | PHP Version 7 |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2016 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 *, uint, int, uint);
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 *filename;
46 char *buf;
47 size_t len;
48 #if HAVE_MMAP
49 void *map;
50 #endif
51 zend_op_array op_array;
52 zend_bool destroy_op_array;
53 uint lines;
54 uint line[1];
55 } phpdbg_file_source;
56
57 #endif /* PHPDBG_LIST_H */