vidya7732/AI_Doctor_LLM_GenModel
0
1#ifndef Py_CONTEXT_H2#define Py_CONTEXT_H3#ifdef __cplusplus4extern "C" {5#endif6 7#ifndef Py_LIMITED_API8 9 10PyAPI_DATA(PyTypeObject) PyContext_Type;11typedef struct _pycontextobject PyContext;12 13PyAPI_DATA(PyTypeObject) PyContextVar_Type;14typedef struct _pycontextvarobject PyContextVar;15 16PyAPI_DATA(PyTypeObject) PyContextToken_Type;17typedef struct _pycontexttokenobject PyContextToken;18 19 20#define PyContext_CheckExact(o) Py_IS_TYPE(o, &PyContext_Type)21#define PyContextVar_CheckExact(o) Py_IS_TYPE(o, &PyContextVar_Type)22#define PyContextToken_CheckExact(o) Py_IS_TYPE(o, &PyContextToken_Type)23 24 25PyAPI_FUNC(PyObject *) PyContext_New(void);26PyAPI_FUNC(PyObject *) PyContext_Copy(PyObject *);27PyAPI_FUNC(PyObject *) PyContext_CopyCurrent(void);28 29PyAPI_FUNC(int) PyContext_Enter(PyObject *);30PyAPI_FUNC(int) PyContext_Exit(PyObject *);31 32 33/* Create a new context variable.34 35 default_value can be NULL.36*/37PyAPI_FUNC(PyObject *) PyContextVar_New(38 const char *name, PyObject *default_value);39 40 41/* Get a value for the variable.42 43 Returns -1 if an error occurred during lookup.44 45 Returns 0 if value either was or was not found.46 47 If value was found, *value will point to it.48 If not, it will point to:49 50 - default_value, if not NULL;51 - the default value of "var", if not NULL;52 - NULL.53 54 '*value' will be a new ref, if not NULL.55*/56PyAPI_FUNC(int) PyContextVar_Get(57 PyObject *var, PyObject *default_value, PyObject **value);58 59 60/* Set a new value for the variable.61 Returns NULL if an error occurs.62*/63PyAPI_FUNC(PyObject *) PyContextVar_Set(PyObject *var, PyObject *value);64 65 66/* Reset a variable to its previous value.67 Returns 0 on success, -1 on error.68*/69PyAPI_FUNC(int) PyContextVar_Reset(PyObject *var, PyObject *token);70 71 72/* This method is exposed only for CPython tests. Don not use it. */73PyAPI_FUNC(PyObject *) _PyContext_NewHamtForTests(void);74 75 76#endif /* !Py_LIMITED_API */77 78#ifdef __cplusplus79}80#endif81#endif /* !Py_CONTEXT_H */82 