⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿⣿⣿⣷⣼⣿⠀⣴⠾⠷⠶⠦⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢠⡤⢶⣦⣾⣿⣿⣿⣿⣿⣿⣿⠀⣿⣶⣶⣦⣄⠳⣤⣤⠄⠀⠀⠀
⠀⠀⠀⢀⣼⣳⡿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣗⠈⠙⠻⣶⣄⡀⠀⠀⠀
⠀⠀⠀⣰⠿⠁⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠈⠳⣤⠀⠀
⠀⠀⢀⡟⠀⢰⣿⠟⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⠉⠁⠈⠻⣶⣄⠀⠀⠈⠛⢦   
⠀⣀⡼⠃⠀⣼⡟⠀⠀⢸⣿⡿⠉⣿⡿⠿⠛⣿⡄⠀⠀⠀⠙⠿⣆⠀⠀⠀⠈
⠈⠁⠀⠀⢸⡟⠀⠀⠀⢸⣿⠀⠀⣿⠁⠀⠀⠈⠃⠀⠀⠀⠀⠀⠘⢷⡄⠀⠀
⠀⠀⠀⠀⣼⠃⠀⠀⠀⢸⡟⠀⠀⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡆⠀
⠀⠀⠀⣠⡏⠀⠀⠀⠀⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠻⠃⠀⠀⠀⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

Current Dir: /usr/include/python2.7/

[FILE] Python-ast.h [ edit | delete | rename | download ]
[FILE] Python.h [ edit | delete | rename | download ]
[FILE] abstract.h [ edit | delete | rename | download ]
[FILE] asdl.h [ edit | delete | rename | download ]
[FILE] ast.h [ edit | delete | rename | download ]
[FILE] bitset.h [ edit | delete | rename | download ]
[FILE] boolobject.h [ edit | delete | rename | download ]
[FILE] bufferobject.h [ edit | delete | rename | download ]
[FILE] bytearrayobject.h [ edit | delete | rename | download ]
[FILE] bytes_methods.h [ edit | delete | rename | download ]
[FILE] bytesobject.h [ edit | delete | rename | download ]
[FILE] cStringIO.h [ edit | delete | rename | download ]
[FILE] cellobject.h [ edit | delete | rename | download ]
[FILE] ceval.h [ edit | delete | rename | download ]
[FILE] classobject.h [ edit | delete | rename | download ]
[FILE] cobject.h [ edit | delete | rename | download ]
[FILE] code.h [ edit | delete | rename | download ]
[FILE] codecs.h [ edit | delete | rename | download ]
[FILE] compile.h [ edit | delete | rename | download ]
[FILE] complexobject.h [ edit | delete | rename | download ]
[FILE] datetime.h [ edit | delete | rename | download ]
[FILE] descrobject.h [ edit | delete | rename | download ]
[FILE] dictobject.h [ edit | delete | rename | download ]
[FILE] dtoa.h [ edit | delete | rename | download ]
[FILE] enumobject.h [ edit | delete | rename | download ]
[FILE] errcode.h [ edit | delete | rename | download ]
[FILE] eval.h [ edit | delete | rename | download ]
[FILE] fileobject.h [ edit | delete | rename | download ]
[FILE] floatobject.h [ edit | delete | rename | download ]
[FILE] frameobject.h [ edit | delete | rename | download ]
[FILE] funcobject.h [ edit | delete | rename | download ]
[FILE] genobject.h [ edit | delete | rename | download ]
[FILE] graminit.h [ edit | delete | rename | download ]
[FILE] grammar.h [ edit | delete | rename | download ]
[FILE] import.h [ edit | delete | rename | download ]
[FILE] intobject.h [ edit | delete | rename | download ]
[FILE] intrcheck.h [ edit | delete | rename | download ]
[FILE] iterobject.h [ edit | delete | rename | download ]
[FILE] listobject.h [ edit | delete | rename | download ]
[FILE] longintrepr.h [ edit | delete | rename | download ]
[FILE] longobject.h [ edit | delete | rename | download ]
[FILE] marshal.h [ edit | delete | rename | download ]
[FILE] memoryobject.h [ edit | delete | rename | download ]
[FILE] metagrammar.h [ edit | delete | rename | download ]
[FILE] methodobject.h [ edit | delete | rename | download ]
[FILE] modsupport.h [ edit | delete | rename | download ]
[FILE] moduleobject.h [ edit | delete | rename | download ]
[FILE] node.h [ edit | delete | rename | download ]
[FILE] object.h [ edit | delete | rename | download ]
[FILE] objimpl.h [ edit | delete | rename | download ]
[FILE] opcode.h [ edit | delete | rename | download ]
[FILE] osdefs.h [ edit | delete | rename | download ]
[FILE] parsetok.h [ edit | delete | rename | download ]
[FILE] patchlevel.h [ edit | delete | rename | download ]
[FILE] pgen.h [ edit | delete | rename | download ]
[FILE] pgenheaders.h [ edit | delete | rename | download ]
[FILE] py_curses.h [ edit | delete | rename | download ]
[FILE] pyarena.h [ edit | delete | rename | download ]
[FILE] pycapsule.h [ edit | delete | rename | download ]
[FILE] pyconfig-64.h [ edit | delete | rename | download ]
[FILE] pyconfig.h [ edit | delete | rename | download ]
[FILE] pyctype.h [ edit | delete | rename | download ]
[FILE] pydebug.h [ edit | delete | rename | download ]
[FILE] pyerrors.h [ edit | delete | rename | download ]
[FILE] pyexpat.h [ edit | delete | rename | download ]
[FILE] pyfpe.h [ edit | delete | rename | download ]
[FILE] pygetopt.h [ edit | delete | rename | download ]
[FILE] pymacconfig.h [ edit | delete | rename | download ]
[FILE] pymactoolbox.h [ edit | delete | rename | download ]
[FILE] pymath.h [ edit | delete | rename | download ]
[FILE] pymem.h [ edit | delete | rename | download ]
[FILE] pyport.h [ edit | delete | rename | download ]
[FILE] pystate.h [ edit | delete | rename | download ]
[FILE] pystrcmp.h [ edit | delete | rename | download ]
[FILE] pystrtod.h [ edit | delete | rename | download ]
[FILE] pythonrun.h [ edit | delete | rename | download ]
[FILE] pythread.h [ edit | delete | rename | download ]
[FILE] rangeobject.h [ edit | delete | rename | download ]
[FILE] setobject.h [ edit | delete | rename | download ]
[FILE] sliceobject.h [ edit | delete | rename | download ]
[FILE] stringobject.h [ edit | delete | rename | download ]
[FILE] structmember.h [ edit | delete | rename | download ]
[FILE] structseq.h [ edit | delete | rename | download ]
[FILE] symtable.h [ edit | delete | rename | download ]
[FILE] sysmodule.h [ edit | delete | rename | download ]
[FILE] timefuncs.h [ edit | delete | rename | download ]
[FILE] token.h [ edit | delete | rename | download ]
[FILE] traceback.h [ edit | delete | rename | download ]
[FILE] tupleobject.h [ edit | delete | rename | download ]
[FILE] ucnhash.h [ edit | delete | rename | download ]
[FILE] unicodeobject.h [ edit | delete | rename | download ]
[FILE] warnings.h [ edit | delete | rename | download ]
[FILE] weakrefobject.h [ edit | delete | rename | download ]

Viewing: /usr/include/python2.7/frameobject.h


/* Frame object interface */

#ifndef Py_FRAMEOBJECT_H
#define Py_FRAMEOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif

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;

typedef 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 */
    /* Next free slot in f_valuestack.  Frame creation sets to f_valuestack.
       Frame evaluation usually NULLs it, but a frame that yields sets it
       to the current stack top. */
    PyObject **f_stacktop;
    PyObject *f_trace;		/* Trace function */

    /* If an exception is raised in this frame, the next three are used to
     * record the exception info (if any) originally in the thread state.  See
     * comments before set_exc_info() -- it's not obvious.
     * Invariant:  if _type is NULL, then so are _value and _traceback.
     * Desired invariant:  all three are NULL, or all three are non-NULL.  That
     * one isn't currently true, but "should be".
     */
    PyObject *f_exc_type, *f_exc_value, *f_exc_traceback;

    PyThreadState *f_tstate;
    int f_lasti;		/* Last instruction if called */
    /* Call PyFrame_GetLineNumber() instead of reading this field
       directly.  As of 2.3 f_lineno is only valid when tracing is
       active (i.e. when f_trace is set).  At other times we use
       PyCode_Addr2Line to calculate the line from the current
       bytecode index. */
    int f_lineno;		/* Current line number */
    int f_iblock;		/* index in f_blockstack */
    PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */
    PyObject *f_localsplus[1];	/* locals+stack, dynamically sized */
} PyFrameObject;


/* Standard object interface */

PyAPI_DATA(PyTypeObject) PyFrame_Type;

#define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type)
#define PyFrame_IsRestricted(f) \
	((f)->f_builtins != (f)->f_tstate->interp->builtins)

PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
                                       PyObject *, 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 *);

/* Extend the value stack */

PyAPI_FUNC(PyObject **) PyFrame_ExtendStack(PyFrameObject *, int, int);

/* Conversions between "fast locals" and locals in dictionary */

PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);

PyAPI_FUNC(int) PyFrame_ClearFreeList(void);

PyAPI_FUNC(void) _PyFrame_DebugMallocStats(FILE *out);

/* Return the line of code the frame is currently executing. */
PyAPI_FUNC(int) PyFrame_GetLineNumber(PyFrameObject *);

#ifdef __cplusplus
}
#endif
#endif /* !Py_FRAMEOBJECT_H */

Upload File: