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