1 /* Python/gdb header for generic use in gdb 2 3 Copyright (C) 2008-2013 Free Software Foundation, Inc. 4 5 This file is part of GDB. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 #ifndef GDB_PYTHON_H 21 #define GDB_PYTHON_H 22 23 #include "value.h" 24 25 struct breakpoint_object; 26 27 /* The suffix of per-objfile scripts to auto-load. 28 E.g. When the program loads libfoo.so, look for libfoo-gdb.py. */ 29 #define GDBPY_AUTO_FILE_NAME "-gdb.py" 30 31 extern void finish_python_initialization (void); 32 33 void eval_python_from_control_command (struct command_line *); 34 35 void source_python_script (FILE *file, const char *filename); 36 37 int apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr, 38 int embedded_offset, CORE_ADDR address, 39 struct ui_file *stream, int recurse, 40 const struct value *val, 41 const struct value_print_options *options, 42 const struct language_defn *language); 43 44 void preserve_python_values (struct objfile *objfile, htab_t copied_types); 45 46 void gdbpy_load_auto_scripts_for_objfile (struct objfile *objfile); 47 48 int gdbpy_should_stop (struct breakpoint_object *bp_obj); 49 50 int gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj); 51 52 void *start_type_printers (void); 53 54 char *apply_type_printers (void *, struct type *type); 55 56 void free_type_printers (void *arg); 57 58 #endif /* GDB_PYTHON_H */ 59