Where Online Learning is simpler!
The C and C++ Include Header Files
cat -n /usr/include/python3.14/cpython/ceval.h
1 #ifndef Py_CPYTHON_CEVAL_H 2 # error "this header file must not be included directly" 3 #endif 4 5 PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *); 6 PyAPI_FUNC(void) PyEval_SetProfileAllThreads(Py_tracefunc, PyObject *); 7 PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *); 8 PyAPI_FUNC(void) PyEval_SetTraceAllThreads(Py_tracefunc, PyObject *); 9 10 /* Look at the current frame's (if any) code's co_flags, and turn on 11 the corresponding compiler flags in cf->cf_flags. Return 1 if any 12 flag was set, else return 0. */ 13 PyAPI_FUNC(int) PyEval_MergeCompilerFlags(PyCompilerFlags *cf); 14 15 PyAPI_FUNC(PyObject *) _PyEval_EvalFrameDefault(PyThreadState *tstate, struct _PyInterpreterFrame *f, int exc); 16 17 PyAPI_FUNC(Py_ssize_t) PyUnstable_Eval_RequestCodeExtraIndex(freefunc); 18 // Old name -- remove when this API changes: 19 _Py_DEPRECATED_EXTERNALLY(3.12) static inline Py_ssize_t 20 _PyEval_RequestCodeExtraIndex(freefunc f) { 21 return PyUnstable_Eval_RequestCodeExtraIndex(f); 22 } 23 24 PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, Py_ssize_t *); 25 PyAPI_FUNC(int) _PyEval_SliceIndexNotNone(PyObject *, Py_ssize_t *); 26 27 28 // Trampoline API 29 30 typedef struct { 31 FILE* perf_map; 32 PyThread_type_lock map_lock; 33 } PerfMapState; 34 35 PyAPI_FUNC(int) PyUnstable_PerfMapState_Init(void); 36 PyAPI_FUNC(int) PyUnstable_WritePerfMapEntry( 37 const void *code_addr, 38 unsigned int code_size, 39 const char *entry_name); 40 PyAPI_FUNC(void) PyUnstable_PerfMapState_Fini(void); 41 PyAPI_FUNC(int) PyUnstable_CopyPerfMapFile(const char* parent_filename); 42 PyAPI_FUNC(int) PyUnstable_PerfTrampoline_CompileCode(PyCodeObject *); 43 PyAPI_FUNC(int) PyUnstable_PerfTrampoline_SetPersistAfterFork(int enable);