1 /* Python interface to btrace record targets. 2 3 Copyright 2016-2023 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 PYTHON_PY_RECORD_BTRACE_H 21 #define PYTHON_PY_RECORD_BTRACE_H 22 23 #include "python-internal.h" 24 25 /* Implementation of record.method [str]. */ 26 extern PyObject *recpy_bt_method (PyObject *self, void *closure); 27 28 /* Implementation of record.format [str]. */ 29 extern PyObject *recpy_bt_format (PyObject *self, void *closure); 30 31 /* Implementation of record.goto (instruction) -> None. */ 32 extern PyObject *recpy_bt_goto (PyObject *self, PyObject *value); 33 34 /* Implementation of record.instruction_history [list]. */ 35 extern PyObject *recpy_bt_instruction_history (PyObject *self, void *closure); 36 37 /* Implementation of record.function_call_history [list]. */ 38 extern PyObject *recpy_bt_function_call_history (PyObject *self, void *closure); 39 40 /* Implementation of record.replay_position [instruction]. */ 41 extern PyObject *recpy_bt_replay_position (PyObject *self, void *closure); 42 43 /* Implementation of record.begin [instruction]. */ 44 extern PyObject *recpy_bt_begin (PyObject *self, void *closure); 45 46 /* Implementation of record.end [instruction]. */ 47 extern PyObject *recpy_bt_end (PyObject *self, void *closure); 48 49 /* Implementation of RecordInstruction.number [int]. */ 50 extern PyObject *recpy_bt_insn_number (PyObject *self, void *closure); 51 52 /* Implementation of RecordInstruction.sal [gdb.Symtab_and_line]. */ 53 extern PyObject *recpy_bt_insn_sal (PyObject *self, void *closure); 54 55 /* Implementation of RecordInstruction.pc [int]. */ 56 extern PyObject *recpy_bt_insn_pc (PyObject *self, void *closure); 57 58 /* Implementation of RecordInstruction.data [buffer]. */ 59 extern PyObject *recpy_bt_insn_data (PyObject *self, void *closure); 60 61 /* Implementation of RecordInstruction.decoded [str]. */ 62 extern PyObject *recpy_bt_insn_decoded (PyObject *self, void *closure); 63 64 /* Implementation of RecordInstruction.size [int]. */ 65 extern PyObject *recpy_bt_insn_size (PyObject *self, void *closure); 66 67 /* Implementation of RecordInstruction.is_speculative [bool]. */ 68 extern PyObject *recpy_bt_insn_is_speculative (PyObject *self, void *closure); 69 70 /* Implementation of RecordFunctionSegment.number [int]. */ 71 extern PyObject *recpy_bt_func_number (PyObject *self, void *closure); 72 73 /* Implementation of RecordFunctionSegment.number [int]. */ 74 extern PyObject *recpy_bt_func_level (PyObject *self, void *closure); 75 76 /* Implementation of RecordFunctionSegment.symbol [gdb.Symbol]. */ 77 extern PyObject *recpy_bt_func_symbol (PyObject *self, void *closure); 78 79 /* Implementation of RecordFunctionSegment.instructions [list]. */ 80 extern PyObject *recpy_bt_func_instructions (PyObject *self, void *closure); 81 82 /* Implementation of RecordFunctionSegment.up [RecordFunctionSegment]. */ 83 extern PyObject *recpy_bt_func_up (PyObject *self, void *closure); 84 85 /* Implementation of RecordFunctionSegment.prev [RecordFunctionSegment]. */ 86 extern PyObject *recpy_bt_func_prev (PyObject *self, void *closure); 87 88 /* Implementation of RecordFunctionSegment.next [RecordFunctionSegment]. */ 89 extern PyObject *recpy_bt_func_next (PyObject *self, void *closure); 90 91 #endif /* PYTHON_PY_RECORD_BTRACE_H */ 92