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
9PyAPI_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
16PyAPI_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
26PyAPI_FUNC(int) _PyFrame_IsEntryFrame(PyFrameObject *frame);
27
28PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f);
29PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
30