| Index: gdb/python/python.h
|
| diff --git a/gdb/python/python.h b/gdb/python/python.h
|
| index 0d072712af4e6da693a879c75d3b20a906ba4da0..c07b2aa719cb8d503e1e2f11202b234de78c8d57 100644
|
| --- a/gdb/python/python.h
|
| +++ b/gdb/python/python.h
|
| @@ -1,6 +1,6 @@
|
| /* Python/gdb header for generic use in gdb
|
|
|
| - Copyright (C) 2008-2012 Free Software Foundation, Inc.
|
| + Copyright (C) 2008-2013 Free Software Foundation, Inc.
|
|
|
| This file is part of GDB.
|
|
|
| @@ -21,13 +21,74 @@
|
| #define GDB_PYTHON_H
|
|
|
| #include "value.h"
|
| +#include "mi/mi-cmds.h"
|
|
|
| -struct breakpoint_object;
|
| +struct gdbpy_breakpoint_object;
|
|
|
| /* The suffix of per-objfile scripts to auto-load.
|
| E.g. When the program loads libfoo.so, look for libfoo-gdb.py. */
|
| #define GDBPY_AUTO_FILE_NAME "-gdb.py"
|
|
|
| +/* Python frame-filter status return values. */
|
| +enum py_bt_status
|
| + {
|
| + /* Return when an error has occurred in processing frame filters,
|
| + or when printing the stack. */
|
| + PY_BT_ERROR = -1,
|
| +
|
| + /* Return from internal routines to indicate that the function
|
| + succeeded. */
|
| + PY_BT_OK = 1,
|
| +
|
| + /* Return when the frame filter process is complete, and all
|
| + operations have succeeded. */
|
| + PY_BT_COMPLETED = 2,
|
| +
|
| + /* Return when the frame filter process is complete, but there
|
| + were no filter registered and enabled to process. */
|
| + PY_BT_NO_FILTERS = 3
|
| + };
|
| +
|
| +/* Flags to pass to apply_frame_filter. */
|
| +
|
| +enum frame_filter_flags
|
| + {
|
| + /* Set this flag if frame level is to be printed. */
|
| + PRINT_LEVEL = 1,
|
| +
|
| + /* Set this flag if frame information is to be printed. */
|
| + PRINT_FRAME_INFO = 2,
|
| +
|
| + /* Set this flag if frame arguments are to be printed. */
|
| + PRINT_ARGS = 4,
|
| +
|
| + /* Set this flag if frame locals are to be printed. */
|
| + PRINT_LOCALS = 8,
|
| + };
|
| +
|
| +/* A choice of the different frame argument printing strategies that
|
| + can occur in different cases of frame filter instantiation. */
|
| +typedef enum py_frame_args
|
| +{
|
| + /* Print no values for arguments when invoked from the MI. */
|
| + NO_VALUES = PRINT_NO_VALUES,
|
| +
|
| + MI_PRINT_ALL_VALUES = PRINT_ALL_VALUES,
|
| +
|
| + /* Print only simple values (what MI defines as "simple") for
|
| + arguments when invoked from the MI. */
|
| + MI_PRINT_SIMPLE_VALUES = PRINT_SIMPLE_VALUES,
|
| +
|
| +
|
| + /* Print only scalar values for arguments when invoked from the
|
| + CLI. */
|
| + CLI_SCALAR_VALUES,
|
| +
|
| + /* Print all values for arguments when invoked from the
|
| + CLI. */
|
| + CLI_ALL_VALUES
|
| +} py_frame_args;
|
| +
|
| extern void finish_python_initialization (void);
|
|
|
| void eval_python_from_control_command (struct command_line *);
|
| @@ -41,12 +102,23 @@ int apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr,
|
| const struct value_print_options *options,
|
| const struct language_defn *language);
|
|
|
| +enum py_bt_status apply_frame_filter (struct frame_info *frame, int flags,
|
| + enum py_frame_args args_type,
|
| + struct ui_out *out, int frame_low,
|
| + int frame_high);
|
| +
|
| void preserve_python_values (struct objfile *objfile, htab_t copied_types);
|
|
|
| -void gdbpy_load_auto_scripts_for_objfile (struct objfile *objfile);
|
| +const struct script_language *gdbpy_script_language_defn (void);
|
| +
|
| +int gdbpy_should_stop (struct gdbpy_breakpoint_object *bp_obj);
|
| +
|
| +int gdbpy_breakpoint_has_py_cond (struct gdbpy_breakpoint_object *bp_obj);
|
| +
|
| +void *start_type_printers (void);
|
|
|
| -int gdbpy_should_stop (struct breakpoint_object *bp_obj);
|
| +char *apply_type_printers (void *, struct type *type);
|
|
|
| -int gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj);
|
| +void free_type_printers (void *arg);
|
|
|
| #endif /* GDB_PYTHON_H */
|
|
|