1use crate::cpython::pystate::Py_tracefunc;
2use crate::object::{freefunc, PyObject};
3use std::os::raw::c_int;
4
5extern "C" {
6 // skipped non-limited _PyEval_CallTracing
7
8 #[cfg(not(Py_3_11))]
9 pub fn _PyEval_EvalFrameDefault(arg1: *mut crate::PyFrameObject, exc: c_int) -> *mut PyObject;
10
11 #[cfg(Py_3_11)]
12 pub fn _PyEval_EvalFrameDefault(
13 tstate: *mut crate::PyThreadState,
14 frame: *mut crate::_PyInterpreterFrame,
15 exc: c_int,
16 ) -> *mut crate::PyObject;
17
18 pub fn _PyEval_RequestCodeExtraIndex(func: freefunc) -> c_int;
19 pub fn PyEval_SetProfile(trace_func: Option<Py_tracefunc>, arg1: *mut PyObject);
20 pub fn PyEval_SetTrace(trace_func: Option<Py_tracefunc>, arg1: *mut PyObject);
21}
22