Skip to main content

pyo3_ffi/cpython/
ceval.rs

1use crate::cpython::pystate::Py_tracefunc;
2use crate::object::{freefunc, PyObject};
3use crate::Py_ssize_t;
4
5extern_libpython! {
6    pub fn PyEval_SetProfile(trace_func: Option<Py_tracefunc>, arg1: *mut PyObject);
7    #[cfg(Py_3_12)]
8    pub fn PyEval_SetProfileAllThreads(trace_func: Option<Py_tracefunc>, arg1: *mut PyObject);
9    pub fn PyEval_SetTrace(trace_func: Option<Py_tracefunc>, arg1: *mut PyObject);
10    #[cfg(Py_3_12)]
11    pub fn PyEval_SetTraceAllThreads(trace_func: Option<Py_tracefunc>, arg1: *mut PyObject);
12
13    // skipped PyEval_MergeCompilerFlags
14
15    // skipped private _PyEval_EvalFrameDefault
16
17    // was moved to the unstable API tier on Py_3_12, use link_name for older versions
18    #[cfg_attr(Py_3_12, link_name = "_PyEval_RequestCodeExtraIndex")]
19    pub fn PyUnstable_Eval_RequestCodeExtraIndex(func: freefunc) -> Py_ssize_t;
20}
21
22#[deprecated(
23    since = "0.29.0",
24    note = "renamed to PyUnstable_Eval_RequestCodeExtraIndex"
25)]
26#[inline]
27pub unsafe extern "C" fn _PyEval_RequestCodeExtraIndex(func: freefunc) -> Py_ssize_t {
28    PyUnstable_Eval_RequestCodeExtraIndex(func)
29}
30
31extern_libpython! {
32
33    // skipped private _PyEval_SliceIndex
34    // skipped private _PyEval_SliceIndexNotNone
35    // skipped private _PyEval_UnpackIndices
36
37    // skipped PerfMapState
38
39    // skipped PyUnstable_PerfMapState_Init
40    // skipped PyUnstable_WritePerfMapEntry
41    // skipped PyUnstable_PerfMapState_Fini
42    // skipped PyUnstable_CopyPerfMapFile
43    // skipped PyUnstable_PerfTrampoline_CompileCode
44    // skipped PyUnstable_PerfTrampoline_SetPersistAfterFork
45
46}
⚠️ Internal Docs ⚠️ Not Public API 👉 Official Docs Here