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 *);
30