/usr/include/python3.10/cpython
NameSizeModeActions
abstract.h140540644editdlrm
bytearrayobject.h7690644editdlrm
bytesobject.h43530644editdlrm
ceval.h14680644editdlrm
code.h75700644editdlrm
compile.h22180644editdlrm
dictobject.h37340644editdlrm
fileobject.h7230644editdlrm
fileutils.h42670644editdlrm
frameobject.h31520644editdlrm
import.h16300644editdlrm
initconfig.h75970644editdlrm
interpreteridobject.h3870644editdlrm
listobject.h12430644editdlrm
methodobject.h13990644editdlrm
object.h196130644editdlrm
objimpl.h33560644editdlrm
odictobject.h12990644editdlrm
picklebufobject.h8460644editdlrm
pyctype.h13870644editdlrm
pydebug.h10930644editdlrm
pyerrors.h54760644editdlrm
pyfpe.h4440644editdlrm
pylifecycle.h20950644editdlrm
pymem.h33790644editdlrm
pystate.h119140644editdlrm
pythonrun.h48110644editdlrm
pytime.h91960644editdlrm
sysmodule.h5060644editdlrm
traceback.h4040644editdlrm
tupleobject.h9750644editdlrm
unicodeobject.h451130644editdlrm
Edit: /usr/include/python3.10/cpython/frameobject.h (3152B)
/* Frame object interface */ #ifndef Py_CPYTHON_FRAMEOBJECT_H # error "this header file must not be included directly" #endif /* These values are chosen so that the inline functions below all * compare f_state to zero. */ enum _framestate { FRAME_CREATED = -2, FRAME_SUSPENDED = -1, FRAME_EXECUTING = 0, FRAME_RETURNED = 1, FRAME_UNWINDING = 2, FRAME_RAISED = 3, FRAME_CLEARED = 4 }; typedef signed char PyFrameState; typedef struct { int b_type; /* what kind of block this is */ int b_handler; /* where to jump to find handler */ int b_level; /* value stack level to pop to */ } PyTryBlock; struct _frame { PyObject_VAR_HEAD struct _frame *f_back; /* previous frame, or NULL */ PyCodeObject *f_code; /* code segment */ PyObject *f_builtins; /* builtin symbol table (PyDictObject) */ PyObject *f_globals; /* global symbol table (PyDictObject) */ PyObject *f_locals; /* local symbol table (any mapping) */ PyObject **f_valuestack; /* points after the last local */ PyObject *f_trace; /* Trace function */ int f_stackdepth; /* Depth of value stack */ char f_trace_lines; /* Emit per-line trace events? */ char f_trace_opcodes; /* Emit per-opcode trace events? */ /* Borrowed reference to a generator, or NULL */ PyObject *f_gen; int f_lasti; /* Last instruction if called */ int f_lineno; /* Current line number. Only valid if non-zero */ int f_iblock; /* index in f_blockstack */ PyFrameState f_state; /* What state the frame is in */ PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */ PyObject *f_localsplus[1]; /* locals+stack, dynamically sized */ }; static inline int _PyFrame_IsRunnable(struct _frame *f) { return f->f_state < FRAME_EXECUTING; } static inline int _PyFrame_IsExecuting(struct _frame *f) { return f->f_state == FRAME_EXECUTING; } static inline int _PyFrameHasCompleted(struct _frame *f) { return f->f_state > FRAME_EXECUTING; } /* Standard object interface */ PyAPI_DATA(PyTypeObject) PyFrame_Type; #define PyFrame_Check(op) Py_IS_TYPE(op, &PyFrame_Type) PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *, PyObject *, PyObject *); /* only internal use */ PyFrameObject* _PyFrame_New_NoTrack(PyThreadState *, PyFrameConstructor *, PyObject *); /* The rest of the interface is specific for frame objects */ /* Block management functions */ PyAPI_FUNC(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int); PyAPI_FUNC(PyTryBlock *) PyFrame_BlockPop(PyFrameObject *); /* Conversions between "fast locals" and locals in dictionary */ PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int); PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f); PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *); PyAPI_FUNC(void) _PyFrame_DebugMallocStats(FILE *out); PyAPI_FUNC(PyFrameObject *) PyFrame_GetBack(PyFrameObject *frame);