/* Generated by Cython 3.1.2 */

#ifndef __PYX_HAVE_API__capnp__lib__capnp
#define __PYX_HAVE_API__capnp__lib__capnp
#ifdef __MINGW64__
#define MS_WIN64
#endif
#include "Python.h"

static PyObject *(*__pyx_api_f_5capnp_3lib_5capnp_wrap_dynamic_struct_reader)( ::capnp::Response< ::capnp::DynamicStruct> &) = 0;
#define wrap_dynamic_struct_reader __pyx_api_f_5capnp_3lib_5capnp_wrap_dynamic_struct_reader
static  ::kj::Promise<void>  *(*__pyx_api_f_5capnp_3lib_5capnp_call_server_method)(PyObject *, char *,  ::capnp::CallContext< ::capnp::DynamicStruct, ::capnp::DynamicStruct> &, PyObject *) = 0;
#define call_server_method __pyx_api_f_5capnp_3lib_5capnp_call_server_method
static PyObject *(*__pyx_api_f_5capnp_3lib_5capnp_wrap_kj_exception)( ::kj::Exception &) = 0;
#define wrap_kj_exception __pyx_api_f_5capnp_3lib_5capnp_wrap_kj_exception
static PyObject *(*__pyx_api_f_5capnp_3lib_5capnp_wrap_kj_exception_for_reraise)( ::kj::Exception &) = 0;
#define wrap_kj_exception_for_reraise __pyx_api_f_5capnp_3lib_5capnp_wrap_kj_exception_for_reraise
static PyObject *(*__pyx_api_f_5capnp_3lib_5capnp_get_exception_info)(PyObject *, PyObject *, PyObject *) = 0;
#define get_exception_info __pyx_api_f_5capnp_3lib_5capnp_get_exception_info
static void (*__pyx_api_f_5capnp_3lib_5capnp_promise_task_add_done_callback)(PyObject *, PyObject *, ::kj::PromiseFulfiller<void> &) = 0;
#define promise_task_add_done_callback __pyx_api_f_5capnp_3lib_5capnp_promise_task_add_done_callback
static void (*__pyx_api_f_5capnp_3lib_5capnp_promise_task_cancel)(PyObject *) = 0;
#define promise_task_cancel __pyx_api_f_5capnp_3lib_5capnp_promise_task_cancel
static void (*__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_write_start)(PyObject *,  ::kj::ArrayPtr< ::kj::ArrayPtr<uint8_t const >  const > , ::kj::PromiseFulfiller<void> &) = 0;
#define _asyncio_stream_write_start __pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_write_start
static void (*__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_write_stop)(PyObject *) = 0;
#define _asyncio_stream_write_stop __pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_write_stop
static void (*__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_read_start)(PyObject *, void *, size_t, size_t,  ::kj::PromiseFulfiller<size_t>  &) = 0;
#define _asyncio_stream_read_start __pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_read_start
static void (*__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_read_stop)(PyObject *) = 0;
#define _asyncio_stream_read_stop __pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_read_stop
static void (*__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_shutdown_write)(PyObject *) = 0;
#define _asyncio_stream_shutdown_write __pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_shutdown_write
static void (*__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_close)(PyObject *) = 0;
#define _asyncio_stream_close __pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_close
static PyObject *(*__pyx_api_f_5capnp_3lib_5capnp_make_async_message_reader)( ::kj::Own< ::capnp::MessageReader> ) = 0;
#define make_async_message_reader __pyx_api_f_5capnp_3lib_5capnp_make_async_message_reader
static int __Pyx_ImportFunction_3_1_2(PyObject *module, const char *funcname, void (**f)(void), const char *sig);

#ifndef __PYX_HAVE_RT_ImportFunction_3_1_2
#define __PYX_HAVE_RT_ImportFunction_3_1_2
static int __Pyx_ImportFunction_3_1_2(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(module, "__pyx_capi__");
    if (!d)
        goto bad;
#if (defined(Py_LIMITED_API) && Py_LIMITED_API >= 0x030d0000) || (!defined(Py_LIMITED_API) && PY_VERSION_HEX >= 0x030d0000)
    PyDict_GetItemStringRef(d, funcname, &cobj);
#else
    cobj = PyDict_GetItemString(d, funcname);
    Py_XINCREF(cobj);
#endif
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%.200s does not export expected C function %.200s",
                PyModule_GetName(module), funcname);
        goto bad;
    }
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    tmp.p = PyCapsule_GetPointer(cobj, sig);
    *f = tmp.fp;
    if (!(*f))
        goto bad;
    Py_DECREF(d);
    Py_DECREF(cobj);
    return 0;
bad:
    Py_XDECREF(d);
    Py_XDECREF(cobj);
    return -1;
}
#endif


static int import_capnp__lib__capnp(void) {
  PyObject *module = 0;
  module = PyImport_ImportModule("capnp.lib.capnp");
  if (!module) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "wrap_dynamic_struct_reader", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_wrap_dynamic_struct_reader, "PyObject *( ::capnp::Response< ::capnp::DynamicStruct> &)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "call_server_method", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_call_server_method, " ::kj::Promise<void>  *(PyObject *, char *,  ::capnp::CallContext< ::capnp::DynamicStruct, ::capnp::DynamicStruct> &, PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "wrap_kj_exception", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_wrap_kj_exception, "PyObject *( ::kj::Exception &)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "wrap_kj_exception_for_reraise", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_wrap_kj_exception_for_reraise, "PyObject *( ::kj::Exception &)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "get_exception_info", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_get_exception_info, "PyObject *(PyObject *, PyObject *, PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "promise_task_add_done_callback", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_promise_task_add_done_callback, "void (PyObject *, PyObject *, ::kj::PromiseFulfiller<void> &)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "promise_task_cancel", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_promise_task_cancel, "void (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "_asyncio_stream_write_start", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_write_start, "void (PyObject *,  ::kj::ArrayPtr< ::kj::ArrayPtr<uint8_t const >  const > , ::kj::PromiseFulfiller<void> &)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "_asyncio_stream_write_stop", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_write_stop, "void (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "_asyncio_stream_read_start", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_read_start, "void (PyObject *, void *, size_t, size_t,  ::kj::PromiseFulfiller<size_t>  &)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "_asyncio_stream_read_stop", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_read_stop, "void (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "_asyncio_stream_shutdown_write", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_shutdown_write, "void (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "_asyncio_stream_close", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp__asyncio_stream_close, "void (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_1_2(module, "make_async_message_reader", (void (**)(void))&__pyx_api_f_5capnp_3lib_5capnp_make_async_message_reader, "PyObject *( ::kj::Own< ::capnp::MessageReader> )") < 0) goto bad;
  Py_DECREF(module); module = 0;
  return 0;
  bad:
  Py_XDECREF(module);
  return -1;
}

#endif /* !__PYX_HAVE_API__capnp__lib__capnp */
