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