17db96d56Sopenharmony_ci.. highlight:: c
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci.. _coro-objects:
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciCoroutine Objects
67db96d56Sopenharmony_ci-----------------
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci.. versionadded:: 3.5
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ciCoroutine objects are what functions declared with an ``async`` keyword
117db96d56Sopenharmony_cireturn.
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci.. c:type:: PyCoroObject
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ci   The C structure used for coroutine objects.
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ci.. c:var:: PyTypeObject PyCoro_Type
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_ci   The type object corresponding to coroutine objects.
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci.. c:function:: int PyCoro_CheckExact(PyObject *ob)
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci   Return true if *ob*'s type is :c:type:`PyCoro_Type`; *ob* must not be ``NULL``.
277db96d56Sopenharmony_ci   This function always succeeds.
287db96d56Sopenharmony_ci
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci.. c:function:: PyObject* PyCoro_New(PyFrameObject *frame, PyObject *name, PyObject *qualname)
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci   Create and return a new coroutine object based on the *frame* object,
337db96d56Sopenharmony_ci   with ``__name__`` and ``__qualname__`` set to *name* and *qualname*.
347db96d56Sopenharmony_ci   A reference to *frame* is stolen by this function.  The *frame* argument
357db96d56Sopenharmony_ci   must not be ``NULL``.
36