Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python313/include/python3.13/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python313/include/python3.13/ceval.h
/* Interface to random parts in ceval.c */

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


PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyObject *, PyObject *, PyObject *);

PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyObject *co,
                                         PyObject *globals,
                                         PyObject *locals,
                                         PyObject *const *args, int argc,
                                         PyObject *const *kwds, int kwdc,
                                         PyObject *const *defs, int defc,
                                         PyObject *kwdefs, PyObject *closure);

PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(void);
PyAPI_FUNC(PyObject *) PyEval_GetGlobals(void);
PyAPI_FUNC(PyObject *) PyEval_GetLocals(void);
PyAPI_FUNC(PyFrameObject *) PyEval_GetFrame(void);

PyAPI_FUNC(PyObject *) PyEval_GetFrameBuiltins(void);
PyAPI_FUNC(PyObject *) PyEval_GetFrameGlobals(void);
PyAPI_FUNC(PyObject *) PyEval_GetFrameLocals(void);

PyAPI_FUNC(int) Py_AddPendingCall(int (*func)(void *), void *arg);
PyAPI_FUNC(int) Py_MakePendingCalls(void);

/* Protection against deeply nested recursive calls

   In Python 3.0, this protection has two levels:
   * normal anti-recursion protection is triggered when the recursion level
     exceeds the current recursion limit. It raises a RecursionError, and sets
     the "overflowed" flag in the thread state structure. This flag
     temporarily *disables* the normal protection; this allows cleanup code
     to potentially outgrow the recursion limit while processing the
     RecursionError.
   * "last chance" anti-recursion protection is triggered when the recursion
     level exceeds "current recursion limit + 50". By construction, this
     protection can only be triggered when the "overflowed" flag is set. It
     means the cleanup code has itself gone into an infinite loop, or the
     RecursionError has been mistakingly ignored. When this protection is
     triggered, the interpreter aborts with a Fatal Error.

   In addition, the "overflowed" flag is automatically reset when the
   recursion level drops below "current recursion limit - 50". This heuristic
   is meant to ensure that the normal anti-recursion protection doesn't get
   disabled too long.

   Please note: this scheme has its own limitations. See:
   http://mail.python.org/pipermail/python-dev/2008-August/082106.html
   for some observations.
*/
PyAPI_FUNC(void) Py_SetRecursionLimit(int);
PyAPI_FUNC(int) Py_GetRecursionLimit(void);

PyAPI_FUNC(int) Py_EnterRecursiveCall(const char *where);
PyAPI_FUNC(void) Py_LeaveRecursiveCall(void);

PyAPI_FUNC(const char *) PyEval_GetFuncName(PyObject *);
PyAPI_FUNC(const char *) PyEval_GetFuncDesc(PyObject *);

PyAPI_FUNC(PyObject *) PyEval_EvalFrame(PyFrameObject *);
PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(PyFrameObject *f, int exc);

/* Interface for threads.

   A module that plans to do a blocking system call (or something else
   that lasts a long time and doesn't touch Python data) can allow other
   threads to run as follows:

    ...preparations here...
    Py_BEGIN_ALLOW_THREADS
    ...blocking system call here...
    Py_END_ALLOW_THREADS
    ...interpret result here...

   The Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS pair expands to a
   {}-surrounded block.
   To leave the block in the middle (e.g., with return), you must insert
   a line containing Py_BLOCK_THREADS before the return, e.g.

    if (...premature_exit...) {
        Py_BLOCK_THREADS
        PyErr_SetFromErrno(PyExc_OSError);
        return NULL;
    }

   An alternative is:

    Py_BLOCK_THREADS
    if (...premature_exit...) {
        PyErr_SetFromErrno(PyExc_OSError);
        return NULL;
    }
    Py_UNBLOCK_THREADS

   For convenience, that the value of 'errno' is restored across
   Py_END_ALLOW_THREADS and Py_BLOCK_THREADS.

   WARNING: NEVER NEST CALLS TO Py_BEGIN_ALLOW_THREADS AND
   Py_END_ALLOW_THREADS!!!

   Note that not yet all candidates have been converted to use this
   mechanism!
*/

PyAPI_FUNC(PyThreadState *) PyEval_SaveThread(void);
PyAPI_FUNC(void) PyEval_RestoreThread(PyThreadState *);

Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);

PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate);
PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate);

#define Py_BEGIN_ALLOW_THREADS { \
                        PyThreadState *_save; \
                        _save = PyEval_SaveThread();
#define Py_BLOCK_THREADS        PyEval_RestoreThread(_save);
#define Py_UNBLOCK_THREADS      _save = PyEval_SaveThread();
#define Py_END_ALLOW_THREADS    PyEval_RestoreThread(_save); \
                 }

/* Masks and values used by FORMAT_VALUE opcode. */
#define FVC_MASK      0x3
#define FVC_NONE      0x0
#define FVC_STR       0x1
#define FVC_REPR      0x2
#define FVC_ASCII     0x3
#define FVS_MASK      0x4
#define FVS_HAVE_SPEC 0x4

#ifndef Py_LIMITED_API
#  define Py_CPYTHON_CEVAL_H
#  include "cpython/ceval.h"
#  undef Py_CPYTHON_CEVAL_H
#endif

#ifdef __cplusplus
}
#endif
#endif /* !Py_CEVAL_H */
Name
Size
Permissions
Options
cpython
--
drwxr-xr-x
internal
--
drwxr-xr-x
Python.h
3.867 KB
-rw-r--r--
abstract.h
31.986 KB
-rw-r--r--
bltinmodule.h
0.258 KB
-rw-r--r--
boolobject.h
1.567 KB
-rw-r--r--
bytearrayobject.h
1.432 KB
-rw-r--r--
bytesobject.h
2.509 KB
-rw-r--r--
ceval.h
4.999 KB
-rw-r--r--
codecs.h
5.308 KB
-rw-r--r--
compile.h
0.438 KB
-rw-r--r--
complexobject.h
0.711 KB
-rw-r--r--
critical_section.h
0.307 KB
-rw-r--r--
datetime.h
9.54 KB
-rw-r--r--
descrobject.h
3.008 KB
-rw-r--r--
dictobject.h
4.278 KB
-rw-r--r--
dynamic_annotations.h
21.944 KB
-rw-r--r--
enumobject.h
0.247 KB
-rw-r--r--
errcode.h
1.928 KB
-rw-r--r--
exports.h
4.487 KB
-rw-r--r--
fileobject.h
1.325 KB
-rw-r--r--
fileutils.h
1.386 KB
-rw-r--r--
floatobject.h
1.496 KB
-rw-r--r--
frameobject.h
0.328 KB
-rw-r--r--
genericaliasobject.h
0.326 KB
-rw-r--r--
import.h
3.159 KB
-rw-r--r--
intrcheck.h
0.522 KB
-rw-r--r--
iterobject.h
0.513 KB
-rw-r--r--
listobject.h
1.873 KB
-rw-r--r--
lock.h
0.236 KB
-rw-r--r--
longobject.h
3.802 KB
-rw-r--r--
marshal.h
0.808 KB
-rw-r--r--
memoryobject.h
1.056 KB
-rw-r--r--
methodobject.h
5.215 KB
-rw-r--r--
modsupport.h
5.504 KB
-rw-r--r--
moduleobject.h
3.593 KB
-rw-r--r--
monitoring.h
0.323 KB
-rw-r--r--
object.h
46.522 KB
-rw-r--r--
objimpl.h
8.184 KB
-rw-r--r--
opcode.h
1.503 KB
-rw-r--r--
opcode_ids.h
11.567 KB
-rw-r--r--
osdefs.h
0.828 KB
-rw-r--r--
osmodule.h
0.284 KB
-rw-r--r--
patchlevel.h
1.269 KB
-rw-r--r--
py_curses.h
3.427 KB
-rw-r--r--
pyatomic.h
0.251 KB
-rw-r--r--
pybuffer.h
5.158 KB
-rw-r--r--
pycapsule.h
1.686 KB
-rw-r--r--
pyconfig-64.h
57.078 KB
-rw-r--r--
pyconfig.h
0.158 KB
-rw-r--r--
pydtrace.h
2.348 KB
-rw-r--r--
pyerrors.h
12.664 KB
-rw-r--r--
pyexpat.h
2.512 KB
-rw-r--r--
pyframe.h
0.538 KB
-rw-r--r--
pyhash.h
1.617 KB
-rw-r--r--
pylifecycle.h
2.355 KB
-rw-r--r--
pymacconfig.h
2.438 KB
-rw-r--r--
pymacro.h
7.183 KB
-rw-r--r--
pymath.h
1.648 KB
-rw-r--r--
pymem.h
4.334 KB
-rw-r--r--
pyport.h
19.818 KB
-rw-r--r--
pystate.h
4.525 KB
-rw-r--r--
pystats.h
0.582 KB
-rw-r--r--
pystrcmp.h
0.426 KB
-rw-r--r--
pystrtod.h
1.218 KB
-rw-r--r--
pythonrun.h
1.282 KB
-rw-r--r--
pythread.h
3.908 KB
-rw-r--r--
pytypedefs.h
0.831 KB
-rw-r--r--
rangeobject.h
0.615 KB
-rw-r--r--
setobject.h
1.521 KB
-rw-r--r--
sliceobject.h
2.6 KB
-rw-r--r--
structmember.h
1.606 KB
-rw-r--r--
structseq.h
1.277 KB
-rw-r--r--
sysmodule.h
1.222 KB
-rw-r--r--
traceback.h
0.571 KB
-rw-r--r--
tupleobject.h
1.577 KB
-rw-r--r--
typeslots.h
2.287 KB
-rw-r--r--
unicodeobject.h
34.591 KB
-rw-r--r--
warnings.h
1.103 KB
-rw-r--r--
weakrefobject.h
1.358 KB
-rw-r--r--