/usr/include/python3.10
NameSizeModeActions
cpython/-0755rm
internal/-0755rm
abstract.h314050644editdlrm
bltinmodule.h2640644editdlrm
boolobject.h12240644editdlrm
bytearrayobject.h14840644editdlrm
bytesobject.h25930644editdlrm
cellobject.h7200644editdlrm
ceval.h57030644editdlrm
classobject.h16570644editdlrm
code.h3180644editdlrm
codecs.h70710644editdlrm
compile.h5200644editdlrm
complexobject.h18060644editdlrm
context.h19620644editdlrm
datetime.h96350644editdlrm
descrobject.h30020644editdlrm
dictobject.h38530644editdlrm
dynamic_annotations.h224710644editdlrm
enumobject.h2530644editdlrm
errcode.h17000644editdlrm
eval.h8310644editdlrm
exports.h10980644editdlrm
fileobject.h15710644editdlrm
fileutils.h5080644editdlrm
floatobject.h43600644editdlrm
frameobject.h3370644editdlrm
funcobject.h42570644editdlrm
genericaliasobject.h3340644editdlrm
genobject.h33470644editdlrm
graminit.h00644editdlrm
import.h30260644editdlrm
interpreteridobject.h3340644editdlrm
intrcheck.h7720644editdlrm
iterobject.h5930644editdlrm
listobject.h17810644editdlrm
longintrepr.h37990644editdlrm
longobject.h86060644editdlrm
marshal.h8030644editdlrm
memoryobject.h27640644editdlrm
methodobject.h41470644editdlrm
modsupport.h103330644editdlrm
moduleobject.h24580644editdlrm
namespaceobject.h3490644editdlrm
object.h283440644editdlrm
objimpl.h84450644editdlrm
opcode.h55090644editdlrm
osdefs.h7370644editdlrm
osmodule.h2910644editdlrm
patchlevel.h13010644editdlrm
pycapsule.h17250644editdlrm
pyconfig.h41590644editdlrm
pydtrace.h24130644editdlrm
pyerrors.h124260644editdlrm
pyexpat.h24500644editdlrm
pyframe.h4660644editdlrm
pyhash.h42230644editdlrm
pylifecycle.h20800644editdlrm
pymacconfig.h29890644editdlrm
pymacro.h49200644editdlrm
pymath.h83130644editdlrm
pymem.h38910644editdlrm
pyport.h316840644editdlrm
pystate.h52500644editdlrm
pystrcmp.h4360644editdlrm
pystrhex.h8490644editdlrm
pystrtod.h14830644editdlrm
Python.h32240644editdlrm
pythonrun.h11100644editdlrm
pythread.h59890644editdlrm
py_curses.h24740644editdlrm
rangeobject.h6280644editdlrm
setobject.h33810644editdlrm
sliceobject.h25160644editdlrm
structmember.h20740644editdlrm
structseq.h13900644editdlrm
sysmodule.h12420644editdlrm
token.h26690644editdlrm
traceback.h5840644editdlrm
tracemalloc.h11140644editdlrm
tupleobject.h16140644editdlrm
typeslots.h24600644editdlrm
unicodeobject.h361480644editdlrm
warnings.h17760644editdlrm
weakrefobject.h28630644editdlrm
Edit: /usr/include/python3.10/pystate.h (5250B)
/* Thread and interpreter state structures and their interfaces */ #ifndef Py_PYSTATE_H #define Py_PYSTATE_H #ifdef __cplusplus extern "C" { #endif /* This limitation is for performance and simplicity. If needed it can be removed (with effort). */ #define MAX_CO_EXTRA_USERS 255 /* Forward declarations for PyFrameObject, PyThreadState and PyInterpreterState */ struct _ts; struct _is; /* struct _ts is defined in cpython/pystate.h */ typedef struct _ts PyThreadState; /* struct _is is defined in internal/pycore_interp.h */ typedef struct _is PyInterpreterState; PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_New(void); PyAPI_FUNC(void) PyInterpreterState_Clear(PyInterpreterState *); PyAPI_FUNC(void) PyInterpreterState_Delete(PyInterpreterState *); #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 /* New in 3.9 */ /* Get the current interpreter state. Issue a fatal error if there no current Python thread state or no current interpreter. It cannot return NULL. The caller must hold the GIL. */ PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Get(void); #endif #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000 /* New in 3.8 */ PyAPI_FUNC(PyObject *) PyInterpreterState_GetDict(PyInterpreterState *); #endif #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 /* New in 3.7 */ PyAPI_FUNC(int64_t) PyInterpreterState_GetID(PyInterpreterState *); #endif #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 /* State unique per thread */ /* New in 3.3 */ PyAPI_FUNC(int) PyState_AddModule(PyObject*, struct PyModuleDef*); PyAPI_FUNC(int) PyState_RemoveModule(struct PyModuleDef*); #endif PyAPI_FUNC(PyObject*) PyState_FindModule(struct PyModuleDef*); PyAPI_FUNC(PyThreadState *) PyThreadState_New(PyInterpreterState *); PyAPI_FUNC(void) PyThreadState_Clear(PyThreadState *); PyAPI_FUNC(void) PyThreadState_Delete(PyThreadState *); /* Get the current thread state. When the current thread state is NULL, this issues a fatal error (so that the caller needn't check for NULL). The caller must hold the GIL. See also PyThreadState_GET() and _PyThreadState_GET(). */ PyAPI_FUNC(PyThreadState *) PyThreadState_Get(void); /* Get the current Python thread state. Macro using PyThreadState_Get() or _PyThreadState_GET() depending if pycore_pystate.h is included or not (this header redefines the macro). If PyThreadState_Get() is used, issue a fatal error if the current thread state is NULL. See also PyThreadState_Get() and _PyThreadState_GET(). */ #define PyThreadState_GET() PyThreadState_Get() PyAPI_FUNC(PyThreadState *) PyThreadState_Swap(PyThreadState *); PyAPI_FUNC(PyObject *) PyThreadState_GetDict(void); PyAPI_FUNC(int) PyThreadState_SetAsyncExc(unsigned long, PyObject *); #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000 /* New in 3.9 */ PyAPI_FUNC(PyInterpreterState*) PyThreadState_GetInterpreter(PyThreadState *tstate); PyAPI_FUNC(PyFrameObject*) PyThreadState_GetFrame(PyThreadState *tstate); PyAPI_FUNC(uint64_t) PyThreadState_GetID(PyThreadState *tstate); #endif typedef enum {PyGILState_LOCKED, PyGILState_UNLOCKED} PyGILState_STATE; /* Ensure that the current thread is ready to call the Python C API, regardless of the current state of Python, or of its thread lock. This may be called as many times as desired by a thread so long as each call is matched with a call to PyGILState_Release(). In general, other thread-state APIs may be used between _Ensure() and _Release() calls, so long as the thread-state is restored to its previous state before the Release(). For example, normal use of the Py_BEGIN_ALLOW_THREADS/ Py_END_ALLOW_THREADS macros are acceptable. The return value is an opaque "handle" to the thread state when PyGILState_Ensure() was called, and must be passed to PyGILState_Release() to ensure Python is left in the same state. Even though recursive calls are allowed, these handles can *not* be shared - each unique call to PyGILState_Ensure must save the handle for its call to PyGILState_Release. When the function returns, the current thread will hold the GIL. Failure is a fatal error. */ PyAPI_FUNC(PyGILState_STATE) PyGILState_Ensure(void); /* Release any resources previously acquired. After this call, Python's state will be the same as it was prior to the corresponding PyGILState_Ensure() call (but generally this state will be unknown to the caller, hence the use of the GILState API.) Every call to PyGILState_Ensure must be matched by a call to PyGILState_Release on the same thread. */ PyAPI_FUNC(void) PyGILState_Release(PyGILState_STATE); /* Helper/diagnostic function - get the current thread state for this thread. May return NULL if no GILState API has been used on the current thread. Note that the main thread always has such a thread-state, even if no auto-thread-state call has been made on the main thread. */ PyAPI_FUNC(PyThreadState *) PyGILState_GetThisThreadState(void); #ifndef Py_LIMITED_API # define Py_CPYTHON_PYSTATE_H # include "cpython/pystate.h" # undef Py_CPYTHON_PYSTATE_H #endif #ifdef __cplusplus } #endif #endif /* !Py_PYSTATE_H */