php-src/phpdbg_bp.h

78 lines
2.7 KiB
C
Raw Normal View History

/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2013 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Felipe Pena <felipe@php.net> |
| Authors: Joe Watkins <joe.watkins@live.co.uk> |
+----------------------------------------------------------------------+
*/
#ifndef PHPDBG_BP_H
#define PHPDBG_BP_H
2013-11-11 13:07:02 +00:00
/* {{{ */
typedef struct _zend_op *phpdbg_opline_ptr_t; /* }}} */
/**
* Breakpoint file-based representation
*/
typedef struct _phpdbg_breakfile_t {
const char *filename;
long line;
2013-11-10 20:10:54 +00:00
int id;
} phpdbg_breakfile_t;
/**
* Breakpoint symbol-based representation
*/
typedef struct _phpdbg_breaksymbol_t {
const char *symbol;
2013-11-10 20:10:54 +00:00
int id;
} phpdbg_breaksymbol_t;
/**
* Breakpoint method based representation
*/
typedef struct _phpdbg_breakmethod_t {
const char *class_name;
size_t class_len;
const char *func_name;
size_t func_len;
int id;
} phpdbg_breakmethod_t;
2013-11-11 11:54:41 +00:00
/**
* Breakpoint opline based representation
*/
typedef struct _phpdbg_breakline_t {
2013-11-11 13:04:21 +00:00
const char *name;
zend_ulong opline;
2013-11-11 11:54:41 +00:00
int id;
} phpdbg_breakline_t;
void phpdbg_set_breakpoint_file(const char*, long TSRMLS_DC);
2013-11-10 21:38:58 +00:00
void phpdbg_set_breakpoint_symbol(const char* TSRMLS_DC);
2013-11-12 13:33:51 +00:00
void phpdbg_set_breakpoint_method(const char*, const char* TSRMLS_DC);
void phpdbg_set_breakpoint_opline(zend_ulong TSRMLS_DC);
2013-11-11 14:33:53 +00:00
void phpdbg_set_breakpoint_opline_ex(phpdbg_opline_ptr_t TSRMLS_DC);
2013-11-10 18:24:08 +00:00
2013-11-10 20:06:19 +00:00
int phpdbg_find_breakpoint_file(zend_op_array* TSRMLS_DC);
int phpdbg_find_breakpoint_symbol(zend_function* TSRMLS_DC);
2013-11-12 00:47:27 +00:00
int phpdbg_find_breakpoint_method(zend_op_array* TSRMLS_DC);
2013-11-11 13:07:02 +00:00
int phpdbg_find_breakpoint_opline(phpdbg_opline_ptr_t TSRMLS_DC);
2013-11-10 20:06:19 +00:00
2013-11-11 17:19:05 +00:00
void phpdbg_clear_breakpoints(TSRMLS_D);
2013-11-12 16:04:41 +00:00
void phpdbg_print_breakpoints(zend_ulong type TSRMLS_DC);
2013-11-11 17:19:05 +00:00
#endif /* PHPDBG_BP_H */