1 /* Frame object interface */
2
3 #ifndef Py_CPYTHON_FRAMEOBJECT_H
4 # error "this header file must not be included directly"
5 #endif
6
7 /* Standard object interface */
8
9 PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
10 PyObject *, PyObject *);
11
12 /* The rest of the interface is specific for frame objects */
13
14 /* Conversions between "fast locals" and locals in dictionary */
15
16 PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
17
18 /* -- Caveat emptor --
19 * The concept of entry frames is an implementation detail of the CPython
20 * interpreter. This API is considered unstable and is provided for the
21 * convenience of debuggers, profilers and state-inspecting tools. Notice that
22 * this API can be changed in future minor versions if the underlying frame
23 * mechanism change or the concept of an 'entry frame' or its semantics becomes
24 * obsolete or outdated. */
25
26 PyAPI_FUNC(int) _PyFrame_IsEntryFrame(PyFrameObject *frame);
27
28 PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f);
29 PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);