#define _CFFI_

/* We try to define Py_LIMITED_API before including Python.h.

   Mess: we can only define it if Py_DEBUG, Py_TRACE_REFS and
   Py_REF_DEBUG are not defined.  This is a best-effort approximation:
   we can learn about Py_DEBUG from pyconfig.h, but it is unclear if
   the same works for the other two macros.  Py_DEBUG implies them,
   but not the other way around.

   The implementation is messy (issue #350): on Windows, with _MSC_VER,
   we have to define Py_LIMITED_API even before including pyconfig.h.
   In that case, we guess what pyconfig.h will do to the macros above,
   and check our guess after the #include.

   Note that on Windows, with CPython 3.x, you need >= 3.5 and virtualenv
   version >= 16.0.0.  With older versions of either, you don't get a
   copy of PYTHON3.DLL in the virtualenv.  We can't check the version of
   CPython *before* we even include pyconfig.h.  ffi.set_source() puts
   a ``#define _CFFI_NO_LIMITED_API'' at the start of this file if it is
   running on Windows < 3.5, as an attempt at fixing it, but that's
   arguably wrong because it may not be the target version of Python.
   Still better than nothing I guess.  As another workaround, you can
   remove the definition of Py_LIMITED_API here.

   See also 'py_limited_api' in cffi/setuptools_ext.py.
*/
#if !defined(_CFFI_USE_EMBEDDING) && !defined(Py_LIMITED_API)
#  ifdef _MSC_VER
#    if !defined(_DEBUG) && !defined(Py_DEBUG) && !defined(Py_TRACE_REFS) && !defined(Py_REF_DEBUG) && !defined(_CFFI_NO_LIMITED_API)
#      if !defined(Py_GIL_DISABLED)
#        define Py_LIMITED_API
#      else
#        define Py_LIMITED_API 0x030f0000
#      endif
#    endif

#    include <pyconfig.h>
     /* sanity-check: Py_LIMITED_API will cause crashes if any of these
        are also defined.  Normally, the Python file PC/pyconfig.h does not
        cause any of these to be defined, with the exception that _DEBUG
        causes Py_DEBUG.  Double-check that. */
#    ifdef Py_LIMITED_API
#      if defined(Py_DEBUG)
#        error "pyconfig.h unexpectedly defines Py_DEBUG, but Py_LIMITED_API is set"
#      endif
#      if defined(Py_TRACE_REFS)
#        error "pyconfig.h unexpectedly defines Py_TRACE_REFS, but Py_LIMITED_API is set"
#      endif
#      if defined(Py_REF_DEBUG)
#        error "pyconfig.h unexpectedly defines Py_REF_DEBUG, but Py_LIMITED_API is set"
#      endif
#    endif
#  else
#    include <pyconfig.h>
#    if !defined(Py_DEBUG) && !defined(Py_TRACE_REFS) && !defined(Py_REF_DEBUG) && !defined(_CFFI_NO_LIMITED_API)
#      if !defined(Py_GIL_DISABLED)
#        define Py_LIMITED_API
#      else
#        define Py_LIMITED_API 0x030f0000
#      endif
#    endif
#  endif
#endif

#include <Python.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <stddef.h>
#include <stdlib.h>
#include <string.h>


/* This part is from file 'cffi/parse_c_type.h'.  It is copied at the
   beginning of C sources generated by CFFI's ffi.set_source(). */

typedef void *_cffi_opcode_t;

#define _CFFI_OP(opcode, arg)   (_cffi_opcode_t)(opcode | (((uintptr_t)(arg)) << 8))
#define _CFFI_GETOP(cffi_opcode)    ((unsigned char)(uintptr_t)cffi_opcode)
#define _CFFI_GETARG(cffi_opcode)   (((intptr_t)cffi_opcode) >> 8)

#define _CFFI_OP_PRIMITIVE       1
#define _CFFI_OP_POINTER         3
#define _CFFI_OP_ARRAY           5
#define _CFFI_OP_OPEN_ARRAY      7
#define _CFFI_OP_STRUCT_UNION    9
#define _CFFI_OP_ENUM           11
#define _CFFI_OP_FUNCTION       13
#define _CFFI_OP_FUNCTION_END   15
#define _CFFI_OP_NOOP           17
#define _CFFI_OP_BITFIELD       19
#define _CFFI_OP_TYPENAME       21
#define _CFFI_OP_CPYTHON_BLTN_V 23   // varargs
#define _CFFI_OP_CPYTHON_BLTN_N 25   // noargs
#define _CFFI_OP_CPYTHON_BLTN_O 27   // O  (i.e. a single arg)
#define _CFFI_OP_CONSTANT       29
#define _CFFI_OP_CONSTANT_INT   31
#define _CFFI_OP_GLOBAL_VAR     33
#define _CFFI_OP_DLOPEN_FUNC    35
#define _CFFI_OP_DLOPEN_CONST   37
#define _CFFI_OP_GLOBAL_VAR_F   39
#define _CFFI_OP_EXTERN_PYTHON  41

#define _CFFI_PRIM_VOID          0
#define _CFFI_PRIM_BOOL          1
#define _CFFI_PRIM_CHAR          2
#define _CFFI_PRIM_SCHAR         3
#define _CFFI_PRIM_UCHAR         4
#define _CFFI_PRIM_SHORT         5
#define _CFFI_PRIM_USHORT        6
#define _CFFI_PRIM_INT           7
#define _CFFI_PRIM_UINT          8
#define _CFFI_PRIM_LONG          9
#define _CFFI_PRIM_ULONG        10
#define _CFFI_PRIM_LONGLONG     11
#define _CFFI_PRIM_ULONGLONG    12
#define _CFFI_PRIM_FLOAT        13
#define _CFFI_PRIM_DOUBLE       14
#define _CFFI_PRIM_LONGDOUBLE   15

#define _CFFI_PRIM_WCHAR        16
#define _CFFI_PRIM_INT8         17
#define _CFFI_PRIM_UINT8        18
#define _CFFI_PRIM_INT16        19
#define _CFFI_PRIM_UINT16       20
#define _CFFI_PRIM_INT32        21
#define _CFFI_PRIM_UINT32       22
#define _CFFI_PRIM_INT64        23
#define _CFFI_PRIM_UINT64       24
#define _CFFI_PRIM_INTPTR       25
#define _CFFI_PRIM_UINTPTR      26
#define _CFFI_PRIM_PTRDIFF      27
#define _CFFI_PRIM_SIZE         28
#define _CFFI_PRIM_SSIZE        29
#define _CFFI_PRIM_INT_LEAST8   30
#define _CFFI_PRIM_UINT_LEAST8  31
#define _CFFI_PRIM_INT_LEAST16  32
#define _CFFI_PRIM_UINT_LEAST16 33
#define _CFFI_PRIM_INT_LEAST32  34
#define _CFFI_PRIM_UINT_LEAST32 35
#define _CFFI_PRIM_INT_LEAST64  36
#define _CFFI_PRIM_UINT_LEAST64 37
#define _CFFI_PRIM_INT_FAST8    38
#define _CFFI_PRIM_UINT_FAST8   39
#define _CFFI_PRIM_INT_FAST16   40
#define _CFFI_PRIM_UINT_FAST16  41
#define _CFFI_PRIM_INT_FAST32   42
#define _CFFI_PRIM_UINT_FAST32  43
#define _CFFI_PRIM_INT_FAST64   44
#define _CFFI_PRIM_UINT_FAST64  45
#define _CFFI_PRIM_INTMAX       46
#define _CFFI_PRIM_UINTMAX      47
#define _CFFI_PRIM_FLOATCOMPLEX 48
#define _CFFI_PRIM_DOUBLECOMPLEX 49
#define _CFFI_PRIM_CHAR16       50
#define _CFFI_PRIM_CHAR32       51

#define _CFFI__NUM_PRIM         52
#define _CFFI__UNKNOWN_PRIM           (-1)
#define _CFFI__UNKNOWN_FLOAT_PRIM     (-2)
#define _CFFI__UNKNOWN_LONG_DOUBLE    (-3)

#define _CFFI__IO_FILE_STRUCT         (-1)


struct _cffi_global_s {
    const char *name;
    void *address;
    _cffi_opcode_t type_op;
    void *size_or_direct_fn;  // OP_GLOBAL_VAR: size, or 0 if unknown
                              // OP_CPYTHON_BLTN_*: addr of direct function
};

struct _cffi_getconst_s {
    unsigned long long value;
    const struct _cffi_type_context_s *ctx;
    int gindex;
};

struct _cffi_struct_union_s {
    const char *name;
    int type_index;          // -> _cffi_types, on a OP_STRUCT_UNION
    int flags;               // _CFFI_F_* flags below
    size_t size;
    int alignment;
    int first_field_index;   // -> _cffi_fields array
    int num_fields;
};
#define _CFFI_F_UNION         0x01   // is a union, not a struct
#define _CFFI_F_CHECK_FIELDS  0x02   // complain if fields are not in the
                                     // "standard layout" or if some are missing
#define _CFFI_F_PACKED        0x04   // for CHECK_FIELDS, assume a packed struct
#define _CFFI_F_EXTERNAL      0x08   // in some other ffi.include()
#define _CFFI_F_OPAQUE        0x10   // opaque

struct _cffi_field_s {
    const char *name;
    size_t field_offset;
    size_t field_size;
    _cffi_opcode_t field_type_op;
};

struct _cffi_enum_s {
    const char *name;
    int type_index;          // -> _cffi_types, on a OP_ENUM
    int type_prim;           // _CFFI_PRIM_xxx
    const char *enumerators; // comma-delimited string
};

struct _cffi_typename_s {
    const char *name;
    int type_index;   /* if opaque, points to a possibly artificial
                         OP_STRUCT which is itself opaque */
};

struct _cffi_type_context_s {
    _cffi_opcode_t *types;
    const struct _cffi_global_s *globals;
    const struct _cffi_field_s *fields;
    const struct _cffi_struct_union_s *struct_unions;
    const struct _cffi_enum_s *enums;
    const struct _cffi_typename_s *typenames;
    int num_globals;
    int num_struct_unions;
    int num_enums;
    int num_typenames;
    const char *const *includes;
    int num_types;
    int flags;      /* future extension */
};

struct _cffi_parse_info_s {
    const struct _cffi_type_context_s *ctx;
    _cffi_opcode_t *output;
    unsigned int output_size;
    size_t error_location;
    const char *error_message;
};

struct _cffi_externpy_s {
    const char *name;
    size_t size_of_result;
    void *reserved1, *reserved2;
};

#ifdef _CFFI_INTERNAL
static int parse_c_type(struct _cffi_parse_info_s *info, const char *input);
static int search_in_globals(const struct _cffi_type_context_s *ctx,
                             const char *search, size_t search_len);
static int search_in_struct_unions(const struct _cffi_type_context_s *ctx,
                                   const char *search, size_t search_len);
#endif

/* this block of #ifs should be kept exactly identical between
   c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py
   and cffi/_cffi_include.h */
#if defined(_MSC_VER)
# include <malloc.h>   /* for alloca() */
# if _MSC_VER < 1600   /* MSVC < 2010 */
   typedef __int8 int8_t;
   typedef __int16 int16_t;
   typedef __int32 int32_t;
   typedef __int64 int64_t;
   typedef unsigned __int8 uint8_t;
   typedef unsigned __int16 uint16_t;
   typedef unsigned __int32 uint32_t;
   typedef unsigned __int64 uint64_t;
   typedef __int8 int_least8_t;
   typedef __int16 int_least16_t;
   typedef __int32 int_least32_t;
   typedef __int64 int_least64_t;
   typedef unsigned __int8 uint_least8_t;
   typedef unsigned __int16 uint_least16_t;
   typedef unsigned __int32 uint_least32_t;
   typedef unsigned __int64 uint_least64_t;
   typedef __int8 int_fast8_t;
   typedef __int16 int_fast16_t;
   typedef __int32 int_fast32_t;
   typedef __int64 int_fast64_t;
   typedef unsigned __int8 uint_fast8_t;
   typedef unsigned __int16 uint_fast16_t;
   typedef unsigned __int32 uint_fast32_t;
   typedef unsigned __int64 uint_fast64_t;
   typedef __int64 intmax_t;
   typedef unsigned __int64 uintmax_t;
# else
#  include <stdint.h>
# endif
# if _MSC_VER < 1800   /* MSVC < 2013 */
#  ifndef __cplusplus
    typedef unsigned char _Bool;
#  endif
# endif
# define _cffi_float_complex_t   _Fcomplex    /* include <complex.h> for it */
# define _cffi_double_complex_t  _Dcomplex    /* include <complex.h> for it */
#else
# include <stdint.h>
# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux)
#  include <alloca.h>
# endif
# define _cffi_float_complex_t   float _Complex
# define _cffi_double_complex_t  double _Complex
#endif

#ifdef __GNUC__
# define _CFFI_UNUSED_FN  __attribute__((unused))
#else
# define _CFFI_UNUSED_FN  /* nothing */
#endif

#ifdef __cplusplus
# ifndef _Bool
   typedef bool _Bool;   /* semi-hackish: C++ has no _Bool; bool is builtin */
# endif
#endif

/**********  CPython-specific section  **********/
#ifndef PYPY_VERSION


#define _cffi_from_c_double PyFloat_FromDouble
#define _cffi_from_c_float PyFloat_FromDouble
#define _cffi_from_c_long PyLong_FromLong
#define _cffi_from_c_ulong PyLong_FromUnsignedLong
#define _cffi_from_c_longlong PyLong_FromLongLong
#define _cffi_from_c_ulonglong PyLong_FromUnsignedLongLong
#define _cffi_from_c__Bool PyBool_FromLong

#define _cffi_to_c_double PyFloat_AsDouble
#define _cffi_to_c_float PyFloat_AsDouble

#define _cffi_from_c_int(x, type)                                        \
    (((type)-1) > 0 ? /* unsigned */                                     \
        (sizeof(type) < sizeof(long) ?                                   \
            PyLong_FromLong((long)x) :                                   \
         sizeof(type) == sizeof(long) ?                                  \
            PyLong_FromUnsignedLong((unsigned long)x) :                  \
            PyLong_FromUnsignedLongLong((unsigned long long)x)) :        \
        (sizeof(type) <= sizeof(long) ?                                  \
            PyLong_FromLong((long)x) :                                   \
            PyLong_FromLongLong((long long)x)))

#define _cffi_to_c_int(o, type)                                          \
    ((type)(                                                             \
     sizeof(type) == 1 ? (((type)-1) > 0 ? (type)_cffi_to_c_u8(o)        \
                                         : (type)_cffi_to_c_i8(o)) :     \
     sizeof(type) == 2 ? (((type)-1) > 0 ? (type)_cffi_to_c_u16(o)       \
                                         : (type)_cffi_to_c_i16(o)) :    \
     sizeof(type) == 4 ? (((type)-1) > 0 ? (type)_cffi_to_c_u32(o)       \
                                         : (type)_cffi_to_c_i32(o)) :    \
     sizeof(type) == 8 ? (((type)-1) > 0 ? (type)_cffi_to_c_u64(o)       \
                                         : (type)_cffi_to_c_i64(o)) :    \
     (Py_FatalError("unsupported size for type " #type), (type)0)))

#define _cffi_to_c_i8                                                    \
                 ((int(*)(PyObject *))_cffi_exports[1])
#define _cffi_to_c_u8                                                    \
                 ((int(*)(PyObject *))_cffi_exports[2])
#define _cffi_to_c_i16                                                   \
                 ((int(*)(PyObject *))_cffi_exports[3])
#define _cffi_to_c_u16                                                   \
                 ((int(*)(PyObject *))_cffi_exports[4])
#define _cffi_to_c_i32                                                   \
                 ((int(*)(PyObject *))_cffi_exports[5])
#define _cffi_to_c_u32                                                   \
                 ((unsigned int(*)(PyObject *))_cffi_exports[6])
#define _cffi_to_c_i64                                                   \
                 ((long long(*)(PyObject *))_cffi_exports[7])
#define _cffi_to_c_u64                                                   \
                 ((unsigned long long(*)(PyObject *))_cffi_exports[8])
#define _cffi_to_c_char                                                  \
                 ((int(*)(PyObject *))_cffi_exports[9])
#define _cffi_from_c_pointer                                             \
    ((PyObject *(*)(char *, struct _cffi_ctypedescr *))_cffi_exports[10])
#define _cffi_to_c_pointer                                               \
    ((char *(*)(PyObject *, struct _cffi_ctypedescr *))_cffi_exports[11])
#define _cffi_get_struct_layout                                          \
    not used any more
#define _cffi_restore_errno                                              \
    ((void(*)(void))_cffi_exports[13])
#define _cffi_save_errno                                                 \
    ((void(*)(void))_cffi_exports[14])
#define _cffi_from_c_char                                                \
    ((PyObject *(*)(char))_cffi_exports[15])
#define _cffi_from_c_deref                                               \
    ((PyObject *(*)(char *, struct _cffi_ctypedescr *))_cffi_exports[16])
#define _cffi_to_c                                                       \
    ((int(*)(char *, struct _cffi_ctypedescr *, PyObject *))_cffi_exports[17])
#define _cffi_from_c_struct                                              \
    ((PyObject *(*)(char *, struct _cffi_ctypedescr *))_cffi_exports[18])
#define _cffi_to_c_wchar_t                                               \
    ((_cffi_wchar_t(*)(PyObject *))_cffi_exports[19])
#define _cffi_from_c_wchar_t                                             \
    ((PyObject *(*)(_cffi_wchar_t))_cffi_exports[20])
#define _cffi_to_c_long_double                                           \
    ((long double(*)(PyObject *))_cffi_exports[21])
#define _cffi_to_c__Bool                                                 \
    ((_Bool(*)(PyObject *))_cffi_exports[22])
#define _cffi_prepare_pointer_call_argument                              \
    ((Py_ssize_t(*)(struct _cffi_ctypedescr *,                           \
                    PyObject *, char **))_cffi_exports[23])
#define _cffi_convert_array_from_object                                  \
    ((int(*)(char *, struct _cffi_ctypedescr *, PyObject *))_cffi_exports[24])
#define _CFFI_CPIDX  25
#define _cffi_call_python                                                \
    ((void(*)(struct _cffi_externpy_s *, char *))_cffi_exports[_CFFI_CPIDX])
#define _cffi_to_c_wchar3216_t                                           \
    ((int(*)(PyObject *))_cffi_exports[26])
#define _cffi_from_c_wchar3216_t                                         \
    ((PyObject *(*)(int))_cffi_exports[27])
#define _CFFI_NUM_EXPORTS 28

struct _cffi_ctypedescr;

static void *_cffi_exports[_CFFI_NUM_EXPORTS];

#define _cffi_type(index)   (                           \
    assert((((uintptr_t)_cffi_types[index]) & 1) == 0), \
    (struct _cffi_ctypedescr *)_cffi_types[index])

static PyObject *_cffi_init(const char *module_name, Py_ssize_t version,
                            const struct _cffi_type_context_s *ctx)
{
    PyObject *module, *o_arg, *new_module;
    void *raw[] = {
        (void *)module_name,
        (void *)version,
        (void *)_cffi_exports,
        (void *)ctx,
    };

    module = PyImport_ImportModule("_cffi_backend");
    if (module == NULL)
        goto failure;

    o_arg = PyLong_FromVoidPtr((void *)raw);
    if (o_arg == NULL)
        goto failure;

    new_module = PyObject_CallMethod(
        module, (char *)"_init_cffi_1_0_external_module", (char *)"O", o_arg);

    Py_DECREF(o_arg);
    Py_DECREF(module);
    return new_module;

  failure:
    Py_XDECREF(module);
    return NULL;
}


#ifdef HAVE_WCHAR_H
typedef wchar_t _cffi_wchar_t;
#else
typedef uint16_t _cffi_wchar_t;   /* same random pick as _cffi_backend.c */
#endif

_CFFI_UNUSED_FN static uint16_t _cffi_to_c_char16_t(PyObject *o)
{
    if (sizeof(_cffi_wchar_t) == 2)
        return (uint16_t)_cffi_to_c_wchar_t(o);
    else
        return (uint16_t)_cffi_to_c_wchar3216_t(o);
}

_CFFI_UNUSED_FN static PyObject *_cffi_from_c_char16_t(uint16_t x)
{
    if (sizeof(_cffi_wchar_t) == 2)
        return _cffi_from_c_wchar_t((_cffi_wchar_t)x);
    else
        return _cffi_from_c_wchar3216_t((int)x);
}

_CFFI_UNUSED_FN static int _cffi_to_c_char32_t(PyObject *o)
{
    if (sizeof(_cffi_wchar_t) == 4)
        return (int)_cffi_to_c_wchar_t(o);
    else
        return (int)_cffi_to_c_wchar3216_t(o);
}

_CFFI_UNUSED_FN static PyObject *_cffi_from_c_char32_t(unsigned int x)
{
    if (sizeof(_cffi_wchar_t) == 4)
        return _cffi_from_c_wchar_t((_cffi_wchar_t)x);
    else
        return _cffi_from_c_wchar3216_t((int)x);
}

union _cffi_union_alignment_u {
    unsigned char m_char;
    unsigned short m_short;
    unsigned int m_int;
    unsigned long m_long;
    unsigned long long m_longlong;
    float m_float;
    double m_double;
    long double m_longdouble;
};

struct _cffi_freeme_s {
    struct _cffi_freeme_s *next;
    union _cffi_union_alignment_u alignment;
};

_CFFI_UNUSED_FN static int
_cffi_convert_array_argument(struct _cffi_ctypedescr *ctptr, PyObject *arg,
                             char **output_data, Py_ssize_t datasize,
                             struct _cffi_freeme_s **freeme)
{
    char *p;
    if (datasize < 0)
        return -1;

    p = *output_data;
    if (p == NULL) {
        struct _cffi_freeme_s *fp = (struct _cffi_freeme_s *)PyObject_Malloc(
            offsetof(struct _cffi_freeme_s, alignment) + (size_t)datasize);
        if (fp == NULL)
            return -1;
        fp->next = *freeme;
        *freeme = fp;
        p = *output_data = (char *)&fp->alignment;
    }
    memset((void *)p, 0, (size_t)datasize);
    return _cffi_convert_array_from_object(p, ctptr, arg);
}

_CFFI_UNUSED_FN static void
_cffi_free_array_arguments(struct _cffi_freeme_s *freeme)
{
    do {
        void *p = (void *)freeme;
        freeme = freeme->next;
        PyObject_Free(p);
    } while (freeme != NULL);
}

/**********  end CPython-specific section  **********/
#else
_CFFI_UNUSED_FN
static void (*_cffi_call_python_org)(struct _cffi_externpy_s *, char *);
# define _cffi_call_python  _cffi_call_python_org
#endif


#define _cffi_array_len(array)   (sizeof(array) / sizeof((array)[0]))

#define _cffi_prim_int(size, sign)                                      \
    ((size) == 1 ? ((sign) ? _CFFI_PRIM_INT8  : _CFFI_PRIM_UINT8)  :    \
     (size) == 2 ? ((sign) ? _CFFI_PRIM_INT16 : _CFFI_PRIM_UINT16) :    \
     (size) == 4 ? ((sign) ? _CFFI_PRIM_INT32 : _CFFI_PRIM_UINT32) :    \
     (size) == 8 ? ((sign) ? _CFFI_PRIM_INT64 : _CFFI_PRIM_UINT64) :    \
     _CFFI__UNKNOWN_PRIM)

#define _cffi_prim_float(size)                                          \
    ((size) == sizeof(float) ? _CFFI_PRIM_FLOAT :                       \
     (size) == sizeof(double) ? _CFFI_PRIM_DOUBLE :                     \
     (size) == sizeof(long double) ? _CFFI__UNKNOWN_LONG_DOUBLE :       \
     _CFFI__UNKNOWN_FLOAT_PRIM)

#define _cffi_check_int(got, got_nonpos, expected)      \
    ((got_nonpos) == (expected <= 0) &&                 \
     (got) == (unsigned long long)expected)

#ifdef MS_WIN32
# define _cffi_stdcall  __stdcall
#else
# define _cffi_stdcall  /* nothing */
#endif

#ifdef __cplusplus
}
#endif

/************************************************************/


    #include <notcurses/direct.h>
    #include <notcurses/notcurses.h>
    

/************************************************************/

static void *_cffi_types[] = {
/*  0 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(nccapabilities const *)
/*  1 */ _CFFI_OP(_CFFI_OP_POINTER, 1652), // nccapabilities const *
/*  2 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/*  3 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(nccell const *)
/*  4 */ _CFFI_OP(_CFFI_OP_POINTER, 1653), // nccell const *
/*  5 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/*  6 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(ncinput const *)
/*  7 */ _CFFI_OP(_CFFI_OP_POINTER, 1657), // ncinput const *
/*  8 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/*  9 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(ncinput const *, ncinput const *)
/* 10 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 11 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 12 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 13 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncdirect const *)
/* 14 */ _CFFI_OP(_CFFI_OP_POINTER, 1677), // struct ncdirect const *
/* 15 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 16 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncmenu *, ncinput const *)
/* 17 */ _CFFI_OP(_CFFI_OP_POINTER, 1681), // struct ncmenu *
/* 18 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 19 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 20 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncmultiselector *, ncinput const *)
/* 21 */ _CFFI_OP(_CFFI_OP_POINTER, 1688), // struct ncmultiselector *
/* 22 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 23 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 24 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncplane *, unsigned int)
/* 25 */ _CFFI_OP(_CFFI_OP_POINTER, 1655), // struct ncplane *
/* 26 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), // unsigned int
/* 27 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 28 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncplane const *)
/* 29 */ _CFFI_OP(_CFFI_OP_POINTER, 1655), // struct ncplane const *
/* 30 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 31 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncplane const *, int *, int *)
/* 32 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 33 */ _CFFI_OP(_CFFI_OP_POINTER, 76), // int *
/* 34 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 35 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 36 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncplane const *, nccell const *, struct ncplane const *, nccell const *)
/* 37 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 38 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 39 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 40 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 41 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 42 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncreader *, ncinput const *)
/* 43 */ _CFFI_OP(_CFFI_OP_POINTER, 1690), // struct ncreader *
/* 44 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 45 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 46 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncreel *, ncinput const *)
/* 47 */ _CFFI_OP(_CFFI_OP_POINTER, 1691), // struct ncreel *
/* 48 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 49 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 50 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct ncselector *, ncinput const *)
/* 51 */ _CFFI_OP(_CFFI_OP_POINTER, 1692), // struct ncselector *
/* 52 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 53 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 54 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct nctree *, ncinput const *)
/* 55 */ _CFFI_OP(_CFFI_OP_POINTER, 1698), // struct nctree *
/* 56 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 57 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 58 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(struct notcurses const *)
/* 59 */ _CFFI_OP(_CFFI_OP_POINTER, 1703), // struct notcurses const *
/* 60 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 61 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(uint32_t)
/* 62 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22), // uint32_t
/* 63 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 64 */ _CFFI_OP(_CFFI_OP_FUNCTION, 369), // _Bool()(uint64_t)
/* 65 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), // uint64_t
/* 66 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 67 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncdirect *, char const *)
/* 68 */ _CFFI_OP(_CFFI_OP_POINTER, 1677), // struct ncdirect *
/* 69 */ _CFFI_OP(_CFFI_OP_POINTER, 418), // char const *
/* 70 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 71 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncdirect const *)
/* 72 */ _CFFI_OP(_CFFI_OP_NOOP, 14),
/* 73 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 74 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncplane *, int, int, unsigned int, unsigned int)
/* 75 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 76 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), // int
/* 77 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 78 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 79 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 80 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 81 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncplane const *)
/* 82 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 83 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 84 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncplane const *, int, int, uint16_t *, uint64_t *)
/* 85 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 86 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 87 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 88 */ _CFFI_OP(_CFFI_OP_POINTER, 408), // uint16_t *
/* 89 */ _CFFI_OP(_CFFI_OP_POINTER, 65), // uint64_t *
/* 90 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 91 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncplane const *, nccell const *)
/* 92 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 93 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 94 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 95 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncplane const *, nccell const *, uint16_t *, uint64_t *)
/* 96 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 97 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 98 */ _CFFI_OP(_CFFI_OP_NOOP, 88),
/* 99 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 100 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 101 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncplane const *, uint16_t *, uint64_t *)
/* 102 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 103 */ _CFFI_OP(_CFFI_OP_NOOP, 88),
/* 104 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 105 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 106 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct ncreader const *)
/* 107 */ _CFFI_OP(_CFFI_OP_POINTER, 1690), // struct ncreader const *
/* 108 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 109 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct notcurses *, unsigned int, unsigned int, uint16_t *, uint64_t *)
/* 110 */ _CFFI_OP(_CFFI_OP_POINTER, 1703), // struct notcurses *
/* 111 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 112 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 113 */ _CFFI_OP(_CFFI_OP_NOOP, 88),
/* 114 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 115 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 116 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(struct notcurses const *)
/* 117 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 118 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 119 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(void)
/* 120 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 121 */ _CFFI_OP(_CFFI_OP_FUNCTION, 159), // char *()(wchar_t const *)
/* 122 */ _CFFI_OP(_CFFI_OP_POINTER, 564), // wchar_t const *
/* 123 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 124 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(ncblitter_e)
/* 125 */ _CFFI_OP(_CFFI_OP_ENUM, 1), // ncblitter_e
/* 126 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 127 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(ncscale_e)
/* 128 */ _CFFI_OP(_CFFI_OP_ENUM, 5), // ncscale_e
/* 129 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 130 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(struct ncmenu const *, ncinput *)
/* 131 */ _CFFI_OP(_CFFI_OP_POINTER, 1681), // struct ncmenu const *
/* 132 */ _CFFI_OP(_CFFI_OP_POINTER, 1657), // ncinput *
/* 133 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 134 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(struct ncmenu const *, ncinput const *, ncinput *)
/* 135 */ _CFFI_OP(_CFFI_OP_NOOP, 131),
/* 136 */ _CFFI_OP(_CFFI_OP_NOOP, 7),
/* 137 */ _CFFI_OP(_CFFI_OP_NOOP, 132),
/* 138 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 139 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(struct ncplane const *, nccell const *)
/* 140 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 141 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 142 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 143 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(struct ncselector *)
/* 144 */ _CFFI_OP(_CFFI_OP_NOOP, 51),
/* 145 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 146 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(struct ncselector const *)
/* 147 */ _CFFI_OP(_CFFI_OP_POINTER, 1692), // struct ncselector const *
/* 148 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 149 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(struct nctab *)
/* 150 */ _CFFI_OP(_CFFI_OP_POINTER, 1695), // struct nctab *
/* 151 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 152 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(struct nctabbed *)
/* 153 */ _CFFI_OP(_CFFI_OP_POINTER, 1696), // struct nctabbed *
/* 154 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 155 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(uintmax_t, size_t, uintmax_t, char *, int, uintmax_t, int)
/* 156 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 47), // uintmax_t
/* 157 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), // size_t
/* 158 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 47),
/* 159 */ _CFFI_OP(_CFFI_OP_POINTER, 418), // char *
/* 160 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 161 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 47),
/* 162 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 163 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 164 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(uintmax_t, uintmax_t, char *, int)
/* 165 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 47),
/* 166 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 47),
/* 167 */ _CFFI_OP(_CFFI_OP_NOOP, 159),
/* 168 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 169 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 170 */ _CFFI_OP(_CFFI_OP_FUNCTION, 69), // char const *()(void)
/* 171 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 172 */ _CFFI_OP(_CFFI_OP_FUNCTION, 338), // double()(struct ncprogbar const *)
/* 173 */ _CFFI_OP(_CFFI_OP_POINTER, 1689), // struct ncprogbar const *
/* 174 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 175 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(char const *, int *, int *)
/* 176 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 177 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 178 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 179 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 180 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(char const *, ncblitter_e *)
/* 181 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 182 */ _CFFI_OP(_CFFI_OP_POINTER, 125), // ncblitter_e *
/* 183 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 184 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(char const *, ncscale_e *)
/* 185 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 186 */ _CFFI_OP(_CFFI_OP_POINTER, 128), // ncscale_e *
/* 187 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 188 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(char const *, notcurses_options *)
/* 189 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 190 */ _CFFI_OP(_CFFI_OP_POINTER, 1675), // notcurses_options *
/* 191 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 192 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(int, ncalign_e, int)
/* 193 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 194 */ _CFFI_OP(_CFFI_OP_ENUM, 0), // ncalign_e
/* 195 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 196 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 197 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(nccell *, uint32_t)
/* 198 */ _CFFI_OP(_CFFI_OP_POINTER, 1653), // nccell *
/* 199 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 200 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 201 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(nccell *, unsigned int)
/* 202 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 203 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 204 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 205 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(nccell *, unsigned int, unsigned int, unsigned int)
/* 206 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 207 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 208 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 209 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 210 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 211 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(ncpalette *, int, unsigned int)
/* 212 */ _CFFI_OP(_CFFI_OP_POINTER, 1662), // ncpalette *
/* 213 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 214 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 215 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 216 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(ncpalette *, int, unsigned int, unsigned int, unsigned int)
/* 217 */ _CFFI_OP(_CFFI_OP_NOOP, 212),
/* 218 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 219 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 220 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 221 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 222 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 223 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(ncpalette const *, int, uint32_t *)
/* 224 */ _CFFI_OP(_CFFI_OP_POINTER, 1662), // ncpalette const *
/* 225 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 226 */ _CFFI_OP(_CFFI_OP_POINTER, 62), // uint32_t *
/* 227 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 228 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(ncpalette const *, int, unsigned int *, unsigned int *, unsigned int *)
/* 229 */ _CFFI_OP(_CFFI_OP_NOOP, 224),
/* 230 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 231 */ _CFFI_OP(_CFFI_OP_POINTER, 26), // unsigned int *
/* 232 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 233 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 234 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 235 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *)
/* 236 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 237 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 238 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, char const *, int(*)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *), struct ncvisual_options *, void *)
/* 239 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 240 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 241 */ _CFFI_OP(_CFFI_OP_POINTER, 902), // int(*)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *)
/* 242 */ _CFFI_OP(_CFFI_OP_POINTER, 1702), // struct ncvisual_options *
/* 243 */ _CFFI_OP(_CFFI_OP_POINTER, 1711), // void *
/* 244 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 245 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, char const *, ncalign_e, ncblitter_e, ncscale_e)
/* 246 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 247 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 248 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 249 */ _CFFI_OP(_CFFI_OP_NOOP, 125),
/* 250 */ _CFFI_OP(_CFFI_OP_NOOP, 128),
/* 251 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 252 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, char const *, unsigned int, uint64_t, uint64_t)
/* 253 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 254 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 255 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 256 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 257 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 258 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 259 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, int)
/* 260 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 261 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 262 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 263 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, int, int)
/* 264 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 265 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 266 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 267 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 268 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, int, ncalign_e, char const *, ...)
/* 269 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 270 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 271 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 272 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 273 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 1),
/* 274 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, ncdirectf *, struct ncvisual_options const *, ncvgeom *)
/* 275 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 276 */ _CFFI_OP(_CFFI_OP_POINTER, 1654), // struct ncvisual *
/* 277 */ _CFFI_OP(_CFFI_OP_POINTER, 1702), // struct ncvisual_options const *
/* 278 */ _CFFI_OP(_CFFI_OP_POINTER, 1674), // ncvgeom *
/* 279 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 280 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, ncdirectv *, ncalign_e)
/* 281 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 282 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 283 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 284 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 285 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, uint64_t, char const *)
/* 286 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 287 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 288 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 289 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 290 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, uint64_t, char const *, int *)
/* 291 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 292 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 293 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 294 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 295 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 296 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, uint64_t, uint64_t, uint64_t, uint64_t, unsigned int, unsigned int, unsigned int)
/* 297 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 298 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 299 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 300 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 301 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 302 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 303 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 304 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 305 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 306 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, uint64_t, uint64_t, uint64_t, uint64_t, wchar_t const *, unsigned int, unsigned int, unsigned int)
/* 307 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 308 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 309 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 310 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 311 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 312 */ _CFFI_OP(_CFFI_OP_NOOP, 122),
/* 313 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 314 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 315 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 316 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 317 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, unsigned int *, unsigned int *)
/* 318 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 319 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 320 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 321 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 322 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, unsigned int)
/* 323 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 324 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 325 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 326 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect *, unsigned int, unsigned int, unsigned int)
/* 327 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 328 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 329 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 330 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 331 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 332 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdirect const *)
/* 333 */ _CFFI_OP(_CFFI_OP_NOOP, 14),
/* 334 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 335 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdplot *, uint64_t, double)
/* 336 */ _CFFI_OP(_CFFI_OP_POINTER, 1678), // struct ncdplot *
/* 337 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 338 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 14), // double
/* 339 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 340 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncdplot const *, uint64_t, double *)
/* 341 */ _CFFI_OP(_CFFI_OP_POINTER, 1678), // struct ncdplot const *
/* 342 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 343 */ _CFFI_OP(_CFFI_OP_POINTER, 338), // double *
/* 344 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 345 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncfadectx const *)
/* 346 */ _CFFI_OP(_CFFI_OP_POINTER, 1679), // struct ncfadectx const *
/* 347 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 348 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncfdplane *)
/* 349 */ _CFFI_OP(_CFFI_OP_POINTER, 1680), // struct ncfdplane *
/* 350 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 351 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncfdplane *, int, void *)
/* 352 */ _CFFI_OP(_CFFI_OP_NOOP, 349),
/* 353 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 354 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 355 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 356 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncfdplane *, void const *, size_t, void *)
/* 357 */ _CFFI_OP(_CFFI_OP_NOOP, 349),
/* 358 */ _CFFI_OP(_CFFI_OP_POINTER, 1711), // void const *
/* 359 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28),
/* 360 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 361 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 362 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncmenu *)
/* 363 */ _CFFI_OP(_CFFI_OP_NOOP, 17),
/* 364 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 365 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncmenu *, char const *, char const *, _Bool)
/* 366 */ _CFFI_OP(_CFFI_OP_NOOP, 17),
/* 367 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 368 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 369 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 1), // _Bool
/* 370 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 371 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncmenu *, int)
/* 372 */ _CFFI_OP(_CFFI_OP_NOOP, 17),
/* 373 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 374 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 375 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncmultiselector *, _Bool *, unsigned int)
/* 376 */ _CFFI_OP(_CFFI_OP_NOOP, 21),
/* 377 */ _CFFI_OP(_CFFI_OP_POINTER, 369), // _Bool *
/* 378 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 379 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 380 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *)
/* 381 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 382 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 383 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, FILE *)
/* 384 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 385 */ _CFFI_OP(_CFFI_OP_POINTER, 1643), // FILE *
/* 386 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 387 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, char * *, size_t *)
/* 388 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 389 */ _CFFI_OP(_CFFI_OP_POINTER, 159), // char * *
/* 390 */ _CFFI_OP(_CFFI_OP_POINTER, 157), // size_t *
/* 391 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 392 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, char const *)
/* 393 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 394 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 395 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 396 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, char const *, ...)
/* 397 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 398 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 399 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 1),
/* 400 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, char const *, size_t *)
/* 401 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 402 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 403 */ _CFFI_OP(_CFFI_OP_NOOP, 390),
/* 404 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 405 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, char const *, uint16_t, uint64_t)
/* 406 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 407 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 408 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20), // uint16_t
/* 409 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 410 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 411 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, char const *, va_list)
/* 412 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 413 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 414 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 1), // va_list
/* 415 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 416 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, char)
/* 417 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 418 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 2), // char
/* 419 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 420 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int)
/* 421 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 422 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 423 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 424 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int)
/* 425 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 426 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 427 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 428 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 429 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, char const *)
/* 430 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 431 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 432 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 433 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 434 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 435 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, char const *, ...)
/* 436 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 437 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 438 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 439 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 440 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 1),
/* 441 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, char const *, size_t *)
/* 442 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 443 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 444 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 445 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 446 */ _CFFI_OP(_CFFI_OP_NOOP, 390),
/* 447 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 448 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, char const *, va_list)
/* 449 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 450 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 451 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 452 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 453 */ _CFFI_OP(_CFFI_OP_NOOP, 414),
/* 454 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 455 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, char)
/* 456 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 457 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 458 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 459 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 2),
/* 460 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 461 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, int, int)
/* 462 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 463 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 464 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 465 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 466 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 467 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 468 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, nccell *)
/* 469 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 470 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 471 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 472 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 473 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 474 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, nccell const *)
/* 475 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 476 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 477 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 478 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 479 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 480 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, size_t, char const *)
/* 481 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 482 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 483 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 484 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28),
/* 485 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 486 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 487 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, uint32_t)
/* 488 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 489 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 490 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 491 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 492 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 493 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, unsigned int, unsigned int, char const *, uint16_t, uint64_t, uint64_t, uint64_t, uint64_t)
/* 494 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 495 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 496 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 497 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 498 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 499 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 500 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20),
/* 501 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 502 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 503 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 504 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 505 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 506 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, unsigned int, unsigned int, int, int, unsigned int, unsigned int)
/* 507 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 508 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 509 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 510 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 511 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 512 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 513 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 514 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 515 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 516 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 517 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, unsigned int, unsigned int, uint16_t)
/* 518 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 519 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 520 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 521 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 522 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 523 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20),
/* 524 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 525 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t)
/* 526 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 527 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 528 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 529 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 530 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 531 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 532 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 533 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 534 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 535 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 536 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, unsigned int, unsigned int, uint64_t, uint64_t, uint64_t, uint64_t)
/* 537 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 538 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 539 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 540 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 541 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 542 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 543 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 544 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 545 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 546 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 547 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, wchar_t const *)
/* 548 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 549 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 550 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 551 */ _CFFI_OP(_CFFI_OP_NOOP, 122),
/* 552 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 553 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, wchar_t const *, size_t *)
/* 554 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 555 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 556 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 557 */ _CFFI_OP(_CFFI_OP_NOOP, 122),
/* 558 */ _CFFI_OP(_CFFI_OP_NOOP, 390),
/* 559 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 560 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, int, wchar_t)
/* 561 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 562 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 563 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 564 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 16), // wchar_t
/* 565 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 566 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, ncalign_e, char const *)
/* 567 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 568 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 569 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 570 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 571 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 572 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, ncalign_e, char const *, ...)
/* 573 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 574 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 575 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 576 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 577 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 1),
/* 578 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, ncalign_e, char const *, size_t *)
/* 579 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 580 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 581 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 582 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 583 */ _CFFI_OP(_CFFI_OP_NOOP, 390),
/* 584 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 585 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, ncalign_e, char const *, va_list)
/* 586 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 587 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 588 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 589 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 590 */ _CFFI_OP(_CFFI_OP_NOOP, 414),
/* 591 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 592 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, ncalign_e, size_t, char const *)
/* 593 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 594 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 595 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 596 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28),
/* 597 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 598 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 599 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, int, ncalign_e, wchar_t const *)
/* 600 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 601 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 602 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 603 */ _CFFI_OP(_CFFI_OP_NOOP, 122),
/* 604 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 605 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell *)
/* 606 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 607 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 608 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 609 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell *, char const *)
/* 610 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 611 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 612 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 613 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 614 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell *, char const *, uint16_t, uint64_t)
/* 615 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 616 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 617 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 618 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20),
/* 619 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 620 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 621 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell *, char)
/* 622 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 623 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 624 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 2),
/* 625 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 626 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell *, nccell const *)
/* 627 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 628 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 629 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 630 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 631 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell *, uint32_t)
/* 632 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 633 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 634 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 635 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 636 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell const *)
/* 637 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 638 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 639 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 640 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell const *, nccell const *, nccell const *, nccell const *, nccell const *, nccell const *, unsigned int)
/* 641 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 642 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 643 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 644 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 645 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 646 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 647 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 648 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 649 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 650 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell const *, nccell const *, nccell const *, nccell const *, nccell const *, nccell const *, unsigned int, unsigned int, unsigned int)
/* 651 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 652 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 653 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 654 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 655 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 656 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 657 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 658 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 659 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 660 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 661 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 662 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell const *, unsigned int)
/* 663 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 664 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 665 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 666 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 667 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, nccell const *, unsigned int, uint64_t, uint64_t)
/* 668 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 669 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 670 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 671 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 672 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 673 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 674 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, size_t, char const *)
/* 675 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 676 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28),
/* 677 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 678 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 679 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, struct ncfadectx *, int, int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *), void *)
/* 680 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 681 */ _CFFI_OP(_CFFI_OP_POINTER, 1679), // struct ncfadectx *
/* 682 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 683 */ _CFFI_OP(_CFFI_OP_POINTER, 938), // int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *)
/* 684 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 685 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 686 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, struct ncplane *)
/* 687 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 688 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 689 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 690 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, struct ncplane *, int, int, unsigned int, unsigned int, int, int)
/* 691 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 692 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 693 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 694 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 695 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 696 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 697 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 698 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 699 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 700 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, struct ncplane const *)
/* 701 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 702 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 703 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 704 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, struct timespec const *, int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *), void *)
/* 705 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 706 */ _CFFI_OP(_CFFI_OP_POINTER, 1704), // struct timespec const *
/* 707 */ _CFFI_OP(_CFFI_OP_NOOP, 683),
/* 708 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 709 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 710 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, uint16_t, uint64_t, nccell *, nccell *, nccell *, nccell *, nccell *, nccell *)
/* 711 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 712 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20),
/* 713 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 714 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 715 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 716 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 717 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 718 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 719 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 720 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 721 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, uint16_t, uint64_t, nccell *, nccell *, nccell *, nccell *, nccell *, nccell *, char const *)
/* 722 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 723 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20),
/* 724 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 725 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 726 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 727 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 728 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 729 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 730 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 731 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 732 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 733 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, uint16_t, uint64_t, unsigned int)
/* 734 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 735 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20),
/* 736 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 737 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 738 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 739 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, uint16_t, uint64_t, unsigned int, unsigned int, unsigned int)
/* 740 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 741 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 20),
/* 742 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 743 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 744 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 745 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 746 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 747 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, uint32_t)
/* 748 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 749 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 750 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 751 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, unsigned int *, unsigned int *, void const *, size_t)
/* 752 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 753 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 754 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 755 */ _CFFI_OP(_CFFI_OP_NOOP, 358),
/* 756 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28),
/* 757 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 758 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, unsigned int)
/* 759 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 760 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 761 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 762 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, unsigned int, unsigned int)
/* 763 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 764 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 765 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 766 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 767 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, unsigned int, unsigned int, unsigned int)
/* 768 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 769 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 770 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 771 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 772 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 773 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, void *, int)
/* 774 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 775 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 776 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 777 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 778 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, wchar_t const *)
/* 779 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 780 */ _CFFI_OP(_CFFI_OP_NOOP, 122),
/* 781 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 782 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, wchar_t const *, size_t *)
/* 783 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 784 */ _CFFI_OP(_CFFI_OP_NOOP, 122),
/* 785 */ _CFFI_OP(_CFFI_OP_NOOP, 390),
/* 786 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 787 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, wchar_t const *, unsigned int *)
/* 788 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 789 */ _CFFI_OP(_CFFI_OP_NOOP, 122),
/* 790 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 791 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 792 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane *, wchar_t)
/* 793 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 794 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 16),
/* 795 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 796 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane const *)
/* 797 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 798 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 799 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane const *, ncalign_e, int)
/* 800 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 801 */ _CFFI_OP(_CFFI_OP_NOOP, 194),
/* 802 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 803 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 804 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncplane const *, struct ncplane const *)
/* 805 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 806 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 807 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 808 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncprogbar *, double)
/* 809 */ _CFFI_OP(_CFFI_OP_POINTER, 1689), // struct ncprogbar *
/* 810 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 14),
/* 811 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 812 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncreader *)
/* 813 */ _CFFI_OP(_CFFI_OP_NOOP, 43),
/* 814 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 815 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncreader *, char const *)
/* 816 */ _CFFI_OP(_CFFI_OP_NOOP, 43),
/* 817 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 818 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 819 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncreel *)
/* 820 */ _CFFI_OP(_CFFI_OP_NOOP, 47),
/* 821 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 822 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncreel *, struct nctablet *)
/* 823 */ _CFFI_OP(_CFFI_OP_NOOP, 47),
/* 824 */ _CFFI_OP(_CFFI_OP_POINTER, 1697), // struct nctablet *
/* 825 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 826 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncreel const *)
/* 827 */ _CFFI_OP(_CFFI_OP_POINTER, 1691), // struct ncreel const *
/* 828 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 829 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncselector *, char const *)
/* 830 */ _CFFI_OP(_CFFI_OP_NOOP, 51),
/* 831 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 832 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 833 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncselector *, struct ncselector_item const *)
/* 834 */ _CFFI_OP(_CFFI_OP_NOOP, 51),
/* 835 */ _CFFI_OP(_CFFI_OP_POINTER, 1693), // struct ncselector_item const *
/* 836 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 837 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncsubproc *)
/* 838 */ _CFFI_OP(_CFFI_OP_POINTER, 1694), // struct ncsubproc *
/* 839 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 840 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctab *)
/* 841 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 842 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 843 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctab *, char const *)
/* 844 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 845 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 846 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 847 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctabbed *)
/* 848 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 849 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 850 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctabbed *, char const *)
/* 851 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 852 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 853 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 854 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctabbed *, struct nctab *)
/* 855 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 856 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 857 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 858 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctabbed *, struct nctab *, struct nctab *, struct nctab *)
/* 859 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 860 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 861 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 862 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 863 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 864 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctablet *, _Bool)
/* 865 */ _CFFI_OP(_CFFI_OP_NOOP, 824),
/* 866 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 1),
/* 867 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 868 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctree *)
/* 869 */ _CFFI_OP(_CFFI_OP_NOOP, 55),
/* 870 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 871 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctree *, unsigned int const *)
/* 872 */ _CFFI_OP(_CFFI_OP_NOOP, 55),
/* 873 */ _CFFI_OP(_CFFI_OP_POINTER, 26), // unsigned int const *
/* 874 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 875 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct nctree *, unsigned int const *, struct nctree_item const *)
/* 876 */ _CFFI_OP(_CFFI_OP_NOOP, 55),
/* 877 */ _CFFI_OP(_CFFI_OP_NOOP, 873),
/* 878 */ _CFFI_OP(_CFFI_OP_POINTER, 1700), // struct nctree_item const *
/* 879 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 880 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncuplot *, uint64_t, uint64_t)
/* 881 */ _CFFI_OP(_CFFI_OP_POINTER, 1701), // struct ncuplot *
/* 882 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 883 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 884 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 885 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncuplot const *, uint64_t, uint64_t *)
/* 886 */ _CFFI_OP(_CFFI_OP_POINTER, 1701), // struct ncuplot const *
/* 887 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 888 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 889 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 890 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncvisual *)
/* 891 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 892 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 893 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncvisual *, double)
/* 894 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 895 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 14),
/* 896 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 897 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncvisual *, int, int)
/* 898 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 899 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 900 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 901 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 902 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *)
/* 903 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 904 */ _CFFI_OP(_CFFI_OP_NOOP, 242),
/* 905 */ _CFFI_OP(_CFFI_OP_NOOP, 706),
/* 906 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 907 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 908 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncvisual *, unsigned int, unsigned int, uint32_t)
/* 909 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 910 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 911 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 912 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 913 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 914 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncvisual const *, unsigned int, unsigned int, uint32_t *)
/* 915 */ _CFFI_OP(_CFFI_OP_POINTER, 1654), // struct ncvisual const *
/* 916 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 917 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 918 */ _CFFI_OP(_CFFI_OP_NOOP, 226),
/* 919 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 920 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct ncvisual const *, unsigned int, unsigned int, uint32_t)
/* 921 */ _CFFI_OP(_CFFI_OP_NOOP, 915),
/* 922 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 923 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 924 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 925 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 926 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *)
/* 927 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 928 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 929 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *, int, int)
/* 930 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 931 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 932 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 933 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 934 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *, ncpalette const *)
/* 935 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 936 */ _CFFI_OP(_CFFI_OP_NOOP, 224),
/* 937 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 938 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *, struct ncplane *, struct timespec const *, void *)
/* 939 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 940 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 941 */ _CFFI_OP(_CFFI_OP_NOOP, 706),
/* 942 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 943 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 944 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *, struct ncvisual *, float, int(*)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *), struct ncvisual_options const *, void *)
/* 945 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 946 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 947 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 13), // float
/* 948 */ _CFFI_OP(_CFFI_OP_NOOP, 241),
/* 949 */ _CFFI_OP(_CFFI_OP_NOOP, 277),
/* 950 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 951 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 952 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *, struct timespec const *, ncinput *, int)
/* 953 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 954 */ _CFFI_OP(_CFFI_OP_NOOP, 706),
/* 955 */ _CFFI_OP(_CFFI_OP_NOOP, 132),
/* 956 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 957 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 958 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *, unsigned int *, unsigned int *)
/* 959 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 960 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 961 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 962 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 963 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses *, unsigned int)
/* 964 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 965 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 966 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 967 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses const *, int *, int *)
/* 968 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 969 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 970 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 971 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 972 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses const *, struct ncvisual const *, struct ncvisual_options const *, ncvgeom *)
/* 973 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 974 */ _CFFI_OP(_CFFI_OP_NOOP, 915),
/* 975 */ _CFFI_OP(_CFFI_OP_NOOP, 277),
/* 976 */ _CFFI_OP(_CFFI_OP_NOOP, 278),
/* 977 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 978 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(struct notcurses const *, uint32_t *)
/* 979 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 980 */ _CFFI_OP(_CFFI_OP_NOOP, 226),
/* 981 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 982 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(uint32_t *, uint32_t)
/* 983 */ _CFFI_OP(_CFFI_OP_NOOP, 226),
/* 984 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 985 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 986 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(uint32_t *, unsigned int)
/* 987 */ _CFFI_OP(_CFFI_OP_NOOP, 226),
/* 988 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 989 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 990 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(uint32_t *, unsigned int, unsigned int, unsigned int)
/* 991 */ _CFFI_OP(_CFFI_OP_NOOP, 226),
/* 992 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 993 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 994 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 995 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 996 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(uint32_t const *, unsigned int, unsigned char *, size_t)
/* 997 */ _CFFI_OP(_CFFI_OP_POINTER, 62), // uint32_t const *
/* 998 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 999 */ _CFFI_OP(_CFFI_OP_POINTER, 1710), // unsigned char *
/* 1000 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28),
/* 1001 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1002 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(uint64_t *, unsigned int)
/* 1003 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1004 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1005 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1006 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(uint64_t *, unsigned int, unsigned int, unsigned int)
/* 1007 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1008 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1009 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1010 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1011 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1012 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(void const *, int, struct ncvisual_options const *)
/* 1013 */ _CFFI_OP(_CFFI_OP_NOOP, 358),
/* 1014 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1015 */ _CFFI_OP(_CFFI_OP_NOOP, 277),
/* 1016 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1017 */ _CFFI_OP(_CFFI_OP_FUNCTION, 76), // int()(void const *, int, struct ncvisual_options const *, int)
/* 1018 */ _CFFI_OP(_CFFI_OP_NOOP, 358),
/* 1019 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1020 */ _CFFI_OP(_CFFI_OP_NOOP, 277),
/* 1021 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1022 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1023 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1517), // int(*()(struct ncplane const *))(struct ncplane *)
/* 1024 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1025 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1026 */ _CFFI_OP(_CFFI_OP_FUNCTION, 125), // ncblitter_e()(struct notcurses const *, ncscale_e)
/* 1027 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1028 */ _CFFI_OP(_CFFI_OP_NOOP, 128),
/* 1029 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1030 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1), // nccapabilities const *()(struct ncdirect const *)
/* 1031 */ _CFFI_OP(_CFFI_OP_NOOP, 14),
/* 1032 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1033 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1), // nccapabilities const *()(struct notcurses const *)
/* 1034 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1035 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1036 */ _CFFI_OP(_CFFI_OP_FUNCTION, 276), // ncdirectf *()(struct ncdirect *, char const *)
/* 1037 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 1038 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1039 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1040 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // ncdirectv *()(struct ncdirect *, char const *, ncblitter_e, ncscale_e, int, int)
/* 1041 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 1042 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1043 */ _CFFI_OP(_CFFI_OP_NOOP, 125),
/* 1044 */ _CFFI_OP(_CFFI_OP_NOOP, 128),
/* 1045 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1046 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1047 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1048 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // ncdirectv *()(struct ncdirect *, ncdirectf *, struct ncvisual_options const *)
/* 1049 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 1050 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 1051 */ _CFFI_OP(_CFFI_OP_NOOP, 277),
/* 1052 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1053 */ _CFFI_OP(_CFFI_OP_FUNCTION, 212), // ncpalette *()(struct notcurses *)
/* 1054 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1055 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1056 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1663), // ncpixelimpl_e()(struct notcurses const *)
/* 1057 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1058 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1059 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1613), // ncstats *()(struct notcurses const *)
/* 1060 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1061 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1062 */ _CFFI_OP(_CFFI_OP_FUNCTION, 68), // struct ncdirect *()(char const *, FILE *, uint64_t)
/* 1063 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1064 */ _CFFI_OP(_CFFI_OP_NOOP, 385),
/* 1065 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1066 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1067 */ _CFFI_OP(_CFFI_OP_FUNCTION, 336), // struct ncdplot *()(struct ncplane *, ncplot_options const *, double, double)
/* 1068 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1069 */ _CFFI_OP(_CFFI_OP_POINTER, 1665), // ncplot_options const *
/* 1070 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 14),
/* 1071 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 14),
/* 1072 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1073 */ _CFFI_OP(_CFFI_OP_FUNCTION, 681), // struct ncfadectx *()(struct ncplane *)
/* 1074 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1075 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1076 */ _CFFI_OP(_CFFI_OP_FUNCTION, 349), // struct ncfdplane *()(struct ncplane *, ncfdplane_options const *, int, int(*)(struct ncfdplane *, void const *, size_t, void *), int(*)(struct ncfdplane *, int, void *))
/* 1077 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1078 */ _CFFI_OP(_CFFI_OP_POINTER, 1656), // ncfdplane_options const *
/* 1079 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1080 */ _CFFI_OP(_CFFI_OP_POINTER, 356), // int(*)(struct ncfdplane *, void const *, size_t, void *)
/* 1081 */ _CFFI_OP(_CFFI_OP_POINTER, 351), // int(*)(struct ncfdplane *, int, void *)
/* 1082 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1083 */ _CFFI_OP(_CFFI_OP_FUNCTION, 17), // struct ncmenu *()(struct ncplane *, ncmenu_options const *)
/* 1084 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1085 */ _CFFI_OP(_CFFI_OP_POINTER, 1660), // ncmenu_options const *
/* 1086 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1087 */ _CFFI_OP(_CFFI_OP_FUNCTION, 21), // struct ncmultiselector *()(struct ncplane *, ncmultiselector_options const *)
/* 1088 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1089 */ _CFFI_OP(_CFFI_OP_POINTER, 1661), // ncmultiselector_options const *
/* 1090 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1091 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncdplot *)
/* 1092 */ _CFFI_OP(_CFFI_OP_NOOP, 336),
/* 1093 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1094 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncfdplane *)
/* 1095 */ _CFFI_OP(_CFFI_OP_NOOP, 349),
/* 1096 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1097 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncmenu *)
/* 1098 */ _CFFI_OP(_CFFI_OP_NOOP, 17),
/* 1099 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1100 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncmultiselector *)
/* 1101 */ _CFFI_OP(_CFFI_OP_NOOP, 21),
/* 1102 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1103 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncplane *)
/* 1104 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1105 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1106 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncplane *, ncplane_options const *)
/* 1107 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1108 */ _CFFI_OP(_CFFI_OP_POINTER, 1664), // ncplane_options const *
/* 1109 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1110 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncplane *, struct ncplane *)
/* 1111 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1112 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1113 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1114 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncplane *, struct ncvisual const *)
/* 1115 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1116 */ _CFFI_OP(_CFFI_OP_NOOP, 915),
/* 1117 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1118 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncplane const *, void *)
/* 1119 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1120 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 1121 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1122 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncprogbar *)
/* 1123 */ _CFFI_OP(_CFFI_OP_NOOP, 809),
/* 1124 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1125 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncreader *)
/* 1126 */ _CFFI_OP(_CFFI_OP_NOOP, 43),
/* 1127 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1128 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncreel *)
/* 1129 */ _CFFI_OP(_CFFI_OP_NOOP, 47),
/* 1130 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1131 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncselector *)
/* 1132 */ _CFFI_OP(_CFFI_OP_NOOP, 51),
/* 1133 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1134 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncsubproc *)
/* 1135 */ _CFFI_OP(_CFFI_OP_NOOP, 838),
/* 1136 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1137 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct nctabbed *)
/* 1138 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1139 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1140 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct nctablet *)
/* 1141 */ _CFFI_OP(_CFFI_OP_NOOP, 824),
/* 1142 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1143 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct nctree *)
/* 1144 */ _CFFI_OP(_CFFI_OP_NOOP, 55),
/* 1145 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1146 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct ncuplot *)
/* 1147 */ _CFFI_OP(_CFFI_OP_NOOP, 881),
/* 1148 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1149 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct notcurses *)
/* 1150 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1151 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1152 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct notcurses *, ncplane_options const *)
/* 1153 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1154 */ _CFFI_OP(_CFFI_OP_NOOP, 1108),
/* 1155 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1156 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct notcurses *, ncplane_options const *, struct ncvisual *, struct ncvisual_options *)
/* 1157 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1158 */ _CFFI_OP(_CFFI_OP_NOOP, 1108),
/* 1159 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 1160 */ _CFFI_OP(_CFFI_OP_NOOP, 242),
/* 1161 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1162 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct notcurses *, struct ncvisual *, struct ncvisual_options const *)
/* 1163 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1164 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 1165 */ _CFFI_OP(_CFFI_OP_NOOP, 277),
/* 1166 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1167 */ _CFFI_OP(_CFFI_OP_FUNCTION, 25), // struct ncplane *()(struct notcurses *, unsigned int *, unsigned int *)
/* 1168 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1169 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1170 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1171 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1172 */ _CFFI_OP(_CFFI_OP_FUNCTION, 29), // struct ncplane const *()(struct ncplane const *)
/* 1173 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1174 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1175 */ _CFFI_OP(_CFFI_OP_FUNCTION, 29), // struct ncplane const *()(struct notcurses const *)
/* 1176 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1177 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1178 */ _CFFI_OP(_CFFI_OP_FUNCTION, 29), // struct ncplane const *()(struct notcurses const *, unsigned int *, unsigned int *)
/* 1179 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1180 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1181 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1182 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1183 */ _CFFI_OP(_CFFI_OP_FUNCTION, 809), // struct ncprogbar *()(struct ncplane *, ncprogbar_options const *)
/* 1184 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1185 */ _CFFI_OP(_CFFI_OP_POINTER, 1666), // ncprogbar_options const *
/* 1186 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1187 */ _CFFI_OP(_CFFI_OP_FUNCTION, 43), // struct ncreader *()(struct ncplane *, ncreader_options const *)
/* 1188 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1189 */ _CFFI_OP(_CFFI_OP_POINTER, 1667), // ncreader_options const *
/* 1190 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1191 */ _CFFI_OP(_CFFI_OP_FUNCTION, 47), // struct ncreel *()(struct ncplane *, ncreel_options const *)
/* 1192 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1193 */ _CFFI_OP(_CFFI_OP_POINTER, 1668), // ncreel_options const *
/* 1194 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1195 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // struct ncselector *()(struct ncplane *, ncselector_options const *)
/* 1196 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1197 */ _CFFI_OP(_CFFI_OP_POINTER, 1669), // ncselector_options const *
/* 1198 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1199 */ _CFFI_OP(_CFFI_OP_FUNCTION, 838), // struct ncsubproc *()(struct ncplane *, ncsubproc_options const *, char const *, char const * const *, char const * const *, int(*)(struct ncfdplane *, void const *, size_t, void *), int(*)(struct ncfdplane *, int, void *))
/* 1200 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1201 */ _CFFI_OP(_CFFI_OP_POINTER, 1671), // ncsubproc_options const *
/* 1202 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1203 */ _CFFI_OP(_CFFI_OP_POINTER, 69), // char const * const *
/* 1204 */ _CFFI_OP(_CFFI_OP_NOOP, 1203),
/* 1205 */ _CFFI_OP(_CFFI_OP_NOOP, 1080),
/* 1206 */ _CFFI_OP(_CFFI_OP_NOOP, 1081),
/* 1207 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1208 */ _CFFI_OP(_CFFI_OP_FUNCTION, 838), // struct ncsubproc *()(struct ncplane *, ncsubproc_options const *, char const *, char const * const *, int(*)(struct ncfdplane *, void const *, size_t, void *), int(*)(struct ncfdplane *, int, void *))
/* 1209 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1210 */ _CFFI_OP(_CFFI_OP_NOOP, 1201),
/* 1211 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1212 */ _CFFI_OP(_CFFI_OP_NOOP, 1203),
/* 1213 */ _CFFI_OP(_CFFI_OP_NOOP, 1080),
/* 1214 */ _CFFI_OP(_CFFI_OP_NOOP, 1081),
/* 1215 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1216 */ _CFFI_OP(_CFFI_OP_FUNCTION, 150), // struct nctab *()(struct nctab *)
/* 1217 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1218 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1219 */ _CFFI_OP(_CFFI_OP_FUNCTION, 150), // struct nctab *()(struct nctabbed *)
/* 1220 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1221 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1222 */ _CFFI_OP(_CFFI_OP_FUNCTION, 150), // struct nctab *()(struct nctabbed *, struct nctab *)
/* 1223 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1224 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1225 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1226 */ _CFFI_OP(_CFFI_OP_FUNCTION, 150), // struct nctab *()(struct nctabbed *, struct nctab *, struct nctab *, void(*)(struct nctab *, struct ncplane *, void *), char const *, void *)
/* 1227 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1228 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1229 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1230 */ _CFFI_OP(_CFFI_OP_POINTER, 1576), // void(*)(struct nctab *, struct ncplane *, void *)
/* 1231 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1232 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 1233 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1234 */ _CFFI_OP(_CFFI_OP_FUNCTION, 153), // struct nctabbed *()(struct ncplane *, nctabbed_options const *)
/* 1235 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1236 */ _CFFI_OP(_CFFI_OP_POINTER, 1672), // nctabbed_options const *
/* 1237 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1238 */ _CFFI_OP(_CFFI_OP_FUNCTION, 824), // struct nctablet *()(struct ncreel *)
/* 1239 */ _CFFI_OP(_CFFI_OP_NOOP, 47),
/* 1240 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1241 */ _CFFI_OP(_CFFI_OP_FUNCTION, 824), // struct nctablet *()(struct ncreel *, struct nctablet *, struct nctablet *, int(*)(struct nctablet *, _Bool), void *)
/* 1242 */ _CFFI_OP(_CFFI_OP_NOOP, 47),
/* 1243 */ _CFFI_OP(_CFFI_OP_NOOP, 824),
/* 1244 */ _CFFI_OP(_CFFI_OP_NOOP, 824),
/* 1245 */ _CFFI_OP(_CFFI_OP_POINTER, 864), // int(*)(struct nctablet *, _Bool)
/* 1246 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 1247 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1248 */ _CFFI_OP(_CFFI_OP_FUNCTION, 55), // struct nctree *()(struct ncplane *, nctree_options const *)
/* 1249 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1250 */ _CFFI_OP(_CFFI_OP_POINTER, 1673), // nctree_options const *
/* 1251 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1252 */ _CFFI_OP(_CFFI_OP_FUNCTION, 881), // struct ncuplot *()(struct ncplane *, ncplot_options const *, uint64_t, uint64_t)
/* 1253 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1254 */ _CFFI_OP(_CFFI_OP_NOOP, 1069),
/* 1255 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1256 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1257 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1258 */ _CFFI_OP(_CFFI_OP_FUNCTION, 276), // struct ncvisual *()(char const *)
/* 1259 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1260 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1261 */ _CFFI_OP(_CFFI_OP_FUNCTION, 276), // struct ncvisual *()(char const *, unsigned int, unsigned int)
/* 1262 */ _CFFI_OP(_CFFI_OP_NOOP, 69),
/* 1263 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1264 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1265 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1266 */ _CFFI_OP(_CFFI_OP_FUNCTION, 276), // struct ncvisual *()(struct ncplane const *, ncblitter_e, int, int, unsigned int, unsigned int)
/* 1267 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1268 */ _CFFI_OP(_CFFI_OP_NOOP, 125),
/* 1269 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1270 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1271 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1272 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1273 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1274 */ _CFFI_OP(_CFFI_OP_FUNCTION, 276), // struct ncvisual *()(void const *, int, int, int)
/* 1275 */ _CFFI_OP(_CFFI_OP_NOOP, 358),
/* 1276 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1277 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1278 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1279 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1280 */ _CFFI_OP(_CFFI_OP_FUNCTION, 276), // struct ncvisual *()(void const *, int, int, int, int)
/* 1281 */ _CFFI_OP(_CFFI_OP_NOOP, 358),
/* 1282 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1283 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1284 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1285 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1286 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1287 */ _CFFI_OP(_CFFI_OP_FUNCTION, 276), // struct ncvisual *()(void const *, int, int, int, int, int, uint32_t const *)
/* 1288 */ _CFFI_OP(_CFFI_OP_NOOP, 358),
/* 1289 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1290 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1291 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1292 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1293 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1294 */ _CFFI_OP(_CFFI_OP_NOOP, 997),
/* 1295 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1296 */ _CFFI_OP(_CFFI_OP_FUNCTION, 110), // struct notcurses *()(notcurses_options const *, FILE *)
/* 1297 */ _CFFI_OP(_CFFI_OP_POINTER, 1675), // notcurses_options const *
/* 1298 */ _CFFI_OP(_CFFI_OP_NOOP, 385),
/* 1299 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1300 */ _CFFI_OP(_CFFI_OP_FUNCTION, 110), // struct notcurses *()(struct ncplane const *)
/* 1301 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1302 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1303 */ _CFFI_OP(_CFFI_OP_FUNCTION, 59), // struct notcurses const *()(struct ncplane const *)
/* 1304 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1305 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1306 */ _CFFI_OP(_CFFI_OP_FUNCTION, 408), // uint16_t()(nccell const *)
/* 1307 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 1308 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1309 */ _CFFI_OP(_CFFI_OP_FUNCTION, 408), // uint16_t()(struct ncdirect const *)
/* 1310 */ _CFFI_OP(_CFFI_OP_NOOP, 14),
/* 1311 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1312 */ _CFFI_OP(_CFFI_OP_FUNCTION, 408), // uint16_t()(struct ncplane const *)
/* 1313 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1314 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1315 */ _CFFI_OP(_CFFI_OP_FUNCTION, 408), // uint16_t()(struct notcurses const *)
/* 1316 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1317 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1318 */ _CFFI_OP(_CFFI_OP_FUNCTION, 226), // uint32_t *()(struct ncplane const *, ncblitter_e, int, int, unsigned int, unsigned int, unsigned int *, unsigned int *)
/* 1319 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1320 */ _CFFI_OP(_CFFI_OP_NOOP, 125),
/* 1321 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1322 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1323 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1324 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1325 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1326 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1327 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1328 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(nccell const *)
/* 1329 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 1330 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1331 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(nccell const *, unsigned int *, unsigned int *, unsigned int *)
/* 1332 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 1333 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1334 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1335 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1336 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1337 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(struct ncdirect *, ncinput *)
/* 1338 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 1339 */ _CFFI_OP(_CFFI_OP_NOOP, 132),
/* 1340 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1341 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(struct ncdirect *, struct timespec const *, ncinput *)
/* 1342 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 1343 */ _CFFI_OP(_CFFI_OP_NOOP, 706),
/* 1344 */ _CFFI_OP(_CFFI_OP_NOOP, 132),
/* 1345 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1346 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(struct ncplane const *)
/* 1347 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1348 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1349 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(struct ncplane const *, unsigned int *, unsigned int *, unsigned int *)
/* 1350 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1351 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1352 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1353 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1354 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1355 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(struct notcurses *, ncinput *)
/* 1356 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1357 */ _CFFI_OP(_CFFI_OP_NOOP, 132),
/* 1358 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1359 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(struct notcurses *, struct timespec const *, ncinput *)
/* 1360 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1361 */ _CFFI_OP(_CFFI_OP_NOOP, 706),
/* 1362 */ _CFFI_OP(_CFFI_OP_NOOP, 132),
/* 1363 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1364 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(uint32_t *)
/* 1365 */ _CFFI_OP(_CFFI_OP_NOOP, 226),
/* 1366 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1367 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(uint32_t)
/* 1368 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1369 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1370 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(uint32_t, unsigned int *, unsigned int *, unsigned int *)
/* 1371 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1372 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1373 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1374 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1375 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1376 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(uint64_t)
/* 1377 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1378 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1379 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(uint64_t, unsigned int *, unsigned int *, unsigned int *)
/* 1380 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1381 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1382 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1383 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1384 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1385 */ _CFFI_OP(_CFFI_OP_FUNCTION, 62), // uint32_t()(unsigned int, unsigned int, unsigned int)
/* 1386 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1387 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1388 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1389 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1390 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(nccell *, uint32_t)
/* 1391 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 1392 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1393 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1394 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(nccell *, uint64_t)
/* 1395 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 1396 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1397 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1398 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(nccell const *)
/* 1399 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 1400 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1401 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(struct ncplane *, uint32_t)
/* 1402 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1403 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1404 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1405 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(struct ncplane const *)
/* 1406 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1407 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1408 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(struct nctabbed *)
/* 1409 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1410 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1411 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(uint32_t, uint32_t)
/* 1412 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1413 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1414 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1415 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(uint64_t *)
/* 1416 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1417 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1418 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(uint64_t *, uint32_t)
/* 1419 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1420 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1421 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1422 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(uint64_t *, uint64_t)
/* 1423 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1424 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1425 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1426 */ _CFFI_OP(_CFFI_OP_FUNCTION, 65), // uint64_t()(uint64_t)
/* 1427 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1428 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1429 */ _CFFI_OP(_CFFI_OP_FUNCTION, 26), // unsigned int()(nccell const *)
/* 1430 */ _CFFI_OP(_CFFI_OP_NOOP, 4),
/* 1431 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1432 */ _CFFI_OP(_CFFI_OP_FUNCTION, 26), // unsigned int()(struct ncdirect *)
/* 1433 */ _CFFI_OP(_CFFI_OP_NOOP, 68),
/* 1434 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1435 */ _CFFI_OP(_CFFI_OP_FUNCTION, 26), // unsigned int()(struct ncdirect const *)
/* 1436 */ _CFFI_OP(_CFFI_OP_NOOP, 14),
/* 1437 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1438 */ _CFFI_OP(_CFFI_OP_FUNCTION, 26), // unsigned int()(struct ncplane const *)
/* 1439 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1440 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1441 */ _CFFI_OP(_CFFI_OP_FUNCTION, 26), // unsigned int()(struct notcurses const *)
/* 1442 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1443 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1444 */ _CFFI_OP(_CFFI_OP_FUNCTION, 26), // unsigned int()(uint32_t)
/* 1445 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22),
/* 1446 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1447 */ _CFFI_OP(_CFFI_OP_FUNCTION, 26), // unsigned int()(uint64_t)
/* 1448 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1449 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1450 */ _CFFI_OP(_CFFI_OP_FUNCTION, 243), // void *()(struct ncplane *)
/* 1451 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1452 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1453 */ _CFFI_OP(_CFFI_OP_FUNCTION, 243), // void *()(struct ncplane *, void *)
/* 1454 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1455 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 1456 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1457 */ _CFFI_OP(_CFFI_OP_FUNCTION, 243), // void *()(struct nctab *)
/* 1458 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1459 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1460 */ _CFFI_OP(_CFFI_OP_FUNCTION, 243), // void *()(struct nctab *, void *)
/* 1461 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1462 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 1463 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1464 */ _CFFI_OP(_CFFI_OP_FUNCTION, 243), // void *()(struct nctablet *)
/* 1465 */ _CFFI_OP(_CFFI_OP_NOOP, 824),
/* 1466 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1467 */ _CFFI_OP(_CFFI_OP_FUNCTION, 243), // void *()(struct nctree *)
/* 1468 */ _CFFI_OP(_CFFI_OP_NOOP, 55),
/* 1469 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1470 */ _CFFI_OP(_CFFI_OP_FUNCTION, 243), // void *()(struct nctree *, unsigned int const *, int *)
/* 1471 */ _CFFI_OP(_CFFI_OP_NOOP, 55),
/* 1472 */ _CFFI_OP(_CFFI_OP_NOOP, 873),
/* 1473 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1474 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1475 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(int *, int *, int *, int *)
/* 1476 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1477 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1478 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1479 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1480 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1481 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(nccell *)
/* 1482 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 1483 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1484 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(nccell *, int, int, int)
/* 1485 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 1486 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1487 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1488 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1489 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1490 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(nccell *, unsigned int)
/* 1491 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 1492 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1493 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1494 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(ncdirectf *)
/* 1495 */ _CFFI_OP(_CFFI_OP_NOOP, 276),
/* 1496 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1497 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(ncpalette *)
/* 1498 */ _CFFI_OP(_CFFI_OP_NOOP, 212),
/* 1499 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1500 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncdplot *)
/* 1501 */ _CFFI_OP(_CFFI_OP_NOOP, 336),
/* 1502 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1503 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncfadectx *)
/* 1504 */ _CFFI_OP(_CFFI_OP_NOOP, 681),
/* 1505 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1506 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncmenu *)
/* 1507 */ _CFFI_OP(_CFFI_OP_NOOP, 17),
/* 1508 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1509 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncmultiselector *)
/* 1510 */ _CFFI_OP(_CFFI_OP_NOOP, 21),
/* 1511 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1512 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane *)
/* 1513 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1514 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1515 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane *, int(*)(struct ncplane *))
/* 1516 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1517 */ _CFFI_OP(_CFFI_OP_POINTER, 380), // int(*)(struct ncplane *)
/* 1518 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1519 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane *, int, int, int)
/* 1520 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1521 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1522 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1523 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1524 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1525 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane *, nccell *)
/* 1526 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1527 */ _CFFI_OP(_CFFI_OP_NOOP, 198),
/* 1528 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1529 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane *, uint64_t)
/* 1530 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1531 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1532 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1533 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane *, unsigned int)
/* 1534 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1535 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8),
/* 1536 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1537 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane const *, int *, int *)
/* 1538 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1539 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1540 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1541 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1542 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane const *, struct ncplane const *, int *, int *)
/* 1543 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1544 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1545 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1546 */ _CFFI_OP(_CFFI_OP_NOOP, 33),
/* 1547 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1548 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane const *, unsigned int *, unsigned int *)
/* 1549 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1550 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1551 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1552 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1553 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncplane const *, unsigned int *, unsigned int *, unsigned int *, unsigned int *, unsigned int *, unsigned int *)
/* 1554 */ _CFFI_OP(_CFFI_OP_NOOP, 29),
/* 1555 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1556 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1557 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1558 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1559 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1560 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1561 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1562 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncprogbar *)
/* 1563 */ _CFFI_OP(_CFFI_OP_NOOP, 809),
/* 1564 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1565 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncreader *, char * *)
/* 1566 */ _CFFI_OP(_CFFI_OP_NOOP, 43),
/* 1567 */ _CFFI_OP(_CFFI_OP_NOOP, 389),
/* 1568 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1569 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncreel *)
/* 1570 */ _CFFI_OP(_CFFI_OP_NOOP, 47),
/* 1571 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1572 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncselector *, char * *)
/* 1573 */ _CFFI_OP(_CFFI_OP_NOOP, 51),
/* 1574 */ _CFFI_OP(_CFFI_OP_NOOP, 389),
/* 1575 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1576 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct nctab *, struct ncplane *, void *)
/* 1577 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1578 */ _CFFI_OP(_CFFI_OP_NOOP, 25),
/* 1579 */ _CFFI_OP(_CFFI_OP_NOOP, 243),
/* 1580 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1581 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct nctabbed *)
/* 1582 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1583 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1584 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct nctabbed *, int)
/* 1585 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1586 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1587 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1588 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct nctabbed *, struct nctab *)
/* 1589 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1590 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1591 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1592 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct nctabbed *, uint64_t *, uint64_t *, uint64_t *)
/* 1593 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1594 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1595 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1596 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1597 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1598 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct nctabbed *, uint64_t)
/* 1599 */ _CFFI_OP(_CFFI_OP_NOOP, 153),
/* 1600 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24),
/* 1601 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1602 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct nctree *)
/* 1603 */ _CFFI_OP(_CFFI_OP_NOOP, 55),
/* 1604 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1605 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct ncuplot *)
/* 1606 */ _CFFI_OP(_CFFI_OP_NOOP, 881),
/* 1607 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1608 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct notcurses *)
/* 1609 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1610 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1611 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct notcurses *, ncstats *)
/* 1612 */ _CFFI_OP(_CFFI_OP_NOOP, 110),
/* 1613 */ _CFFI_OP(_CFFI_OP_POINTER, 1670), // ncstats *
/* 1614 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1615 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct notcurses const *, FILE *)
/* 1616 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1617 */ _CFFI_OP(_CFFI_OP_NOOP, 385),
/* 1618 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1619 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(struct notcurses const *, unsigned int *, unsigned int *)
/* 1620 */ _CFFI_OP(_CFFI_OP_NOOP, 59),
/* 1621 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1622 */ _CFFI_OP(_CFFI_OP_NOOP, 231),
/* 1623 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1624 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(uint32_t *, int, int, int)
/* 1625 */ _CFFI_OP(_CFFI_OP_NOOP, 226),
/* 1626 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1627 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1628 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1629 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1630 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1711), // void()(uint64_t *, int, int, int)
/* 1631 */ _CFFI_OP(_CFFI_OP_NOOP, 89),
/* 1632 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1633 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1634 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7),
/* 1635 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1636 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1230), // void(*()(struct nctab *))(struct nctab *, struct ncplane *, void *)
/* 1637 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1638 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1639 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1230), // void(*()(struct nctab *, void(*)(struct nctab *, struct ncplane *, void *)))(struct nctab *, struct ncplane *, void *)
/* 1640 */ _CFFI_OP(_CFFI_OP_NOOP, 150),
/* 1641 */ _CFFI_OP(_CFFI_OP_NOOP, 1230),
/* 1642 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0),
/* 1643 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 2), // FILE
/* 1644 */ _CFFI_OP(_CFFI_OP_ARRAY, 418), // char[5]
/* 1645 */ (_cffi_opcode_t)(5),
/* 1646 */ _CFFI_OP(_CFFI_OP_POINTER, 268), // int(*)(struct ncdirect *, int, ncalign_e, char const *, ...)
/* 1647 */ _CFFI_OP(_CFFI_OP_POINTER, 396), // int(*)(struct ncplane *, char const *, ...)
/* 1648 */ _CFFI_OP(_CFFI_OP_POINTER, 435), // int(*)(struct ncplane *, int, int, char const *, ...)
/* 1649 */ _CFFI_OP(_CFFI_OP_POINTER, 572), // int(*)(struct ncplane *, int, ncalign_e, char const *, ...)
/* 1650 */ _CFFI_OP(_CFFI_OP_POINTER, 773), // int(*)(struct ncplane *, void *, int)
/* 1651 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 23), // int64_t
/* 1652 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 3), // nccapabilities
/* 1653 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 4), // nccell
/* 1654 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 43), // ncdirectf
/* 1655 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 19), // ncdirectv
/* 1656 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 9), // ncfdplane_options
/* 1657 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 10), // ncinput
/* 1658 */ _CFFI_OP(_CFFI_OP_ENUM, 2), // ncintype_e
/* 1659 */ _CFFI_OP(_CFFI_OP_ENUM, 3), // ncloglevel_e
/* 1660 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 13), // ncmenu_options
/* 1661 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 17), // ncmultiselector_options
/* 1662 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 18), // ncpalette
/* 1663 */ _CFFI_OP(_CFFI_OP_ENUM, 4), // ncpixelimpl_e
/* 1664 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 20), // ncplane_options
/* 1665 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 21), // ncplot_options
/* 1666 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 23), // ncprogbar_options
/* 1667 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 25), // ncreader_options
/* 1668 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 27), // ncreel_options
/* 1669 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 30), // ncselector_options
/* 1670 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 31), // ncstats
/* 1671 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 33), // ncsubproc_options
/* 1672 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 36), // nctabbed_options
/* 1673 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 40), // nctree_options
/* 1674 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 42), // ncvgeom
/* 1675 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 46), // notcurses_options
/* 1676 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 0), // sigset_t
/* 1677 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 5), // struct ncdirect
/* 1678 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 6), // struct ncdplot
/* 1679 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 7), // struct ncfadectx
/* 1680 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 8), // struct ncfdplane
/* 1681 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 11), // struct ncmenu
/* 1682 */ _CFFI_OP(_CFFI_OP_POINTER, 1683), // struct ncmenu_item *
/* 1683 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 12), // struct ncmenu_item
/* 1684 */ _CFFI_OP(_CFFI_OP_POINTER, 1685), // struct ncmenu_section *
/* 1685 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 14), // struct ncmenu_section
/* 1686 */ _CFFI_OP(_CFFI_OP_POINTER, 1687), // struct ncmselector_item const *
/* 1687 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 15), // struct ncmselector_item
/* 1688 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 16), // struct ncmultiselector
/* 1689 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 22), // struct ncprogbar
/* 1690 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 24), // struct ncreader
/* 1691 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 26), // struct ncreel
/* 1692 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 28), // struct ncselector
/* 1693 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 29), // struct ncselector_item
/* 1694 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 32), // struct ncsubproc
/* 1695 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 34), // struct nctab
/* 1696 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 35), // struct nctabbed
/* 1697 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 37), // struct nctablet
/* 1698 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 38), // struct nctree
/* 1699 */ _CFFI_OP(_CFFI_OP_POINTER, 1700), // struct nctree_item *
/* 1700 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 39), // struct nctree_item
/* 1701 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 41), // struct ncuplot
/* 1702 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 44), // struct ncvisual_options
/* 1703 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 45), // struct notcurses
/* 1704 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 47), // struct timespec
/* 1705 */ _CFFI_OP(_CFFI_OP_ARRAY, 62), // uint32_t[256]
/* 1706 */ (_cffi_opcode_t)(256),
/* 1707 */ _CFFI_OP(_CFFI_OP_ARRAY, 62), // uint32_t[4]
/* 1708 */ (_cffi_opcode_t)(4),
/* 1709 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 18), // uint8_t
/* 1710 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 4), // unsigned char
/* 1711 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 0), // void
};

static int _cffi_const_NCALIGN_UNALIGNED(unsigned long long *o)
{
  int n = (NCALIGN_UNALIGNED) <= 0;
  *o = (unsigned long long)((NCALIGN_UNALIGNED) | 0);  /* check that NCALIGN_UNALIGNED is an integer */
  return n;
}

static int _cffi_const_NCALIGN_LEFT(unsigned long long *o)
{
  int n = (NCALIGN_LEFT) <= 0;
  *o = (unsigned long long)((NCALIGN_LEFT) | 0);  /* check that NCALIGN_LEFT is an integer */
  return n;
}

static int _cffi_const_NCALIGN_CENTER(unsigned long long *o)
{
  int n = (NCALIGN_CENTER) <= 0;
  *o = (unsigned long long)((NCALIGN_CENTER) | 0);  /* check that NCALIGN_CENTER is an integer */
  return n;
}

static int _cffi_const_NCALIGN_RIGHT(unsigned long long *o)
{
  int n = (NCALIGN_RIGHT) <= 0;
  *o = (unsigned long long)((NCALIGN_RIGHT) | 0);  /* check that NCALIGN_RIGHT is an integer */
  return n;
}

static int _cffi_const_NCBLIT_DEFAULT(unsigned long long *o)
{
  int n = (NCBLIT_DEFAULT) <= 0;
  *o = (unsigned long long)((NCBLIT_DEFAULT) | 0);  /* check that NCBLIT_DEFAULT is an integer */
  return n;
}

static int _cffi_const_NCBLIT_1x1(unsigned long long *o)
{
  int n = (NCBLIT_1x1) <= 0;
  *o = (unsigned long long)((NCBLIT_1x1) | 0);  /* check that NCBLIT_1x1 is an integer */
  return n;
}

static int _cffi_const_NCBLIT_2x1(unsigned long long *o)
{
  int n = (NCBLIT_2x1) <= 0;
  *o = (unsigned long long)((NCBLIT_2x1) | 0);  /* check that NCBLIT_2x1 is an integer */
  return n;
}

static int _cffi_const_NCBLIT_2x2(unsigned long long *o)
{
  int n = (NCBLIT_2x2) <= 0;
  *o = (unsigned long long)((NCBLIT_2x2) | 0);  /* check that NCBLIT_2x2 is an integer */
  return n;
}

static int _cffi_const_NCBLIT_3x2(unsigned long long *o)
{
  int n = (NCBLIT_3x2) <= 0;
  *o = (unsigned long long)((NCBLIT_3x2) | 0);  /* check that NCBLIT_3x2 is an integer */
  return n;
}

static int _cffi_const_NCBLIT_4x2(unsigned long long *o)
{
  int n = (NCBLIT_4x2) <= 0;
  *o = (unsigned long long)((NCBLIT_4x2) | 0);  /* check that NCBLIT_4x2 is an integer */
  return n;
}

static int _cffi_const_NCBLIT_BRAILLE(unsigned long long *o)
{
  int n = (NCBLIT_BRAILLE) <= 0;
  *o = (unsigned long long)((NCBLIT_BRAILLE) | 0);  /* check that NCBLIT_BRAILLE is an integer */
  return n;
}

static int _cffi_const_NCBLIT_PIXEL(unsigned long long *o)
{
  int n = (NCBLIT_PIXEL) <= 0;
  *o = (unsigned long long)((NCBLIT_PIXEL) | 0);  /* check that NCBLIT_PIXEL is an integer */
  return n;
}

static int _cffi_const_NCBLIT_4x1(unsigned long long *o)
{
  int n = (NCBLIT_4x1) <= 0;
  *o = (unsigned long long)((NCBLIT_4x1) | 0);  /* check that NCBLIT_4x1 is an integer */
  return n;
}

static int _cffi_const_NCBLIT_8x1(unsigned long long *o)
{
  int n = (NCBLIT_8x1) <= 0;
  *o = (unsigned long long)((NCBLIT_8x1) | 0);  /* check that NCBLIT_8x1 is an integer */
  return n;
}

static int _cffi_const_NCTYPE_UNKNOWN(unsigned long long *o)
{
  int n = (NCTYPE_UNKNOWN) <= 0;
  *o = (unsigned long long)((NCTYPE_UNKNOWN) | 0);  /* check that NCTYPE_UNKNOWN is an integer */
  return n;
}

static int _cffi_const_NCTYPE_PRESS(unsigned long long *o)
{
  int n = (NCTYPE_PRESS) <= 0;
  *o = (unsigned long long)((NCTYPE_PRESS) | 0);  /* check that NCTYPE_PRESS is an integer */
  return n;
}

static int _cffi_const_NCTYPE_REPEAT(unsigned long long *o)
{
  int n = (NCTYPE_REPEAT) <= 0;
  *o = (unsigned long long)((NCTYPE_REPEAT) | 0);  /* check that NCTYPE_REPEAT is an integer */
  return n;
}

static int _cffi_const_NCTYPE_RELEASE(unsigned long long *o)
{
  int n = (NCTYPE_RELEASE) <= 0;
  *o = (unsigned long long)((NCTYPE_RELEASE) | 0);  /* check that NCTYPE_RELEASE is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_SILENT(unsigned long long *o)
{
  int n = (NCLOGLEVEL_SILENT) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_SILENT) | 0);  /* check that NCLOGLEVEL_SILENT is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_PANIC(unsigned long long *o)
{
  int n = (NCLOGLEVEL_PANIC) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_PANIC) | 0);  /* check that NCLOGLEVEL_PANIC is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_FATAL(unsigned long long *o)
{
  int n = (NCLOGLEVEL_FATAL) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_FATAL) | 0);  /* check that NCLOGLEVEL_FATAL is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_ERROR(unsigned long long *o)
{
  int n = (NCLOGLEVEL_ERROR) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_ERROR) | 0);  /* check that NCLOGLEVEL_ERROR is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_WARNING(unsigned long long *o)
{
  int n = (NCLOGLEVEL_WARNING) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_WARNING) | 0);  /* check that NCLOGLEVEL_WARNING is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_INFO(unsigned long long *o)
{
  int n = (NCLOGLEVEL_INFO) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_INFO) | 0);  /* check that NCLOGLEVEL_INFO is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_VERBOSE(unsigned long long *o)
{
  int n = (NCLOGLEVEL_VERBOSE) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_VERBOSE) | 0);  /* check that NCLOGLEVEL_VERBOSE is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_DEBUG(unsigned long long *o)
{
  int n = (NCLOGLEVEL_DEBUG) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_DEBUG) | 0);  /* check that NCLOGLEVEL_DEBUG is an integer */
  return n;
}

static int _cffi_const_NCLOGLEVEL_TRACE(unsigned long long *o)
{
  int n = (NCLOGLEVEL_TRACE) <= 0;
  *o = (unsigned long long)((NCLOGLEVEL_TRACE) | 0);  /* check that NCLOGLEVEL_TRACE is an integer */
  return n;
}

static int _cffi_const_NCPIXEL_NONE(unsigned long long *o)
{
  int n = (NCPIXEL_NONE) <= 0;
  *o = (unsigned long long)((NCPIXEL_NONE) | 0);  /* check that NCPIXEL_NONE is an integer */
  return n;
}

static int _cffi_const_NCPIXEL_SIXEL(unsigned long long *o)
{
  int n = (NCPIXEL_SIXEL) <= 0;
  *o = (unsigned long long)((NCPIXEL_SIXEL) | 0);  /* check that NCPIXEL_SIXEL is an integer */
  return n;
}

static int _cffi_const_NCPIXEL_LINUXFB(unsigned long long *o)
{
  int n = (NCPIXEL_LINUXFB) <= 0;
  *o = (unsigned long long)((NCPIXEL_LINUXFB) | 0);  /* check that NCPIXEL_LINUXFB is an integer */
  return n;
}

static int _cffi_const_NCPIXEL_ITERM2(unsigned long long *o)
{
  int n = (NCPIXEL_ITERM2) <= 0;
  *o = (unsigned long long)((NCPIXEL_ITERM2) | 0);  /* check that NCPIXEL_ITERM2 is an integer */
  return n;
}

static int _cffi_const_NCPIXEL_KITTY_STATIC(unsigned long long *o)
{
  int n = (NCPIXEL_KITTY_STATIC) <= 0;
  *o = (unsigned long long)((NCPIXEL_KITTY_STATIC) | 0);  /* check that NCPIXEL_KITTY_STATIC is an integer */
  return n;
}

static int _cffi_const_NCPIXEL_KITTY_ANIMATED(unsigned long long *o)
{
  int n = (NCPIXEL_KITTY_ANIMATED) <= 0;
  *o = (unsigned long long)((NCPIXEL_KITTY_ANIMATED) | 0);  /* check that NCPIXEL_KITTY_ANIMATED is an integer */
  return n;
}

static int _cffi_const_NCPIXEL_KITTY_SELFREF(unsigned long long *o)
{
  int n = (NCPIXEL_KITTY_SELFREF) <= 0;
  *o = (unsigned long long)((NCPIXEL_KITTY_SELFREF) | 0);  /* check that NCPIXEL_KITTY_SELFREF is an integer */
  return n;
}

static int _cffi_const_NCSCALE_NONE(unsigned long long *o)
{
  int n = (NCSCALE_NONE) <= 0;
  *o = (unsigned long long)((NCSCALE_NONE) | 0);  /* check that NCSCALE_NONE is an integer */
  return n;
}

static int _cffi_const_NCSCALE_SCALE(unsigned long long *o)
{
  int n = (NCSCALE_SCALE) <= 0;
  *o = (unsigned long long)((NCSCALE_SCALE) | 0);  /* check that NCSCALE_SCALE is an integer */
  return n;
}

static int _cffi_const_NCSCALE_STRETCH(unsigned long long *o)
{
  int n = (NCSCALE_STRETCH) <= 0;
  *o = (unsigned long long)((NCSCALE_STRETCH) | 0);  /* check that NCSCALE_STRETCH is an integer */
  return n;
}

static int _cffi_const_NCSCALE_NONE_HIRES(unsigned long long *o)
{
  int n = (NCSCALE_NONE_HIRES) <= 0;
  *o = (unsigned long long)((NCSCALE_NONE_HIRES) | 0);  /* check that NCSCALE_NONE_HIRES is an integer */
  return n;
}

static int _cffi_const_NCSCALE_SCALE_HIRES(unsigned long long *o)
{
  int n = (NCSCALE_SCALE_HIRES) <= 0;
  *o = (unsigned long long)((NCSCALE_SCALE_HIRES) | 0);  /* check that NCSCALE_SCALE_HIRES is an integer */
  return n;
}

static int _cffi_d_ncblit_bgrx(void const * x0, int x1, struct ncvisual_options const * x2)
{
  return ncblit_bgrx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncblit_bgrx(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  struct ncvisual_options const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncblit_bgrx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncblit_bgrx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncblit_bgrx _cffi_d_ncblit_bgrx
#endif

static int _cffi_d_ncblit_rgb_loose(void const * x0, int x1, struct ncvisual_options const * x2, int x3)
{
  return ncblit_rgb_loose(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncblit_rgb_loose(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  struct ncvisual_options const * x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncblit_rgb_loose", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncblit_rgb_loose(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncblit_rgb_loose _cffi_d_ncblit_rgb_loose
#endif

static int _cffi_d_ncblit_rgb_packed(void const * x0, int x1, struct ncvisual_options const * x2, int x3)
{
  return ncblit_rgb_packed(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncblit_rgb_packed(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  struct ncvisual_options const * x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncblit_rgb_packed", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncblit_rgb_packed(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncblit_rgb_packed _cffi_d_ncblit_rgb_packed
#endif

static int _cffi_d_ncblit_rgba(void const * x0, int x1, struct ncvisual_options const * x2)
{
  return ncblit_rgba(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncblit_rgba(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  struct ncvisual_options const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncblit_rgba", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncblit_rgba(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncblit_rgba _cffi_d_ncblit_rgba
#endif

static char const * _cffi_d_ncbprefix(uintmax_t x0, uintmax_t x1, char * x2, int x3)
{
  return ncbprefix(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncbprefix(PyObject *self, PyObject *args)
{
  uintmax_t x0;
  uintmax_t x1;
  char * x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncbprefix", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uintmax_t);
  if (x0 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  x1 = _cffi_to_c_int(arg1, uintmax_t);
  if (x1 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(159), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(159), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncbprefix(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncbprefix _cffi_d_ncbprefix
#endif

static _Bool _cffi_d_nccapability_canchangecolor(nccapabilities const * x0)
{
  return nccapability_canchangecolor(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccapability_canchangecolor(PyObject *self, PyObject *arg0)
{
  nccapabilities const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccapabilities const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccapability_canchangecolor(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccapability_canchangecolor _cffi_d_nccapability_canchangecolor
#endif

static uint32_t _cffi_d_nccell_bchannel(nccell const * x0)
{
  return nccell_bchannel(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_bchannel(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_bchannel(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_bchannel _cffi_d_nccell_bchannel
#endif

static uint32_t _cffi_d_nccell_bg_alpha(nccell const * x0)
{
  return nccell_bg_alpha(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_bg_alpha(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_bg_alpha(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_bg_alpha _cffi_d_nccell_bg_alpha
#endif

static _Bool _cffi_d_nccell_bg_default_p(nccell const * x0)
{
  return nccell_bg_default_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_bg_default_p(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_bg_default_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_bg_default_p _cffi_d_nccell_bg_default_p
#endif

static uint32_t _cffi_d_nccell_bg_palindex(nccell const * x0)
{
  return nccell_bg_palindex(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_bg_palindex(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_bg_palindex(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_bg_palindex _cffi_d_nccell_bg_palindex
#endif

static _Bool _cffi_d_nccell_bg_palindex_p(nccell const * x0)
{
  return nccell_bg_palindex_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_bg_palindex_p(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_bg_palindex_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_bg_palindex_p _cffi_d_nccell_bg_palindex_p
#endif

static uint32_t _cffi_d_nccell_bg_rgb(nccell const * x0)
{
  return nccell_bg_rgb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_bg_rgb(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_bg_rgb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_bg_rgb _cffi_d_nccell_bg_rgb
#endif

static uint32_t _cffi_d_nccell_bg_rgb8(nccell const * x0, unsigned int * x1, unsigned int * x2, unsigned int * x3)
{
  return nccell_bg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_bg_rgb8(PyObject *self, PyObject *args)
{
  nccell const * x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccell_bg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_bg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_bg_rgb8 _cffi_d_nccell_bg_rgb8
#endif

static uint64_t _cffi_d_nccell_channels(nccell const * x0)
{
  return nccell_channels(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_channels(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_channels(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_channels _cffi_d_nccell_channels
#endif

static unsigned int _cffi_d_nccell_cols(nccell const * x0)
{
  return nccell_cols(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_cols(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_cols(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_cols _cffi_d_nccell_cols
#endif

static _Bool _cffi_d_nccell_double_wide_p(nccell const * x0)
{
  return nccell_double_wide_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_double_wide_p(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_double_wide_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_double_wide_p _cffi_d_nccell_double_wide_p
#endif

static int _cffi_d_nccell_duplicate(struct ncplane * x0, nccell * x1, nccell const * x2)
{
  return nccell_duplicate(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_duplicate(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  nccell const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "nccell_duplicate", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_duplicate(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_duplicate _cffi_d_nccell_duplicate
#endif

static char const * _cffi_d_nccell_extended_gcluster(struct ncplane const * x0, nccell const * x1)
{
  return nccell_extended_gcluster(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_extended_gcluster(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  nccell const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_extended_gcluster", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_extended_gcluster(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_extended_gcluster _cffi_d_nccell_extended_gcluster
#endif

static char * _cffi_d_nccell_extract(struct ncplane const * x0, nccell const * x1, uint16_t * x2, uint64_t * x3)
{
  return nccell_extract(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_extract(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  nccell const * x1;
  uint16_t * x2;
  uint64_t * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccell_extract", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(88), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (uint16_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(88), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_extract(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_extract _cffi_d_nccell_extract
#endif

static uint32_t _cffi_d_nccell_fchannel(nccell const * x0)
{
  return nccell_fchannel(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_fchannel(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_fchannel(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_fchannel _cffi_d_nccell_fchannel
#endif

static uint32_t _cffi_d_nccell_fg_alpha(nccell const * x0)
{
  return nccell_fg_alpha(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_fg_alpha(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_fg_alpha(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_fg_alpha _cffi_d_nccell_fg_alpha
#endif

static _Bool _cffi_d_nccell_fg_default_p(nccell const * x0)
{
  return nccell_fg_default_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_fg_default_p(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_fg_default_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_fg_default_p _cffi_d_nccell_fg_default_p
#endif

static uint32_t _cffi_d_nccell_fg_palindex(nccell const * x0)
{
  return nccell_fg_palindex(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_fg_palindex(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_fg_palindex(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_fg_palindex _cffi_d_nccell_fg_palindex
#endif

static _Bool _cffi_d_nccell_fg_palindex_p(nccell const * x0)
{
  return nccell_fg_palindex_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_fg_palindex_p(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_fg_palindex_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_fg_palindex_p _cffi_d_nccell_fg_palindex_p
#endif

static uint32_t _cffi_d_nccell_fg_rgb(nccell const * x0)
{
  return nccell_fg_rgb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_fg_rgb(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_fg_rgb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_fg_rgb _cffi_d_nccell_fg_rgb
#endif

static uint32_t _cffi_d_nccell_fg_rgb8(nccell const * x0, unsigned int * x1, unsigned int * x2, unsigned int * x3)
{
  return nccell_fg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_fg_rgb8(PyObject *self, PyObject *args)
{
  nccell const * x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccell_fg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_fg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_fg_rgb8 _cffi_d_nccell_fg_rgb8
#endif

static void _cffi_d_nccell_init(nccell * x0)
{
  nccell_init(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_init(PyObject *self, PyObject *arg0)
{
  nccell * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_init(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_init _cffi_d_nccell_init
#endif

static int _cffi_d_nccell_load(struct ncplane * x0, nccell * x1, char const * x2)
{
  return nccell_load(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_load(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  char const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "nccell_load", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_load(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_load _cffi_d_nccell_load
#endif

static int _cffi_d_nccell_load_char(struct ncplane * x0, nccell * x1, char x2)
{
  return nccell_load_char(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_load_char(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  char x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "nccell_load_char", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = (char)_cffi_to_c_char(arg2);
  if (x2 == (char)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_load_char(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_load_char _cffi_d_nccell_load_char
#endif

static int _cffi_d_nccell_load_egc32(struct ncplane * x0, nccell * x1, uint32_t x2)
{
  return nccell_load_egc32(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_load_egc32(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  uint32_t x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "nccell_load_egc32", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, uint32_t);
  if (x2 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_load_egc32(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_load_egc32 _cffi_d_nccell_load_egc32
#endif

static int _cffi_d_nccell_load_ucs32(struct ncplane * x0, nccell * x1, uint32_t x2)
{
  return nccell_load_ucs32(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_load_ucs32(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  uint32_t x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "nccell_load_ucs32", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, uint32_t);
  if (x2 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_load_ucs32(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_load_ucs32 _cffi_d_nccell_load_ucs32
#endif

static void _cffi_d_nccell_off_styles(nccell * x0, unsigned int x1)
{
  nccell_off_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_off_styles(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_off_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_off_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_off_styles _cffi_d_nccell_off_styles
#endif

static void _cffi_d_nccell_on_styles(nccell * x0, unsigned int x1)
{
  nccell_on_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_on_styles(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_on_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_on_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_on_styles _cffi_d_nccell_on_styles
#endif

static int _cffi_d_nccell_prime(struct ncplane * x0, nccell * x1, char const * x2, uint16_t x3, uint64_t x4)
{
  return nccell_prime(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_prime(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  char const * x2;
  uint16_t x3;
  uint64_t x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "nccell_prime", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, uint16_t);
  if (x3 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_prime(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_prime _cffi_d_nccell_prime
#endif

static void _cffi_d_nccell_release(struct ncplane * x0, nccell * x1)
{
  nccell_release(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_release(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_release", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_release(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_release _cffi_d_nccell_release
#endif

static uint64_t _cffi_d_nccell_set_bchannel(nccell * x0, uint32_t x1)
{
  return nccell_set_bchannel(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_bchannel(PyObject *self, PyObject *args)
{
  nccell * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_bchannel", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_bchannel(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_bchannel _cffi_d_nccell_set_bchannel
#endif

static int _cffi_d_nccell_set_bg_alpha(nccell * x0, unsigned int x1)
{
  return nccell_set_bg_alpha(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_bg_alpha(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_bg_alpha", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_bg_alpha(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_bg_alpha _cffi_d_nccell_set_bg_alpha
#endif

static void _cffi_d_nccell_set_bg_default(nccell * x0)
{
  nccell_set_bg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_bg_default(PyObject *self, PyObject *arg0)
{
  nccell * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_set_bg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_set_bg_default _cffi_d_nccell_set_bg_default
#endif

static int _cffi_d_nccell_set_bg_palindex(nccell * x0, unsigned int x1)
{
  return nccell_set_bg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_bg_palindex(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_bg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_bg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_bg_palindex _cffi_d_nccell_set_bg_palindex
#endif

static int _cffi_d_nccell_set_bg_rgb(nccell * x0, uint32_t x1)
{
  return nccell_set_bg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_bg_rgb(PyObject *self, PyObject *args)
{
  nccell * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_bg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_bg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_bg_rgb _cffi_d_nccell_set_bg_rgb
#endif

static int _cffi_d_nccell_set_bg_rgb8(nccell * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return nccell_set_bg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_bg_rgb8(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccell_set_bg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_bg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_bg_rgb8 _cffi_d_nccell_set_bg_rgb8
#endif

static void _cffi_d_nccell_set_bg_rgb8_clipped(nccell * x0, int x1, int x2, int x3)
{
  nccell_set_bg_rgb8_clipped(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_bg_rgb8_clipped(PyObject *self, PyObject *args)
{
  nccell * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccell_set_bg_rgb8_clipped", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_set_bg_rgb8_clipped(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_set_bg_rgb8_clipped _cffi_d_nccell_set_bg_rgb8_clipped
#endif

static uint64_t _cffi_d_nccell_set_channels(nccell * x0, uint64_t x1)
{
  return nccell_set_channels(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_channels(PyObject *self, PyObject *args)
{
  nccell * x0;
  uint64_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_channels", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_channels(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_channels _cffi_d_nccell_set_channels
#endif

static uint64_t _cffi_d_nccell_set_fchannel(nccell * x0, uint32_t x1)
{
  return nccell_set_fchannel(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_fchannel(PyObject *self, PyObject *args)
{
  nccell * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_fchannel", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_fchannel(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_fchannel _cffi_d_nccell_set_fchannel
#endif

static int _cffi_d_nccell_set_fg_alpha(nccell * x0, unsigned int x1)
{
  return nccell_set_fg_alpha(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_fg_alpha(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_fg_alpha", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_fg_alpha(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_fg_alpha _cffi_d_nccell_set_fg_alpha
#endif

static void _cffi_d_nccell_set_fg_default(nccell * x0)
{
  nccell_set_fg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_fg_default(PyObject *self, PyObject *arg0)
{
  nccell * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_set_fg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_set_fg_default _cffi_d_nccell_set_fg_default
#endif

static int _cffi_d_nccell_set_fg_palindex(nccell * x0, unsigned int x1)
{
  return nccell_set_fg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_fg_palindex(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_fg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_fg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_fg_palindex _cffi_d_nccell_set_fg_palindex
#endif

static int _cffi_d_nccell_set_fg_rgb(nccell * x0, uint32_t x1)
{
  return nccell_set_fg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_fg_rgb(PyObject *self, PyObject *args)
{
  nccell * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_fg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_fg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_fg_rgb _cffi_d_nccell_set_fg_rgb
#endif

static int _cffi_d_nccell_set_fg_rgb8(nccell * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return nccell_set_fg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_fg_rgb8(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccell_set_fg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_set_fg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_set_fg_rgb8 _cffi_d_nccell_set_fg_rgb8
#endif

static void _cffi_d_nccell_set_fg_rgb8_clipped(nccell * x0, int x1, int x2, int x3)
{
  nccell_set_fg_rgb8_clipped(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_fg_rgb8_clipped(PyObject *self, PyObject *args)
{
  nccell * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccell_set_fg_rgb8_clipped", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_set_fg_rgb8_clipped(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_set_fg_rgb8_clipped _cffi_d_nccell_set_fg_rgb8_clipped
#endif

static void _cffi_d_nccell_set_styles(nccell * x0, unsigned int x1)
{
  nccell_set_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_set_styles(PyObject *self, PyObject *args)
{
  nccell * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_set_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nccell_set_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nccell_set_styles _cffi_d_nccell_set_styles
#endif

static char * _cffi_d_nccell_strdup(struct ncplane const * x0, nccell const * x1)
{
  return nccell_strdup(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_strdup(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  nccell const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nccell_strdup", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_strdup(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_strdup _cffi_d_nccell_strdup
#endif

static uint16_t _cffi_d_nccell_styles(nccell const * x0)
{
  return nccell_styles(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_styles(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint16_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_styles(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint16_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_styles _cffi_d_nccell_styles
#endif

static _Bool _cffi_d_nccell_wide_left_p(nccell const * x0)
{
  return nccell_wide_left_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_wide_left_p(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_wide_left_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_wide_left_p _cffi_d_nccell_wide_left_p
#endif

static _Bool _cffi_d_nccell_wide_right_p(nccell const * x0)
{
  return nccell_wide_right_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccell_wide_right_p(PyObject *self, PyObject *arg0)
{
  nccell const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccell_wide_right_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccell_wide_right_p _cffi_d_nccell_wide_right_p
#endif

static _Bool _cffi_d_nccellcmp(struct ncplane const * x0, nccell const * x1, struct ncplane const * x2, nccell const * x3)
{
  return nccellcmp(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccellcmp(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  nccell const * x1;
  struct ncplane const * x2;
  nccell const * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nccellcmp", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccellcmp(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccellcmp _cffi_d_nccellcmp
#endif

static int _cffi_d_nccells_ascii_box(struct ncplane * x0, uint16_t x1, uint64_t x2, nccell * x3, nccell * x4, nccell * x5, nccell * x6, nccell * x7, nccell * x8)
{
  return nccells_ascii_box(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccells_ascii_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  nccell * x3;
  nccell * x4;
  nccell * x5;
  nccell * x6;
  nccell * x7;
  nccell * x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "nccells_ascii_box", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg7, (char **)&x7);
  if (datasize != 0) {
    x7 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg7, (char **)&x7,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg8, (char **)&x8);
  if (datasize != 0) {
    x8 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg8, (char **)&x8,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccells_ascii_box(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccells_ascii_box _cffi_d_nccells_ascii_box
#endif

static int _cffi_d_nccells_double_box(struct ncplane * x0, uint16_t x1, uint64_t x2, nccell * x3, nccell * x4, nccell * x5, nccell * x6, nccell * x7, nccell * x8)
{
  return nccells_double_box(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccells_double_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  nccell * x3;
  nccell * x4;
  nccell * x5;
  nccell * x6;
  nccell * x7;
  nccell * x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "nccells_double_box", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg7, (char **)&x7);
  if (datasize != 0) {
    x7 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg7, (char **)&x7,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg8, (char **)&x8);
  if (datasize != 0) {
    x8 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg8, (char **)&x8,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccells_double_box(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccells_double_box _cffi_d_nccells_double_box
#endif

static int _cffi_d_nccells_heavy_box(struct ncplane * x0, uint16_t x1, uint64_t x2, nccell * x3, nccell * x4, nccell * x5, nccell * x6, nccell * x7, nccell * x8)
{
  return nccells_heavy_box(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccells_heavy_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  nccell * x3;
  nccell * x4;
  nccell * x5;
  nccell * x6;
  nccell * x7;
  nccell * x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "nccells_heavy_box", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg7, (char **)&x7);
  if (datasize != 0) {
    x7 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg7, (char **)&x7,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg8, (char **)&x8);
  if (datasize != 0) {
    x8 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg8, (char **)&x8,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccells_heavy_box(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccells_heavy_box _cffi_d_nccells_heavy_box
#endif

static int _cffi_d_nccells_light_box(struct ncplane * x0, uint16_t x1, uint64_t x2, nccell * x3, nccell * x4, nccell * x5, nccell * x6, nccell * x7, nccell * x8)
{
  return nccells_light_box(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccells_light_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  nccell * x3;
  nccell * x4;
  nccell * x5;
  nccell * x6;
  nccell * x7;
  nccell * x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "nccells_light_box", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg7, (char **)&x7);
  if (datasize != 0) {
    x7 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg7, (char **)&x7,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg8, (char **)&x8);
  if (datasize != 0) {
    x8 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg8, (char **)&x8,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccells_light_box(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccells_light_box _cffi_d_nccells_light_box
#endif

static int _cffi_d_nccells_load_box(struct ncplane * x0, uint16_t x1, uint64_t x2, nccell * x3, nccell * x4, nccell * x5, nccell * x6, nccell * x7, nccell * x8, char const * x9)
{
  return nccells_load_box(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccells_load_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  nccell * x3;
  nccell * x4;
  nccell * x5;
  nccell * x6;
  nccell * x7;
  nccell * x8;
  char const * x9;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;
  PyObject *arg9;

  if (!PyArg_UnpackTuple(args, "nccells_load_box", 10, 10, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8, &arg9))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg7, (char **)&x7);
  if (datasize != 0) {
    x7 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg7, (char **)&x7,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg8, (char **)&x8);
  if (datasize != 0) {
    x8 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg8, (char **)&x8,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg9, (char **)&x9);
  if (datasize != 0) {
    x9 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg9, (char **)&x9,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccells_load_box(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccells_load_box _cffi_d_nccells_load_box
#endif

static int _cffi_d_nccells_rounded_box(struct ncplane * x0, uint16_t x1, uint64_t x2, nccell * x3, nccell * x4, nccell * x5, nccell * x6, nccell * x7, nccell * x8)
{
  return nccells_rounded_box(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nccells_rounded_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  nccell * x3;
  nccell * x4;
  nccell * x5;
  nccell * x6;
  nccell * x7;
  nccell * x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "nccells_rounded_box", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg7, (char **)&x7);
  if (datasize != 0) {
    x7 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg7, (char **)&x7,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg8, (char **)&x8);
  if (datasize != 0) {
    x8 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg8, (char **)&x8,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nccells_rounded_box(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nccells_rounded_box _cffi_d_nccells_rounded_box
#endif

static uint32_t _cffi_d_ncchannel_alpha(uint32_t x0)
{
  return ncchannel_alpha(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_alpha(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  uint32_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_alpha(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_alpha _cffi_d_ncchannel_alpha
#endif

static unsigned int _cffi_d_ncchannel_b(uint32_t x0)
{
  return ncchannel_b(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_b(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_b(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_b _cffi_d_ncchannel_b
#endif

static _Bool _cffi_d_ncchannel_default_p(uint32_t x0)
{
  return ncchannel_default_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_default_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_default_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_default_p _cffi_d_ncchannel_default_p
#endif

static unsigned int _cffi_d_ncchannel_g(uint32_t x0)
{
  return ncchannel_g(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_g(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_g(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_g _cffi_d_ncchannel_g
#endif

static unsigned int _cffi_d_ncchannel_palindex(uint32_t x0)
{
  return ncchannel_palindex(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_palindex(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_palindex(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_palindex _cffi_d_ncchannel_palindex
#endif

static _Bool _cffi_d_ncchannel_palindex_p(uint32_t x0)
{
  return ncchannel_palindex_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_palindex_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_palindex_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_palindex_p _cffi_d_ncchannel_palindex_p
#endif

static unsigned int _cffi_d_ncchannel_r(uint32_t x0)
{
  return ncchannel_r(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_r(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_r(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_r _cffi_d_ncchannel_r
#endif

static uint32_t _cffi_d_ncchannel_rgb(uint32_t x0)
{
  return ncchannel_rgb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_rgb(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  uint32_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_rgb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_rgb _cffi_d_ncchannel_rgb
#endif

static uint32_t _cffi_d_ncchannel_rgb8(uint32_t x0, unsigned int * x1, unsigned int * x2, unsigned int * x3)
{
  return ncchannel_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_rgb8(PyObject *self, PyObject *args)
{
  uint32_t x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannel_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_rgb8 _cffi_d_ncchannel_rgb8
#endif

static _Bool _cffi_d_ncchannel_rgb_p(uint32_t x0)
{
  return ncchannel_rgb_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_rgb_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_rgb_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_rgb_p _cffi_d_ncchannel_rgb_p
#endif

static int _cffi_d_ncchannel_set(uint32_t * x0, uint32_t x1)
{
  return ncchannel_set(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_set(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannel_set", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_set(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_set _cffi_d_ncchannel_set
#endif

static int _cffi_d_ncchannel_set_alpha(uint32_t * x0, unsigned int x1)
{
  return ncchannel_set_alpha(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_set_alpha(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannel_set_alpha", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_set_alpha(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_set_alpha _cffi_d_ncchannel_set_alpha
#endif

static uint32_t _cffi_d_ncchannel_set_default(uint32_t * x0)
{
  return ncchannel_set_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_set_default(PyObject *self, PyObject *arg0)
{
  uint32_t * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_set_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_set_default _cffi_d_ncchannel_set_default
#endif

static int _cffi_d_ncchannel_set_palindex(uint32_t * x0, unsigned int x1)
{
  return ncchannel_set_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_set_palindex(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannel_set_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_set_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_set_palindex _cffi_d_ncchannel_set_palindex
#endif

static int _cffi_d_ncchannel_set_rgb8(uint32_t * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncchannel_set_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_set_rgb8(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannel_set_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannel_set_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannel_set_rgb8 _cffi_d_ncchannel_set_rgb8
#endif

static void _cffi_d_ncchannel_set_rgb8_clipped(uint32_t * x0, int x1, int x2, int x3)
{
  ncchannel_set_rgb8_clipped(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannel_set_rgb8_clipped(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannel_set_rgb8_clipped", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncchannel_set_rgb8_clipped(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncchannel_set_rgb8_clipped _cffi_d_ncchannel_set_rgb8_clipped
#endif

static uint32_t _cffi_d_ncchannels_bchannel(uint64_t x0)
{
  return ncchannels_bchannel(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bchannel(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  uint32_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bchannel(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bchannel _cffi_d_ncchannels_bchannel
#endif

static unsigned int _cffi_d_ncchannels_bg_alpha(uint64_t x0)
{
  return ncchannels_bg_alpha(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bg_alpha(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bg_alpha(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bg_alpha _cffi_d_ncchannels_bg_alpha
#endif

static _Bool _cffi_d_ncchannels_bg_default_p(uint64_t x0)
{
  return ncchannels_bg_default_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bg_default_p(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bg_default_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bg_default_p _cffi_d_ncchannels_bg_default_p
#endif

static unsigned int _cffi_d_ncchannels_bg_palindex(uint64_t x0)
{
  return ncchannels_bg_palindex(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bg_palindex(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bg_palindex(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bg_palindex _cffi_d_ncchannels_bg_palindex
#endif

static _Bool _cffi_d_ncchannels_bg_palindex_p(uint64_t x0)
{
  return ncchannels_bg_palindex_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bg_palindex_p(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bg_palindex_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bg_palindex_p _cffi_d_ncchannels_bg_palindex_p
#endif

static uint32_t _cffi_d_ncchannels_bg_rgb(uint64_t x0)
{
  return ncchannels_bg_rgb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bg_rgb(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  uint32_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bg_rgb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bg_rgb _cffi_d_ncchannels_bg_rgb
#endif

static uint32_t _cffi_d_ncchannels_bg_rgb8(uint64_t x0, unsigned int * x1, unsigned int * x2, unsigned int * x3)
{
  return ncchannels_bg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bg_rgb8(PyObject *self, PyObject *args)
{
  uint64_t x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannels_bg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bg_rgb8 _cffi_d_ncchannels_bg_rgb8
#endif

static _Bool _cffi_d_ncchannels_bg_rgb_p(uint64_t x0)
{
  return ncchannels_bg_rgb_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_bg_rgb_p(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_bg_rgb_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_bg_rgb_p _cffi_d_ncchannels_bg_rgb_p
#endif

static uint64_t _cffi_d_ncchannels_channels(uint64_t x0)
{
  return ncchannels_channels(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_channels(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  uint64_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_channels(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_channels _cffi_d_ncchannels_channels
#endif

static uint64_t _cffi_d_ncchannels_combine(uint32_t x0, uint32_t x1)
{
  return ncchannels_combine(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_combine(PyObject *self, PyObject *args)
{
  uint32_t x0;
  uint32_t x1;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_combine", 2, 2, &arg0, &arg1))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_combine(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_combine _cffi_d_ncchannels_combine
#endif

static uint32_t _cffi_d_ncchannels_fchannel(uint64_t x0)
{
  return ncchannels_fchannel(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fchannel(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  uint32_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fchannel(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fchannel _cffi_d_ncchannels_fchannel
#endif

static unsigned int _cffi_d_ncchannels_fg_alpha(uint64_t x0)
{
  return ncchannels_fg_alpha(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fg_alpha(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fg_alpha(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fg_alpha _cffi_d_ncchannels_fg_alpha
#endif

static _Bool _cffi_d_ncchannels_fg_default_p(uint64_t x0)
{
  return ncchannels_fg_default_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fg_default_p(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fg_default_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fg_default_p _cffi_d_ncchannels_fg_default_p
#endif

static unsigned int _cffi_d_ncchannels_fg_palindex(uint64_t x0)
{
  return ncchannels_fg_palindex(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fg_palindex(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fg_palindex(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fg_palindex _cffi_d_ncchannels_fg_palindex
#endif

static _Bool _cffi_d_ncchannels_fg_palindex_p(uint64_t x0)
{
  return ncchannels_fg_palindex_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fg_palindex_p(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fg_palindex_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fg_palindex_p _cffi_d_ncchannels_fg_palindex_p
#endif

static uint32_t _cffi_d_ncchannels_fg_rgb(uint64_t x0)
{
  return ncchannels_fg_rgb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fg_rgb(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  uint32_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fg_rgb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fg_rgb _cffi_d_ncchannels_fg_rgb
#endif

static uint32_t _cffi_d_ncchannels_fg_rgb8(uint64_t x0, unsigned int * x1, unsigned int * x2, unsigned int * x3)
{
  return ncchannels_fg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fg_rgb8(PyObject *self, PyObject *args)
{
  uint64_t x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannels_fg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fg_rgb8 _cffi_d_ncchannels_fg_rgb8
#endif

static _Bool _cffi_d_ncchannels_fg_rgb_p(uint64_t x0)
{
  return ncchannels_fg_rgb_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_fg_rgb_p(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_fg_rgb_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_fg_rgb_p _cffi_d_ncchannels_fg_rgb_p
#endif

static uint64_t _cffi_d_ncchannels_reverse(uint64_t x0)
{
  return ncchannels_reverse(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_reverse(PyObject *self, PyObject *arg0)
{
  uint64_t x0;
  uint64_t result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint64_t);
  if (x0 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_reverse(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_reverse _cffi_d_ncchannels_reverse
#endif

static uint64_t _cffi_d_ncchannels_set_bchannel(uint64_t * x0, uint32_t x1)
{
  return ncchannels_set_bchannel(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_bchannel(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_bchannel", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_bchannel(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_bchannel _cffi_d_ncchannels_set_bchannel
#endif

static int _cffi_d_ncchannels_set_bg_alpha(uint64_t * x0, unsigned int x1)
{
  return ncchannels_set_bg_alpha(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_bg_alpha(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_bg_alpha", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_bg_alpha(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_bg_alpha _cffi_d_ncchannels_set_bg_alpha
#endif

static uint64_t _cffi_d_ncchannels_set_bg_default(uint64_t * x0)
{
  return ncchannels_set_bg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_bg_default(PyObject *self, PyObject *arg0)
{
  uint64_t * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_bg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_bg_default _cffi_d_ncchannels_set_bg_default
#endif

static int _cffi_d_ncchannels_set_bg_palindex(uint64_t * x0, unsigned int x1)
{
  return ncchannels_set_bg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_bg_palindex(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_bg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_bg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_bg_palindex _cffi_d_ncchannels_set_bg_palindex
#endif

static int _cffi_d_ncchannels_set_bg_rgb(uint64_t * x0, unsigned int x1)
{
  return ncchannels_set_bg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_bg_rgb(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_bg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_bg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_bg_rgb _cffi_d_ncchannels_set_bg_rgb
#endif

static int _cffi_d_ncchannels_set_bg_rgb8(uint64_t * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncchannels_set_bg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_bg_rgb8(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_bg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_bg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_bg_rgb8 _cffi_d_ncchannels_set_bg_rgb8
#endif

static void _cffi_d_ncchannels_set_bg_rgb8_clipped(uint64_t * x0, int x1, int x2, int x3)
{
  ncchannels_set_bg_rgb8_clipped(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_bg_rgb8_clipped(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_bg_rgb8_clipped", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncchannels_set_bg_rgb8_clipped(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncchannels_set_bg_rgb8_clipped _cffi_d_ncchannels_set_bg_rgb8_clipped
#endif

static uint64_t _cffi_d_ncchannels_set_channels(uint64_t * x0, uint64_t x1)
{
  return ncchannels_set_channels(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_channels(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  uint64_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_channels", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_channels(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_channels _cffi_d_ncchannels_set_channels
#endif

static uint64_t _cffi_d_ncchannels_set_fchannel(uint64_t * x0, uint32_t x1)
{
  return ncchannels_set_fchannel(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_fchannel(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_fchannel", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_fchannel(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_fchannel _cffi_d_ncchannels_set_fchannel
#endif

static int _cffi_d_ncchannels_set_fg_alpha(uint64_t * x0, unsigned int x1)
{
  return ncchannels_set_fg_alpha(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_fg_alpha(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_fg_alpha", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_fg_alpha(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_fg_alpha _cffi_d_ncchannels_set_fg_alpha
#endif

static uint64_t _cffi_d_ncchannels_set_fg_default(uint64_t * x0)
{
  return ncchannels_set_fg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_fg_default(PyObject *self, PyObject *arg0)
{
  uint64_t * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_fg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_fg_default _cffi_d_ncchannels_set_fg_default
#endif

static int _cffi_d_ncchannels_set_fg_palindex(uint64_t * x0, unsigned int x1)
{
  return ncchannels_set_fg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_fg_palindex(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_fg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_fg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_fg_palindex _cffi_d_ncchannels_set_fg_palindex
#endif

static int _cffi_d_ncchannels_set_fg_rgb(uint64_t * x0, unsigned int x1)
{
  return ncchannels_set_fg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_fg_rgb(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_fg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_fg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_fg_rgb _cffi_d_ncchannels_set_fg_rgb
#endif

static int _cffi_d_ncchannels_set_fg_rgb8(uint64_t * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncchannels_set_fg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_fg_rgb8(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_fg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncchannels_set_fg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncchannels_set_fg_rgb8 _cffi_d_ncchannels_set_fg_rgb8
#endif

static void _cffi_d_ncchannels_set_fg_rgb8_clipped(uint64_t * x0, int x1, int x2, int x3)
{
  ncchannels_set_fg_rgb8_clipped(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncchannels_set_fg_rgb8_clipped(PyObject *self, PyObject *args)
{
  uint64_t * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncchannels_set_fg_rgb8_clipped", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncchannels_set_fg_rgb8_clipped(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncchannels_set_fg_rgb8_clipped _cffi_d_ncchannels_set_fg_rgb8_clipped
#endif

static int _cffi_d_ncdirect_ascii_box(struct ncdirect * x0, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, unsigned int x5, unsigned int x6, unsigned int x7)
{
  return ncdirect_ascii_box(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_ascii_box(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  uint64_t x2;
  uint64_t x3;
  uint64_t x4;
  unsigned int x5;
  unsigned int x6;
  unsigned int x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncdirect_ascii_box", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, unsigned int);
  if (x6 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_ascii_box(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_ascii_box _cffi_d_ncdirect_ascii_box
#endif

static int _cffi_d_ncdirect_box(struct ncdirect * x0, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, wchar_t const * x5, unsigned int x6, unsigned int x7, unsigned int x8)
{
  return ncdirect_box(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_box(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  uint64_t x2;
  uint64_t x3;
  uint64_t x4;
  wchar_t const * x5;
  unsigned int x6;
  unsigned int x7;
  unsigned int x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "ncdirect_box", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x6 = _cffi_to_c_int(arg6, unsigned int);
  if (x6 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x8 = _cffi_to_c_int(arg8, unsigned int);
  if (x8 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_box(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_box _cffi_d_ncdirect_box
#endif

static _Bool _cffi_d_ncdirect_canbraille(struct ncdirect const * x0)
{
  return ncdirect_canbraille(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canbraille(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canbraille(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canbraille _cffi_d_ncdirect_canbraille
#endif

static _Bool _cffi_d_ncdirect_canchangecolor(struct ncdirect const * x0)
{
  return ncdirect_canchangecolor(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canchangecolor(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canchangecolor(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canchangecolor _cffi_d_ncdirect_canchangecolor
#endif

static _Bool _cffi_d_ncdirect_canfade(struct ncdirect const * x0)
{
  return ncdirect_canfade(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canfade(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canfade(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canfade _cffi_d_ncdirect_canfade
#endif

static _Bool _cffi_d_ncdirect_canget_cursor(struct ncdirect const * x0)
{
  return ncdirect_canget_cursor(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canget_cursor(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canget_cursor(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canget_cursor _cffi_d_ncdirect_canget_cursor
#endif

static _Bool _cffi_d_ncdirect_canhalfblock(struct ncdirect const * x0)
{
  return ncdirect_canhalfblock(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canhalfblock(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canhalfblock(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canhalfblock _cffi_d_ncdirect_canhalfblock
#endif

static _Bool _cffi_d_ncdirect_canoctant(struct ncdirect const * x0)
{
  return ncdirect_canoctant(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canoctant(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canoctant(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canoctant _cffi_d_ncdirect_canoctant
#endif

static _Bool _cffi_d_ncdirect_canopen_images(struct ncdirect const * x0)
{
  return ncdirect_canopen_images(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canopen_images(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canopen_images(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canopen_images _cffi_d_ncdirect_canopen_images
#endif

static _Bool _cffi_d_ncdirect_canopen_videos(struct ncdirect const * x0)
{
  return ncdirect_canopen_videos(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canopen_videos(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canopen_videos(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canopen_videos _cffi_d_ncdirect_canopen_videos
#endif

static _Bool _cffi_d_ncdirect_canquadrant(struct ncdirect const * x0)
{
  return ncdirect_canquadrant(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canquadrant(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canquadrant(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canquadrant _cffi_d_ncdirect_canquadrant
#endif

static _Bool _cffi_d_ncdirect_cansextant(struct ncdirect const * x0)
{
  return ncdirect_cansextant(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cansextant(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cansextant(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cansextant _cffi_d_ncdirect_cansextant
#endif

static _Bool _cffi_d_ncdirect_cantruecolor(struct ncdirect const * x0)
{
  return ncdirect_cantruecolor(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cantruecolor(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cantruecolor(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cantruecolor _cffi_d_ncdirect_cantruecolor
#endif

static _Bool _cffi_d_ncdirect_canutf8(struct ncdirect const * x0)
{
  return ncdirect_canutf8(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_canutf8(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_canutf8(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_canutf8 _cffi_d_ncdirect_canutf8
#endif

static nccapabilities const * _cffi_d_ncdirect_capabilities(struct ncdirect const * x0)
{
  return ncdirect_capabilities(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_capabilities(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  nccapabilities const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_capabilities(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(1));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_capabilities _cffi_d_ncdirect_capabilities
#endif

static int _cffi_d_ncdirect_check_pixel_support(struct ncdirect const * x0)
{
  return ncdirect_check_pixel_support(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_check_pixel_support(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_check_pixel_support(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_check_pixel_support _cffi_d_ncdirect_check_pixel_support
#endif

static int _cffi_d_ncdirect_clear(struct ncdirect * x0)
{
  return ncdirect_clear(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_clear(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_clear(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_clear _cffi_d_ncdirect_clear
#endif

static struct ncdirect * _cffi_d_ncdirect_core_init(char const * x0, FILE * x1, uint64_t x2)
{
  return ncdirect_core_init(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_core_init(PyObject *self, PyObject *args)
{
  char const * x0;
  FILE * x1;
  uint64_t x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncdirect * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirect_core_init", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(385), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (FILE *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(385), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_core_init(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(68));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_core_init _cffi_d_ncdirect_core_init
#endif

static int _cffi_d_ncdirect_cursor_disable(struct ncdirect * x0)
{
  return ncdirect_cursor_disable(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_disable(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_disable(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_disable _cffi_d_ncdirect_cursor_disable
#endif

static int _cffi_d_ncdirect_cursor_down(struct ncdirect * x0, int x1)
{
  return ncdirect_cursor_down(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_down(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_cursor_down", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_down(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_down _cffi_d_ncdirect_cursor_down
#endif

static int _cffi_d_ncdirect_cursor_enable(struct ncdirect * x0)
{
  return ncdirect_cursor_enable(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_enable(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_enable(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_enable _cffi_d_ncdirect_cursor_enable
#endif

static int _cffi_d_ncdirect_cursor_left(struct ncdirect * x0, int x1)
{
  return ncdirect_cursor_left(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_left(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_cursor_left", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_left(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_left _cffi_d_ncdirect_cursor_left
#endif

static int _cffi_d_ncdirect_cursor_move_yx(struct ncdirect * x0, int x1, int x2)
{
  return ncdirect_cursor_move_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_move_yx(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirect_cursor_move_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_move_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_move_yx _cffi_d_ncdirect_cursor_move_yx
#endif

static int _cffi_d_ncdirect_cursor_pop(struct ncdirect * x0)
{
  return ncdirect_cursor_pop(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_pop(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_pop(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_pop _cffi_d_ncdirect_cursor_pop
#endif

static int _cffi_d_ncdirect_cursor_push(struct ncdirect * x0)
{
  return ncdirect_cursor_push(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_push(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_push(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_push _cffi_d_ncdirect_cursor_push
#endif

static int _cffi_d_ncdirect_cursor_right(struct ncdirect * x0, int x1)
{
  return ncdirect_cursor_right(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_right(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_cursor_right", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_right(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_right _cffi_d_ncdirect_cursor_right
#endif

static int _cffi_d_ncdirect_cursor_up(struct ncdirect * x0, int x1)
{
  return ncdirect_cursor_up(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_up(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_cursor_up", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_up(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_up _cffi_d_ncdirect_cursor_up
#endif

static int _cffi_d_ncdirect_cursor_yx(struct ncdirect * x0, unsigned int * x1, unsigned int * x2)
{
  return ncdirect_cursor_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_cursor_yx(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirect_cursor_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_cursor_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_cursor_yx _cffi_d_ncdirect_cursor_yx
#endif

static char * _cffi_d_ncdirect_detected_terminal(struct ncdirect const * x0)
{
  return ncdirect_detected_terminal(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_detected_terminal(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_detected_terminal(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_detected_terminal _cffi_d_ncdirect_detected_terminal
#endif

static unsigned int _cffi_d_ncdirect_dim_x(struct ncdirect * x0)
{
  return ncdirect_dim_x(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_dim_x(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_dim_x(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_dim_x _cffi_d_ncdirect_dim_x
#endif

static unsigned int _cffi_d_ncdirect_dim_y(struct ncdirect * x0)
{
  return ncdirect_dim_y(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_dim_y(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_dim_y(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_dim_y _cffi_d_ncdirect_dim_y
#endif

static int _cffi_d_ncdirect_double_box(struct ncdirect * x0, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, unsigned int x5, unsigned int x6, unsigned int x7)
{
  return ncdirect_double_box(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_double_box(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  uint64_t x2;
  uint64_t x3;
  uint64_t x4;
  unsigned int x5;
  unsigned int x6;
  unsigned int x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncdirect_double_box", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, unsigned int);
  if (x6 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_double_box(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_double_box _cffi_d_ncdirect_double_box
#endif

static int _cffi_d_ncdirect_flush(struct ncdirect const * x0)
{
  return ncdirect_flush(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_flush(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_flush(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_flush _cffi_d_ncdirect_flush
#endif

static uint32_t _cffi_d_ncdirect_get(struct ncdirect * x0, struct timespec const * x1, ncinput * x2)
{
  return ncdirect_get(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_get(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  struct timespec const * x1;
  ncinput * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirect_get", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(706), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct timespec const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(706), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_get(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_get _cffi_d_ncdirect_get
#endif

static uint32_t _cffi_d_ncdirect_get_blocking(struct ncdirect * x0, ncinput * x1)
{
  return ncdirect_get_blocking(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_get_blocking(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  ncinput * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_get_blocking", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_get_blocking(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_get_blocking _cffi_d_ncdirect_get_blocking
#endif

static uint32_t _cffi_d_ncdirect_get_nblock(struct ncdirect * x0, ncinput * x1)
{
  return ncdirect_get_nblock(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_get_nblock(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  ncinput * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_get_nblock", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_get_nblock(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_get_nblock _cffi_d_ncdirect_get_nblock
#endif

static int _cffi_d_ncdirect_heavy_box(struct ncdirect * x0, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, unsigned int x5, unsigned int x6, unsigned int x7)
{
  return ncdirect_heavy_box(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_heavy_box(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  uint64_t x2;
  uint64_t x3;
  uint64_t x4;
  unsigned int x5;
  unsigned int x6;
  unsigned int x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncdirect_heavy_box", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, unsigned int);
  if (x6 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_heavy_box(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_heavy_box _cffi_d_ncdirect_heavy_box
#endif

static int _cffi_d_ncdirect_hline_interp(struct ncdirect * x0, char const * x1, unsigned int x2, uint64_t x3, uint64_t x4)
{
  return ncdirect_hline_interp(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_hline_interp(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  char const * x1;
  unsigned int x2;
  uint64_t x3;
  uint64_t x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncdirect_hline_interp", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_hline_interp(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_hline_interp _cffi_d_ncdirect_hline_interp
#endif

static struct ncdirect * _cffi_d_ncdirect_init(char const * x0, FILE * x1, uint64_t x2)
{
  return ncdirect_init(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_init(PyObject *self, PyObject *args)
{
  char const * x0;
  FILE * x1;
  uint64_t x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncdirect * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirect_init", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(385), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (FILE *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(385), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_init(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(68));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_init _cffi_d_ncdirect_init
#endif

static int _cffi_d_ncdirect_inputready_fd(struct ncdirect * x0)
{
  return ncdirect_inputready_fd(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_inputready_fd(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_inputready_fd(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_inputready_fd _cffi_d_ncdirect_inputready_fd
#endif

static int _cffi_d_ncdirect_light_box(struct ncdirect * x0, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, unsigned int x5, unsigned int x6, unsigned int x7)
{
  return ncdirect_light_box(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_light_box(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  uint64_t x2;
  uint64_t x3;
  uint64_t x4;
  unsigned int x5;
  unsigned int x6;
  unsigned int x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncdirect_light_box", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, unsigned int);
  if (x6 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_light_box(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_light_box _cffi_d_ncdirect_light_box
#endif

static int _cffi_d_ncdirect_off_styles(struct ncdirect * x0, unsigned int x1)
{
  return ncdirect_off_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_off_styles(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_off_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_off_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_off_styles _cffi_d_ncdirect_off_styles
#endif

static int _cffi_d_ncdirect_on_styles(struct ncdirect * x0, unsigned int x1)
{
  return ncdirect_on_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_on_styles(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_on_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_on_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_on_styles _cffi_d_ncdirect_on_styles
#endif

static unsigned int _cffi_d_ncdirect_palette_size(struct ncdirect const * x0)
{
  return ncdirect_palette_size(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_palette_size(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_palette_size(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_palette_size _cffi_d_ncdirect_palette_size
#endif

static void _cffi_const_ncdirect_printf_aligned(char *o)
{
  *(int(* *)(struct ncdirect *, int, ncalign_e, char const *, ...))o = ncdirect_printf_aligned;
}

static int _cffi_d_ncdirect_putegc(struct ncdirect * x0, uint64_t x1, char const * x2, int * x3)
{
  return ncdirect_putegc(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_putegc(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  char const * x2;
  int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncdirect_putegc", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_putegc(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_putegc _cffi_d_ncdirect_putegc
#endif

static int _cffi_d_ncdirect_putstr(struct ncdirect * x0, uint64_t x1, char const * x2)
{
  return ncdirect_putstr(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_putstr(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  char const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirect_putstr", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_putstr(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_putstr _cffi_d_ncdirect_putstr
#endif

static int _cffi_d_ncdirect_raster_frame(struct ncdirect * x0, ncdirectv * x1, ncalign_e x2)
{
  return ncdirect_raster_frame(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_raster_frame(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  ncdirectv * x1;
  ncalign_e x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirect_raster_frame", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncdirectv *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x2, _cffi_type(194), arg2) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_raster_frame(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_raster_frame _cffi_d_ncdirect_raster_frame
#endif

static char * _cffi_d_ncdirect_readline(struct ncdirect * x0, char const * x1)
{
  return ncdirect_readline(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_readline(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_readline", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_readline(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_readline _cffi_d_ncdirect_readline
#endif

static ncdirectv * _cffi_d_ncdirect_render_frame(struct ncdirect * x0, char const * x1, ncblitter_e x2, ncscale_e x3, int x4, int x5)
{
  return ncdirect_render_frame(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_render_frame(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  char const * x1;
  ncblitter_e x2;
  ncscale_e x3;
  int x4;
  int x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  ncdirectv * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncdirect_render_frame", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x2, _cffi_type(125), arg2) < 0)
    return NULL;

  if (_cffi_to_c((char *)&x3, _cffi_type(128), arg3) < 0)
    return NULL;

  x4 = _cffi_to_c_int(arg4, int);
  if (x4 == (int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, int);
  if (x5 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_render_frame(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_render_frame _cffi_d_ncdirect_render_frame
#endif

static int _cffi_d_ncdirect_render_image(struct ncdirect * x0, char const * x1, ncalign_e x2, ncblitter_e x3, ncscale_e x4)
{
  return ncdirect_render_image(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_render_image(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  char const * x1;
  ncalign_e x2;
  ncblitter_e x3;
  ncscale_e x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncdirect_render_image", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x2, _cffi_type(194), arg2) < 0)
    return NULL;

  if (_cffi_to_c((char *)&x3, _cffi_type(125), arg3) < 0)
    return NULL;

  if (_cffi_to_c((char *)&x4, _cffi_type(128), arg4) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_render_image(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_render_image _cffi_d_ncdirect_render_image
#endif

static int _cffi_d_ncdirect_rounded_box(struct ncdirect * x0, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, unsigned int x5, unsigned int x6, unsigned int x7)
{
  return ncdirect_rounded_box(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_rounded_box(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  uint64_t x1;
  uint64_t x2;
  uint64_t x3;
  uint64_t x4;
  unsigned int x5;
  unsigned int x6;
  unsigned int x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncdirect_rounded_box", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, unsigned int);
  if (x6 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_rounded_box(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_rounded_box _cffi_d_ncdirect_rounded_box
#endif

static int _cffi_d_ncdirect_set_bg_default(struct ncdirect * x0)
{
  return ncdirect_set_bg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_bg_default(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_bg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_bg_default _cffi_d_ncdirect_set_bg_default
#endif

static int _cffi_d_ncdirect_set_bg_palindex(struct ncdirect * x0, int x1)
{
  return ncdirect_set_bg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_bg_palindex(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_set_bg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_bg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_bg_palindex _cffi_d_ncdirect_set_bg_palindex
#endif

static int _cffi_d_ncdirect_set_bg_rgb(struct ncdirect * x0, unsigned int x1)
{
  return ncdirect_set_bg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_bg_rgb(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_set_bg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_bg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_bg_rgb _cffi_d_ncdirect_set_bg_rgb
#endif

static int _cffi_d_ncdirect_set_bg_rgb8(struct ncdirect * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncdirect_set_bg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_bg_rgb8(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncdirect_set_bg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_bg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_bg_rgb8 _cffi_d_ncdirect_set_bg_rgb8
#endif

static int _cffi_d_ncdirect_set_fg_default(struct ncdirect * x0)
{
  return ncdirect_set_fg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_fg_default(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_fg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_fg_default _cffi_d_ncdirect_set_fg_default
#endif

static int _cffi_d_ncdirect_set_fg_palindex(struct ncdirect * x0, int x1)
{
  return ncdirect_set_fg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_fg_palindex(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_set_fg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_fg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_fg_palindex _cffi_d_ncdirect_set_fg_palindex
#endif

static int _cffi_d_ncdirect_set_fg_rgb(struct ncdirect * x0, unsigned int x1)
{
  return ncdirect_set_fg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_fg_rgb(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_set_fg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_fg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_fg_rgb _cffi_d_ncdirect_set_fg_rgb
#endif

static int _cffi_d_ncdirect_set_fg_rgb8(struct ncdirect * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncdirect_set_fg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_fg_rgb8(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncdirect_set_fg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_fg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_fg_rgb8 _cffi_d_ncdirect_set_fg_rgb8
#endif

static int _cffi_d_ncdirect_set_styles(struct ncdirect * x0, unsigned int x1)
{
  return ncdirect_set_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_set_styles(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirect_set_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_set_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_set_styles _cffi_d_ncdirect_set_styles
#endif

static int _cffi_d_ncdirect_stop(struct ncdirect * x0)
{
  return ncdirect_stop(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_stop(PyObject *self, PyObject *arg0)
{
  struct ncdirect * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_stop(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_stop _cffi_d_ncdirect_stop
#endif

static int _cffi_d_ncdirect_stream(struct ncdirect * x0, char const * x1, int(* x2)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *), struct ncvisual_options * x3, void * x4)
{
  return ncdirect_stream(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_stream(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  char const * x1;
  int(* x2)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *);
  struct ncvisual_options * x3;
  void * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncdirect_stream", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = (int(*)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *))_cffi_to_c_pointer(arg2, _cffi_type(241));
  if (x2 == (int(*)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(242), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (struct ncvisual_options *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(242), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_stream(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_stream _cffi_d_ncdirect_stream
#endif

static uint16_t _cffi_d_ncdirect_styles(struct ncdirect const * x0)
{
  return ncdirect_styles(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_styles(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint16_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_styles(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint16_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_styles _cffi_d_ncdirect_styles
#endif

static uint16_t _cffi_d_ncdirect_supported_styles(struct ncdirect const * x0)
{
  return ncdirect_supported_styles(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_supported_styles(PyObject *self, PyObject *arg0)
{
  struct ncdirect const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint16_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(14), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(14), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_supported_styles(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint16_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_supported_styles _cffi_d_ncdirect_supported_styles
#endif

static int _cffi_d_ncdirect_vline_interp(struct ncdirect * x0, char const * x1, unsigned int x2, uint64_t x3, uint64_t x4)
{
  return ncdirect_vline_interp(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirect_vline_interp(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  char const * x1;
  unsigned int x2;
  uint64_t x3;
  uint64_t x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncdirect_vline_interp", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirect_vline_interp(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirect_vline_interp _cffi_d_ncdirect_vline_interp
#endif

static void _cffi_d_ncdirectf_free(ncdirectf * x0)
{
  ncdirectf_free(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirectf_free(PyObject *self, PyObject *arg0)
{
  ncdirectf * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncdirectf *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncdirectf_free(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncdirectf_free _cffi_d_ncdirectf_free
#endif

static ncdirectf * _cffi_d_ncdirectf_from_file(struct ncdirect * x0, char const * x1)
{
  return ncdirectf_from_file(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirectf_from_file(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  ncdirectf * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncdirectf_from_file", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirectf_from_file(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirectf_from_file _cffi_d_ncdirectf_from_file
#endif

static int _cffi_d_ncdirectf_geom(struct ncdirect * x0, ncdirectf * x1, struct ncvisual_options const * x2, ncvgeom * x3)
{
  return ncdirectf_geom(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirectf_geom(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  ncdirectf * x1;
  struct ncvisual_options const * x2;
  ncvgeom * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncdirectf_geom", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncdirectf *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(278), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (ncvgeom *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(278), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirectf_geom(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirectf_geom _cffi_d_ncdirectf_geom
#endif

static ncdirectv * _cffi_d_ncdirectf_render(struct ncdirect * x0, ncdirectf * x1, struct ncvisual_options const * x2)
{
  return ncdirectf_render(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdirectf_render(PyObject *self, PyObject *args)
{
  struct ncdirect * x0;
  ncdirectf * x1;
  struct ncvisual_options const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  ncdirectv * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdirectf_render", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(68), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdirect *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(68), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncdirectf *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdirectf_render(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdirectf_render _cffi_d_ncdirectf_render
#endif

static int _cffi_d_ncdplot_add_sample(struct ncdplot * x0, uint64_t x1, double x2)
{
  return ncdplot_add_sample(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdplot_add_sample(PyObject *self, PyObject *args)
{
  struct ncdplot * x0;
  uint64_t x1;
  double x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdplot_add_sample", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(336), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(336), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = (double)_cffi_to_c_double(arg2);
  if (x2 == (double)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdplot_add_sample(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdplot_add_sample _cffi_d_ncdplot_add_sample
#endif

static struct ncdplot * _cffi_d_ncdplot_create(struct ncplane * x0, ncplot_options const * x1, double x2, double x3)
{
  return ncdplot_create(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdplot_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncplot_options const * x1;
  double x2;
  double x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncdplot * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncdplot_create", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1069), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncplot_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1069), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = (double)_cffi_to_c_double(arg2);
  if (x2 == (double)-1 && PyErr_Occurred())
    return NULL;

  x3 = (double)_cffi_to_c_double(arg3);
  if (x3 == (double)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdplot_create(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(336));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdplot_create _cffi_d_ncdplot_create
#endif

static void _cffi_d_ncdplot_destroy(struct ncdplot * x0)
{
  ncdplot_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdplot_destroy(PyObject *self, PyObject *arg0)
{
  struct ncdplot * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(336), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(336), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncdplot_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncdplot_destroy _cffi_d_ncdplot_destroy
#endif

static struct ncplane * _cffi_d_ncdplot_plane(struct ncdplot * x0)
{
  return ncdplot_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdplot_plane(PyObject *self, PyObject *arg0)
{
  struct ncdplot * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(336), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(336), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdplot_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdplot_plane _cffi_d_ncdplot_plane
#endif

static int _cffi_d_ncdplot_sample(struct ncdplot const * x0, uint64_t x1, double * x2)
{
  return ncdplot_sample(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdplot_sample(PyObject *self, PyObject *args)
{
  struct ncdplot const * x0;
  uint64_t x1;
  double * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdplot_sample", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(341), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdplot const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(341), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(343), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (double *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(343), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdplot_sample(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdplot_sample _cffi_d_ncdplot_sample
#endif

static int _cffi_d_ncdplot_set_sample(struct ncdplot * x0, uint64_t x1, double x2)
{
  return ncdplot_set_sample(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncdplot_set_sample(PyObject *self, PyObject *args)
{
  struct ncdplot * x0;
  uint64_t x1;
  double x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncdplot_set_sample", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(336), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncdplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(336), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = (double)_cffi_to_c_double(arg2);
  if (x2 == (double)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncdplot_set_sample(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncdplot_set_sample _cffi_d_ncdplot_set_sample
#endif

static void _cffi_d_ncfadectx_free(struct ncfadectx * x0)
{
  ncfadectx_free(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncfadectx_free(PyObject *self, PyObject *arg0)
{
  struct ncfadectx * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(681), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncfadectx *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(681), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncfadectx_free(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncfadectx_free _cffi_d_ncfadectx_free
#endif

static int _cffi_d_ncfadectx_iterations(struct ncfadectx const * x0)
{
  return ncfadectx_iterations(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncfadectx_iterations(PyObject *self, PyObject *arg0)
{
  struct ncfadectx const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(346), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncfadectx const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(346), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncfadectx_iterations(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncfadectx_iterations _cffi_d_ncfadectx_iterations
#endif

static struct ncfadectx * _cffi_d_ncfadectx_setup(struct ncplane * x0)
{
  return ncfadectx_setup(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncfadectx_setup(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncfadectx * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncfadectx_setup(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(681));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncfadectx_setup _cffi_d_ncfadectx_setup
#endif

static struct ncfdplane * _cffi_d_ncfdplane_create(struct ncplane * x0, ncfdplane_options const * x1, int x2, int(* x3)(struct ncfdplane *, void const *, size_t, void *), int(* x4)(struct ncfdplane *, int, void *))
{
  return ncfdplane_create(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncfdplane_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncfdplane_options const * x1;
  int x2;
  int(* x3)(struct ncfdplane *, void const *, size_t, void *);
  int(* x4)(struct ncfdplane *, int, void *);
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncfdplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncfdplane_create", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1078), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncfdplane_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1078), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = (int(*)(struct ncfdplane *, void const *, size_t, void *))_cffi_to_c_pointer(arg3, _cffi_type(1080));
  if (x3 == (int(*)(struct ncfdplane *, void const *, size_t, void *))NULL && PyErr_Occurred())
    return NULL;

  x4 = (int(*)(struct ncfdplane *, int, void *))_cffi_to_c_pointer(arg4, _cffi_type(1081));
  if (x4 == (int(*)(struct ncfdplane *, int, void *))NULL && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncfdplane_create(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(349));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncfdplane_create _cffi_d_ncfdplane_create
#endif

static int _cffi_d_ncfdplane_destroy(struct ncfdplane * x0)
{
  return ncfdplane_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncfdplane_destroy(PyObject *self, PyObject *arg0)
{
  struct ncfdplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(349), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncfdplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(349), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncfdplane_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncfdplane_destroy _cffi_d_ncfdplane_destroy
#endif

static struct ncplane * _cffi_d_ncfdplane_plane(struct ncfdplane * x0)
{
  return ncfdplane_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncfdplane_plane(PyObject *self, PyObject *arg0)
{
  struct ncfdplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(349), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncfdplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(349), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncfdplane_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncfdplane_plane _cffi_d_ncfdplane_plane
#endif

static _Bool _cffi_d_ncinput_alt_p(ncinput const * x0)
{
  return ncinput_alt_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_alt_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_alt_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_alt_p _cffi_d_ncinput_alt_p
#endif

static _Bool _cffi_d_ncinput_capslock_p(ncinput const * x0)
{
  return ncinput_capslock_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_capslock_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_capslock_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_capslock_p _cffi_d_ncinput_capslock_p
#endif

static _Bool _cffi_d_ncinput_ctrl_p(ncinput const * x0)
{
  return ncinput_ctrl_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_ctrl_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_ctrl_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_ctrl_p _cffi_d_ncinput_ctrl_p
#endif

static _Bool _cffi_d_ncinput_equal_p(ncinput const * x0, ncinput const * x1)
{
  return ncinput_equal_p(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_equal_p(PyObject *self, PyObject *args)
{
  ncinput const * x0;
  ncinput const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncinput_equal_p", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_equal_p(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_equal_p _cffi_d_ncinput_equal_p
#endif

static _Bool _cffi_d_ncinput_hyper_p(ncinput const * x0)
{
  return ncinput_hyper_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_hyper_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_hyper_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_hyper_p _cffi_d_ncinput_hyper_p
#endif

static _Bool _cffi_d_ncinput_meta_p(ncinput const * x0)
{
  return ncinput_meta_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_meta_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_meta_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_meta_p _cffi_d_ncinput_meta_p
#endif

static _Bool _cffi_d_ncinput_nomod_p(ncinput const * x0)
{
  return ncinput_nomod_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_nomod_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_nomod_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_nomod_p _cffi_d_ncinput_nomod_p
#endif

static _Bool _cffi_d_ncinput_numlock_p(ncinput const * x0)
{
  return ncinput_numlock_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_numlock_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_numlock_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_numlock_p _cffi_d_ncinput_numlock_p
#endif

static _Bool _cffi_d_ncinput_shift_p(ncinput const * x0)
{
  return ncinput_shift_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_shift_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_shift_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_shift_p _cffi_d_ncinput_shift_p
#endif

static _Bool _cffi_d_ncinput_super_p(ncinput const * x0)
{
  return ncinput_super_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncinput_super_p(PyObject *self, PyObject *arg0)
{
  ncinput const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncinput_super_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncinput_super_p _cffi_d_ncinput_super_p
#endif

static char const * _cffi_d_nciprefix(uintmax_t x0, uintmax_t x1, char * x2, int x3)
{
  return nciprefix(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nciprefix(PyObject *self, PyObject *args)
{
  uintmax_t x0;
  uintmax_t x1;
  char * x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nciprefix", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uintmax_t);
  if (x0 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  x1 = _cffi_to_c_int(arg1, uintmax_t);
  if (x1 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(159), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(159), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nciprefix(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nciprefix _cffi_d_nciprefix
#endif

static _Bool _cffi_d_nckey_mouse_p(uint32_t x0)
{
  return nckey_mouse_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nckey_mouse_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nckey_mouse_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_nckey_mouse_p _cffi_d_nckey_mouse_p
#endif

static _Bool _cffi_d_nckey_pua_p(uint32_t x0)
{
  return nckey_pua_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nckey_pua_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nckey_pua_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_nckey_pua_p _cffi_d_nckey_pua_p
#endif

static _Bool _cffi_d_nckey_supppuaa_p(uint32_t x0)
{
  return nckey_supppuaa_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nckey_supppuaa_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nckey_supppuaa_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_nckey_supppuaa_p _cffi_d_nckey_supppuaa_p
#endif

static _Bool _cffi_d_nckey_supppuab_p(uint32_t x0)
{
  return nckey_supppuab_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nckey_supppuab_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nckey_supppuab_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_nckey_supppuab_p _cffi_d_nckey_supppuab_p
#endif

static _Bool _cffi_d_nckey_synthesized_p(uint32_t x0)
{
  return nckey_synthesized_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nckey_synthesized_p(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  _Bool result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nckey_synthesized_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  return pyresult;
}
#else
#  define _cffi_f_nckey_synthesized_p _cffi_d_nckey_synthesized_p
#endif

static struct ncmenu * _cffi_d_ncmenu_create(struct ncplane * x0, ncmenu_options const * x1)
{
  return ncmenu_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncmenu_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncmenu * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncmenu_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1085), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncmenu_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1085), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(17));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_create _cffi_d_ncmenu_create
#endif

static void _cffi_d_ncmenu_destroy(struct ncmenu * x0)
{
  ncmenu_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_destroy(PyObject *self, PyObject *arg0)
{
  struct ncmenu * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncmenu_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncmenu_destroy _cffi_d_ncmenu_destroy
#endif

static int _cffi_d_ncmenu_item_set_status(struct ncmenu * x0, char const * x1, char const * x2, _Bool x3)
{
  return ncmenu_item_set_status(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_item_set_status(PyObject *self, PyObject *args)
{
  struct ncmenu * x0;
  char const * x1;
  char const * x2;
  _Bool x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncmenu_item_set_status", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = (_Bool)_cffi_to_c__Bool(arg3);
  if (x3 == (_Bool)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_item_set_status(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_item_set_status _cffi_d_ncmenu_item_set_status
#endif

static char const * _cffi_d_ncmenu_mouse_selected(struct ncmenu const * x0, ncinput const * x1, ncinput * x2)
{
  return ncmenu_mouse_selected(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_mouse_selected(PyObject *self, PyObject *args)
{
  struct ncmenu const * x0;
  ncinput const * x1;
  ncinput * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncmenu_mouse_selected", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(131), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(131), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_mouse_selected(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_mouse_selected _cffi_d_ncmenu_mouse_selected
#endif

static int _cffi_d_ncmenu_nextitem(struct ncmenu * x0)
{
  return ncmenu_nextitem(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_nextitem(PyObject *self, PyObject *arg0)
{
  struct ncmenu * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_nextitem(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_nextitem _cffi_d_ncmenu_nextitem
#endif

static int _cffi_d_ncmenu_nextsection(struct ncmenu * x0)
{
  return ncmenu_nextsection(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_nextsection(PyObject *self, PyObject *arg0)
{
  struct ncmenu * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_nextsection(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_nextsection _cffi_d_ncmenu_nextsection
#endif

static _Bool _cffi_d_ncmenu_offer_input(struct ncmenu * x0, ncinput const * x1)
{
  return ncmenu_offer_input(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_offer_input(PyObject *self, PyObject *args)
{
  struct ncmenu * x0;
  ncinput const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncmenu_offer_input", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_offer_input(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_offer_input _cffi_d_ncmenu_offer_input
#endif

static struct ncplane * _cffi_d_ncmenu_plane(struct ncmenu * x0)
{
  return ncmenu_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_plane(PyObject *self, PyObject *arg0)
{
  struct ncmenu * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_plane _cffi_d_ncmenu_plane
#endif

static int _cffi_d_ncmenu_previtem(struct ncmenu * x0)
{
  return ncmenu_previtem(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_previtem(PyObject *self, PyObject *arg0)
{
  struct ncmenu * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_previtem(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_previtem _cffi_d_ncmenu_previtem
#endif

static int _cffi_d_ncmenu_prevsection(struct ncmenu * x0)
{
  return ncmenu_prevsection(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_prevsection(PyObject *self, PyObject *arg0)
{
  struct ncmenu * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_prevsection(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_prevsection _cffi_d_ncmenu_prevsection
#endif

static int _cffi_d_ncmenu_rollup(struct ncmenu * x0)
{
  return ncmenu_rollup(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_rollup(PyObject *self, PyObject *arg0)
{
  struct ncmenu * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_rollup(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_rollup _cffi_d_ncmenu_rollup
#endif

static char const * _cffi_d_ncmenu_selected(struct ncmenu const * x0, ncinput * x1)
{
  return ncmenu_selected(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_selected(PyObject *self, PyObject *args)
{
  struct ncmenu const * x0;
  ncinput * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncmenu_selected", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(131), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(131), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_selected(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_selected _cffi_d_ncmenu_selected
#endif

static int _cffi_d_ncmenu_unroll(struct ncmenu * x0, int x1)
{
  return ncmenu_unroll(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmenu_unroll(PyObject *self, PyObject *args)
{
  struct ncmenu * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncmenu_unroll", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(17), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmenu *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(17), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmenu_unroll(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmenu_unroll _cffi_d_ncmenu_unroll
#endif

static struct ncmultiselector * _cffi_d_ncmultiselector_create(struct ncplane * x0, ncmultiselector_options const * x1)
{
  return ncmultiselector_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmultiselector_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncmultiselector_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncmultiselector * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncmultiselector_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1089), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncmultiselector_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1089), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmultiselector_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(21));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmultiselector_create _cffi_d_ncmultiselector_create
#endif

static void _cffi_d_ncmultiselector_destroy(struct ncmultiselector * x0)
{
  ncmultiselector_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmultiselector_destroy(PyObject *self, PyObject *arg0)
{
  struct ncmultiselector * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(21), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmultiselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(21), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncmultiselector_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncmultiselector_destroy _cffi_d_ncmultiselector_destroy
#endif

static _Bool _cffi_d_ncmultiselector_offer_input(struct ncmultiselector * x0, ncinput const * x1)
{
  return ncmultiselector_offer_input(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmultiselector_offer_input(PyObject *self, PyObject *args)
{
  struct ncmultiselector * x0;
  ncinput const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncmultiselector_offer_input", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(21), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmultiselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(21), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmultiselector_offer_input(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmultiselector_offer_input _cffi_d_ncmultiselector_offer_input
#endif

static struct ncplane * _cffi_d_ncmultiselector_plane(struct ncmultiselector * x0)
{
  return ncmultiselector_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmultiselector_plane(PyObject *self, PyObject *arg0)
{
  struct ncmultiselector * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(21), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmultiselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(21), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmultiselector_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmultiselector_plane _cffi_d_ncmultiselector_plane
#endif

static int _cffi_d_ncmultiselector_selected(struct ncmultiselector * x0, _Bool * x1, unsigned int x2)
{
  return ncmultiselector_selected(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncmultiselector_selected(PyObject *self, PyObject *args)
{
  struct ncmultiselector * x0;
  _Bool * x1;
  unsigned int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncmultiselector_selected", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(21), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncmultiselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(21), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(377), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (_Bool *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(377), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncmultiselector_selected(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncmultiselector_selected _cffi_d_ncmultiselector_selected
#endif

static char const * _cffi_d_ncnmetric(uintmax_t x0, size_t x1, uintmax_t x2, char * x3, int x4, uintmax_t x5, int x6)
{
  return ncnmetric(x0, x1, x2, x3, x4, x5, x6);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncnmetric(PyObject *self, PyObject *args)
{
  uintmax_t x0;
  size_t x1;
  uintmax_t x2;
  char * x3;
  int x4;
  uintmax_t x5;
  int x6;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;

  if (!PyArg_UnpackTuple(args, "ncnmetric", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uintmax_t);
  if (x0 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  x1 = _cffi_to_c_int(arg1, size_t);
  if (x1 == (size_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uintmax_t);
  if (x2 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(159), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(159), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x4 = _cffi_to_c_int(arg4, int);
  if (x4 == (int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, uintmax_t);
  if (x5 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, int);
  if (x6 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncnmetric(x0, x1, x2, x3, x4, x5, x6); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncnmetric _cffi_d_ncnmetric
#endif

static void _cffi_d_ncpalette_free(ncpalette * x0)
{
  ncpalette_free(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpalette_free(PyObject *self, PyObject *arg0)
{
  ncpalette * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(212), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncpalette *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(212), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncpalette_free(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncpalette_free _cffi_d_ncpalette_free
#endif

static int _cffi_d_ncpalette_get(ncpalette const * x0, int x1, uint32_t * x2)
{
  return ncpalette_get(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpalette_get(PyObject *self, PyObject *args)
{
  ncpalette const * x0;
  int x1;
  uint32_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncpalette_get", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(224), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncpalette const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(224), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpalette_get(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpalette_get _cffi_d_ncpalette_get
#endif

static int _cffi_d_ncpalette_get_rgb8(ncpalette const * x0, int x1, unsigned int * x2, unsigned int * x3, unsigned int * x4)
{
  return ncpalette_get_rgb8(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpalette_get_rgb8(PyObject *self, PyObject *args)
{
  ncpalette const * x0;
  int x1;
  unsigned int * x2;
  unsigned int * x3;
  unsigned int * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncpalette_get_rgb8", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(224), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncpalette const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(224), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpalette_get_rgb8(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpalette_get_rgb8 _cffi_d_ncpalette_get_rgb8
#endif

static ncpalette * _cffi_d_ncpalette_new(struct notcurses * x0)
{
  return ncpalette_new(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpalette_new(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  ncpalette * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpalette_new(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(212));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpalette_new _cffi_d_ncpalette_new
#endif

static int _cffi_d_ncpalette_set(ncpalette * x0, int x1, unsigned int x2)
{
  return ncpalette_set(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpalette_set(PyObject *self, PyObject *args)
{
  ncpalette * x0;
  int x1;
  unsigned int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncpalette_set", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(212), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncpalette *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(212), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpalette_set(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpalette_set _cffi_d_ncpalette_set
#endif

static int _cffi_d_ncpalette_set_rgb8(ncpalette * x0, int x1, unsigned int x2, unsigned int x3, unsigned int x4)
{
  return ncpalette_set_rgb8(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpalette_set_rgb8(PyObject *self, PyObject *args)
{
  ncpalette * x0;
  int x1;
  unsigned int x2;
  unsigned int x3;
  unsigned int x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncpalette_set_rgb8", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(212), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (ncpalette *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(212), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpalette_set_rgb8(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpalette_set_rgb8 _cffi_d_ncpalette_set_rgb8
#endif

static int _cffi_d_ncpalette_use(struct notcurses * x0, ncpalette const * x1)
{
  return ncpalette_use(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpalette_use(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  ncpalette const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncpalette_use", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(224), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncpalette const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(224), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpalette_use(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpalette_use _cffi_d_ncpalette_use
#endif

static struct ncplane * _cffi_d_ncpile_bottom(struct ncplane * x0)
{
  return ncpile_bottom(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpile_bottom(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpile_bottom(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpile_bottom _cffi_d_ncpile_bottom
#endif

static struct ncplane * _cffi_d_ncpile_create(struct notcurses * x0, ncplane_options const * x1)
{
  return ncpile_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpile_create(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  ncplane_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncpile_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1108), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncplane_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1108), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpile_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpile_create _cffi_d_ncpile_create
#endif

static int _cffi_d_ncpile_rasterize(struct ncplane * x0)
{
  return ncpile_rasterize(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpile_rasterize(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpile_rasterize(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpile_rasterize _cffi_d_ncpile_rasterize
#endif

static int _cffi_d_ncpile_render(struct ncplane * x0)
{
  return ncpile_render(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpile_render(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpile_render(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpile_render _cffi_d_ncpile_render
#endif

static int _cffi_d_ncpile_render_to_buffer(struct ncplane * x0, char * * x1, size_t * x2)
{
  return ncpile_render_to_buffer(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpile_render_to_buffer(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char * * x1;
  size_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncpile_render_to_buffer", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(389), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char * *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(389), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpile_render_to_buffer(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpile_render_to_buffer _cffi_d_ncpile_render_to_buffer
#endif

static int _cffi_d_ncpile_render_to_file(struct ncplane * x0, FILE * x1)
{
  return ncpile_render_to_file(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpile_render_to_file(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  FILE * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncpile_render_to_file", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(385), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (FILE *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(385), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpile_render_to_file(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpile_render_to_file _cffi_d_ncpile_render_to_file
#endif

static struct ncplane * _cffi_d_ncpile_top(struct ncplane * x0)
{
  return ncpile_top(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpile_top(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpile_top(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpile_top _cffi_d_ncpile_top
#endif

static uint32_t _cffi_d_ncpixel(unsigned int x0, unsigned int x1, unsigned int x2)
{
  return ncpixel(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel(PyObject *self, PyObject *args)
{
  unsigned int x0;
  unsigned int x1;
  unsigned int x2;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncpixel", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  x0 = _cffi_to_c_int(arg0, unsigned int);
  if (x0 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel _cffi_d_ncpixel
#endif

static unsigned int _cffi_d_ncpixel_a(uint32_t x0)
{
  return ncpixel_a(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_a(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_a(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_a _cffi_d_ncpixel_a
#endif

static unsigned int _cffi_d_ncpixel_b(uint32_t x0)
{
  return ncpixel_b(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_b(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_b(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_b _cffi_d_ncpixel_b
#endif

static unsigned int _cffi_d_ncpixel_g(uint32_t x0)
{
  return ncpixel_g(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_g(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_g(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_g _cffi_d_ncpixel_g
#endif

static unsigned int _cffi_d_ncpixel_r(uint32_t x0)
{
  return ncpixel_r(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_r(PyObject *self, PyObject *arg0)
{
  uint32_t x0;
  unsigned int result;
  PyObject *pyresult;

  x0 = _cffi_to_c_int(arg0, uint32_t);
  if (x0 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_r(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_r _cffi_d_ncpixel_r
#endif

static int _cffi_d_ncpixel_set_a(uint32_t * x0, unsigned int x1)
{
  return ncpixel_set_a(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_set_a(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncpixel_set_a", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_set_a(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_set_a _cffi_d_ncpixel_set_a
#endif

static int _cffi_d_ncpixel_set_b(uint32_t * x0, unsigned int x1)
{
  return ncpixel_set_b(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_set_b(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncpixel_set_b", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_set_b(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_set_b _cffi_d_ncpixel_set_b
#endif

static int _cffi_d_ncpixel_set_g(uint32_t * x0, unsigned int x1)
{
  return ncpixel_set_g(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_set_g(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncpixel_set_g", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_set_g(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_set_g _cffi_d_ncpixel_set_g
#endif

static int _cffi_d_ncpixel_set_r(uint32_t * x0, unsigned int x1)
{
  return ncpixel_set_r(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_set_r(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncpixel_set_r", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_set_r(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_set_r _cffi_d_ncpixel_set_r
#endif

static int _cffi_d_ncpixel_set_rgb8(uint32_t * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncpixel_set_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncpixel_set_rgb8(PyObject *self, PyObject *args)
{
  uint32_t * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncpixel_set_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncpixel_set_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncpixel_set_rgb8 _cffi_d_ncpixel_set_rgb8
#endif

static struct ncplane * _cffi_d_ncplane_above(struct ncplane * x0)
{
  return ncplane_above(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_above(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_above(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_above _cffi_d_ncplane_above
#endif

static int _cffi_d_ncplane_abs_x(struct ncplane const * x0)
{
  return ncplane_abs_x(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_abs_x(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_abs_x(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_abs_x _cffi_d_ncplane_abs_x
#endif

static int _cffi_d_ncplane_abs_y(struct ncplane const * x0)
{
  return ncplane_abs_y(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_abs_y(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_abs_y(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_abs_y _cffi_d_ncplane_abs_y
#endif

static void _cffi_d_ncplane_abs_yx(struct ncplane const * x0, int * x1, int * x2)
{
  ncplane_abs_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_abs_yx(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  int * x1;
  int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_abs_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_abs_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_abs_yx _cffi_d_ncplane_abs_yx
#endif

static uint32_t * _cffi_d_ncplane_as_rgba(struct ncplane const * x0, ncblitter_e x1, int x2, int x3, unsigned int x4, unsigned int x5, unsigned int * x6, unsigned int * x7)
{
  return ncplane_as_rgba(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_as_rgba(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  ncblitter_e x1;
  int x2;
  int x3;
  unsigned int x4;
  unsigned int x5;
  unsigned int * x6;
  unsigned int * x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncplane_as_rgba", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x1, _cffi_type(125), arg1) < 0)
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg7, (char **)&x7);
  if (datasize != 0) {
    x7 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg7, (char **)&x7,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_as_rgba(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(226));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_as_rgba _cffi_d_ncplane_as_rgba
#endif

static int _cffi_d_ncplane_ascii_box(struct ncplane * x0, uint16_t x1, uint64_t x2, unsigned int x3, unsigned int x4, unsigned int x5)
{
  return ncplane_ascii_box(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_ascii_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  unsigned int x3;
  unsigned int x4;
  unsigned int x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncplane_ascii_box", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_ascii_box(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_ascii_box _cffi_d_ncplane_ascii_box
#endif

static char * _cffi_d_ncplane_at_cursor(struct ncplane const * x0, uint16_t * x1, uint64_t * x2)
{
  return ncplane_at_cursor(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_at_cursor(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  uint16_t * x1;
  uint64_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_at_cursor", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(88), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (uint16_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(88), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_at_cursor(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_at_cursor _cffi_d_ncplane_at_cursor
#endif

static int _cffi_d_ncplane_at_cursor_cell(struct ncplane * x0, nccell * x1)
{
  return ncplane_at_cursor_cell(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_at_cursor_cell(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_at_cursor_cell", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_at_cursor_cell(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_at_cursor_cell _cffi_d_ncplane_at_cursor_cell
#endif

static char * _cffi_d_ncplane_at_yx(struct ncplane const * x0, int x1, int x2, uint16_t * x3, uint64_t * x4)
{
  return ncplane_at_yx(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_at_yx(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  int x1;
  int x2;
  uint16_t * x3;
  uint64_t * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_at_yx", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(88), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (uint16_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(88), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_at_yx(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_at_yx _cffi_d_ncplane_at_yx
#endif

static int _cffi_d_ncplane_at_yx_cell(struct ncplane * x0, int x1, int x2, nccell * x3)
{
  return ncplane_at_yx_cell(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_at_yx_cell(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  nccell * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_at_yx_cell", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_at_yx_cell(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_at_yx_cell _cffi_d_ncplane_at_yx_cell
#endif

static _Bool _cffi_d_ncplane_autogrow_p(struct ncplane const * x0)
{
  return ncplane_autogrow_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_autogrow_p(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_autogrow_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_autogrow_p _cffi_d_ncplane_autogrow_p
#endif

static int _cffi_d_ncplane_base(struct ncplane * x0, nccell * x1)
{
  return ncplane_base(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_base(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_base", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(198), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(198), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_base(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_base _cffi_d_ncplane_base
#endif

static uint32_t _cffi_d_ncplane_bchannel(struct ncplane const * x0)
{
  return ncplane_bchannel(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_bchannel(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_bchannel(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_bchannel _cffi_d_ncplane_bchannel
#endif

static struct ncplane * _cffi_d_ncplane_below(struct ncplane * x0)
{
  return ncplane_below(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_below(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_below(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_below _cffi_d_ncplane_below
#endif

static uint32_t _cffi_d_ncplane_bg_alpha(struct ncplane const * x0)
{
  return ncplane_bg_alpha(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_bg_alpha(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_bg_alpha(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_bg_alpha _cffi_d_ncplane_bg_alpha
#endif

static _Bool _cffi_d_ncplane_bg_default_p(struct ncplane const * x0)
{
  return ncplane_bg_default_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_bg_default_p(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_bg_default_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_bg_default_p _cffi_d_ncplane_bg_default_p
#endif

static uint32_t _cffi_d_ncplane_bg_rgb(struct ncplane const * x0)
{
  return ncplane_bg_rgb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_bg_rgb(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_bg_rgb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_bg_rgb _cffi_d_ncplane_bg_rgb
#endif

static uint32_t _cffi_d_ncplane_bg_rgb8(struct ncplane const * x0, unsigned int * x1, unsigned int * x2, unsigned int * x3)
{
  return ncplane_bg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_bg_rgb8(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_bg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_bg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_bg_rgb8 _cffi_d_ncplane_bg_rgb8
#endif

static int _cffi_d_ncplane_box(struct ncplane * x0, nccell const * x1, nccell const * x2, nccell const * x3, nccell const * x4, nccell const * x5, nccell const * x6, unsigned int x7, unsigned int x8, unsigned int x9)
{
  return ncplane_box(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  nccell const * x2;
  nccell const * x3;
  nccell const * x4;
  nccell const * x5;
  nccell const * x6;
  unsigned int x7;
  unsigned int x8;
  unsigned int x9;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;
  PyObject *arg9;

  if (!PyArg_UnpackTuple(args, "ncplane_box", 10, 10, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8, &arg9))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x8 = _cffi_to_c_int(arg8, unsigned int);
  if (x8 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x9 = _cffi_to_c_int(arg9, unsigned int);
  if (x9 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_box(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_box _cffi_d_ncplane_box
#endif

static int _cffi_d_ncplane_box_sized(struct ncplane * x0, nccell const * x1, nccell const * x2, nccell const * x3, nccell const * x4, nccell const * x5, nccell const * x6, unsigned int x7, unsigned int x8, unsigned int x9)
{
  return ncplane_box_sized(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_box_sized(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  nccell const * x2;
  nccell const * x3;
  nccell const * x4;
  nccell const * x5;
  nccell const * x6;
  unsigned int x7;
  unsigned int x8;
  unsigned int x9;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;
  PyObject *arg9;

  if (!PyArg_UnpackTuple(args, "ncplane_box_sized", 10, 10, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8, &arg9))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x8 = _cffi_to_c_int(arg8, unsigned int);
  if (x8 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x9 = _cffi_to_c_int(arg9, unsigned int);
  if (x9 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_box_sized(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_box_sized _cffi_d_ncplane_box_sized
#endif

static void _cffi_d_ncplane_center_abs(struct ncplane const * x0, int * x1, int * x2)
{
  ncplane_center_abs(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_center_abs(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  int * x1;
  int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_center_abs", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_center_abs(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_center_abs _cffi_d_ncplane_center_abs
#endif

static uint64_t _cffi_d_ncplane_channels(struct ncplane const * x0)
{
  return ncplane_channels(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_channels(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_channels(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_channels _cffi_d_ncplane_channels
#endif

static char * _cffi_d_ncplane_contents(struct ncplane * x0, int x1, int x2, unsigned int x3, unsigned int x4)
{
  return ncplane_contents(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_contents(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  unsigned int x3;
  unsigned int x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_contents", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_contents(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_contents _cffi_d_ncplane_contents
#endif

static struct ncplane * _cffi_d_ncplane_create(struct ncplane * x0, ncplane_options const * x1)
{
  return ncplane_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncplane_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1108), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncplane_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1108), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_create _cffi_d_ncplane_create
#endif

static int _cffi_d_ncplane_cursor_move_rel(struct ncplane * x0, int x1, int x2)
{
  return ncplane_cursor_move_rel(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_cursor_move_rel(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_cursor_move_rel", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_cursor_move_rel(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_cursor_move_rel _cffi_d_ncplane_cursor_move_rel
#endif

static int _cffi_d_ncplane_cursor_move_yx(struct ncplane * x0, int x1, int x2)
{
  return ncplane_cursor_move_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_cursor_move_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_cursor_move_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_cursor_move_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_cursor_move_yx _cffi_d_ncplane_cursor_move_yx
#endif

static unsigned int _cffi_d_ncplane_cursor_x(struct ncplane const * x0)
{
  return ncplane_cursor_x(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_cursor_x(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_cursor_x(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_cursor_x _cffi_d_ncplane_cursor_x
#endif

static unsigned int _cffi_d_ncplane_cursor_y(struct ncplane const * x0)
{
  return ncplane_cursor_y(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_cursor_y(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_cursor_y(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_cursor_y _cffi_d_ncplane_cursor_y
#endif

static void _cffi_d_ncplane_cursor_yx(struct ncplane const * x0, unsigned int * x1, unsigned int * x2)
{
  ncplane_cursor_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_cursor_yx(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  unsigned int * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_cursor_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_cursor_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_cursor_yx _cffi_d_ncplane_cursor_yx
#endif

static int _cffi_d_ncplane_descendant_p(struct ncplane const * x0, struct ncplane const * x1)
{
  return ncplane_descendant_p(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_descendant_p(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  struct ncplane const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_descendant_p", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_descendant_p(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_descendant_p _cffi_d_ncplane_descendant_p
#endif

static int _cffi_d_ncplane_destroy(struct ncplane * x0)
{
  return ncplane_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_destroy(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_destroy _cffi_d_ncplane_destroy
#endif

static unsigned int _cffi_d_ncplane_dim_x(struct ncplane const * x0)
{
  return ncplane_dim_x(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_dim_x(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_dim_x(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_dim_x _cffi_d_ncplane_dim_x
#endif

static unsigned int _cffi_d_ncplane_dim_y(struct ncplane const * x0)
{
  return ncplane_dim_y(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_dim_y(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_dim_y(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_dim_y _cffi_d_ncplane_dim_y
#endif

static void _cffi_d_ncplane_dim_yx(struct ncplane const * x0, unsigned int * x1, unsigned int * x2)
{
  ncplane_dim_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_dim_yx(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  unsigned int * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_dim_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_dim_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_dim_yx _cffi_d_ncplane_dim_yx
#endif

static int _cffi_d_ncplane_double_box(struct ncplane * x0, uint16_t x1, uint64_t x2, unsigned int x3, unsigned int x4, unsigned int x5)
{
  return ncplane_double_box(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_double_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  unsigned int x3;
  unsigned int x4;
  unsigned int x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncplane_double_box", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_double_box(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_double_box _cffi_d_ncplane_double_box
#endif

static int _cffi_d_ncplane_double_box_sized(struct ncplane * x0, uint16_t x1, uint64_t x2, unsigned int x3, unsigned int x4, unsigned int x5)
{
  return ncplane_double_box_sized(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_double_box_sized(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  unsigned int x3;
  unsigned int x4;
  unsigned int x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncplane_double_box_sized", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_double_box_sized(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_double_box_sized _cffi_d_ncplane_double_box_sized
#endif

static struct ncplane * _cffi_d_ncplane_dup(struct ncplane const * x0, void * x1)
{
  return ncplane_dup(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_dup(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  void * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_dup", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_dup(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_dup _cffi_d_ncplane_dup
#endif

static void _cffi_d_ncplane_erase(struct ncplane * x0)
{
  ncplane_erase(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_erase(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_erase(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_erase _cffi_d_ncplane_erase
#endif

static int _cffi_d_ncplane_erase_region(struct ncplane * x0, int x1, int x2, int x3, int x4)
{
  return ncplane_erase_region(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_erase_region(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  int x3;
  int x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_erase_region", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, int);
  if (x4 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_erase_region(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_erase_region _cffi_d_ncplane_erase_region
#endif

static int _cffi_d_ncplane_fadein(struct ncplane * x0, struct timespec const * x1, int(* x2)(struct notcurses *, struct ncplane *, struct timespec const *, void *), void * x3)
{
  return ncplane_fadein(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fadein(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct timespec const * x1;
  int(* x2)(struct notcurses *, struct ncplane *, struct timespec const *, void *);
  void * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_fadein", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(706), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct timespec const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(706), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))_cffi_to_c_pointer(arg2, _cffi_type(683));
  if (x2 == (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fadein(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fadein _cffi_d_ncplane_fadein
#endif

static int _cffi_d_ncplane_fadein_iteration(struct ncplane * x0, struct ncfadectx * x1, int x2, int(* x3)(struct notcurses *, struct ncplane *, struct timespec const *, void *), void * x4)
{
  return ncplane_fadein_iteration(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fadein_iteration(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncfadectx * x1;
  int x2;
  int(* x3)(struct notcurses *, struct ncplane *, struct timespec const *, void *);
  void * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_fadein_iteration", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(681), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncfadectx *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(681), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))_cffi_to_c_pointer(arg3, _cffi_type(683));
  if (x3 == (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fadein_iteration(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fadein_iteration _cffi_d_ncplane_fadein_iteration
#endif

static int _cffi_d_ncplane_fadeout(struct ncplane * x0, struct timespec const * x1, int(* x2)(struct notcurses *, struct ncplane *, struct timespec const *, void *), void * x3)
{
  return ncplane_fadeout(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fadeout(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct timespec const * x1;
  int(* x2)(struct notcurses *, struct ncplane *, struct timespec const *, void *);
  void * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_fadeout", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(706), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct timespec const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(706), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))_cffi_to_c_pointer(arg2, _cffi_type(683));
  if (x2 == (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fadeout(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fadeout _cffi_d_ncplane_fadeout
#endif

static int _cffi_d_ncplane_fadeout_iteration(struct ncplane * x0, struct ncfadectx * x1, int x2, int(* x3)(struct notcurses *, struct ncplane *, struct timespec const *, void *), void * x4)
{
  return ncplane_fadeout_iteration(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fadeout_iteration(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncfadectx * x1;
  int x2;
  int(* x3)(struct notcurses *, struct ncplane *, struct timespec const *, void *);
  void * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_fadeout_iteration", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(681), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncfadectx *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(681), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))_cffi_to_c_pointer(arg3, _cffi_type(683));
  if (x3 == (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fadeout_iteration(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fadeout_iteration _cffi_d_ncplane_fadeout_iteration
#endif

static int _cffi_d_ncplane_family_destroy(struct ncplane * x0)
{
  return ncplane_family_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_family_destroy(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_family_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_family_destroy _cffi_d_ncplane_family_destroy
#endif

static uint32_t _cffi_d_ncplane_fchannel(struct ncplane const * x0)
{
  return ncplane_fchannel(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fchannel(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fchannel(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fchannel _cffi_d_ncplane_fchannel
#endif

static uint32_t _cffi_d_ncplane_fg_alpha(struct ncplane const * x0)
{
  return ncplane_fg_alpha(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fg_alpha(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fg_alpha(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fg_alpha _cffi_d_ncplane_fg_alpha
#endif

static _Bool _cffi_d_ncplane_fg_default_p(struct ncplane const * x0)
{
  return ncplane_fg_default_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fg_default_p(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fg_default_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fg_default_p _cffi_d_ncplane_fg_default_p
#endif

static uint32_t _cffi_d_ncplane_fg_rgb(struct ncplane const * x0)
{
  return ncplane_fg_rgb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fg_rgb(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fg_rgb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fg_rgb _cffi_d_ncplane_fg_rgb
#endif

static uint32_t _cffi_d_ncplane_fg_rgb8(struct ncplane const * x0, unsigned int * x1, unsigned int * x2, unsigned int * x3)
{
  return ncplane_fg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_fg_rgb8(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_fg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_fg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_fg_rgb8 _cffi_d_ncplane_fg_rgb8
#endif

static int _cffi_d_ncplane_format(struct ncplane * x0, int x1, int x2, unsigned int x3, unsigned int x4, uint16_t x5)
{
  return ncplane_format(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_format(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  unsigned int x3;
  unsigned int x4;
  uint16_t x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncplane_format", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, uint16_t);
  if (x5 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_format(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_format _cffi_d_ncplane_format
#endif

static int _cffi_d_ncplane_gradient(struct ncplane * x0, int x1, int x2, unsigned int x3, unsigned int x4, char const * x5, uint16_t x6, uint64_t x7, uint64_t x8, uint64_t x9, uint64_t x10)
{
  return ncplane_gradient(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_gradient(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  unsigned int x3;
  unsigned int x4;
  char const * x5;
  uint16_t x6;
  uint64_t x7;
  uint64_t x8;
  uint64_t x9;
  uint64_t x10;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;
  PyObject *arg9;
  PyObject *arg10;

  if (!PyArg_UnpackTuple(args, "ncplane_gradient", 11, 11, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8, &arg9, &arg10))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x6 = _cffi_to_c_int(arg6, uint16_t);
  if (x6 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, uint64_t);
  if (x7 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x8 = _cffi_to_c_int(arg8, uint64_t);
  if (x8 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x9 = _cffi_to_c_int(arg9, uint64_t);
  if (x9 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x10 = _cffi_to_c_int(arg10, uint64_t);
  if (x10 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_gradient(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_gradient _cffi_d_ncplane_gradient
#endif

static int _cffi_d_ncplane_gradient2x1(struct ncplane * x0, int x1, int x2, unsigned int x3, unsigned int x4, uint32_t x5, uint32_t x6, uint32_t x7, uint32_t x8)
{
  return ncplane_gradient2x1(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_gradient2x1(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  unsigned int x3;
  unsigned int x4;
  uint32_t x5;
  uint32_t x6;
  uint32_t x7;
  uint32_t x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "ncplane_gradient2x1", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, uint32_t);
  if (x5 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, uint32_t);
  if (x6 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, uint32_t);
  if (x7 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  x8 = _cffi_to_c_int(arg8, uint32_t);
  if (x8 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_gradient2x1(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_gradient2x1 _cffi_d_ncplane_gradient2x1
#endif

static void _cffi_d_ncplane_greyscale(struct ncplane * x0)
{
  ncplane_greyscale(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_greyscale(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_greyscale(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_greyscale _cffi_d_ncplane_greyscale
#endif

static int _cffi_d_ncplane_halign(struct ncplane const * x0, ncalign_e x1, int x2)
{
  return ncplane_halign(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_halign(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  ncalign_e x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_halign", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x1, _cffi_type(194), arg1) < 0)
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_halign(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_halign _cffi_d_ncplane_halign
#endif

static int _cffi_d_ncplane_hline(struct ncplane * x0, nccell const * x1, unsigned int x2)
{
  return ncplane_hline(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_hline(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  unsigned int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_hline", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_hline(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_hline _cffi_d_ncplane_hline
#endif

static int _cffi_d_ncplane_hline_interp(struct ncplane * x0, nccell const * x1, unsigned int x2, uint64_t x3, uint64_t x4)
{
  return ncplane_hline_interp(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_hline_interp(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  unsigned int x2;
  uint64_t x3;
  uint64_t x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_hline_interp", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_hline_interp(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_hline_interp _cffi_d_ncplane_hline_interp
#endif

static void _cffi_d_ncplane_home(struct ncplane * x0)
{
  ncplane_home(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_home(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_home(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_home _cffi_d_ncplane_home
#endif

static int _cffi_d_ncplane_mergedown(struct ncplane * x0, struct ncplane * x1, int x2, int x3, unsigned int x4, unsigned int x5, int x6, int x7)
{
  return ncplane_mergedown(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_mergedown(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  int x2;
  int x3;
  unsigned int x4;
  unsigned int x5;
  int x6;
  int x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncplane_mergedown", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, int);
  if (x6 == (int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, int);
  if (x7 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_mergedown(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_mergedown _cffi_d_ncplane_mergedown
#endif

static int _cffi_d_ncplane_mergedown_simple(struct ncplane * x0, struct ncplane * x1)
{
  return ncplane_mergedown_simple(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_mergedown_simple(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_mergedown_simple", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_mergedown_simple(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_mergedown_simple _cffi_d_ncplane_mergedown_simple
#endif

static int _cffi_d_ncplane_move_above(struct ncplane * x0, struct ncplane * x1)
{
  return ncplane_move_above(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_above(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_move_above", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_move_above(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_move_above _cffi_d_ncplane_move_above
#endif

static int _cffi_d_ncplane_move_below(struct ncplane * x0, struct ncplane * x1)
{
  return ncplane_move_below(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_below(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_move_below", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_move_below(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_move_below _cffi_d_ncplane_move_below
#endif

static void _cffi_d_ncplane_move_bottom(struct ncplane * x0)
{
  ncplane_move_bottom(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_bottom(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_move_bottom(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_move_bottom _cffi_d_ncplane_move_bottom
#endif

static int _cffi_d_ncplane_move_family_above(struct ncplane * x0, struct ncplane * x1)
{
  return ncplane_move_family_above(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_family_above(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_move_family_above", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_move_family_above(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_move_family_above _cffi_d_ncplane_move_family_above
#endif

static int _cffi_d_ncplane_move_family_below(struct ncplane * x0, struct ncplane * x1)
{
  return ncplane_move_family_below(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_family_below(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_move_family_below", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_move_family_below(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_move_family_below _cffi_d_ncplane_move_family_below
#endif

static void _cffi_d_ncplane_move_family_bottom(struct ncplane * x0)
{
  ncplane_move_family_bottom(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_family_bottom(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_move_family_bottom(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_move_family_bottom _cffi_d_ncplane_move_family_bottom
#endif

static void _cffi_d_ncplane_move_family_top(struct ncplane * x0)
{
  ncplane_move_family_top(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_family_top(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_move_family_top(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_move_family_top _cffi_d_ncplane_move_family_top
#endif

static int _cffi_d_ncplane_move_rel(struct ncplane * x0, int x1, int x2)
{
  return ncplane_move_rel(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_rel(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_move_rel", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_move_rel(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_move_rel _cffi_d_ncplane_move_rel
#endif

static void _cffi_d_ncplane_move_top(struct ncplane * x0)
{
  ncplane_move_top(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_top(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_move_top(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_move_top _cffi_d_ncplane_move_top
#endif

static int _cffi_d_ncplane_move_yx(struct ncplane * x0, int x1, int x2)
{
  return ncplane_move_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_move_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_move_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_move_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_move_yx _cffi_d_ncplane_move_yx
#endif

static char * _cffi_d_ncplane_name(struct ncplane const * x0)
{
  return ncplane_name(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_name(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_name(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_name _cffi_d_ncplane_name
#endif

static struct notcurses * _cffi_d_ncplane_notcurses(struct ncplane const * x0)
{
  return ncplane_notcurses(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_notcurses(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct notcurses * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_notcurses(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(110));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_notcurses _cffi_d_ncplane_notcurses
#endif

static struct notcurses const * _cffi_d_ncplane_notcurses_const(struct ncplane const * x0)
{
  return ncplane_notcurses_const(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_notcurses_const(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct notcurses const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_notcurses_const(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(59));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_notcurses_const _cffi_d_ncplane_notcurses_const
#endif

static void _cffi_d_ncplane_off_styles(struct ncplane * x0, unsigned int x1)
{
  ncplane_off_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_off_styles(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_off_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_off_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_off_styles _cffi_d_ncplane_off_styles
#endif

static void _cffi_d_ncplane_on_styles(struct ncplane * x0, unsigned int x1)
{
  ncplane_on_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_on_styles(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_on_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_on_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_on_styles _cffi_d_ncplane_on_styles
#endif

static struct ncplane * _cffi_d_ncplane_parent(struct ncplane * x0)
{
  return ncplane_parent(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_parent(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_parent(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_parent _cffi_d_ncplane_parent
#endif

static struct ncplane const * _cffi_d_ncplane_parent_const(struct ncplane const * x0)
{
  return ncplane_parent_const(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_parent_const(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_parent_const(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(29));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_parent_const _cffi_d_ncplane_parent_const
#endif

static int _cffi_d_ncplane_perimeter(struct ncplane * x0, nccell const * x1, nccell const * x2, nccell const * x3, nccell const * x4, nccell const * x5, nccell const * x6, unsigned int x7)
{
  return ncplane_perimeter(x0, x1, x2, x3, x4, x5, x6, x7);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_perimeter(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  nccell const * x2;
  nccell const * x3;
  nccell const * x4;
  nccell const * x5;
  nccell const * x6;
  unsigned int x7;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;

  if (!PyArg_UnpackTuple(args, "ncplane_perimeter", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_perimeter(x0, x1, x2, x3, x4, x5, x6, x7); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_perimeter _cffi_d_ncplane_perimeter
#endif

static int _cffi_d_ncplane_perimeter_double(struct ncplane * x0, uint16_t x1, uint64_t x2, unsigned int x3)
{
  return ncplane_perimeter_double(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_perimeter_double(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_perimeter_double", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_perimeter_double(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_perimeter_double _cffi_d_ncplane_perimeter_double
#endif

static int _cffi_d_ncplane_perimeter_rounded(struct ncplane * x0, uint16_t x1, uint64_t x2, unsigned int x3)
{
  return ncplane_perimeter_rounded(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_perimeter_rounded(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_perimeter_rounded", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_perimeter_rounded(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_perimeter_rounded _cffi_d_ncplane_perimeter_rounded
#endif

static void _cffi_d_ncplane_pixel_geom(struct ncplane const * x0, unsigned int * x1, unsigned int * x2, unsigned int * x3, unsigned int * x4, unsigned int * x5, unsigned int * x6)
{
  ncplane_pixel_geom(x0, x1, x2, x3, x4, x5, x6);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_pixel_geom(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  unsigned int * x1;
  unsigned int * x2;
  unsigned int * x3;
  unsigned int * x4;
  unsigned int * x5;
  unsigned int * x6;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;

  if (!PyArg_UnpackTuple(args, "ncplane_pixel_geom", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_pixel_geom(x0, x1, x2, x3, x4, x5, x6); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_pixel_geom _cffi_d_ncplane_pixel_geom
#endif

static int _cffi_d_ncplane_polyfill_yx(struct ncplane * x0, int x1, int x2, nccell const * x3)
{
  return ncplane_polyfill_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_polyfill_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  nccell const * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_polyfill_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_polyfill_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_polyfill_yx _cffi_d_ncplane_polyfill_yx
#endif

static void _cffi_const_ncplane_printf(char *o)
{
  *(int(* *)(struct ncplane *, char const *, ...))o = ncplane_printf;
}

static void _cffi_const_ncplane_printf_aligned(char *o)
{
  *(int(* *)(struct ncplane *, int, ncalign_e, char const *, ...))o = ncplane_printf_aligned;
}

static void _cffi_const_ncplane_printf_stained(char *o)
{
  *(int(* *)(struct ncplane *, char const *, ...))o = ncplane_printf_stained;
}

static void _cffi_const_ncplane_printf_yx(char *o)
{
  *(int(* *)(struct ncplane *, int, int, char const *, ...))o = ncplane_printf_yx;
}

static int _cffi_d_ncplane_pulse(struct ncplane * x0, struct timespec const * x1, int(* x2)(struct notcurses *, struct ncplane *, struct timespec const *, void *), void * x3)
{
  return ncplane_pulse(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_pulse(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct timespec const * x1;
  int(* x2)(struct notcurses *, struct ncplane *, struct timespec const *, void *);
  void * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_pulse", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(706), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct timespec const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(706), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))_cffi_to_c_pointer(arg2, _cffi_type(683));
  if (x2 == (int(*)(struct notcurses *, struct ncplane *, struct timespec const *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_pulse(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_pulse _cffi_d_ncplane_pulse
#endif

static int _cffi_d_ncplane_putc(struct ncplane * x0, nccell const * x1)
{
  return ncplane_putc(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putc(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putc", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putc(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putc _cffi_d_ncplane_putc
#endif

static int _cffi_d_ncplane_putc_yx(struct ncplane * x0, int x1, int x2, nccell const * x3)
{
  return ncplane_putc_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putc_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  nccell const * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_putc_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putc_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putc_yx _cffi_d_ncplane_putc_yx
#endif

static int _cffi_d_ncplane_putchar(struct ncplane * x0, char x1)
{
  return ncplane_putchar(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putchar(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putchar", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (char)_cffi_to_c_char(arg1);
  if (x1 == (char)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putchar(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putchar _cffi_d_ncplane_putchar
#endif

static int _cffi_d_ncplane_putchar_stained(struct ncplane * x0, char x1)
{
  return ncplane_putchar_stained(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putchar_stained(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putchar_stained", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (char)_cffi_to_c_char(arg1);
  if (x1 == (char)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putchar_stained(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putchar_stained _cffi_d_ncplane_putchar_stained
#endif

static int _cffi_d_ncplane_putchar_yx(struct ncplane * x0, int x1, int x2, char x3)
{
  return ncplane_putchar_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putchar_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  char x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_putchar_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = (char)_cffi_to_c_char(arg3);
  if (x3 == (char)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putchar_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putchar_yx _cffi_d_ncplane_putchar_yx
#endif

static int _cffi_d_ncplane_putegc(struct ncplane * x0, char const * x1, size_t * x2)
{
  return ncplane_putegc(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putegc(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  size_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_putegc", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putegc(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putegc _cffi_d_ncplane_putegc
#endif

static int _cffi_d_ncplane_putegc_stained(struct ncplane * x0, char const * x1, size_t * x2)
{
  return ncplane_putegc_stained(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putegc_stained(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  size_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_putegc_stained", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putegc_stained(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putegc_stained _cffi_d_ncplane_putegc_stained
#endif

static int _cffi_d_ncplane_putegc_yx(struct ncplane * x0, int x1, int x2, char const * x3, size_t * x4)
{
  return ncplane_putegc_yx(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putegc_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  char const * x3;
  size_t * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_putegc_yx", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putegc_yx(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putegc_yx _cffi_d_ncplane_putegc_yx
#endif

static int _cffi_d_ncplane_putnstr(struct ncplane * x0, size_t x1, char const * x2)
{
  return ncplane_putnstr(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putnstr(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  size_t x1;
  char const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_putnstr", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, size_t);
  if (x1 == (size_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putnstr(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putnstr _cffi_d_ncplane_putnstr
#endif

static int _cffi_d_ncplane_putnstr_aligned(struct ncplane * x0, int x1, ncalign_e x2, size_t x3, char const * x4)
{
  return ncplane_putnstr_aligned(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putnstr_aligned(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  ncalign_e x2;
  size_t x3;
  char const * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_putnstr_aligned", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  if (_cffi_to_c((char *)&x2, _cffi_type(194), arg2) < 0)
    return NULL;

  x3 = _cffi_to_c_int(arg3, size_t);
  if (x3 == (size_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putnstr_aligned(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putnstr_aligned _cffi_d_ncplane_putnstr_aligned
#endif

static int _cffi_d_ncplane_putnstr_yx(struct ncplane * x0, int x1, int x2, size_t x3, char const * x4)
{
  return ncplane_putnstr_yx(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putnstr_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  size_t x3;
  char const * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_putnstr_yx", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, size_t);
  if (x3 == (size_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putnstr_yx(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putnstr_yx _cffi_d_ncplane_putnstr_yx
#endif

static int _cffi_d_ncplane_putstr(struct ncplane * x0, char const * x1)
{
  return ncplane_putstr(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putstr(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putstr", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putstr(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putstr _cffi_d_ncplane_putstr
#endif

static int _cffi_d_ncplane_putstr_aligned(struct ncplane * x0, int x1, ncalign_e x2, char const * x3)
{
  return ncplane_putstr_aligned(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putstr_aligned(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  ncalign_e x2;
  char const * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_putstr_aligned", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  if (_cffi_to_c((char *)&x2, _cffi_type(194), arg2) < 0)
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putstr_aligned(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putstr_aligned _cffi_d_ncplane_putstr_aligned
#endif

static int _cffi_d_ncplane_putstr_stained(struct ncplane * x0, char const * x1)
{
  return ncplane_putstr_stained(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putstr_stained(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putstr_stained", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putstr_stained(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putstr_stained _cffi_d_ncplane_putstr_stained
#endif

static int _cffi_d_ncplane_putstr_yx(struct ncplane * x0, int x1, int x2, char const * x3)
{
  return ncplane_putstr_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putstr_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  char const * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_putstr_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putstr_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putstr_yx _cffi_d_ncplane_putstr_yx
#endif

static int _cffi_d_ncplane_puttext(struct ncplane * x0, int x1, ncalign_e x2, char const * x3, size_t * x4)
{
  return ncplane_puttext(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_puttext(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  ncalign_e x2;
  char const * x3;
  size_t * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_puttext", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  if (_cffi_to_c((char *)&x2, _cffi_type(194), arg2) < 0)
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_puttext(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_puttext _cffi_d_ncplane_puttext
#endif

static int _cffi_d_ncplane_pututf32_yx(struct ncplane * x0, int x1, int x2, uint32_t x3)
{
  return ncplane_pututf32_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_pututf32_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  uint32_t x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_pututf32_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint32_t);
  if (x3 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_pututf32_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_pututf32_yx _cffi_d_ncplane_pututf32_yx
#endif

static int _cffi_d_ncplane_putwc(struct ncplane * x0, wchar_t x1)
{
  return ncplane_putwc(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwc(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  wchar_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putwc", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (wchar_t)_cffi_to_c_wchar_t(arg1);
  if (x1 == (wchar_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwc(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwc _cffi_d_ncplane_putwc
#endif

static int _cffi_d_ncplane_putwc_stained(struct ncplane * x0, wchar_t x1)
{
  return ncplane_putwc_stained(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwc_stained(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  wchar_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putwc_stained", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (wchar_t)_cffi_to_c_wchar_t(arg1);
  if (x1 == (wchar_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwc_stained(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwc_stained _cffi_d_ncplane_putwc_stained
#endif

static int _cffi_d_ncplane_putwc_utf32(struct ncplane * x0, wchar_t const * x1, unsigned int * x2)
{
  return ncplane_putwc_utf32(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwc_utf32(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  wchar_t const * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_putwc_utf32", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwc_utf32(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwc_utf32 _cffi_d_ncplane_putwc_utf32
#endif

static int _cffi_d_ncplane_putwc_yx(struct ncplane * x0, int x1, int x2, wchar_t x3)
{
  return ncplane_putwc_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwc_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  wchar_t x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_putwc_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = (wchar_t)_cffi_to_c_wchar_t(arg3);
  if (x3 == (wchar_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwc_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwc_yx _cffi_d_ncplane_putwc_yx
#endif

static int _cffi_d_ncplane_putwegc(struct ncplane * x0, wchar_t const * x1, size_t * x2)
{
  return ncplane_putwegc(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwegc(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  wchar_t const * x1;
  size_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_putwegc", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwegc(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwegc _cffi_d_ncplane_putwegc
#endif

static int _cffi_d_ncplane_putwegc_stained(struct ncplane * x0, wchar_t const * x1, size_t * x2)
{
  return ncplane_putwegc_stained(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwegc_stained(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  wchar_t const * x1;
  size_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_putwegc_stained", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwegc_stained(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwegc_stained _cffi_d_ncplane_putwegc_stained
#endif

static int _cffi_d_ncplane_putwegc_yx(struct ncplane * x0, int x1, int x2, wchar_t const * x3, size_t * x4)
{
  return ncplane_putwegc_yx(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwegc_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  wchar_t const * x3;
  size_t * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_putwegc_yx", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(390), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (size_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(390), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwegc_yx(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwegc_yx _cffi_d_ncplane_putwegc_yx
#endif

static int _cffi_d_ncplane_putwstr(struct ncplane * x0, wchar_t const * x1)
{
  return ncplane_putwstr(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwstr(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  wchar_t const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putwstr", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwstr(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwstr _cffi_d_ncplane_putwstr
#endif

static int _cffi_d_ncplane_putwstr_aligned(struct ncplane * x0, int x1, ncalign_e x2, wchar_t const * x3)
{
  return ncplane_putwstr_aligned(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwstr_aligned(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  ncalign_e x2;
  wchar_t const * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_putwstr_aligned", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  if (_cffi_to_c((char *)&x2, _cffi_type(194), arg2) < 0)
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwstr_aligned(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwstr_aligned _cffi_d_ncplane_putwstr_aligned
#endif

static int _cffi_d_ncplane_putwstr_stained(struct ncplane * x0, wchar_t const * x1)
{
  return ncplane_putwstr_stained(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwstr_stained(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  wchar_t const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_putwstr_stained", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwstr_stained(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwstr_stained _cffi_d_ncplane_putwstr_stained
#endif

static int _cffi_d_ncplane_putwstr_yx(struct ncplane * x0, int x1, int x2, wchar_t const * x3)
{
  return ncplane_putwstr_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_putwstr_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  wchar_t const * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_putwstr_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_putwstr_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_putwstr_yx _cffi_d_ncplane_putwstr_yx
#endif

static int _cffi_d_ncplane_qrcode(struct ncplane * x0, unsigned int * x1, unsigned int * x2, void const * x3, size_t x4)
{
  return ncplane_qrcode(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_qrcode(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int * x1;
  unsigned int * x2;
  void const * x3;
  size_t x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_qrcode", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x4 = _cffi_to_c_int(arg4, size_t);
  if (x4 == (size_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_qrcode(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_qrcode _cffi_d_ncplane_qrcode
#endif

static struct ncplane * _cffi_d_ncplane_reparent(struct ncplane * x0, struct ncplane * x1)
{
  return ncplane_reparent(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_reparent(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_reparent", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_reparent(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_reparent _cffi_d_ncplane_reparent
#endif

static struct ncplane * _cffi_d_ncplane_reparent_family(struct ncplane * x0, struct ncplane * x1)
{
  return ncplane_reparent_family(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_reparent_family(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_reparent_family", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_reparent_family(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_reparent_family _cffi_d_ncplane_reparent_family
#endif

static int _cffi_d_ncplane_resize(struct ncplane * x0, int x1, int x2, unsigned int x3, unsigned int x4, int x5, int x6, unsigned int x7, unsigned int x8)
{
  return ncplane_resize(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_resize(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  unsigned int x3;
  unsigned int x4;
  int x5;
  int x6;
  unsigned int x7;
  unsigned int x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "ncplane_resize", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, int);
  if (x5 == (int)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, int);
  if (x6 == (int)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, unsigned int);
  if (x7 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x8 = _cffi_to_c_int(arg8, unsigned int);
  if (x8 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_resize(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_resize _cffi_d_ncplane_resize
#endif

static int _cffi_d_ncplane_resize_marginalized(struct ncplane * x0)
{
  return ncplane_resize_marginalized(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_resize_marginalized(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_resize_marginalized(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_resize_marginalized _cffi_d_ncplane_resize_marginalized
#endif

static int _cffi_d_ncplane_resize_maximize(struct ncplane * x0)
{
  return ncplane_resize_maximize(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_resize_maximize(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_resize_maximize(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_resize_maximize _cffi_d_ncplane_resize_maximize
#endif

static int _cffi_d_ncplane_resize_placewithin(struct ncplane * x0)
{
  return ncplane_resize_placewithin(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_resize_placewithin(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_resize_placewithin(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_resize_placewithin _cffi_d_ncplane_resize_placewithin
#endif

static int _cffi_d_ncplane_resize_realign(struct ncplane * x0)
{
  return ncplane_resize_realign(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_resize_realign(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_resize_realign(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_resize_realign _cffi_d_ncplane_resize_realign
#endif

static int _cffi_d_ncplane_resize_simple(struct ncplane * x0, unsigned int x1, unsigned int x2)
{
  return ncplane_resize_simple(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_resize_simple(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  unsigned int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_resize_simple", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_resize_simple(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_resize_simple _cffi_d_ncplane_resize_simple
#endif

static int(* _cffi_d_ncplane_resizecb(struct ncplane const * x0))(struct ncplane *)
{
  return ncplane_resizecb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_resizecb(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int(* result)(struct ncplane *);
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_resizecb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(1517));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_resizecb _cffi_d_ncplane_resizecb
#endif

static int _cffi_d_ncplane_rotate_ccw(struct ncplane * x0)
{
  return ncplane_rotate_ccw(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_rotate_ccw(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_rotate_ccw(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_rotate_ccw _cffi_d_ncplane_rotate_ccw
#endif

static int _cffi_d_ncplane_rotate_cw(struct ncplane * x0)
{
  return ncplane_rotate_cw(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_rotate_cw(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_rotate_cw(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_rotate_cw _cffi_d_ncplane_rotate_cw
#endif

static int _cffi_d_ncplane_rounded_box(struct ncplane * x0, uint16_t x1, uint64_t x2, unsigned int x3, unsigned int x4, unsigned int x5)
{
  return ncplane_rounded_box(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_rounded_box(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  unsigned int x3;
  unsigned int x4;
  unsigned int x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncplane_rounded_box", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_rounded_box(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_rounded_box _cffi_d_ncplane_rounded_box
#endif

static int _cffi_d_ncplane_rounded_box_sized(struct ncplane * x0, uint16_t x1, uint64_t x2, unsigned int x3, unsigned int x4, unsigned int x5)
{
  return ncplane_rounded_box_sized(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_rounded_box_sized(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint16_t x1;
  uint64_t x2;
  unsigned int x3;
  unsigned int x4;
  unsigned int x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncplane_rounded_box_sized", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint16_t);
  if (x1 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_rounded_box_sized(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_rounded_box_sized _cffi_d_ncplane_rounded_box_sized
#endif

static _Bool _cffi_d_ncplane_scrolling_p(struct ncplane const * x0)
{
  return ncplane_scrolling_p(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_scrolling_p(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_scrolling_p(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_scrolling_p _cffi_d_ncplane_scrolling_p
#endif

static int _cffi_d_ncplane_scrollup(struct ncplane * x0, int x1)
{
  return ncplane_scrollup(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_scrollup(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_scrollup", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_scrollup(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_scrollup _cffi_d_ncplane_scrollup
#endif

static int _cffi_d_ncplane_scrollup_child(struct ncplane * x0, struct ncplane const * x1)
{
  return ncplane_scrollup_child(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_scrollup_child(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncplane const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_scrollup_child", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_scrollup_child(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_scrollup_child _cffi_d_ncplane_scrollup_child
#endif

static _Bool _cffi_d_ncplane_set_autogrow(struct ncplane * x0, unsigned int x1)
{
  return ncplane_set_autogrow(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_autogrow(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_autogrow", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_autogrow(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_autogrow _cffi_d_ncplane_set_autogrow
#endif

static int _cffi_d_ncplane_set_base(struct ncplane * x0, char const * x1, uint16_t x2, uint64_t x3)
{
  return ncplane_set_base(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_base(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  uint16_t x2;
  uint64_t x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_set_base", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, uint16_t);
  if (x2 == (uint16_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_base(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_base _cffi_d_ncplane_set_base
#endif

static int _cffi_d_ncplane_set_base_cell(struct ncplane * x0, nccell const * x1)
{
  return ncplane_set_base_cell(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_base_cell(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_base_cell", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_base_cell(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_base_cell _cffi_d_ncplane_set_base_cell
#endif

static uint64_t _cffi_d_ncplane_set_bchannel(struct ncplane * x0, uint32_t x1)
{
  return ncplane_set_bchannel(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_bchannel(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_bchannel", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_bchannel(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_bchannel _cffi_d_ncplane_set_bchannel
#endif

static int _cffi_d_ncplane_set_bg_alpha(struct ncplane * x0, int x1)
{
  return ncplane_set_bg_alpha(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_bg_alpha(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_bg_alpha", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_bg_alpha(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_bg_alpha _cffi_d_ncplane_set_bg_alpha
#endif

static void _cffi_d_ncplane_set_bg_default(struct ncplane * x0)
{
  ncplane_set_bg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_bg_default(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_set_bg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_set_bg_default _cffi_d_ncplane_set_bg_default
#endif

static int _cffi_d_ncplane_set_bg_palindex(struct ncplane * x0, unsigned int x1)
{
  return ncplane_set_bg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_bg_palindex(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_bg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_bg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_bg_palindex _cffi_d_ncplane_set_bg_palindex
#endif

static int _cffi_d_ncplane_set_bg_rgb(struct ncplane * x0, uint32_t x1)
{
  return ncplane_set_bg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_bg_rgb(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_bg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_bg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_bg_rgb _cffi_d_ncplane_set_bg_rgb
#endif

static int _cffi_d_ncplane_set_bg_rgb8(struct ncplane * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncplane_set_bg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_bg_rgb8(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_set_bg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_bg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_bg_rgb8 _cffi_d_ncplane_set_bg_rgb8
#endif

static void _cffi_d_ncplane_set_bg_rgb8_clipped(struct ncplane * x0, int x1, int x2, int x3)
{
  ncplane_set_bg_rgb8_clipped(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_bg_rgb8_clipped(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_set_bg_rgb8_clipped", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_set_bg_rgb8_clipped(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_set_bg_rgb8_clipped _cffi_d_ncplane_set_bg_rgb8_clipped
#endif

static void _cffi_d_ncplane_set_channels(struct ncplane * x0, uint64_t x1)
{
  ncplane_set_channels(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_channels(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint64_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_channels", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_set_channels(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_set_channels _cffi_d_ncplane_set_channels
#endif

static uint64_t _cffi_d_ncplane_set_fchannel(struct ncplane * x0, uint32_t x1)
{
  return ncplane_set_fchannel(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_fchannel(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_fchannel", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_fchannel(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_fchannel _cffi_d_ncplane_set_fchannel
#endif

static int _cffi_d_ncplane_set_fg_alpha(struct ncplane * x0, int x1)
{
  return ncplane_set_fg_alpha(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_fg_alpha(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_fg_alpha", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_fg_alpha(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_fg_alpha _cffi_d_ncplane_set_fg_alpha
#endif

static void _cffi_d_ncplane_set_fg_default(struct ncplane * x0)
{
  ncplane_set_fg_default(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_fg_default(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_set_fg_default(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_set_fg_default _cffi_d_ncplane_set_fg_default
#endif

static int _cffi_d_ncplane_set_fg_palindex(struct ncplane * x0, unsigned int x1)
{
  return ncplane_set_fg_palindex(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_fg_palindex(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_fg_palindex", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_fg_palindex(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_fg_palindex _cffi_d_ncplane_set_fg_palindex
#endif

static int _cffi_d_ncplane_set_fg_rgb(struct ncplane * x0, uint32_t x1)
{
  return ncplane_set_fg_rgb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_fg_rgb(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  uint32_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_fg_rgb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint32_t);
  if (x1 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_fg_rgb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_fg_rgb _cffi_d_ncplane_set_fg_rgb
#endif

static int _cffi_d_ncplane_set_fg_rgb8(struct ncplane * x0, unsigned int x1, unsigned int x2, unsigned int x3)
{
  return ncplane_set_fg_rgb8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_fg_rgb8(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  unsigned int x2;
  unsigned int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_set_fg_rgb8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_fg_rgb8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_fg_rgb8 _cffi_d_ncplane_set_fg_rgb8
#endif

static void _cffi_d_ncplane_set_fg_rgb8_clipped(struct ncplane * x0, int x1, int x2, int x3)
{
  ncplane_set_fg_rgb8_clipped(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_fg_rgb8_clipped(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_set_fg_rgb8_clipped", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_set_fg_rgb8_clipped(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_set_fg_rgb8_clipped _cffi_d_ncplane_set_fg_rgb8_clipped
#endif

static int _cffi_d_ncplane_set_name(struct ncplane * x0, char const * x1)
{
  return ncplane_set_name(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_name(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_name", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_name(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_name _cffi_d_ncplane_set_name
#endif

static void _cffi_d_ncplane_set_resizecb(struct ncplane * x0, int(* x1)(struct ncplane *))
{
  ncplane_set_resizecb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_resizecb(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int(* x1)(struct ncplane *);
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_resizecb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (int(*)(struct ncplane *))_cffi_to_c_pointer(arg1, _cffi_type(1517));
  if (x1 == (int(*)(struct ncplane *))NULL && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_set_resizecb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_set_resizecb _cffi_d_ncplane_set_resizecb
#endif

static _Bool _cffi_d_ncplane_set_scrolling(struct ncplane * x0, unsigned int x1)
{
  return ncplane_set_scrolling(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_scrolling(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_scrolling", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_scrolling(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_scrolling _cffi_d_ncplane_set_scrolling
#endif

static void _cffi_d_ncplane_set_styles(struct ncplane * x0, unsigned int x1)
{
  ncplane_set_styles(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_styles(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_styles", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_set_styles(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_set_styles _cffi_d_ncplane_set_styles
#endif

static void * _cffi_d_ncplane_set_userptr(struct ncplane * x0, void * x1)
{
  return ncplane_set_userptr(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_set_userptr(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  void * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncplane_set_userptr", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_set_userptr(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_set_userptr _cffi_d_ncplane_set_userptr
#endif

static int _cffi_d_ncplane_stain(struct ncplane * x0, int x1, int x2, unsigned int x3, unsigned int x4, uint64_t x5, uint64_t x6, uint64_t x7, uint64_t x8)
{
  return ncplane_stain(x0, x1, x2, x3, x4, x5, x6, x7, x8);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_stain(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  unsigned int x3;
  unsigned int x4;
  uint64_t x5;
  uint64_t x6;
  uint64_t x7;
  uint64_t x8;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;
  PyObject *arg7;
  PyObject *arg8;

  if (!PyArg_UnpackTuple(args, "ncplane_stain", 9, 9, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, unsigned int);
  if (x3 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, uint64_t);
  if (x5 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x6 = _cffi_to_c_int(arg6, uint64_t);
  if (x6 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x7 = _cffi_to_c_int(arg7, uint64_t);
  if (x7 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x8 = _cffi_to_c_int(arg8, uint64_t);
  if (x8 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_stain(x0, x1, x2, x3, x4, x5, x6, x7, x8); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_stain _cffi_d_ncplane_stain
#endif

static uint16_t _cffi_d_ncplane_styles(struct ncplane const * x0)
{
  return ncplane_styles(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_styles(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint16_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_styles(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint16_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_styles _cffi_d_ncplane_styles
#endif

static void _cffi_d_ncplane_translate(struct ncplane const * x0, struct ncplane const * x1, int * x2, int * x3)
{
  ncplane_translate(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_translate(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  struct ncplane const * x1;
  int * x2;
  int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncplane_translate", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_translate(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_translate _cffi_d_ncplane_translate
#endif

static _Bool _cffi_d_ncplane_translate_abs(struct ncplane const * x0, int * x1, int * x2)
{
  return ncplane_translate_abs(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_translate_abs(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  int * x1;
  int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_translate_abs", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_translate_abs(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_translate_abs _cffi_d_ncplane_translate_abs
#endif

static void * _cffi_d_ncplane_userptr(struct ncplane * x0)
{
  return ncplane_userptr(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_userptr(PyObject *self, PyObject *arg0)
{
  struct ncplane * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_userptr(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_userptr _cffi_d_ncplane_userptr
#endif

static int _cffi_d_ncplane_valign(struct ncplane const * x0, ncalign_e x1, int x2)
{
  return ncplane_valign(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_valign(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  ncalign_e x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_valign", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x1, _cffi_type(194), arg1) < 0)
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_valign(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_valign _cffi_d_ncplane_valign
#endif

static int _cffi_d_ncplane_vline(struct ncplane * x0, nccell const * x1, unsigned int x2)
{
  return ncplane_vline(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_vline(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  unsigned int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_vline", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_vline(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_vline _cffi_d_ncplane_vline
#endif

static int _cffi_d_ncplane_vline_interp(struct ncplane * x0, nccell const * x1, unsigned int x2, uint64_t x3, uint64_t x4)
{
  return ncplane_vline_interp(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_vline_interp(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nccell const * x1;
  unsigned int x2;
  uint64_t x3;
  uint64_t x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_vline_interp", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(4), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nccell const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(4), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, uint64_t);
  if (x4 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_vline_interp(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_vline_interp _cffi_d_ncplane_vline_interp
#endif

static int _cffi_d_ncplane_vprintf(struct ncplane * x0, char const * x1, va_list x2)
{
  return ncplane_vprintf(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_vprintf(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  va_list x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_vprintf", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x2, _cffi_type(414), arg2) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_vprintf(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
static int _cffi_f_ncplane_vprintf(struct ncplane * x0, char const * x1, va_list *x2)
{
  int result;
  { result = ncplane_vprintf(x0, x1, *x2); }
  return result;
}
#endif

static int _cffi_d_ncplane_vprintf_aligned(struct ncplane * x0, int x1, ncalign_e x2, char const * x3, va_list x4)
{
  return ncplane_vprintf_aligned(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_vprintf_aligned(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  ncalign_e x2;
  char const * x3;
  va_list x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_vprintf_aligned", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  if (_cffi_to_c((char *)&x2, _cffi_type(194), arg2) < 0)
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x4, _cffi_type(414), arg4) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_vprintf_aligned(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
static int _cffi_f_ncplane_vprintf_aligned(struct ncplane * x0, int x1, ncalign_e x2, char const * x3, va_list *x4)
{
  int result;
  { result = ncplane_vprintf_aligned(x0, x1, x2, x3, *x4); }
  return result;
}
#endif

static int _cffi_d_ncplane_vprintf_stained(struct ncplane * x0, char const * x1, va_list x2)
{
  return ncplane_vprintf_stained(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_vprintf_stained(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  char const * x1;
  va_list x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_vprintf_stained", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x2, _cffi_type(414), arg2) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_vprintf_stained(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
static int _cffi_f_ncplane_vprintf_stained(struct ncplane * x0, char const * x1, va_list *x2)
{
  int result;
  { result = ncplane_vprintf_stained(x0, x1, *x2); }
  return result;
}
#endif

static int _cffi_d_ncplane_vprintf_yx(struct ncplane * x0, int x1, int x2, char const * x3, va_list x4)
{
  return ncplane_vprintf_yx(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_vprintf_yx(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  int x1;
  int x2;
  char const * x3;
  va_list x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncplane_vprintf_yx", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x4, _cffi_type(414), arg4) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_vprintf_yx(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
static int _cffi_f_ncplane_vprintf_yx(struct ncplane * x0, int x1, int x2, char const * x3, va_list *x4)
{
  int result;
  { result = ncplane_vprintf_yx(x0, x1, x2, x3, *x4); }
  return result;
}
#endif

static int _cffi_d_ncplane_x(struct ncplane const * x0)
{
  return ncplane_x(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_x(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_x(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_x _cffi_d_ncplane_x
#endif

static int _cffi_d_ncplane_y(struct ncplane const * x0)
{
  return ncplane_y(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_y(PyObject *self, PyObject *arg0)
{
  struct ncplane const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncplane_y(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncplane_y _cffi_d_ncplane_y
#endif

static void _cffi_d_ncplane_yx(struct ncplane const * x0, int * x1, int * x2)
{
  ncplane_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncplane_yx(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  int * x1;
  int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncplane_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncplane_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncplane_yx _cffi_d_ncplane_yx
#endif

static struct ncprogbar * _cffi_d_ncprogbar_create(struct ncplane * x0, ncprogbar_options const * x1)
{
  return ncprogbar_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncprogbar_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncprogbar_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncprogbar * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncprogbar_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1185), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncprogbar_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1185), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncprogbar_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(809));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncprogbar_create _cffi_d_ncprogbar_create
#endif

static void _cffi_d_ncprogbar_destroy(struct ncprogbar * x0)
{
  ncprogbar_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncprogbar_destroy(PyObject *self, PyObject *arg0)
{
  struct ncprogbar * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(809), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncprogbar *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(809), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncprogbar_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncprogbar_destroy _cffi_d_ncprogbar_destroy
#endif

static struct ncplane * _cffi_d_ncprogbar_plane(struct ncprogbar * x0)
{
  return ncprogbar_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncprogbar_plane(PyObject *self, PyObject *arg0)
{
  struct ncprogbar * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(809), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncprogbar *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(809), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncprogbar_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncprogbar_plane _cffi_d_ncprogbar_plane
#endif

static double _cffi_d_ncprogbar_progress(struct ncprogbar const * x0)
{
  return ncprogbar_progress(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncprogbar_progress(PyObject *self, PyObject *arg0)
{
  struct ncprogbar const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  double result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(173), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncprogbar const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(173), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncprogbar_progress(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_double(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncprogbar_progress _cffi_d_ncprogbar_progress
#endif

static int _cffi_d_ncprogbar_set_progress(struct ncprogbar * x0, double x1)
{
  return ncprogbar_set_progress(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncprogbar_set_progress(PyObject *self, PyObject *args)
{
  struct ncprogbar * x0;
  double x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncprogbar_set_progress", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(809), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncprogbar *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(809), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (double)_cffi_to_c_double(arg1);
  if (x1 == (double)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncprogbar_set_progress(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncprogbar_set_progress _cffi_d_ncprogbar_set_progress
#endif

static char const * _cffi_d_ncqprefix(uintmax_t x0, uintmax_t x1, char * x2, int x3)
{
  return ncqprefix(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncqprefix(PyObject *self, PyObject *args)
{
  uintmax_t x0;
  uintmax_t x1;
  char * x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncqprefix", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  x0 = _cffi_to_c_int(arg0, uintmax_t);
  if (x0 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  x1 = _cffi_to_c_int(arg1, uintmax_t);
  if (x1 == (uintmax_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(159), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(159), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncqprefix(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncqprefix _cffi_d_ncqprefix
#endif

static int _cffi_d_ncreader_clear(struct ncreader * x0)
{
  return ncreader_clear(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_clear(PyObject *self, PyObject *arg0)
{
  struct ncreader * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_clear(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_clear _cffi_d_ncreader_clear
#endif

static char * _cffi_d_ncreader_contents(struct ncreader const * x0)
{
  return ncreader_contents(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_contents(PyObject *self, PyObject *arg0)
{
  struct ncreader const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(107), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(107), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_contents(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_contents _cffi_d_ncreader_contents
#endif

static struct ncreader * _cffi_d_ncreader_create(struct ncplane * x0, ncreader_options const * x1)
{
  return ncreader_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncreader_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncreader * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncreader_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1189), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncreader_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1189), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(43));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_create _cffi_d_ncreader_create
#endif

static void _cffi_d_ncreader_destroy(struct ncreader * x0, char * * x1)
{
  ncreader_destroy(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_destroy(PyObject *self, PyObject *args)
{
  struct ncreader * x0;
  char * * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncreader_destroy", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(389), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char * *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(389), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncreader_destroy(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncreader_destroy _cffi_d_ncreader_destroy
#endif

static int _cffi_d_ncreader_move_down(struct ncreader * x0)
{
  return ncreader_move_down(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_move_down(PyObject *self, PyObject *arg0)
{
  struct ncreader * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_move_down(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_move_down _cffi_d_ncreader_move_down
#endif

static int _cffi_d_ncreader_move_left(struct ncreader * x0)
{
  return ncreader_move_left(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_move_left(PyObject *self, PyObject *arg0)
{
  struct ncreader * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_move_left(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_move_left _cffi_d_ncreader_move_left
#endif

static int _cffi_d_ncreader_move_right(struct ncreader * x0)
{
  return ncreader_move_right(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_move_right(PyObject *self, PyObject *arg0)
{
  struct ncreader * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_move_right(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_move_right _cffi_d_ncreader_move_right
#endif

static int _cffi_d_ncreader_move_up(struct ncreader * x0)
{
  return ncreader_move_up(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_move_up(PyObject *self, PyObject *arg0)
{
  struct ncreader * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_move_up(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_move_up _cffi_d_ncreader_move_up
#endif

static _Bool _cffi_d_ncreader_offer_input(struct ncreader * x0, ncinput const * x1)
{
  return ncreader_offer_input(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_offer_input(PyObject *self, PyObject *args)
{
  struct ncreader * x0;
  ncinput const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncreader_offer_input", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_offer_input(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_offer_input _cffi_d_ncreader_offer_input
#endif

static struct ncplane * _cffi_d_ncreader_plane(struct ncreader * x0)
{
  return ncreader_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_plane(PyObject *self, PyObject *arg0)
{
  struct ncreader * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_plane _cffi_d_ncreader_plane
#endif

static int _cffi_d_ncreader_write_egc(struct ncreader * x0, char const * x1)
{
  return ncreader_write_egc(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreader_write_egc(PyObject *self, PyObject *args)
{
  struct ncreader * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncreader_write_egc", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(43), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreader *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(43), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreader_write_egc(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreader_write_egc _cffi_d_ncreader_write_egc
#endif

static struct nctablet * _cffi_d_ncreel_add(struct ncreel * x0, struct nctablet * x1, struct nctablet * x2, int(* x3)(struct nctablet *, _Bool), void * x4)
{
  return ncreel_add(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_add(PyObject *self, PyObject *args)
{
  struct ncreel * x0;
  struct nctablet * x1;
  struct nctablet * x2;
  int(* x3)(struct nctablet *, _Bool);
  void * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctablet * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncreel_add", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(824), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctablet *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(824), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(824), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct nctablet *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(824), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = (int(*)(struct nctablet *, _Bool))_cffi_to_c_pointer(arg3, _cffi_type(1245));
  if (x3 == (int(*)(struct nctablet *, _Bool))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_add(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(824));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_add _cffi_d_ncreel_add
#endif

static struct ncreel * _cffi_d_ncreel_create(struct ncplane * x0, ncreel_options const * x1)
{
  return ncreel_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncreel_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncreel * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncreel_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1193), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncreel_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1193), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(47));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_create _cffi_d_ncreel_create
#endif

static int _cffi_d_ncreel_del(struct ncreel * x0, struct nctablet * x1)
{
  return ncreel_del(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_del(PyObject *self, PyObject *args)
{
  struct ncreel * x0;
  struct nctablet * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncreel_del", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(824), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctablet *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(824), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_del(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_del _cffi_d_ncreel_del
#endif

static void _cffi_d_ncreel_destroy(struct ncreel * x0)
{
  ncreel_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_destroy(PyObject *self, PyObject *arg0)
{
  struct ncreel * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncreel_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncreel_destroy _cffi_d_ncreel_destroy
#endif

static struct nctablet * _cffi_d_ncreel_focused(struct ncreel * x0)
{
  return ncreel_focused(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_focused(PyObject *self, PyObject *arg0)
{
  struct ncreel * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctablet * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_focused(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(824));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_focused _cffi_d_ncreel_focused
#endif

static struct nctablet * _cffi_d_ncreel_next(struct ncreel * x0)
{
  return ncreel_next(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_next(PyObject *self, PyObject *arg0)
{
  struct ncreel * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctablet * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_next(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(824));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_next _cffi_d_ncreel_next
#endif

static _Bool _cffi_d_ncreel_offer_input(struct ncreel * x0, ncinput const * x1)
{
  return ncreel_offer_input(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_offer_input(PyObject *self, PyObject *args)
{
  struct ncreel * x0;
  ncinput const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncreel_offer_input", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_offer_input(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_offer_input _cffi_d_ncreel_offer_input
#endif

static struct ncplane * _cffi_d_ncreel_plane(struct ncreel * x0)
{
  return ncreel_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_plane(PyObject *self, PyObject *arg0)
{
  struct ncreel * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_plane _cffi_d_ncreel_plane
#endif

static struct nctablet * _cffi_d_ncreel_prev(struct ncreel * x0)
{
  return ncreel_prev(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_prev(PyObject *self, PyObject *arg0)
{
  struct ncreel * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctablet * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_prev(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(824));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_prev _cffi_d_ncreel_prev
#endif

static int _cffi_d_ncreel_redraw(struct ncreel * x0)
{
  return ncreel_redraw(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_redraw(PyObject *self, PyObject *arg0)
{
  struct ncreel * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(47), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(47), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_redraw(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_redraw _cffi_d_ncreel_redraw
#endif

static int _cffi_d_ncreel_tabletcount(struct ncreel const * x0)
{
  return ncreel_tabletcount(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncreel_tabletcount(PyObject *self, PyObject *arg0)
{
  struct ncreel const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(827), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncreel const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(827), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncreel_tabletcount(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncreel_tabletcount _cffi_d_ncreel_tabletcount
#endif

static int _cffi_d_ncselector_additem(struct ncselector * x0, struct ncselector_item const * x1)
{
  return ncselector_additem(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_additem(PyObject *self, PyObject *args)
{
  struct ncselector * x0;
  struct ncselector_item const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncselector_additem", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(51), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(51), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(835), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncselector_item const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(835), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_additem(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_additem _cffi_d_ncselector_additem
#endif

static struct ncselector * _cffi_d_ncselector_create(struct ncplane * x0, ncselector_options const * x1)
{
  return ncselector_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncselector_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncselector * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncselector_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1197), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncselector_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1197), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(51));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_create _cffi_d_ncselector_create
#endif

static int _cffi_d_ncselector_delitem(struct ncselector * x0, char const * x1)
{
  return ncselector_delitem(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_delitem(PyObject *self, PyObject *args)
{
  struct ncselector * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncselector_delitem", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(51), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(51), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_delitem(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_delitem _cffi_d_ncselector_delitem
#endif

static void _cffi_d_ncselector_destroy(struct ncselector * x0, char * * x1)
{
  ncselector_destroy(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_destroy(PyObject *self, PyObject *args)
{
  struct ncselector * x0;
  char * * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncselector_destroy", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(51), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(51), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(389), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char * *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(389), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncselector_destroy(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncselector_destroy _cffi_d_ncselector_destroy
#endif

static char const * _cffi_d_ncselector_nextitem(struct ncselector * x0)
{
  return ncselector_nextitem(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_nextitem(PyObject *self, PyObject *arg0)
{
  struct ncselector * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(51), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(51), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_nextitem(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_nextitem _cffi_d_ncselector_nextitem
#endif

static _Bool _cffi_d_ncselector_offer_input(struct ncselector * x0, ncinput const * x1)
{
  return ncselector_offer_input(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_offer_input(PyObject *self, PyObject *args)
{
  struct ncselector * x0;
  ncinput const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncselector_offer_input", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(51), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(51), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_offer_input(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_offer_input _cffi_d_ncselector_offer_input
#endif

static struct ncplane * _cffi_d_ncselector_plane(struct ncselector * x0)
{
  return ncselector_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_plane(PyObject *self, PyObject *arg0)
{
  struct ncselector * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(51), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(51), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_plane _cffi_d_ncselector_plane
#endif

static char const * _cffi_d_ncselector_previtem(struct ncselector * x0)
{
  return ncselector_previtem(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_previtem(PyObject *self, PyObject *arg0)
{
  struct ncselector * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(51), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(51), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_previtem(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_previtem _cffi_d_ncselector_previtem
#endif

static char const * _cffi_d_ncselector_selected(struct ncselector const * x0)
{
  return ncselector_selected(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncselector_selected(PyObject *self, PyObject *arg0)
{
  struct ncselector const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(147), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncselector const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(147), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncselector_selected(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncselector_selected _cffi_d_ncselector_selected
#endif

static int _cffi_d_ncstrwidth(char const * x0, int * x1, int * x2)
{
  return ncstrwidth(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncstrwidth(PyObject *self, PyObject *args)
{
  char const * x0;
  int * x1;
  int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncstrwidth", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncstrwidth(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncstrwidth _cffi_d_ncstrwidth
#endif

static struct ncsubproc * _cffi_d_ncsubproc_createv(struct ncplane * x0, ncsubproc_options const * x1, char const * x2, char const * const * x3, int(* x4)(struct ncfdplane *, void const *, size_t, void *), int(* x5)(struct ncfdplane *, int, void *))
{
  return ncsubproc_createv(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncsubproc_createv(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncsubproc_options const * x1;
  char const * x2;
  char const * const * x3;
  int(* x4)(struct ncfdplane *, void const *, size_t, void *);
  int(* x5)(struct ncfdplane *, int, void *);
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncsubproc * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncsubproc_createv", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1201), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncsubproc_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1201), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1203), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const * const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1203), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x4 = (int(*)(struct ncfdplane *, void const *, size_t, void *))_cffi_to_c_pointer(arg4, _cffi_type(1080));
  if (x4 == (int(*)(struct ncfdplane *, void const *, size_t, void *))NULL && PyErr_Occurred())
    return NULL;

  x5 = (int(*)(struct ncfdplane *, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(1081));
  if (x5 == (int(*)(struct ncfdplane *, int, void *))NULL && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncsubproc_createv(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(838));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncsubproc_createv _cffi_d_ncsubproc_createv
#endif

static struct ncsubproc * _cffi_d_ncsubproc_createvp(struct ncplane * x0, ncsubproc_options const * x1, char const * x2, char const * const * x3, int(* x4)(struct ncfdplane *, void const *, size_t, void *), int(* x5)(struct ncfdplane *, int, void *))
{
  return ncsubproc_createvp(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncsubproc_createvp(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncsubproc_options const * x1;
  char const * x2;
  char const * const * x3;
  int(* x4)(struct ncfdplane *, void const *, size_t, void *);
  int(* x5)(struct ncfdplane *, int, void *);
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncsubproc * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncsubproc_createvp", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1201), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncsubproc_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1201), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1203), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const * const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1203), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x4 = (int(*)(struct ncfdplane *, void const *, size_t, void *))_cffi_to_c_pointer(arg4, _cffi_type(1080));
  if (x4 == (int(*)(struct ncfdplane *, void const *, size_t, void *))NULL && PyErr_Occurred())
    return NULL;

  x5 = (int(*)(struct ncfdplane *, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(1081));
  if (x5 == (int(*)(struct ncfdplane *, int, void *))NULL && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncsubproc_createvp(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(838));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncsubproc_createvp _cffi_d_ncsubproc_createvp
#endif

static struct ncsubproc * _cffi_d_ncsubproc_createvpe(struct ncplane * x0, ncsubproc_options const * x1, char const * x2, char const * const * x3, char const * const * x4, int(* x5)(struct ncfdplane *, void const *, size_t, void *), int(* x6)(struct ncfdplane *, int, void *))
{
  return ncsubproc_createvpe(x0, x1, x2, x3, x4, x5, x6);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncsubproc_createvpe(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncsubproc_options const * x1;
  char const * x2;
  char const * const * x3;
  char const * const * x4;
  int(* x5)(struct ncfdplane *, void const *, size_t, void *);
  int(* x6)(struct ncfdplane *, int, void *);
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncsubproc * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;

  if (!PyArg_UnpackTuple(args, "ncsubproc_createvpe", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1201), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncsubproc_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1201), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1203), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (char const * const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1203), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1203), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (char const * const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1203), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x5 = (int(*)(struct ncfdplane *, void const *, size_t, void *))_cffi_to_c_pointer(arg5, _cffi_type(1080));
  if (x5 == (int(*)(struct ncfdplane *, void const *, size_t, void *))NULL && PyErr_Occurred())
    return NULL;

  x6 = (int(*)(struct ncfdplane *, int, void *))_cffi_to_c_pointer(arg6, _cffi_type(1081));
  if (x6 == (int(*)(struct ncfdplane *, int, void *))NULL && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncsubproc_createvpe(x0, x1, x2, x3, x4, x5, x6); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(838));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncsubproc_createvpe _cffi_d_ncsubproc_createvpe
#endif

static int _cffi_d_ncsubproc_destroy(struct ncsubproc * x0)
{
  return ncsubproc_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncsubproc_destroy(PyObject *self, PyObject *arg0)
{
  struct ncsubproc * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(838), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncsubproc *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(838), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncsubproc_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncsubproc_destroy _cffi_d_ncsubproc_destroy
#endif

static struct ncplane * _cffi_d_ncsubproc_plane(struct ncsubproc * x0)
{
  return ncsubproc_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncsubproc_plane(PyObject *self, PyObject *arg0)
{
  struct ncsubproc * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(838), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncsubproc *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(838), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncsubproc_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncsubproc_plane _cffi_d_ncsubproc_plane
#endif

static void(* _cffi_d_nctab_cb(struct nctab * x0))(struct nctab *, struct ncplane *, void *)
{
  return nctab_cb(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_cb(PyObject *self, PyObject *arg0)
{
  struct nctab * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void(* result)(struct nctab *, struct ncplane *, void *);
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_cb(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(1230));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_cb _cffi_d_nctab_cb
#endif

static int _cffi_d_nctab_move(struct nctabbed * x0, struct nctab * x1, struct nctab * x2, struct nctab * x3)
{
  return nctab_move(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_move(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  struct nctab * x1;
  struct nctab * x2;
  struct nctab * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nctab_move", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_move(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_move _cffi_d_nctab_move
#endif

static void _cffi_d_nctab_move_left(struct nctabbed * x0, struct nctab * x1)
{
  nctab_move_left(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_move_left(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  struct nctab * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctab_move_left", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctab_move_left(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctab_move_left _cffi_d_nctab_move_left
#endif

static void _cffi_d_nctab_move_right(struct nctabbed * x0, struct nctab * x1)
{
  nctab_move_right(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_move_right(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  struct nctab * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctab_move_right", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctab_move_right(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctab_move_right _cffi_d_nctab_move_right
#endif

static char const * _cffi_d_nctab_name(struct nctab * x0)
{
  return nctab_name(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_name(PyObject *self, PyObject *arg0)
{
  struct nctab * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_name(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_name _cffi_d_nctab_name
#endif

static int _cffi_d_nctab_name_width(struct nctab * x0)
{
  return nctab_name_width(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_name_width(PyObject *self, PyObject *arg0)
{
  struct nctab * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_name_width(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_name_width _cffi_d_nctab_name_width
#endif

static struct nctab * _cffi_d_nctab_next(struct nctab * x0)
{
  return nctab_next(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_next(PyObject *self, PyObject *arg0)
{
  struct nctab * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_next(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_next _cffi_d_nctab_next
#endif

static struct nctab * _cffi_d_nctab_prev(struct nctab * x0)
{
  return nctab_prev(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_prev(PyObject *self, PyObject *arg0)
{
  struct nctab * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_prev(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_prev _cffi_d_nctab_prev
#endif

static void(* _cffi_d_nctab_set_cb(struct nctab * x0, void(* x1)(struct nctab *, struct ncplane *, void *)))(struct nctab *, struct ncplane *, void *)
{
  return nctab_set_cb(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_set_cb(PyObject *self, PyObject *args)
{
  struct nctab * x0;
  void(* x1)(struct nctab *, struct ncplane *, void *);
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void(* result)(struct nctab *, struct ncplane *, void *);
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctab_set_cb", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (void(*)(struct nctab *, struct ncplane *, void *))_cffi_to_c_pointer(arg1, _cffi_type(1230));
  if (x1 == (void(*)(struct nctab *, struct ncplane *, void *))NULL && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_set_cb(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(1230));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_set_cb _cffi_d_nctab_set_cb
#endif

static int _cffi_d_nctab_set_name(struct nctab * x0, char const * x1)
{
  return nctab_set_name(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_set_name(PyObject *self, PyObject *args)
{
  struct nctab * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctab_set_name", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_set_name(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_set_name _cffi_d_nctab_set_name
#endif

static void * _cffi_d_nctab_set_userptr(struct nctab * x0, void * x1)
{
  return nctab_set_userptr(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_set_userptr(PyObject *self, PyObject *args)
{
  struct nctab * x0;
  void * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctab_set_userptr", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_set_userptr(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_set_userptr _cffi_d_nctab_set_userptr
#endif

static void * _cffi_d_nctab_userptr(struct nctab * x0)
{
  return nctab_userptr(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctab_userptr(PyObject *self, PyObject *arg0)
{
  struct nctab * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctab_userptr(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctab_userptr _cffi_d_nctab_userptr
#endif

static struct nctab * _cffi_d_nctabbed_add(struct nctabbed * x0, struct nctab * x1, struct nctab * x2, void(* x3)(struct nctab *, struct ncplane *, void *), char const * x4, void * x5)
{
  return nctabbed_add(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_add(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  struct nctab * x1;
  struct nctab * x2;
  void(* x3)(struct nctab *, struct ncplane *, void *);
  char const * x4;
  void * x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "nctabbed_add", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = (void(*)(struct nctab *, struct ncplane *, void *))_cffi_to_c_pointer(arg3, _cffi_type(1230));
  if (x3 == (void(*)(struct nctab *, struct ncplane *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_add(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_add _cffi_d_nctabbed_add
#endif

static void _cffi_d_nctabbed_channels(struct nctabbed * x0, uint64_t * x1, uint64_t * x2, uint64_t * x3)
{
  nctabbed_channels(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_channels(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  uint64_t * x1;
  uint64_t * x2;
  uint64_t * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "nctabbed_channels", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_channels(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_channels _cffi_d_nctabbed_channels
#endif

static struct ncplane * _cffi_d_nctabbed_content_plane(struct nctabbed * x0)
{
  return nctabbed_content_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_content_plane(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_content_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_content_plane _cffi_d_nctabbed_content_plane
#endif

static struct nctabbed * _cffi_d_nctabbed_create(struct ncplane * x0, nctabbed_options const * x1)
{
  return nctabbed_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nctabbed_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctabbed * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1236), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nctabbed_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1236), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(153));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_create _cffi_d_nctabbed_create
#endif

static int _cffi_d_nctabbed_del(struct nctabbed * x0, struct nctab * x1)
{
  return nctabbed_del(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_del(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  struct nctab * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_del", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_del(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_del _cffi_d_nctabbed_del
#endif

static void _cffi_d_nctabbed_destroy(struct nctabbed * x0)
{
  nctabbed_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_destroy(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_destroy _cffi_d_nctabbed_destroy
#endif

static void _cffi_d_nctabbed_ensure_selected_header_visible(struct nctabbed * x0)
{
  nctabbed_ensure_selected_header_visible(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_ensure_selected_header_visible(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_ensure_selected_header_visible(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_ensure_selected_header_visible _cffi_d_nctabbed_ensure_selected_header_visible
#endif

static uint64_t _cffi_d_nctabbed_hdrchan(struct nctabbed * x0)
{
  return nctabbed_hdrchan(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_hdrchan(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_hdrchan(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_hdrchan _cffi_d_nctabbed_hdrchan
#endif

static struct nctab * _cffi_d_nctabbed_leftmost(struct nctabbed * x0)
{
  return nctabbed_leftmost(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_leftmost(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_leftmost(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_leftmost _cffi_d_nctabbed_leftmost
#endif

static struct nctab * _cffi_d_nctabbed_next(struct nctabbed * x0)
{
  return nctabbed_next(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_next(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_next(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_next _cffi_d_nctabbed_next
#endif

static struct ncplane * _cffi_d_nctabbed_plane(struct nctabbed * x0)
{
  return nctabbed_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_plane(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_plane _cffi_d_nctabbed_plane
#endif

static struct nctab * _cffi_d_nctabbed_prev(struct nctabbed * x0)
{
  return nctabbed_prev(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_prev(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_prev(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_prev _cffi_d_nctabbed_prev
#endif

static void _cffi_d_nctabbed_redraw(struct nctabbed * x0)
{
  nctabbed_redraw(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_redraw(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_redraw(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_redraw _cffi_d_nctabbed_redraw
#endif

static void _cffi_d_nctabbed_rotate(struct nctabbed * x0, int x1)
{
  nctabbed_rotate(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_rotate(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_rotate", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_rotate(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_rotate _cffi_d_nctabbed_rotate
#endif

static uint64_t _cffi_d_nctabbed_selchan(struct nctabbed * x0)
{
  return nctabbed_selchan(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_selchan(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_selchan(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_selchan _cffi_d_nctabbed_selchan
#endif

static struct nctab * _cffi_d_nctabbed_select(struct nctabbed * x0, struct nctab * x1)
{
  return nctabbed_select(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_select(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  struct nctab * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_select", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(150), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct nctab *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(150), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_select(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_select _cffi_d_nctabbed_select
#endif

static struct nctab * _cffi_d_nctabbed_selected(struct nctabbed * x0)
{
  return nctabbed_selected(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_selected(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctab * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_selected(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(150));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_selected _cffi_d_nctabbed_selected
#endif

static char const * _cffi_d_nctabbed_separator(struct nctabbed * x0)
{
  return nctabbed_separator(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_separator(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_separator(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_separator _cffi_d_nctabbed_separator
#endif

static int _cffi_d_nctabbed_separator_width(struct nctabbed * x0)
{
  return nctabbed_separator_width(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_separator_width(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_separator_width(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_separator_width _cffi_d_nctabbed_separator_width
#endif

static uint64_t _cffi_d_nctabbed_sepchan(struct nctabbed * x0)
{
  return nctabbed_sepchan(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_sepchan(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint64_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_sepchan(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint64_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_sepchan _cffi_d_nctabbed_sepchan
#endif

static void _cffi_d_nctabbed_set_hdrchan(struct nctabbed * x0, uint64_t x1)
{
  nctabbed_set_hdrchan(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_set_hdrchan(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  uint64_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_set_hdrchan", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_set_hdrchan(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_set_hdrchan _cffi_d_nctabbed_set_hdrchan
#endif

static void _cffi_d_nctabbed_set_selchan(struct nctabbed * x0, uint64_t x1)
{
  nctabbed_set_selchan(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_set_selchan(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  uint64_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_set_selchan", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_set_selchan(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_set_selchan _cffi_d_nctabbed_set_selchan
#endif

static int _cffi_d_nctabbed_set_separator(struct nctabbed * x0, char const * x1)
{
  return nctabbed_set_separator(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_set_separator(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  char const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_set_separator", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_set_separator(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_set_separator _cffi_d_nctabbed_set_separator
#endif

static void _cffi_d_nctabbed_set_sepchan(struct nctabbed * x0, uint64_t x1)
{
  nctabbed_set_sepchan(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_set_sepchan(PyObject *self, PyObject *args)
{
  struct nctabbed * x0;
  uint64_t x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctabbed_set_sepchan", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctabbed_set_sepchan(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctabbed_set_sepchan _cffi_d_nctabbed_set_sepchan
#endif

static int _cffi_d_nctabbed_tabcount(struct nctabbed * x0)
{
  return nctabbed_tabcount(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctabbed_tabcount(PyObject *self, PyObject *arg0)
{
  struct nctabbed * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(153), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctabbed *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(153), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctabbed_tabcount(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctabbed_tabcount _cffi_d_nctabbed_tabcount
#endif

static struct ncplane * _cffi_d_nctablet_plane(struct nctablet * x0)
{
  return nctablet_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctablet_plane(PyObject *self, PyObject *arg0)
{
  struct nctablet * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(824), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctablet *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(824), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctablet_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctablet_plane _cffi_d_nctablet_plane
#endif

static void * _cffi_d_nctablet_userptr(struct nctablet * x0)
{
  return nctablet_userptr(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctablet_userptr(PyObject *self, PyObject *arg0)
{
  struct nctablet * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(824), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctablet *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(824), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctablet_userptr(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctablet_userptr _cffi_d_nctablet_userptr
#endif

static int _cffi_d_nctree_add(struct nctree * x0, unsigned int const * x1, struct nctree_item const * x2)
{
  return nctree_add(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_add(PyObject *self, PyObject *args)
{
  struct nctree * x0;
  unsigned int const * x1;
  struct nctree_item const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "nctree_add", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(873), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(873), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(878), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct nctree_item const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(878), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_add(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_add _cffi_d_nctree_add
#endif

static struct nctree * _cffi_d_nctree_create(struct ncplane * x0, nctree_options const * x1)
{
  return nctree_create(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  nctree_options const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct nctree * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctree_create", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1250), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (nctree_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1250), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_create(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(55));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_create _cffi_d_nctree_create
#endif

static int _cffi_d_nctree_del(struct nctree * x0, unsigned int const * x1)
{
  return nctree_del(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_del(PyObject *self, PyObject *args)
{
  struct nctree * x0;
  unsigned int const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctree_del", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(873), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(873), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_del(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_del _cffi_d_nctree_del
#endif

static void _cffi_d_nctree_destroy(struct nctree * x0)
{
  nctree_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_destroy(PyObject *self, PyObject *arg0)
{
  struct nctree * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { nctree_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_nctree_destroy _cffi_d_nctree_destroy
#endif

static void * _cffi_d_nctree_focused(struct nctree * x0)
{
  return nctree_focused(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_focused(PyObject *self, PyObject *arg0)
{
  struct nctree * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_focused(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_focused _cffi_d_nctree_focused
#endif

static void * _cffi_d_nctree_goto(struct nctree * x0, unsigned int const * x1, int * x2)
{
  return nctree_goto(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_goto(PyObject *self, PyObject *args)
{
  struct nctree * x0;
  unsigned int const * x1;
  int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "nctree_goto", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(873), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(873), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_goto(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_goto _cffi_d_nctree_goto
#endif

static void * _cffi_d_nctree_next(struct nctree * x0)
{
  return nctree_next(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_next(PyObject *self, PyObject *arg0)
{
  struct nctree * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_next(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_next _cffi_d_nctree_next
#endif

static _Bool _cffi_d_nctree_offer_input(struct nctree * x0, ncinput const * x1)
{
  return nctree_offer_input(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_offer_input(PyObject *self, PyObject *args)
{
  struct nctree * x0;
  ncinput const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "nctree_offer_input", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(7), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(7), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_offer_input(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_offer_input _cffi_d_nctree_offer_input
#endif

static struct ncplane * _cffi_d_nctree_plane(struct nctree * x0)
{
  return nctree_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_plane(PyObject *self, PyObject *arg0)
{
  struct nctree * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_plane _cffi_d_nctree_plane
#endif

static void * _cffi_d_nctree_prev(struct nctree * x0)
{
  return nctree_prev(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_prev(PyObject *self, PyObject *arg0)
{
  struct nctree * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  void * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_prev(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(243));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_prev _cffi_d_nctree_prev
#endif

static int _cffi_d_nctree_redraw(struct nctree * x0)
{
  return nctree_redraw(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_nctree_redraw(PyObject *self, PyObject *arg0)
{
  struct nctree * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(55), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct nctree *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(55), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = nctree_redraw(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_nctree_redraw _cffi_d_nctree_redraw
#endif

static int _cffi_d_ncuplot_add_sample(struct ncuplot * x0, uint64_t x1, uint64_t x2)
{
  return ncuplot_add_sample(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncuplot_add_sample(PyObject *self, PyObject *args)
{
  struct ncuplot * x0;
  uint64_t x1;
  uint64_t x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncuplot_add_sample", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(881), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncuplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(881), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncuplot_add_sample(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncuplot_add_sample _cffi_d_ncuplot_add_sample
#endif

static struct ncuplot * _cffi_d_ncuplot_create(struct ncplane * x0, ncplot_options const * x1, uint64_t x2, uint64_t x3)
{
  return ncuplot_create(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncuplot_create(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  ncplot_options const * x1;
  uint64_t x2;
  uint64_t x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncuplot * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncuplot_create", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1069), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncplot_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1069), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint64_t);
  if (x3 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncuplot_create(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(881));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncuplot_create _cffi_d_ncuplot_create
#endif

static void _cffi_d_ncuplot_destroy(struct ncuplot * x0)
{
  ncuplot_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncuplot_destroy(PyObject *self, PyObject *arg0)
{
  struct ncuplot * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(881), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncuplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(881), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncuplot_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncuplot_destroy _cffi_d_ncuplot_destroy
#endif

static struct ncplane * _cffi_d_ncuplot_plane(struct ncuplot * x0)
{
  return ncuplot_plane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncuplot_plane(PyObject *self, PyObject *arg0)
{
  struct ncuplot * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(881), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncuplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(881), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncuplot_plane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncuplot_plane _cffi_d_ncuplot_plane
#endif

static int _cffi_d_ncuplot_sample(struct ncuplot const * x0, uint64_t x1, uint64_t * x2)
{
  return ncuplot_sample(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncuplot_sample(PyObject *self, PyObject *args)
{
  struct ncuplot const * x0;
  uint64_t x1;
  uint64_t * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncuplot_sample", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(886), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncuplot const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(886), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncuplot_sample(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncuplot_sample _cffi_d_ncuplot_sample
#endif

static int _cffi_d_ncuplot_set_sample(struct ncuplot * x0, uint64_t x1, uint64_t x2)
{
  return ncuplot_set_sample(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncuplot_set_sample(PyObject *self, PyObject *args)
{
  struct ncuplot * x0;
  uint64_t x1;
  uint64_t x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncuplot_set_sample", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(881), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncuplot *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(881), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, uint64_t);
  if (x1 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, uint64_t);
  if (x2 == (uint64_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncuplot_set_sample(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncuplot_set_sample _cffi_d_ncuplot_set_sample
#endif

static int _cffi_d_ncvisual_at_yx(struct ncvisual const * x0, unsigned int x1, unsigned int x2, uint32_t * x3)
{
  return ncvisual_at_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_at_yx(PyObject *self, PyObject *args)
{
  struct ncvisual const * x0;
  unsigned int x1;
  unsigned int x2;
  uint32_t * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisual_at_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(915), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(915), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_at_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_at_yx _cffi_d_ncvisual_at_yx
#endif

static struct ncplane * _cffi_d_ncvisual_blit(struct notcurses * x0, struct ncvisual * x1, struct ncvisual_options const * x2)
{
  return ncvisual_blit(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_blit(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  struct ncvisual * x1;
  struct ncvisual_options const * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncvisual_blit", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_blit(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_blit _cffi_d_ncvisual_blit
#endif

static int _cffi_d_ncvisual_decode(struct ncvisual * x0)
{
  return ncvisual_decode(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_decode(PyObject *self, PyObject *arg0)
{
  struct ncvisual * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_decode(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_decode _cffi_d_ncvisual_decode
#endif

static int _cffi_d_ncvisual_decode_loop(struct ncvisual * x0)
{
  return ncvisual_decode_loop(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_decode_loop(PyObject *self, PyObject *arg0)
{
  struct ncvisual * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_decode_loop(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_decode_loop _cffi_d_ncvisual_decode_loop
#endif

static void _cffi_d_ncvisual_destroy(struct ncvisual * x0)
{
  ncvisual_destroy(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_destroy(PyObject *self, PyObject *arg0)
{
  struct ncvisual * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { ncvisual_destroy(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_ncvisual_destroy _cffi_d_ncvisual_destroy
#endif

static struct ncvisual * _cffi_d_ncvisual_from_bgra(void const * x0, int x1, int x2, int x3)
{
  return ncvisual_from_bgra(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_bgra(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisual_from_bgra", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_bgra(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_bgra _cffi_d_ncvisual_from_bgra
#endif

static struct ncvisual * _cffi_d_ncvisual_from_file(char const * x0)
{
  return ncvisual_from_file(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_file(PyObject *self, PyObject *arg0)
{
  char const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_file(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_file _cffi_d_ncvisual_from_file
#endif

static struct ncvisual * _cffi_d_ncvisual_from_palidx(void const * x0, int x1, int x2, int x3, int x4, int x5, uint32_t const * x6)
{
  return ncvisual_from_palidx(x0, x1, x2, x3, x4, x5, x6);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_palidx(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  int x2;
  int x3;
  int x4;
  int x5;
  uint32_t const * x6;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;
  PyObject *arg6;

  if (!PyArg_UnpackTuple(args, "ncvisual_from_palidx", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, int);
  if (x4 == (int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, int);
  if (x5 == (int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(997), arg6, (char **)&x6);
  if (datasize != 0) {
    x6 = ((size_t)datasize) <= 640 ? (uint32_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(997), arg6, (char **)&x6,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_palidx(x0, x1, x2, x3, x4, x5, x6); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_palidx _cffi_d_ncvisual_from_palidx
#endif

static struct ncvisual * _cffi_d_ncvisual_from_plane(struct ncplane const * x0, ncblitter_e x1, int x2, int x3, unsigned int x4, unsigned int x5)
{
  return ncvisual_from_plane(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_plane(PyObject *self, PyObject *args)
{
  struct ncplane const * x0;
  ncblitter_e x1;
  int x2;
  int x3;
  unsigned int x4;
  unsigned int x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncvisual_from_plane", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(29), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(29), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x1, _cffi_type(125), arg1) < 0)
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, unsigned int);
  if (x4 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x5 = _cffi_to_c_int(arg5, unsigned int);
  if (x5 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_plane(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_plane _cffi_d_ncvisual_from_plane
#endif

static struct ncvisual * _cffi_d_ncvisual_from_rgb_loose(void const * x0, int x1, int x2, int x3, int x4)
{
  return ncvisual_from_rgb_loose(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_rgb_loose(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  int x2;
  int x3;
  int x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncvisual_from_rgb_loose", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, int);
  if (x4 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_rgb_loose(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_rgb_loose _cffi_d_ncvisual_from_rgb_loose
#endif

static struct ncvisual * _cffi_d_ncvisual_from_rgb_packed(void const * x0, int x1, int x2, int x3, int x4)
{
  return ncvisual_from_rgb_packed(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_rgb_packed(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  int x2;
  int x3;
  int x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "ncvisual_from_rgb_packed", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  x4 = _cffi_to_c_int(arg4, int);
  if (x4 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_rgb_packed(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_rgb_packed _cffi_d_ncvisual_from_rgb_packed
#endif

static struct ncvisual * _cffi_d_ncvisual_from_rgba(void const * x0, int x1, int x2, int x3)
{
  return ncvisual_from_rgba(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_rgba(PyObject *self, PyObject *args)
{
  void const * x0;
  int x1;
  int x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisual_from_rgba", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(358), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (void const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(358), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_rgba(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_rgba _cffi_d_ncvisual_from_rgba
#endif

static struct ncvisual * _cffi_d_ncvisual_from_sixel(char const * x0, unsigned int x1, unsigned int x2)
{
  return ncvisual_from_sixel(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_from_sixel(PyObject *self, PyObject *args)
{
  char const * x0;
  unsigned int x1;
  unsigned int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncvisual * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncvisual_from_sixel", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_from_sixel(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(276));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_from_sixel _cffi_d_ncvisual_from_sixel
#endif

static int _cffi_d_ncvisual_geom(struct notcurses const * x0, struct ncvisual const * x1, struct ncvisual_options const * x2, ncvgeom * x3)
{
  return ncvisual_geom(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_geom(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  struct ncvisual const * x1;
  struct ncvisual_options const * x2;
  ncvgeom * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisual_geom", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(915), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncvisual const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(915), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(278), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (ncvgeom *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(278), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_geom(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_geom _cffi_d_ncvisual_geom
#endif

static ncblitter_e _cffi_d_ncvisual_media_defblitter(struct notcurses const * x0, ncscale_e x1)
{
  return ncvisual_media_defblitter(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_media_defblitter(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  ncscale_e x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  ncblitter_e result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncvisual_media_defblitter", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  if (_cffi_to_c((char *)&x1, _cffi_type(128), arg1) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_media_defblitter(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_deref((char *)&result, _cffi_type(125));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_media_defblitter _cffi_d_ncvisual_media_defblitter
#endif

static int _cffi_d_ncvisual_polyfill_yx(struct ncvisual * x0, unsigned int x1, unsigned int x2, uint32_t x3)
{
  return ncvisual_polyfill_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_polyfill_yx(PyObject *self, PyObject *args)
{
  struct ncvisual * x0;
  unsigned int x1;
  unsigned int x2;
  uint32_t x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisual_polyfill_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint32_t);
  if (x3 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_polyfill_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_polyfill_yx _cffi_d_ncvisual_polyfill_yx
#endif

static int _cffi_d_ncvisual_resize(struct ncvisual * x0, int x1, int x2)
{
  return ncvisual_resize(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_resize(PyObject *self, PyObject *args)
{
  struct ncvisual * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncvisual_resize", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_resize(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_resize _cffi_d_ncvisual_resize
#endif

static int _cffi_d_ncvisual_resize_noninterpolative(struct ncvisual * x0, int x1, int x2)
{
  return ncvisual_resize_noninterpolative(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_resize_noninterpolative(PyObject *self, PyObject *args)
{
  struct ncvisual * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "ncvisual_resize_noninterpolative", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_resize_noninterpolative(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_resize_noninterpolative _cffi_d_ncvisual_resize_noninterpolative
#endif

static int _cffi_d_ncvisual_rotate(struct ncvisual * x0, double x1)
{
  return ncvisual_rotate(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_rotate(PyObject *self, PyObject *args)
{
  struct ncvisual * x0;
  double x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncvisual_rotate", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = (double)_cffi_to_c_double(arg1);
  if (x1 == (double)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_rotate(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_rotate _cffi_d_ncvisual_rotate
#endif

static int _cffi_d_ncvisual_set_yx(struct ncvisual const * x0, unsigned int x1, unsigned int x2, uint32_t x3)
{
  return ncvisual_set_yx(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_set_yx(PyObject *self, PyObject *args)
{
  struct ncvisual const * x0;
  unsigned int x1;
  unsigned int x2;
  uint32_t x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisual_set_yx", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(915), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(915), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x3 = _cffi_to_c_int(arg3, uint32_t);
  if (x3 == (uint32_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_set_yx(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_set_yx _cffi_d_ncvisual_set_yx
#endif

static int _cffi_d_ncvisual_simple_streamer(struct ncvisual * x0, struct ncvisual_options * x1, struct timespec const * x2, void * x3)
{
  return ncvisual_simple_streamer(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_simple_streamer(PyObject *self, PyObject *args)
{
  struct ncvisual * x0;
  struct ncvisual_options * x1;
  struct timespec const * x2;
  void * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisual_simple_streamer", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(242), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncvisual_options *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(242), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(706), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct timespec const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(706), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_simple_streamer(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_simple_streamer _cffi_d_ncvisual_simple_streamer
#endif

static int _cffi_d_ncvisual_stream(struct notcurses * x0, struct ncvisual * x1, float x2, int(* x3)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *), struct ncvisual_options const * x4, void * x5)
{
  return ncvisual_stream(x0, x1, x2, x3, x4, x5);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_stream(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  struct ncvisual * x1;
  float x2;
  int(* x3)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *);
  struct ncvisual_options const * x4;
  void * x5;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;
  PyObject *arg5;

  if (!PyArg_UnpackTuple(args, "ncvisual_stream", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x2 = (float)_cffi_to_c_float(arg2);
  if (x2 == (float)-1 && PyErr_Occurred())
    return NULL;

  x3 = (int(*)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *))_cffi_to_c_pointer(arg3, _cffi_type(241));
  if (x3 == (int(*)(struct ncvisual *, struct ncvisual_options *, struct timespec const *, void *))NULL && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(277), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (struct ncvisual_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(277), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(243), arg5, (char **)&x5);
  if (datasize != 0) {
    x5 = ((size_t)datasize) <= 640 ? (void *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(243), arg5, (char **)&x5,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_stream(x0, x1, x2, x3, x4, x5); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_stream _cffi_d_ncvisual_stream
#endif

static struct ncplane * _cffi_d_ncvisual_subtitle_plane(struct ncplane * x0, struct ncvisual const * x1)
{
  return ncvisual_subtitle_plane(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisual_subtitle_plane(PyObject *self, PyObject *args)
{
  struct ncplane * x0;
  struct ncvisual const * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "ncvisual_subtitle_plane", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(25), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct ncplane *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(915), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct ncvisual const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(915), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisual_subtitle_plane(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisual_subtitle_plane _cffi_d_ncvisual_subtitle_plane
#endif

static struct ncplane * _cffi_d_ncvisualplane_create(struct notcurses * x0, ncplane_options const * x1, struct ncvisual * x2, struct ncvisual_options * x3)
{
  return ncvisualplane_create(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncvisualplane_create(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  ncplane_options const * x1;
  struct ncvisual * x2;
  struct ncvisual_options * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "ncvisualplane_create", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1108), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncplane_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1108), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(276), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (struct ncvisual *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(276), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(242), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (struct ncvisual_options *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(242), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncvisualplane_create(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncvisualplane_create _cffi_d_ncvisualplane_create
#endif

static char * _cffi_d_ncwcsrtombs(wchar_t const * x0)
{
  return ncwcsrtombs(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_ncwcsrtombs(PyObject *self, PyObject *arg0)
{
  wchar_t const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(122), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (wchar_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(122), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = ncwcsrtombs(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_ncwcsrtombs _cffi_d_ncwcsrtombs
#endif

static char * _cffi_d_notcurses_accountname(void)
{
  return notcurses_accountname();
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_accountname(PyObject *self, PyObject *noarg)
{
  char * result;
  PyObject *pyresult;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_accountname(); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  (void)noarg; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  return pyresult;
}
#else
#  define _cffi_f_notcurses_accountname _cffi_d_notcurses_accountname
#endif

static int _cffi_d_notcurses_align(int x0, ncalign_e x1, int x2)
{
  return notcurses_align(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_align(PyObject *self, PyObject *args)
{
  int x0;
  ncalign_e x1;
  int x2;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_align", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  x0 = _cffi_to_c_int(arg0, int);
  if (x0 == (int)-1 && PyErr_Occurred())
    return NULL;

  if (_cffi_to_c((char *)&x1, _cffi_type(194), arg1) < 0)
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_align(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_align _cffi_d_notcurses_align
#endif

static char * _cffi_d_notcurses_at_yx(struct notcurses * x0, unsigned int x1, unsigned int x2, uint16_t * x3, uint64_t * x4)
{
  return notcurses_at_yx(x0, x1, x2, x3, x4);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_at_yx(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  unsigned int x1;
  unsigned int x2;
  uint16_t * x3;
  uint64_t * x4;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;
  PyObject *arg4;

  if (!PyArg_UnpackTuple(args, "notcurses_at_yx", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, unsigned int);
  if (x2 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(88), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (uint16_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(88), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(89), arg4, (char **)&x4);
  if (datasize != 0) {
    x4 = ((size_t)datasize) <= 640 ? (uint64_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(89), arg4, (char **)&x4,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_at_yx(x0, x1, x2, x3, x4); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_at_yx _cffi_d_notcurses_at_yx
#endif

static struct ncplane * _cffi_d_notcurses_bottom(struct notcurses * x0)
{
  return notcurses_bottom(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_bottom(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_bottom(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_bottom _cffi_d_notcurses_bottom
#endif

static _Bool _cffi_d_notcurses_canbraille(struct notcurses const * x0)
{
  return notcurses_canbraille(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canbraille(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canbraille(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canbraille _cffi_d_notcurses_canbraille
#endif

static _Bool _cffi_d_notcurses_canchangecolor(struct notcurses const * x0)
{
  return notcurses_canchangecolor(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canchangecolor(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canchangecolor(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canchangecolor _cffi_d_notcurses_canchangecolor
#endif

static _Bool _cffi_d_notcurses_canfade(struct notcurses const * x0)
{
  return notcurses_canfade(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canfade(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canfade(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canfade _cffi_d_notcurses_canfade
#endif

static _Bool _cffi_d_notcurses_canhalfblock(struct notcurses const * x0)
{
  return notcurses_canhalfblock(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canhalfblock(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canhalfblock(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canhalfblock _cffi_d_notcurses_canhalfblock
#endif

static _Bool _cffi_d_notcurses_canoctant(struct notcurses const * x0)
{
  return notcurses_canoctant(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canoctant(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canoctant(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canoctant _cffi_d_notcurses_canoctant
#endif

static _Bool _cffi_d_notcurses_canopen_images(struct notcurses const * x0)
{
  return notcurses_canopen_images(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canopen_images(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canopen_images(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canopen_images _cffi_d_notcurses_canopen_images
#endif

static _Bool _cffi_d_notcurses_canopen_videos(struct notcurses const * x0)
{
  return notcurses_canopen_videos(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canopen_videos(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canopen_videos(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canopen_videos _cffi_d_notcurses_canopen_videos
#endif

static _Bool _cffi_d_notcurses_canpixel(struct notcurses const * x0)
{
  return notcurses_canpixel(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canpixel(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canpixel(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canpixel _cffi_d_notcurses_canpixel
#endif

static _Bool _cffi_d_notcurses_canquadrant(struct notcurses const * x0)
{
  return notcurses_canquadrant(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canquadrant(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canquadrant(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canquadrant _cffi_d_notcurses_canquadrant
#endif

static _Bool _cffi_d_notcurses_cansextant(struct notcurses const * x0)
{
  return notcurses_cansextant(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_cansextant(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_cansextant(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_cansextant _cffi_d_notcurses_cansextant
#endif

static _Bool _cffi_d_notcurses_cantruecolor(struct notcurses const * x0)
{
  return notcurses_cantruecolor(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_cantruecolor(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_cantruecolor(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_cantruecolor _cffi_d_notcurses_cantruecolor
#endif

static _Bool _cffi_d_notcurses_canutf8(struct notcurses const * x0)
{
  return notcurses_canutf8(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_canutf8(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  _Bool result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_canutf8(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c__Bool(result);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_canutf8 _cffi_d_notcurses_canutf8
#endif

static nccapabilities const * _cffi_d_notcurses_capabilities(struct notcurses const * x0)
{
  return notcurses_capabilities(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_capabilities(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  nccapabilities const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_capabilities(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(1));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_capabilities _cffi_d_notcurses_capabilities
#endif

static ncpixelimpl_e _cffi_d_notcurses_check_pixel_support(struct notcurses const * x0)
{
  return notcurses_check_pixel_support(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_check_pixel_support(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  ncpixelimpl_e result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_check_pixel_support(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_deref((char *)&result, _cffi_type(1663));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_check_pixel_support _cffi_d_notcurses_check_pixel_support
#endif

static struct notcurses * _cffi_d_notcurses_core_init(notcurses_options const * x0, FILE * x1)
{
  return notcurses_core_init(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_core_init(PyObject *self, PyObject *args)
{
  notcurses_options const * x0;
  FILE * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct notcurses * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_core_init", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1297), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (notcurses_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1297), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(385), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (FILE *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(385), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_core_init(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(110));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_core_init _cffi_d_notcurses_core_init
#endif

static int _cffi_d_notcurses_cursor_disable(struct notcurses * x0)
{
  return notcurses_cursor_disable(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_cursor_disable(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_cursor_disable(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_cursor_disable _cffi_d_notcurses_cursor_disable
#endif

static int _cffi_d_notcurses_cursor_enable(struct notcurses * x0, int x1, int x2)
{
  return notcurses_cursor_enable(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_cursor_enable(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  int x1;
  int x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_cursor_enable", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, int);
  if (x1 == (int)-1 && PyErr_Occurred())
    return NULL;

  x2 = _cffi_to_c_int(arg2, int);
  if (x2 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_cursor_enable(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_cursor_enable _cffi_d_notcurses_cursor_enable
#endif

static int _cffi_d_notcurses_cursor_yx(struct notcurses const * x0, int * x1, int * x2)
{
  return notcurses_cursor_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_cursor_yx(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  int * x1;
  int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_cursor_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_cursor_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_cursor_yx _cffi_d_notcurses_cursor_yx
#endif

static void _cffi_d_notcurses_debug(struct notcurses const * x0, FILE * x1)
{
  notcurses_debug(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_debug(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  FILE * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_debug", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(385), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (FILE *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(385), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { notcurses_debug(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_notcurses_debug _cffi_d_notcurses_debug
#endif

static int _cffi_d_notcurses_default_background(struct notcurses const * x0, uint32_t * x1)
{
  return notcurses_default_background(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_default_background(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  uint32_t * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_default_background", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_default_background(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_default_background _cffi_d_notcurses_default_background
#endif

static int _cffi_d_notcurses_default_foreground(struct notcurses const * x0, uint32_t * x1)
{
  return notcurses_default_foreground(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_default_foreground(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  uint32_t * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_default_foreground", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(226), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (uint32_t *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(226), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_default_foreground(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_default_foreground _cffi_d_notcurses_default_foreground
#endif

static char * _cffi_d_notcurses_detected_terminal(struct notcurses const * x0)
{
  return notcurses_detected_terminal(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_detected_terminal(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  char * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_detected_terminal(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_detected_terminal _cffi_d_notcurses_detected_terminal
#endif

static void _cffi_d_notcurses_drop_planes(struct notcurses * x0)
{
  notcurses_drop_planes(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_drop_planes(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { notcurses_drop_planes(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_notcurses_drop_planes _cffi_d_notcurses_drop_planes
#endif

static int _cffi_d_notcurses_enter_alternate_screen(struct notcurses * x0)
{
  return notcurses_enter_alternate_screen(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_enter_alternate_screen(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_enter_alternate_screen(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_enter_alternate_screen _cffi_d_notcurses_enter_alternate_screen
#endif

static uint32_t _cffi_d_notcurses_get(struct notcurses * x0, struct timespec const * x1, ncinput * x2)
{
  return notcurses_get(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_get(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  struct timespec const * x1;
  ncinput * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_get", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(706), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct timespec const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(706), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_get(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_get _cffi_d_notcurses_get
#endif

static uint32_t _cffi_d_notcurses_get_blocking(struct notcurses * x0, ncinput * x1)
{
  return notcurses_get_blocking(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_get_blocking(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  ncinput * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_get_blocking", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_get_blocking(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_get_blocking _cffi_d_notcurses_get_blocking
#endif

static uint32_t _cffi_d_notcurses_get_nblock(struct notcurses * x0, ncinput * x1)
{
  return notcurses_get_nblock(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_get_nblock(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  ncinput * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint32_t result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_get_nblock", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_get_nblock(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint32_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_get_nblock _cffi_d_notcurses_get_nblock
#endif

static int _cffi_d_notcurses_getvec(struct notcurses * x0, struct timespec const * x1, ncinput * x2, int x3)
{
  return notcurses_getvec(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_getvec(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  struct timespec const * x1;
  ncinput * x2;
  int x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "notcurses_getvec", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(706), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (struct timespec const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(706), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(132), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (ncinput *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(132), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, int);
  if (x3 == (int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_getvec(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_getvec _cffi_d_notcurses_getvec
#endif

static char * _cffi_d_notcurses_hostname(void)
{
  return notcurses_hostname();
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_hostname(PyObject *self, PyObject *noarg)
{
  char * result;
  PyObject *pyresult;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_hostname(); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  (void)noarg; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  return pyresult;
}
#else
#  define _cffi_f_notcurses_hostname _cffi_d_notcurses_hostname
#endif

static struct notcurses * _cffi_d_notcurses_init(notcurses_options const * x0, FILE * x1)
{
  return notcurses_init(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_init(PyObject *self, PyObject *args)
{
  notcurses_options const * x0;
  FILE * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct notcurses * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_init", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1297), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (notcurses_options const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1297), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(385), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (FILE *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(385), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_init(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(110));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_init _cffi_d_notcurses_init
#endif

static int _cffi_d_notcurses_inputready_fd(struct notcurses * x0)
{
  return notcurses_inputready_fd(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_inputready_fd(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_inputready_fd(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_inputready_fd _cffi_d_notcurses_inputready_fd
#endif

static int _cffi_d_notcurses_leave_alternate_screen(struct notcurses * x0)
{
  return notcurses_leave_alternate_screen(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_leave_alternate_screen(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_leave_alternate_screen(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_leave_alternate_screen _cffi_d_notcurses_leave_alternate_screen
#endif

static int _cffi_d_notcurses_lex_blitter(char const * x0, ncblitter_e * x1)
{
  return notcurses_lex_blitter(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_lex_blitter(PyObject *self, PyObject *args)
{
  char const * x0;
  ncblitter_e * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_lex_blitter", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(182), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncblitter_e *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(182), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_lex_blitter(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_lex_blitter _cffi_d_notcurses_lex_blitter
#endif

static int _cffi_d_notcurses_lex_margins(char const * x0, notcurses_options * x1)
{
  return notcurses_lex_margins(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_lex_margins(PyObject *self, PyObject *args)
{
  char const * x0;
  notcurses_options * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_lex_margins", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(190), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (notcurses_options *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(190), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_lex_margins(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_lex_margins _cffi_d_notcurses_lex_margins
#endif

static int _cffi_d_notcurses_lex_scalemode(char const * x0, ncscale_e * x1)
{
  return notcurses_lex_scalemode(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_lex_scalemode(PyObject *self, PyObject *args)
{
  char const * x0;
  ncscale_e * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_lex_scalemode", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(69), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (char const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(69), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(186), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncscale_e *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(186), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_lex_scalemode(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_lex_scalemode _cffi_d_notcurses_lex_scalemode
#endif

static int _cffi_d_notcurses_linesigs_disable(struct notcurses * x0)
{
  return notcurses_linesigs_disable(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_linesigs_disable(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_linesigs_disable(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_linesigs_disable _cffi_d_notcurses_linesigs_disable
#endif

static int _cffi_d_notcurses_linesigs_enable(struct notcurses * x0)
{
  return notcurses_linesigs_enable(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_linesigs_enable(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_linesigs_enable(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_linesigs_enable _cffi_d_notcurses_linesigs_enable
#endif

static int _cffi_d_notcurses_mice_disable(struct notcurses * x0)
{
  return notcurses_mice_disable(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_mice_disable(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_mice_disable(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_mice_disable _cffi_d_notcurses_mice_disable
#endif

static int _cffi_d_notcurses_mice_enable(struct notcurses * x0, unsigned int x1)
{
  return notcurses_mice_enable(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_mice_enable(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  unsigned int x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_mice_enable", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_mice_enable(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_mice_enable _cffi_d_notcurses_mice_enable
#endif

static char * _cffi_d_notcurses_osversion(void)
{
  return notcurses_osversion();
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_osversion(PyObject *self, PyObject *noarg)
{
  char * result;
  PyObject *pyresult;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_osversion(); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  (void)noarg; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(159));
  return pyresult;
}
#else
#  define _cffi_f_notcurses_osversion _cffi_d_notcurses_osversion
#endif

static unsigned int _cffi_d_notcurses_palette_size(struct notcurses const * x0)
{
  return notcurses_palette_size(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_palette_size(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  unsigned int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_palette_size(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, unsigned int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_palette_size _cffi_d_notcurses_palette_size
#endif

static int _cffi_d_notcurses_refresh(struct notcurses * x0, unsigned int * x1, unsigned int * x2)
{
  return notcurses_refresh(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_refresh(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  unsigned int * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_refresh", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_refresh(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_refresh _cffi_d_notcurses_refresh
#endif

static int _cffi_d_notcurses_render(struct notcurses * x0)
{
  return notcurses_render(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_render(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_render(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_render _cffi_d_notcurses_render
#endif

static void _cffi_d_notcurses_stats(struct notcurses * x0, ncstats * x1)
{
  notcurses_stats(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stats(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  ncstats * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_stats", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1613), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncstats *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1613), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { notcurses_stats(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_notcurses_stats _cffi_d_notcurses_stats
#endif

static ncstats * _cffi_d_notcurses_stats_alloc(struct notcurses const * x0)
{
  return notcurses_stats_alloc(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stats_alloc(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  ncstats * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_stats_alloc(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(1613));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_stats_alloc _cffi_d_notcurses_stats_alloc
#endif

static void _cffi_d_notcurses_stats_reset(struct notcurses * x0, ncstats * x1)
{
  notcurses_stats_reset(x0, x1);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stats_reset(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  ncstats * x1;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;

  if (!PyArg_UnpackTuple(args, "notcurses_stats_reset", 2, 2, &arg0, &arg1))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(1613), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (ncstats *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(1613), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { notcurses_stats_reset(x0, x1); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_notcurses_stats_reset _cffi_d_notcurses_stats_reset
#endif

static struct ncplane * _cffi_d_notcurses_stddim_yx(struct notcurses * x0, unsigned int * x1, unsigned int * x2)
{
  return notcurses_stddim_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stddim_yx(PyObject *self, PyObject *args)
{
  struct notcurses * x0;
  unsigned int * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_stddim_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_stddim_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_stddim_yx _cffi_d_notcurses_stddim_yx
#endif

static struct ncplane const * _cffi_d_notcurses_stddim_yx_const(struct notcurses const * x0, unsigned int * x1, unsigned int * x2)
{
  return notcurses_stddim_yx_const(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stddim_yx_const(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  unsigned int * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane const * result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_stddim_yx_const", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_stddim_yx_const(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(29));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_stddim_yx_const _cffi_d_notcurses_stddim_yx_const
#endif

static struct ncplane * _cffi_d_notcurses_stdplane(struct notcurses * x0)
{
  return notcurses_stdplane(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stdplane(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_stdplane(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_stdplane _cffi_d_notcurses_stdplane
#endif

static struct ncplane const * _cffi_d_notcurses_stdplane_const(struct notcurses const * x0)
{
  return notcurses_stdplane_const(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stdplane_const(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane const * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_stdplane_const(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(29));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_stdplane_const _cffi_d_notcurses_stdplane_const
#endif

static int _cffi_d_notcurses_stop(struct notcurses * x0)
{
  return notcurses_stop(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_stop(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_stop(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_stop _cffi_d_notcurses_stop
#endif

static char const * _cffi_d_notcurses_str_blitter(ncblitter_e x0)
{
  return notcurses_str_blitter(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_str_blitter(PyObject *self, PyObject *arg0)
{
  ncblitter_e x0;
  char const * result;
  PyObject *pyresult;

  if (_cffi_to_c((char *)&x0, _cffi_type(125), arg0) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_str_blitter(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  return pyresult;
}
#else
#  define _cffi_f_notcurses_str_blitter _cffi_d_notcurses_str_blitter
#endif

static char const * _cffi_d_notcurses_str_scalemode(ncscale_e x0)
{
  return notcurses_str_scalemode(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_str_scalemode(PyObject *self, PyObject *arg0)
{
  ncscale_e x0;
  char const * result;
  PyObject *pyresult;

  if (_cffi_to_c((char *)&x0, _cffi_type(128), arg0) < 0)
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_str_scalemode(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  return pyresult;
}
#else
#  define _cffi_f_notcurses_str_scalemode _cffi_d_notcurses_str_scalemode
#endif

static uint16_t _cffi_d_notcurses_supported_styles(struct notcurses const * x0)
{
  return notcurses_supported_styles(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_supported_styles(PyObject *self, PyObject *arg0)
{
  struct notcurses const * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  uint16_t result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_supported_styles(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, uint16_t);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_supported_styles _cffi_d_notcurses_supported_styles
#endif

static void _cffi_d_notcurses_term_dim_yx(struct notcurses const * x0, unsigned int * x1, unsigned int * x2)
{
  notcurses_term_dim_yx(x0, x1, x2);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_term_dim_yx(PyObject *self, PyObject *args)
{
  struct notcurses const * x0;
  unsigned int * x1;
  unsigned int * x2;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;

  if (!PyArg_UnpackTuple(args, "notcurses_term_dim_yx", 3, 3, &arg0, &arg1, &arg2))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(59), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(59), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(231), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(231), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { notcurses_term_dim_yx(x0, x1, x2); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_notcurses_term_dim_yx _cffi_d_notcurses_term_dim_yx
#endif

static struct ncplane * _cffi_d_notcurses_top(struct notcurses * x0)
{
  return notcurses_top(x0);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_top(PyObject *self, PyObject *arg0)
{
  struct notcurses * x0;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  struct ncplane * result;
  PyObject *pyresult;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(110), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (struct notcurses *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(110), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_top(x0); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(25));
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_top _cffi_d_notcurses_top
#endif

static int _cffi_d_notcurses_ucs32_to_utf8(uint32_t const * x0, unsigned int x1, unsigned char * x2, size_t x3)
{
  return notcurses_ucs32_to_utf8(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_ucs32_to_utf8(PyObject *self, PyObject *args)
{
  uint32_t const * x0;
  unsigned int x1;
  unsigned char * x2;
  size_t x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  int result;
  PyObject *pyresult;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "notcurses_ucs32_to_utf8", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(997), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (uint32_t const *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(997), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x1 = _cffi_to_c_int(arg1, unsigned int);
  if (x1 == (unsigned int)-1 && PyErr_Occurred())
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(999), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (unsigned char *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(999), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  x3 = _cffi_to_c_int(arg3, size_t);
  if (x3 == (size_t)-1 && PyErr_Occurred())
    return NULL;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_ucs32_to_utf8(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  pyresult = _cffi_from_c_int(result, int);
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  return pyresult;
}
#else
#  define _cffi_f_notcurses_ucs32_to_utf8 _cffi_d_notcurses_ucs32_to_utf8
#endif

static char const * _cffi_d_notcurses_version(void)
{
  return notcurses_version();
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_version(PyObject *self, PyObject *noarg)
{
  char const * result;
  PyObject *pyresult;

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { result = notcurses_version(); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  (void)noarg; /* unused */
  pyresult = _cffi_from_c_pointer((char *)result, _cffi_type(69));
  return pyresult;
}
#else
#  define _cffi_f_notcurses_version _cffi_d_notcurses_version
#endif

static void _cffi_d_notcurses_version_components(int * x0, int * x1, int * x2, int * x3)
{
  notcurses_version_components(x0, x1, x2, x3);
}
#ifndef PYPY_VERSION
static PyObject *
_cffi_f_notcurses_version_components(PyObject *self, PyObject *args)
{
  int * x0;
  int * x1;
  int * x2;
  int * x3;
  Py_ssize_t datasize;
  struct _cffi_freeme_s *large_args_free = NULL;
  PyObject *arg0;
  PyObject *arg1;
  PyObject *arg2;
  PyObject *arg3;

  if (!PyArg_UnpackTuple(args, "notcurses_version_components", 4, 4, &arg0, &arg1, &arg2, &arg3))
    return NULL;

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg0, (char **)&x0);
  if (datasize != 0) {
    x0 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg0, (char **)&x0,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg1, (char **)&x1);
  if (datasize != 0) {
    x1 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg1, (char **)&x1,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg2, (char **)&x2);
  if (datasize != 0) {
    x2 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg2, (char **)&x2,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  datasize = _cffi_prepare_pointer_call_argument(
      _cffi_type(33), arg3, (char **)&x3);
  if (datasize != 0) {
    x3 = ((size_t)datasize) <= 640 ? (int *)alloca((size_t)datasize) : NULL;
    if (_cffi_convert_array_argument(_cffi_type(33), arg3, (char **)&x3,
            datasize, &large_args_free) < 0)
      return NULL;
  }

  Py_BEGIN_ALLOW_THREADS
  _cffi_restore_errno();
  { notcurses_version_components(x0, x1, x2, x3); }
  _cffi_save_errno();
  Py_END_ALLOW_THREADS

  (void)self; /* unused */
  if (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);
  Py_INCREF(Py_None);
  return Py_None;
}
#else
#  define _cffi_f_notcurses_version_components _cffi_d_notcurses_version_components
#endif

static int _cffi_const_NCALIGN_BOTTOM(unsigned long long *o)
{
  int n = (NCALIGN_BOTTOM) <= 0;
  *o = (unsigned long long)((NCALIGN_BOTTOM) | 0);  /* check that NCALIGN_BOTTOM is an integer */
  return n;
}

static int _cffi_const_NCALIGN_TOP(unsigned long long *o)
{
  int n = (NCALIGN_TOP) <= 0;
  *o = (unsigned long long)((NCALIGN_TOP) | 0);  /* check that NCALIGN_TOP is an integer */
  return n;
}

static int _cffi_const_NCALPHA_BLEND(unsigned long long *o)
{
  int n = (NCALPHA_BLEND) <= 0;
  *o = (unsigned long long)((NCALPHA_BLEND) | 0);  /* check that NCALPHA_BLEND is an integer */
  if (!_cffi_check_int(*o, n, 268435456U))
    n |= 2;
  return n;
}

static int _cffi_const_NCALPHA_HIGHCONTRAST(unsigned long long *o)
{
  int n = (NCALPHA_HIGHCONTRAST) <= 0;
  *o = (unsigned long long)((NCALPHA_HIGHCONTRAST) | 0);  /* check that NCALPHA_HIGHCONTRAST is an integer */
  if (!_cffi_check_int(*o, n, 805306368U))
    n |= 2;
  return n;
}

static int _cffi_const_NCALPHA_OPAQUE(unsigned long long *o)
{
  int n = (NCALPHA_OPAQUE) <= 0;
  *o = (unsigned long long)((NCALPHA_OPAQUE) | 0);  /* check that NCALPHA_OPAQUE is an integer */
  if (!_cffi_check_int(*o, n, 0))
    n |= 2;
  return n;
}

static int _cffi_const_NCALPHA_TRANSPARENT(unsigned long long *o)
{
  int n = (NCALPHA_TRANSPARENT) <= 0;
  *o = (unsigned long long)((NCALPHA_TRANSPARENT) | 0);  /* check that NCALPHA_TRANSPARENT is an integer */
  if (!_cffi_check_int(*o, n, 536870912U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXCORNER_MASK(unsigned long long *o)
{
  int n = (NCBOXCORNER_MASK) <= 0;
  *o = (unsigned long long)((NCBOXCORNER_MASK) | 0);  /* check that NCBOXCORNER_MASK is an integer */
  if (!_cffi_check_int(*o, n, 768U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXCORNER_SHIFT(unsigned long long *o)
{
  int n = (NCBOXCORNER_SHIFT) <= 0;
  *o = (unsigned long long)((NCBOXCORNER_SHIFT) | 0);  /* check that NCBOXCORNER_SHIFT is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXGRAD_BOTTOM(unsigned long long *o)
{
  int n = (NCBOXGRAD_BOTTOM) <= 0;
  *o = (unsigned long long)((NCBOXGRAD_BOTTOM) | 0);  /* check that NCBOXGRAD_BOTTOM is an integer */
  if (!_cffi_check_int(*o, n, 64U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXGRAD_LEFT(unsigned long long *o)
{
  int n = (NCBOXGRAD_LEFT) <= 0;
  *o = (unsigned long long)((NCBOXGRAD_LEFT) | 0);  /* check that NCBOXGRAD_LEFT is an integer */
  if (!_cffi_check_int(*o, n, 128U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXGRAD_RIGHT(unsigned long long *o)
{
  int n = (NCBOXGRAD_RIGHT) <= 0;
  *o = (unsigned long long)((NCBOXGRAD_RIGHT) | 0);  /* check that NCBOXGRAD_RIGHT is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXGRAD_TOP(unsigned long long *o)
{
  int n = (NCBOXGRAD_TOP) <= 0;
  *o = (unsigned long long)((NCBOXGRAD_TOP) | 0);  /* check that NCBOXGRAD_TOP is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXMASK_BOTTOM(unsigned long long *o)
{
  int n = (NCBOXMASK_BOTTOM) <= 0;
  *o = (unsigned long long)((NCBOXMASK_BOTTOM) | 0);  /* check that NCBOXMASK_BOTTOM is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXMASK_LEFT(unsigned long long *o)
{
  int n = (NCBOXMASK_LEFT) <= 0;
  *o = (unsigned long long)((NCBOXMASK_LEFT) | 0);  /* check that NCBOXMASK_LEFT is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXMASK_RIGHT(unsigned long long *o)
{
  int n = (NCBOXMASK_RIGHT) <= 0;
  *o = (unsigned long long)((NCBOXMASK_RIGHT) | 0);  /* check that NCBOXMASK_RIGHT is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBOXMASK_TOP(unsigned long long *o)
{
  int n = (NCBOXMASK_TOP) <= 0;
  *o = (unsigned long long)((NCBOXMASK_TOP) | 0);  /* check that NCBOXMASK_TOP is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBPREFIXCOLUMNS(unsigned long long *o)
{
  int n = (NCBPREFIXCOLUMNS) <= 0;
  *o = (unsigned long long)((NCBPREFIXCOLUMNS) | 0);  /* check that NCBPREFIXCOLUMNS is an integer */
  if (!_cffi_check_int(*o, n, 9U))
    n |= 2;
  return n;
}

static int _cffi_const_NCBPREFIXSTRLEN(unsigned long long *o)
{
  int n = (NCBPREFIXSTRLEN) <= 0;
  *o = (unsigned long long)((NCBPREFIXSTRLEN) | 0);  /* check that NCBPREFIXSTRLEN is an integer */
  return n;
}

static int _cffi_const_NCDIRECT_OPTION_DRAIN_INPUT(unsigned long long *o)
{
  int n = (NCDIRECT_OPTION_DRAIN_INPUT) <= 0;
  *o = (unsigned long long)((NCDIRECT_OPTION_DRAIN_INPUT) | 0);  /* check that NCDIRECT_OPTION_DRAIN_INPUT is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCDIRECT_OPTION_INHIBIT_CBREAK(unsigned long long *o)
{
  int n = (NCDIRECT_OPTION_INHIBIT_CBREAK) <= 0;
  *o = (unsigned long long)((NCDIRECT_OPTION_INHIBIT_CBREAK) | 0);  /* check that NCDIRECT_OPTION_INHIBIT_CBREAK is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCDIRECT_OPTION_INHIBIT_SETLOCALE(unsigned long long *o)
{
  int n = (NCDIRECT_OPTION_INHIBIT_SETLOCALE) <= 0;
  *o = (unsigned long long)((NCDIRECT_OPTION_INHIBIT_SETLOCALE) | 0);  /* check that NCDIRECT_OPTION_INHIBIT_SETLOCALE is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS(unsigned long long *o)
{
  int n = (NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS) <= 0;
  *o = (unsigned long long)((NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS) | 0);  /* check that NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCDIRECT_OPTION_VERBOSE(unsigned long long *o)
{
  int n = (NCDIRECT_OPTION_VERBOSE) <= 0;
  *o = (unsigned long long)((NCDIRECT_OPTION_VERBOSE) | 0);  /* check that NCDIRECT_OPTION_VERBOSE is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCDIRECT_OPTION_VERY_VERBOSE(unsigned long long *o)
{
  int n = (NCDIRECT_OPTION_VERY_VERBOSE) <= 0;
  *o = (unsigned long long)((NCDIRECT_OPTION_VERY_VERBOSE) | 0);  /* check that NCDIRECT_OPTION_VERY_VERBOSE is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCINPUT_MAX_EFF_TEXT_CODEPOINTS(unsigned long long *o)
{
  int n = (NCINPUT_MAX_EFF_TEXT_CODEPOINTS) <= 0;
  *o = (unsigned long long)((NCINPUT_MAX_EFF_TEXT_CODEPOINTS) | 0);  /* check that NCINPUT_MAX_EFF_TEXT_CODEPOINTS is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCIPREFIXCOLUMNS(unsigned long long *o)
{
  int n = (NCIPREFIXCOLUMNS) <= 0;
  *o = (unsigned long long)((NCIPREFIXCOLUMNS) | 0);  /* check that NCIPREFIXCOLUMNS is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCIPREFIXSTRLEN(unsigned long long *o)
{
  int n = (NCIPREFIXSTRLEN) <= 0;
  *o = (unsigned long long)((NCIPREFIXSTRLEN) | 0);  /* check that NCIPREFIXSTRLEN is an integer */
  return n;
}

static int _cffi_const_NCKEY_BACKSPACE(unsigned long long *o)
{
  int n = (NCKEY_BACKSPACE) <= 0;
  *o = (unsigned long long)((NCKEY_BACKSPACE) | 0);  /* check that NCKEY_BACKSPACE is an integer */
  return n;
}

static int _cffi_const_NCKEY_BEGIN(unsigned long long *o)
{
  int n = (NCKEY_BEGIN) <= 0;
  *o = (unsigned long long)((NCKEY_BEGIN) | 0);  /* check that NCKEY_BEGIN is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON1(unsigned long long *o)
{
  int n = (NCKEY_BUTTON1) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON1) | 0);  /* check that NCKEY_BUTTON1 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON10(unsigned long long *o)
{
  int n = (NCKEY_BUTTON10) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON10) | 0);  /* check that NCKEY_BUTTON10 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON11(unsigned long long *o)
{
  int n = (NCKEY_BUTTON11) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON11) | 0);  /* check that NCKEY_BUTTON11 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON2(unsigned long long *o)
{
  int n = (NCKEY_BUTTON2) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON2) | 0);  /* check that NCKEY_BUTTON2 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON3(unsigned long long *o)
{
  int n = (NCKEY_BUTTON3) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON3) | 0);  /* check that NCKEY_BUTTON3 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON4(unsigned long long *o)
{
  int n = (NCKEY_BUTTON4) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON4) | 0);  /* check that NCKEY_BUTTON4 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON5(unsigned long long *o)
{
  int n = (NCKEY_BUTTON5) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON5) | 0);  /* check that NCKEY_BUTTON5 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON6(unsigned long long *o)
{
  int n = (NCKEY_BUTTON6) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON6) | 0);  /* check that NCKEY_BUTTON6 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON7(unsigned long long *o)
{
  int n = (NCKEY_BUTTON7) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON7) | 0);  /* check that NCKEY_BUTTON7 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON8(unsigned long long *o)
{
  int n = (NCKEY_BUTTON8) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON8) | 0);  /* check that NCKEY_BUTTON8 is an integer */
  return n;
}

static int _cffi_const_NCKEY_BUTTON9(unsigned long long *o)
{
  int n = (NCKEY_BUTTON9) <= 0;
  *o = (unsigned long long)((NCKEY_BUTTON9) | 0);  /* check that NCKEY_BUTTON9 is an integer */
  return n;
}

static int _cffi_const_NCKEY_CANCEL(unsigned long long *o)
{
  int n = (NCKEY_CANCEL) <= 0;
  *o = (unsigned long long)((NCKEY_CANCEL) | 0);  /* check that NCKEY_CANCEL is an integer */
  return n;
}

static int _cffi_const_NCKEY_CAPS_LOCK(unsigned long long *o)
{
  int n = (NCKEY_CAPS_LOCK) <= 0;
  *o = (unsigned long long)((NCKEY_CAPS_LOCK) | 0);  /* check that NCKEY_CAPS_LOCK is an integer */
  return n;
}

static int _cffi_const_NCKEY_CENTER(unsigned long long *o)
{
  int n = (NCKEY_CENTER) <= 0;
  *o = (unsigned long long)((NCKEY_CENTER) | 0);  /* check that NCKEY_CENTER is an integer */
  return n;
}

static int _cffi_const_NCKEY_CLOSE(unsigned long long *o)
{
  int n = (NCKEY_CLOSE) <= 0;
  *o = (unsigned long long)((NCKEY_CLOSE) | 0);  /* check that NCKEY_CLOSE is an integer */
  return n;
}

static int _cffi_const_NCKEY_CLS(unsigned long long *o)
{
  int n = (NCKEY_CLS) <= 0;
  *o = (unsigned long long)((NCKEY_CLS) | 0);  /* check that NCKEY_CLS is an integer */
  return n;
}

static int _cffi_const_NCKEY_COMMAND(unsigned long long *o)
{
  int n = (NCKEY_COMMAND) <= 0;
  *o = (unsigned long long)((NCKEY_COMMAND) | 0);  /* check that NCKEY_COMMAND is an integer */
  return n;
}

static int _cffi_const_NCKEY_COPY(unsigned long long *o)
{
  int n = (NCKEY_COPY) <= 0;
  *o = (unsigned long long)((NCKEY_COPY) | 0);  /* check that NCKEY_COPY is an integer */
  return n;
}

static int _cffi_const_NCKEY_DEL(unsigned long long *o)
{
  int n = (NCKEY_DEL) <= 0;
  *o = (unsigned long long)((NCKEY_DEL) | 0);  /* check that NCKEY_DEL is an integer */
  return n;
}

static int _cffi_const_NCKEY_DLEFT(unsigned long long *o)
{
  int n = (NCKEY_DLEFT) <= 0;
  *o = (unsigned long long)((NCKEY_DLEFT) | 0);  /* check that NCKEY_DLEFT is an integer */
  return n;
}

static int _cffi_const_NCKEY_DOWN(unsigned long long *o)
{
  int n = (NCKEY_DOWN) <= 0;
  *o = (unsigned long long)((NCKEY_DOWN) | 0);  /* check that NCKEY_DOWN is an integer */
  return n;
}

static int _cffi_const_NCKEY_DRIGHT(unsigned long long *o)
{
  int n = (NCKEY_DRIGHT) <= 0;
  *o = (unsigned long long)((NCKEY_DRIGHT) | 0);  /* check that NCKEY_DRIGHT is an integer */
  return n;
}

static int _cffi_const_NCKEY_END(unsigned long long *o)
{
  int n = (NCKEY_END) <= 0;
  *o = (unsigned long long)((NCKEY_END) | 0);  /* check that NCKEY_END is an integer */
  return n;
}

static int _cffi_const_NCKEY_ENTER(unsigned long long *o)
{
  int n = (NCKEY_ENTER) <= 0;
  *o = (unsigned long long)((NCKEY_ENTER) | 0);  /* check that NCKEY_ENTER is an integer */
  return n;
}

static int _cffi_const_NCKEY_EOF(unsigned long long *o)
{
  int n = (NCKEY_EOF) <= 0;
  *o = (unsigned long long)((NCKEY_EOF) | 0);  /* check that NCKEY_EOF is an integer */
  return n;
}

static int _cffi_const_NCKEY_ESC(unsigned long long *o)
{
  int n = (NCKEY_ESC) <= 0;
  *o = (unsigned long long)((NCKEY_ESC) | 0);  /* check that NCKEY_ESC is an integer */
  if (!_cffi_check_int(*o, n, 27U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_EXIT(unsigned long long *o)
{
  int n = (NCKEY_EXIT) <= 0;
  *o = (unsigned long long)((NCKEY_EXIT) | 0);  /* check that NCKEY_EXIT is an integer */
  return n;
}

static int _cffi_const_NCKEY_F00(unsigned long long *o)
{
  int n = (NCKEY_F00) <= 0;
  *o = (unsigned long long)((NCKEY_F00) | 0);  /* check that NCKEY_F00 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F01(unsigned long long *o)
{
  int n = (NCKEY_F01) <= 0;
  *o = (unsigned long long)((NCKEY_F01) | 0);  /* check that NCKEY_F01 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F02(unsigned long long *o)
{
  int n = (NCKEY_F02) <= 0;
  *o = (unsigned long long)((NCKEY_F02) | 0);  /* check that NCKEY_F02 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F03(unsigned long long *o)
{
  int n = (NCKEY_F03) <= 0;
  *o = (unsigned long long)((NCKEY_F03) | 0);  /* check that NCKEY_F03 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F04(unsigned long long *o)
{
  int n = (NCKEY_F04) <= 0;
  *o = (unsigned long long)((NCKEY_F04) | 0);  /* check that NCKEY_F04 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F05(unsigned long long *o)
{
  int n = (NCKEY_F05) <= 0;
  *o = (unsigned long long)((NCKEY_F05) | 0);  /* check that NCKEY_F05 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F06(unsigned long long *o)
{
  int n = (NCKEY_F06) <= 0;
  *o = (unsigned long long)((NCKEY_F06) | 0);  /* check that NCKEY_F06 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F07(unsigned long long *o)
{
  int n = (NCKEY_F07) <= 0;
  *o = (unsigned long long)((NCKEY_F07) | 0);  /* check that NCKEY_F07 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F08(unsigned long long *o)
{
  int n = (NCKEY_F08) <= 0;
  *o = (unsigned long long)((NCKEY_F08) | 0);  /* check that NCKEY_F08 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F09(unsigned long long *o)
{
  int n = (NCKEY_F09) <= 0;
  *o = (unsigned long long)((NCKEY_F09) | 0);  /* check that NCKEY_F09 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F10(unsigned long long *o)
{
  int n = (NCKEY_F10) <= 0;
  *o = (unsigned long long)((NCKEY_F10) | 0);  /* check that NCKEY_F10 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F11(unsigned long long *o)
{
  int n = (NCKEY_F11) <= 0;
  *o = (unsigned long long)((NCKEY_F11) | 0);  /* check that NCKEY_F11 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F12(unsigned long long *o)
{
  int n = (NCKEY_F12) <= 0;
  *o = (unsigned long long)((NCKEY_F12) | 0);  /* check that NCKEY_F12 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F13(unsigned long long *o)
{
  int n = (NCKEY_F13) <= 0;
  *o = (unsigned long long)((NCKEY_F13) | 0);  /* check that NCKEY_F13 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F14(unsigned long long *o)
{
  int n = (NCKEY_F14) <= 0;
  *o = (unsigned long long)((NCKEY_F14) | 0);  /* check that NCKEY_F14 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F15(unsigned long long *o)
{
  int n = (NCKEY_F15) <= 0;
  *o = (unsigned long long)((NCKEY_F15) | 0);  /* check that NCKEY_F15 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F16(unsigned long long *o)
{
  int n = (NCKEY_F16) <= 0;
  *o = (unsigned long long)((NCKEY_F16) | 0);  /* check that NCKEY_F16 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F17(unsigned long long *o)
{
  int n = (NCKEY_F17) <= 0;
  *o = (unsigned long long)((NCKEY_F17) | 0);  /* check that NCKEY_F17 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F18(unsigned long long *o)
{
  int n = (NCKEY_F18) <= 0;
  *o = (unsigned long long)((NCKEY_F18) | 0);  /* check that NCKEY_F18 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F19(unsigned long long *o)
{
  int n = (NCKEY_F19) <= 0;
  *o = (unsigned long long)((NCKEY_F19) | 0);  /* check that NCKEY_F19 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F20(unsigned long long *o)
{
  int n = (NCKEY_F20) <= 0;
  *o = (unsigned long long)((NCKEY_F20) | 0);  /* check that NCKEY_F20 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F21(unsigned long long *o)
{
  int n = (NCKEY_F21) <= 0;
  *o = (unsigned long long)((NCKEY_F21) | 0);  /* check that NCKEY_F21 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F22(unsigned long long *o)
{
  int n = (NCKEY_F22) <= 0;
  *o = (unsigned long long)((NCKEY_F22) | 0);  /* check that NCKEY_F22 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F23(unsigned long long *o)
{
  int n = (NCKEY_F23) <= 0;
  *o = (unsigned long long)((NCKEY_F23) | 0);  /* check that NCKEY_F23 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F24(unsigned long long *o)
{
  int n = (NCKEY_F24) <= 0;
  *o = (unsigned long long)((NCKEY_F24) | 0);  /* check that NCKEY_F24 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F25(unsigned long long *o)
{
  int n = (NCKEY_F25) <= 0;
  *o = (unsigned long long)((NCKEY_F25) | 0);  /* check that NCKEY_F25 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F26(unsigned long long *o)
{
  int n = (NCKEY_F26) <= 0;
  *o = (unsigned long long)((NCKEY_F26) | 0);  /* check that NCKEY_F26 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F27(unsigned long long *o)
{
  int n = (NCKEY_F27) <= 0;
  *o = (unsigned long long)((NCKEY_F27) | 0);  /* check that NCKEY_F27 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F28(unsigned long long *o)
{
  int n = (NCKEY_F28) <= 0;
  *o = (unsigned long long)((NCKEY_F28) | 0);  /* check that NCKEY_F28 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F29(unsigned long long *o)
{
  int n = (NCKEY_F29) <= 0;
  *o = (unsigned long long)((NCKEY_F29) | 0);  /* check that NCKEY_F29 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F30(unsigned long long *o)
{
  int n = (NCKEY_F30) <= 0;
  *o = (unsigned long long)((NCKEY_F30) | 0);  /* check that NCKEY_F30 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F31(unsigned long long *o)
{
  int n = (NCKEY_F31) <= 0;
  *o = (unsigned long long)((NCKEY_F31) | 0);  /* check that NCKEY_F31 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F32(unsigned long long *o)
{
  int n = (NCKEY_F32) <= 0;
  *o = (unsigned long long)((NCKEY_F32) | 0);  /* check that NCKEY_F32 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F33(unsigned long long *o)
{
  int n = (NCKEY_F33) <= 0;
  *o = (unsigned long long)((NCKEY_F33) | 0);  /* check that NCKEY_F33 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F34(unsigned long long *o)
{
  int n = (NCKEY_F34) <= 0;
  *o = (unsigned long long)((NCKEY_F34) | 0);  /* check that NCKEY_F34 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F35(unsigned long long *o)
{
  int n = (NCKEY_F35) <= 0;
  *o = (unsigned long long)((NCKEY_F35) | 0);  /* check that NCKEY_F35 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F36(unsigned long long *o)
{
  int n = (NCKEY_F36) <= 0;
  *o = (unsigned long long)((NCKEY_F36) | 0);  /* check that NCKEY_F36 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F37(unsigned long long *o)
{
  int n = (NCKEY_F37) <= 0;
  *o = (unsigned long long)((NCKEY_F37) | 0);  /* check that NCKEY_F37 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F38(unsigned long long *o)
{
  int n = (NCKEY_F38) <= 0;
  *o = (unsigned long long)((NCKEY_F38) | 0);  /* check that NCKEY_F38 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F39(unsigned long long *o)
{
  int n = (NCKEY_F39) <= 0;
  *o = (unsigned long long)((NCKEY_F39) | 0);  /* check that NCKEY_F39 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F40(unsigned long long *o)
{
  int n = (NCKEY_F40) <= 0;
  *o = (unsigned long long)((NCKEY_F40) | 0);  /* check that NCKEY_F40 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F41(unsigned long long *o)
{
  int n = (NCKEY_F41) <= 0;
  *o = (unsigned long long)((NCKEY_F41) | 0);  /* check that NCKEY_F41 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F42(unsigned long long *o)
{
  int n = (NCKEY_F42) <= 0;
  *o = (unsigned long long)((NCKEY_F42) | 0);  /* check that NCKEY_F42 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F43(unsigned long long *o)
{
  int n = (NCKEY_F43) <= 0;
  *o = (unsigned long long)((NCKEY_F43) | 0);  /* check that NCKEY_F43 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F44(unsigned long long *o)
{
  int n = (NCKEY_F44) <= 0;
  *o = (unsigned long long)((NCKEY_F44) | 0);  /* check that NCKEY_F44 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F45(unsigned long long *o)
{
  int n = (NCKEY_F45) <= 0;
  *o = (unsigned long long)((NCKEY_F45) | 0);  /* check that NCKEY_F45 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F46(unsigned long long *o)
{
  int n = (NCKEY_F46) <= 0;
  *o = (unsigned long long)((NCKEY_F46) | 0);  /* check that NCKEY_F46 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F47(unsigned long long *o)
{
  int n = (NCKEY_F47) <= 0;
  *o = (unsigned long long)((NCKEY_F47) | 0);  /* check that NCKEY_F47 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F48(unsigned long long *o)
{
  int n = (NCKEY_F48) <= 0;
  *o = (unsigned long long)((NCKEY_F48) | 0);  /* check that NCKEY_F48 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F49(unsigned long long *o)
{
  int n = (NCKEY_F49) <= 0;
  *o = (unsigned long long)((NCKEY_F49) | 0);  /* check that NCKEY_F49 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F50(unsigned long long *o)
{
  int n = (NCKEY_F50) <= 0;
  *o = (unsigned long long)((NCKEY_F50) | 0);  /* check that NCKEY_F50 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F51(unsigned long long *o)
{
  int n = (NCKEY_F51) <= 0;
  *o = (unsigned long long)((NCKEY_F51) | 0);  /* check that NCKEY_F51 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F52(unsigned long long *o)
{
  int n = (NCKEY_F52) <= 0;
  *o = (unsigned long long)((NCKEY_F52) | 0);  /* check that NCKEY_F52 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F53(unsigned long long *o)
{
  int n = (NCKEY_F53) <= 0;
  *o = (unsigned long long)((NCKEY_F53) | 0);  /* check that NCKEY_F53 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F54(unsigned long long *o)
{
  int n = (NCKEY_F54) <= 0;
  *o = (unsigned long long)((NCKEY_F54) | 0);  /* check that NCKEY_F54 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F55(unsigned long long *o)
{
  int n = (NCKEY_F55) <= 0;
  *o = (unsigned long long)((NCKEY_F55) | 0);  /* check that NCKEY_F55 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F56(unsigned long long *o)
{
  int n = (NCKEY_F56) <= 0;
  *o = (unsigned long long)((NCKEY_F56) | 0);  /* check that NCKEY_F56 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F57(unsigned long long *o)
{
  int n = (NCKEY_F57) <= 0;
  *o = (unsigned long long)((NCKEY_F57) | 0);  /* check that NCKEY_F57 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F58(unsigned long long *o)
{
  int n = (NCKEY_F58) <= 0;
  *o = (unsigned long long)((NCKEY_F58) | 0);  /* check that NCKEY_F58 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F59(unsigned long long *o)
{
  int n = (NCKEY_F59) <= 0;
  *o = (unsigned long long)((NCKEY_F59) | 0);  /* check that NCKEY_F59 is an integer */
  return n;
}

static int _cffi_const_NCKEY_F60(unsigned long long *o)
{
  int n = (NCKEY_F60) <= 0;
  *o = (unsigned long long)((NCKEY_F60) | 0);  /* check that NCKEY_F60 is an integer */
  return n;
}

static int _cffi_const_NCKEY_HOME(unsigned long long *o)
{
  int n = (NCKEY_HOME) <= 0;
  *o = (unsigned long long)((NCKEY_HOME) | 0);  /* check that NCKEY_HOME is an integer */
  return n;
}

static int _cffi_const_NCKEY_INS(unsigned long long *o)
{
  int n = (NCKEY_INS) <= 0;
  *o = (unsigned long long)((NCKEY_INS) | 0);  /* check that NCKEY_INS is an integer */
  return n;
}

static int _cffi_const_NCKEY_INVALID(unsigned long long *o)
{
  int n = (NCKEY_INVALID) <= 0;
  *o = (unsigned long long)((NCKEY_INVALID) | 0);  /* check that NCKEY_INVALID is an integer */
  return n;
}

static int _cffi_const_NCKEY_L3SHIFT(unsigned long long *o)
{
  int n = (NCKEY_L3SHIFT) <= 0;
  *o = (unsigned long long)((NCKEY_L3SHIFT) | 0);  /* check that NCKEY_L3SHIFT is an integer */
  return n;
}

static int _cffi_const_NCKEY_L5SHIFT(unsigned long long *o)
{
  int n = (NCKEY_L5SHIFT) <= 0;
  *o = (unsigned long long)((NCKEY_L5SHIFT) | 0);  /* check that NCKEY_L5SHIFT is an integer */
  return n;
}

static int _cffi_const_NCKEY_LALT(unsigned long long *o)
{
  int n = (NCKEY_LALT) <= 0;
  *o = (unsigned long long)((NCKEY_LALT) | 0);  /* check that NCKEY_LALT is an integer */
  return n;
}

static int _cffi_const_NCKEY_LCTRL(unsigned long long *o)
{
  int n = (NCKEY_LCTRL) <= 0;
  *o = (unsigned long long)((NCKEY_LCTRL) | 0);  /* check that NCKEY_LCTRL is an integer */
  return n;
}

static int _cffi_const_NCKEY_LEFT(unsigned long long *o)
{
  int n = (NCKEY_LEFT) <= 0;
  *o = (unsigned long long)((NCKEY_LEFT) | 0);  /* check that NCKEY_LEFT is an integer */
  return n;
}

static int _cffi_const_NCKEY_LHYPER(unsigned long long *o)
{
  int n = (NCKEY_LHYPER) <= 0;
  *o = (unsigned long long)((NCKEY_LHYPER) | 0);  /* check that NCKEY_LHYPER is an integer */
  return n;
}

static int _cffi_const_NCKEY_LMETA(unsigned long long *o)
{
  int n = (NCKEY_LMETA) <= 0;
  *o = (unsigned long long)((NCKEY_LMETA) | 0);  /* check that NCKEY_LMETA is an integer */
  return n;
}

static int _cffi_const_NCKEY_LSHIFT(unsigned long long *o)
{
  int n = (NCKEY_LSHIFT) <= 0;
  *o = (unsigned long long)((NCKEY_LSHIFT) | 0);  /* check that NCKEY_LSHIFT is an integer */
  return n;
}

static int _cffi_const_NCKEY_LSUPER(unsigned long long *o)
{
  int n = (NCKEY_LSUPER) <= 0;
  *o = (unsigned long long)((NCKEY_LSUPER) | 0);  /* check that NCKEY_LSUPER is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_FF(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_FF) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_FF) | 0);  /* check that NCKEY_MEDIA_FF is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_LVOL(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_LVOL) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_LVOL) | 0);  /* check that NCKEY_MEDIA_LVOL is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_MUTE(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_MUTE) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_MUTE) | 0);  /* check that NCKEY_MEDIA_MUTE is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_NEXT(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_NEXT) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_NEXT) | 0);  /* check that NCKEY_MEDIA_NEXT is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_PAUSE(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_PAUSE) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_PAUSE) | 0);  /* check that NCKEY_MEDIA_PAUSE is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_PLAY(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_PLAY) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_PLAY) | 0);  /* check that NCKEY_MEDIA_PLAY is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_PPAUSE(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_PPAUSE) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_PPAUSE) | 0);  /* check that NCKEY_MEDIA_PPAUSE is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_PREV(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_PREV) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_PREV) | 0);  /* check that NCKEY_MEDIA_PREV is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_RECORD(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_RECORD) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_RECORD) | 0);  /* check that NCKEY_MEDIA_RECORD is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_REV(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_REV) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_REV) | 0);  /* check that NCKEY_MEDIA_REV is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_REWIND(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_REWIND) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_REWIND) | 0);  /* check that NCKEY_MEDIA_REWIND is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_RVOL(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_RVOL) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_RVOL) | 0);  /* check that NCKEY_MEDIA_RVOL is an integer */
  return n;
}

static int _cffi_const_NCKEY_MEDIA_STOP(unsigned long long *o)
{
  int n = (NCKEY_MEDIA_STOP) <= 0;
  *o = (unsigned long long)((NCKEY_MEDIA_STOP) | 0);  /* check that NCKEY_MEDIA_STOP is an integer */
  return n;
}

static int _cffi_const_NCKEY_MENU(unsigned long long *o)
{
  int n = (NCKEY_MENU) <= 0;
  *o = (unsigned long long)((NCKEY_MENU) | 0);  /* check that NCKEY_MENU is an integer */
  return n;
}

static int _cffi_const_NCKEY_MOD_ALT(unsigned long long *o)
{
  int n = (NCKEY_MOD_ALT) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_ALT) | 0);  /* check that NCKEY_MOD_ALT is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOD_CAPSLOCK(unsigned long long *o)
{
  int n = (NCKEY_MOD_CAPSLOCK) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_CAPSLOCK) | 0);  /* check that NCKEY_MOD_CAPSLOCK is an integer */
  if (!_cffi_check_int(*o, n, 64U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOD_CTRL(unsigned long long *o)
{
  int n = (NCKEY_MOD_CTRL) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_CTRL) | 0);  /* check that NCKEY_MOD_CTRL is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOD_HYPER(unsigned long long *o)
{
  int n = (NCKEY_MOD_HYPER) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_HYPER) | 0);  /* check that NCKEY_MOD_HYPER is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOD_META(unsigned long long *o)
{
  int n = (NCKEY_MOD_META) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_META) | 0);  /* check that NCKEY_MOD_META is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOD_NUMLOCK(unsigned long long *o)
{
  int n = (NCKEY_MOD_NUMLOCK) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_NUMLOCK) | 0);  /* check that NCKEY_MOD_NUMLOCK is an integer */
  if (!_cffi_check_int(*o, n, 128U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOD_SHIFT(unsigned long long *o)
{
  int n = (NCKEY_MOD_SHIFT) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_SHIFT) | 0);  /* check that NCKEY_MOD_SHIFT is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOD_SUPER(unsigned long long *o)
{
  int n = (NCKEY_MOD_SUPER) <= 0;
  *o = (unsigned long long)((NCKEY_MOD_SUPER) | 0);  /* check that NCKEY_MOD_SUPER is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_MOTION(unsigned long long *o)
{
  int n = (NCKEY_MOTION) <= 0;
  *o = (unsigned long long)((NCKEY_MOTION) | 0);  /* check that NCKEY_MOTION is an integer */
  return n;
}

static int _cffi_const_NCKEY_NUM_LOCK(unsigned long long *o)
{
  int n = (NCKEY_NUM_LOCK) <= 0;
  *o = (unsigned long long)((NCKEY_NUM_LOCK) | 0);  /* check that NCKEY_NUM_LOCK is an integer */
  return n;
}

static int _cffi_const_NCKEY_PAUSE(unsigned long long *o)
{
  int n = (NCKEY_PAUSE) <= 0;
  *o = (unsigned long long)((NCKEY_PAUSE) | 0);  /* check that NCKEY_PAUSE is an integer */
  return n;
}

static int _cffi_const_NCKEY_PGDOWN(unsigned long long *o)
{
  int n = (NCKEY_PGDOWN) <= 0;
  *o = (unsigned long long)((NCKEY_PGDOWN) | 0);  /* check that NCKEY_PGDOWN is an integer */
  return n;
}

static int _cffi_const_NCKEY_PGUP(unsigned long long *o)
{
  int n = (NCKEY_PGUP) <= 0;
  *o = (unsigned long long)((NCKEY_PGUP) | 0);  /* check that NCKEY_PGUP is an integer */
  return n;
}

static int _cffi_const_NCKEY_PRINT(unsigned long long *o)
{
  int n = (NCKEY_PRINT) <= 0;
  *o = (unsigned long long)((NCKEY_PRINT) | 0);  /* check that NCKEY_PRINT is an integer */
  return n;
}

static int _cffi_const_NCKEY_PRINT_SCREEN(unsigned long long *o)
{
  int n = (NCKEY_PRINT_SCREEN) <= 0;
  *o = (unsigned long long)((NCKEY_PRINT_SCREEN) | 0);  /* check that NCKEY_PRINT_SCREEN is an integer */
  return n;
}

static int _cffi_const_NCKEY_RALT(unsigned long long *o)
{
  int n = (NCKEY_RALT) <= 0;
  *o = (unsigned long long)((NCKEY_RALT) | 0);  /* check that NCKEY_RALT is an integer */
  return n;
}

static int _cffi_const_NCKEY_RCTRL(unsigned long long *o)
{
  int n = (NCKEY_RCTRL) <= 0;
  *o = (unsigned long long)((NCKEY_RCTRL) | 0);  /* check that NCKEY_RCTRL is an integer */
  return n;
}

static int _cffi_const_NCKEY_REFRESH(unsigned long long *o)
{
  int n = (NCKEY_REFRESH) <= 0;
  *o = (unsigned long long)((NCKEY_REFRESH) | 0);  /* check that NCKEY_REFRESH is an integer */
  return n;
}

static int _cffi_const_NCKEY_RESIZE(unsigned long long *o)
{
  int n = (NCKEY_RESIZE) <= 0;
  *o = (unsigned long long)((NCKEY_RESIZE) | 0);  /* check that NCKEY_RESIZE is an integer */
  return n;
}

static int _cffi_const_NCKEY_RETURN(unsigned long long *o)
{
  int n = (NCKEY_RETURN) <= 0;
  *o = (unsigned long long)((NCKEY_RETURN) | 0);  /* check that NCKEY_RETURN is an integer */
  return n;
}

static int _cffi_const_NCKEY_RHYPER(unsigned long long *o)
{
  int n = (NCKEY_RHYPER) <= 0;
  *o = (unsigned long long)((NCKEY_RHYPER) | 0);  /* check that NCKEY_RHYPER is an integer */
  return n;
}

static int _cffi_const_NCKEY_RIGHT(unsigned long long *o)
{
  int n = (NCKEY_RIGHT) <= 0;
  *o = (unsigned long long)((NCKEY_RIGHT) | 0);  /* check that NCKEY_RIGHT is an integer */
  return n;
}

static int _cffi_const_NCKEY_RMETA(unsigned long long *o)
{
  int n = (NCKEY_RMETA) <= 0;
  *o = (unsigned long long)((NCKEY_RMETA) | 0);  /* check that NCKEY_RMETA is an integer */
  return n;
}

static int _cffi_const_NCKEY_RSHIFT(unsigned long long *o)
{
  int n = (NCKEY_RSHIFT) <= 0;
  *o = (unsigned long long)((NCKEY_RSHIFT) | 0);  /* check that NCKEY_RSHIFT is an integer */
  return n;
}

static int _cffi_const_NCKEY_RSUPER(unsigned long long *o)
{
  int n = (NCKEY_RSUPER) <= 0;
  *o = (unsigned long long)((NCKEY_RSUPER) | 0);  /* check that NCKEY_RSUPER is an integer */
  return n;
}

static int _cffi_const_NCKEY_SCROLL_DOWN(unsigned long long *o)
{
  int n = (NCKEY_SCROLL_DOWN) <= 0;
  *o = (unsigned long long)((NCKEY_SCROLL_DOWN) | 0);  /* check that NCKEY_SCROLL_DOWN is an integer */
  return n;
}

static int _cffi_const_NCKEY_SCROLL_LOCK(unsigned long long *o)
{
  int n = (NCKEY_SCROLL_LOCK) <= 0;
  *o = (unsigned long long)((NCKEY_SCROLL_LOCK) | 0);  /* check that NCKEY_SCROLL_LOCK is an integer */
  return n;
}

static int _cffi_const_NCKEY_SCROLL_UP(unsigned long long *o)
{
  int n = (NCKEY_SCROLL_UP) <= 0;
  *o = (unsigned long long)((NCKEY_SCROLL_UP) | 0);  /* check that NCKEY_SCROLL_UP is an integer */
  return n;
}

static int _cffi_const_NCKEY_SEPARATOR(unsigned long long *o)
{
  int n = (NCKEY_SEPARATOR) <= 0;
  *o = (unsigned long long)((NCKEY_SEPARATOR) | 0);  /* check that NCKEY_SEPARATOR is an integer */
  return n;
}

static int _cffi_const_NCKEY_SIGNAL(unsigned long long *o)
{
  int n = (NCKEY_SIGNAL) <= 0;
  *o = (unsigned long long)((NCKEY_SIGNAL) | 0);  /* check that NCKEY_SIGNAL is an integer */
  return n;
}

static int _cffi_const_NCKEY_SPACE(unsigned long long *o)
{
  int n = (NCKEY_SPACE) <= 0;
  *o = (unsigned long long)((NCKEY_SPACE) | 0);  /* check that NCKEY_SPACE is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_TAB(unsigned long long *o)
{
  int n = (NCKEY_TAB) <= 0;
  *o = (unsigned long long)((NCKEY_TAB) | 0);  /* check that NCKEY_TAB is an integer */
  if (!_cffi_check_int(*o, n, 9U))
    n |= 2;
  return n;
}

static int _cffi_const_NCKEY_ULEFT(unsigned long long *o)
{
  int n = (NCKEY_ULEFT) <= 0;
  *o = (unsigned long long)((NCKEY_ULEFT) | 0);  /* check that NCKEY_ULEFT is an integer */
  return n;
}

static int _cffi_const_NCKEY_UP(unsigned long long *o)
{
  int n = (NCKEY_UP) <= 0;
  *o = (unsigned long long)((NCKEY_UP) | 0);  /* check that NCKEY_UP is an integer */
  return n;
}

static int _cffi_const_NCKEY_URIGHT(unsigned long long *o)
{
  int n = (NCKEY_URIGHT) <= 0;
  *o = (unsigned long long)((NCKEY_URIGHT) | 0);  /* check that NCKEY_URIGHT is an integer */
  return n;
}

static int _cffi_const_NCMENU_OPTION_BOTTOM(unsigned long long *o)
{
  int n = (NCMENU_OPTION_BOTTOM) <= 0;
  *o = (unsigned long long)((NCMENU_OPTION_BOTTOM) | 0);  /* check that NCMENU_OPTION_BOTTOM is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCMENU_OPTION_HIDING(unsigned long long *o)
{
  int n = (NCMENU_OPTION_HIDING) <= 0;
  *o = (unsigned long long)((NCMENU_OPTION_HIDING) | 0);  /* check that NCMENU_OPTION_HIDING is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCMICE_ALL_EVENTS(unsigned long long *o)
{
  int n = (NCMICE_ALL_EVENTS) <= 0;
  *o = (unsigned long long)((NCMICE_ALL_EVENTS) | 0);  /* check that NCMICE_ALL_EVENTS is an integer */
  if (!_cffi_check_int(*o, n, 7U))
    n |= 2;
  return n;
}

static int _cffi_const_NCMICE_BUTTON_EVENT(unsigned long long *o)
{
  int n = (NCMICE_BUTTON_EVENT) <= 0;
  *o = (unsigned long long)((NCMICE_BUTTON_EVENT) | 0);  /* check that NCMICE_BUTTON_EVENT is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCMICE_DRAG_EVENT(unsigned long long *o)
{
  int n = (NCMICE_DRAG_EVENT) <= 0;
  *o = (unsigned long long)((NCMICE_DRAG_EVENT) | 0);  /* check that NCMICE_DRAG_EVENT is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCMICE_MOVE_EVENT(unsigned long long *o)
{
  int n = (NCMICE_MOVE_EVENT) <= 0;
  *o = (unsigned long long)((NCMICE_MOVE_EVENT) | 0);  /* check that NCMICE_MOVE_EVENT is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCMICE_NO_EVENTS(unsigned long long *o)
{
  int n = (NCMICE_NO_EVENTS) <= 0;
  *o = (unsigned long long)((NCMICE_NO_EVENTS) | 0);  /* check that NCMICE_NO_EVENTS is an integer */
  if (!_cffi_check_int(*o, n, 0))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_CLI_MODE(unsigned long long *o)
{
  int n = (NCOPTION_CLI_MODE) <= 0;
  *o = (unsigned long long)((NCOPTION_CLI_MODE) | 0);  /* check that NCOPTION_CLI_MODE is an integer */
  return n;
}

static int _cffi_const_NCOPTION_DRAIN_INPUT(unsigned long long *o)
{
  int n = (NCOPTION_DRAIN_INPUT) <= 0;
  *o = (unsigned long long)((NCOPTION_DRAIN_INPUT) | 0);  /* check that NCOPTION_DRAIN_INPUT is an integer */
  if (!_cffi_check_int(*o, n, 256U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_INHIBIT_SETLOCALE(unsigned long long *o)
{
  int n = (NCOPTION_INHIBIT_SETLOCALE) <= 0;
  *o = (unsigned long long)((NCOPTION_INHIBIT_SETLOCALE) | 0);  /* check that NCOPTION_INHIBIT_SETLOCALE is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_NO_ALTERNATE_SCREEN(unsigned long long *o)
{
  int n = (NCOPTION_NO_ALTERNATE_SCREEN) <= 0;
  *o = (unsigned long long)((NCOPTION_NO_ALTERNATE_SCREEN) | 0);  /* check that NCOPTION_NO_ALTERNATE_SCREEN is an integer */
  if (!_cffi_check_int(*o, n, 64U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_NO_CLEAR_BITMAPS(unsigned long long *o)
{
  int n = (NCOPTION_NO_CLEAR_BITMAPS) <= 0;
  *o = (unsigned long long)((NCOPTION_NO_CLEAR_BITMAPS) | 0);  /* check that NCOPTION_NO_CLEAR_BITMAPS is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_NO_FONT_CHANGES(unsigned long long *o)
{
  int n = (NCOPTION_NO_FONT_CHANGES) <= 0;
  *o = (unsigned long long)((NCOPTION_NO_FONT_CHANGES) | 0);  /* check that NCOPTION_NO_FONT_CHANGES is an integer */
  if (!_cffi_check_int(*o, n, 128U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_NO_QUIT_SIGHANDLERS(unsigned long long *o)
{
  int n = (NCOPTION_NO_QUIT_SIGHANDLERS) <= 0;
  *o = (unsigned long long)((NCOPTION_NO_QUIT_SIGHANDLERS) | 0);  /* check that NCOPTION_NO_QUIT_SIGHANDLERS is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_NO_WINCH_SIGHANDLER(unsigned long long *o)
{
  int n = (NCOPTION_NO_WINCH_SIGHANDLER) <= 0;
  *o = (unsigned long long)((NCOPTION_NO_WINCH_SIGHANDLER) | 0);  /* check that NCOPTION_NO_WINCH_SIGHANDLER is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_PRESERVE_CURSOR(unsigned long long *o)
{
  int n = (NCOPTION_PRESERVE_CURSOR) <= 0;
  *o = (unsigned long long)((NCOPTION_PRESERVE_CURSOR) | 0);  /* check that NCOPTION_PRESERVE_CURSOR is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_SCROLLING(unsigned long long *o)
{
  int n = (NCOPTION_SCROLLING) <= 0;
  *o = (unsigned long long)((NCOPTION_SCROLLING) | 0);  /* check that NCOPTION_SCROLLING is an integer */
  if (!_cffi_check_int(*o, n, 512U))
    n |= 2;
  return n;
}

static int _cffi_const_NCOPTION_SUPPRESS_BANNERS(unsigned long long *o)
{
  int n = (NCOPTION_SUPPRESS_BANNERS) <= 0;
  *o = (unsigned long long)((NCOPTION_SUPPRESS_BANNERS) | 0);  /* check that NCOPTION_SUPPRESS_BANNERS is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPALETTESIZE(unsigned long long *o)
{
  int n = (NCPALETTESIZE) <= 0;
  *o = (unsigned long long)((NCPALETTESIZE) | 0);  /* check that NCPALETTESIZE is an integer */
  if (!_cffi_check_int(*o, n, 256U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLANE_OPTION_AUTOGROW(unsigned long long *o)
{
  int n = (NCPLANE_OPTION_AUTOGROW) <= 0;
  *o = (unsigned long long)((NCPLANE_OPTION_AUTOGROW) | 0);  /* check that NCPLANE_OPTION_AUTOGROW is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLANE_OPTION_FIXED(unsigned long long *o)
{
  int n = (NCPLANE_OPTION_FIXED) <= 0;
  *o = (unsigned long long)((NCPLANE_OPTION_FIXED) | 0);  /* check that NCPLANE_OPTION_FIXED is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLANE_OPTION_HORALIGNED(unsigned long long *o)
{
  int n = (NCPLANE_OPTION_HORALIGNED) <= 0;
  *o = (unsigned long long)((NCPLANE_OPTION_HORALIGNED) | 0);  /* check that NCPLANE_OPTION_HORALIGNED is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLANE_OPTION_MARGINALIZED(unsigned long long *o)
{
  int n = (NCPLANE_OPTION_MARGINALIZED) <= 0;
  *o = (unsigned long long)((NCPLANE_OPTION_MARGINALIZED) | 0);  /* check that NCPLANE_OPTION_MARGINALIZED is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLANE_OPTION_VERALIGNED(unsigned long long *o)
{
  int n = (NCPLANE_OPTION_VERALIGNED) <= 0;
  *o = (unsigned long long)((NCPLANE_OPTION_VERALIGNED) | 0);  /* check that NCPLANE_OPTION_VERALIGNED is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLANE_OPTION_VSCROLL(unsigned long long *o)
{
  int n = (NCPLANE_OPTION_VSCROLL) <= 0;
  *o = (unsigned long long)((NCPLANE_OPTION_VSCROLL) | 0);  /* check that NCPLANE_OPTION_VSCROLL is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLOT_OPTION_DETECTMAXONLY(unsigned long long *o)
{
  int n = (NCPLOT_OPTION_DETECTMAXONLY) <= 0;
  *o = (unsigned long long)((NCPLOT_OPTION_DETECTMAXONLY) | 0);  /* check that NCPLOT_OPTION_DETECTMAXONLY is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLOT_OPTION_EXPONENTIALD(unsigned long long *o)
{
  int n = (NCPLOT_OPTION_EXPONENTIALD) <= 0;
  *o = (unsigned long long)((NCPLOT_OPTION_EXPONENTIALD) | 0);  /* check that NCPLOT_OPTION_EXPONENTIALD is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLOT_OPTION_LABELTICKSD(unsigned long long *o)
{
  int n = (NCPLOT_OPTION_LABELTICKSD) <= 0;
  *o = (unsigned long long)((NCPLOT_OPTION_LABELTICKSD) | 0);  /* check that NCPLOT_OPTION_LABELTICKSD is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLOT_OPTION_NODEGRADE(unsigned long long *o)
{
  int n = (NCPLOT_OPTION_NODEGRADE) <= 0;
  *o = (unsigned long long)((NCPLOT_OPTION_NODEGRADE) | 0);  /* check that NCPLOT_OPTION_NODEGRADE is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLOT_OPTION_PRINTSAMPLE(unsigned long long *o)
{
  int n = (NCPLOT_OPTION_PRINTSAMPLE) <= 0;
  *o = (unsigned long long)((NCPLOT_OPTION_PRINTSAMPLE) | 0);  /* check that NCPLOT_OPTION_PRINTSAMPLE is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPLOT_OPTION_VERTICALI(unsigned long long *o)
{
  int n = (NCPLOT_OPTION_VERTICALI) <= 0;
  *o = (unsigned long long)((NCPLOT_OPTION_VERTICALI) | 0);  /* check that NCPLOT_OPTION_VERTICALI is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPREFIXCOLUMNS(unsigned long long *o)
{
  int n = (NCPREFIXCOLUMNS) <= 0;
  *o = (unsigned long long)((NCPREFIXCOLUMNS) | 0);  /* check that NCPREFIXCOLUMNS is an integer */
  if (!_cffi_check_int(*o, n, 7U))
    n |= 2;
  return n;
}

static int _cffi_const_NCPREFIXSTRLEN(unsigned long long *o)
{
  int n = (NCPREFIXSTRLEN) <= 0;
  *o = (unsigned long long)((NCPREFIXSTRLEN) | 0);  /* check that NCPREFIXSTRLEN is an integer */
  return n;
}

static int _cffi_const_NCPROGBAR_OPTION_RETROGRADE(unsigned long long *o)
{
  int n = (NCPROGBAR_OPTION_RETROGRADE) <= 0;
  *o = (unsigned long long)((NCPROGBAR_OPTION_RETROGRADE) | 0);  /* check that NCPROGBAR_OPTION_RETROGRADE is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCREADER_OPTION_CURSOR(unsigned long long *o)
{
  int n = (NCREADER_OPTION_CURSOR) <= 0;
  *o = (unsigned long long)((NCREADER_OPTION_CURSOR) | 0);  /* check that NCREADER_OPTION_CURSOR is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCREADER_OPTION_HORSCROLL(unsigned long long *o)
{
  int n = (NCREADER_OPTION_HORSCROLL) <= 0;
  *o = (unsigned long long)((NCREADER_OPTION_HORSCROLL) | 0);  /* check that NCREADER_OPTION_HORSCROLL is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCREADER_OPTION_NOCMDKEYS(unsigned long long *o)
{
  int n = (NCREADER_OPTION_NOCMDKEYS) <= 0;
  *o = (unsigned long long)((NCREADER_OPTION_NOCMDKEYS) | 0);  /* check that NCREADER_OPTION_NOCMDKEYS is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCREADER_OPTION_VERSCROLL(unsigned long long *o)
{
  int n = (NCREADER_OPTION_VERSCROLL) <= 0;
  *o = (unsigned long long)((NCREADER_OPTION_VERSCROLL) | 0);  /* check that NCREADER_OPTION_VERSCROLL is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCREEL_OPTION_CIRCULAR(unsigned long long *o)
{
  int n = (NCREEL_OPTION_CIRCULAR) <= 0;
  *o = (unsigned long long)((NCREEL_OPTION_CIRCULAR) | 0);  /* check that NCREEL_OPTION_CIRCULAR is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCREEL_OPTION_INFINITESCROLL(unsigned long long *o)
{
  int n = (NCREEL_OPTION_INFINITESCROLL) <= 0;
  *o = (unsigned long long)((NCREEL_OPTION_INFINITESCROLL) | 0);  /* check that NCREEL_OPTION_INFINITESCROLL is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCSTYLE_BOLD(unsigned long long *o)
{
  int n = (NCSTYLE_BOLD) <= 0;
  *o = (unsigned long long)((NCSTYLE_BOLD) | 0);  /* check that NCSTYLE_BOLD is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCSTYLE_ITALIC(unsigned long long *o)
{
  int n = (NCSTYLE_ITALIC) <= 0;
  *o = (unsigned long long)((NCSTYLE_ITALIC) | 0);  /* check that NCSTYLE_ITALIC is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCSTYLE_MASK(unsigned long long *o)
{
  int n = (NCSTYLE_MASK) <= 0;
  *o = (unsigned long long)((NCSTYLE_MASK) | 0);  /* check that NCSTYLE_MASK is an integer */
  if (!_cffi_check_int(*o, n, 65535U))
    n |= 2;
  return n;
}

static int _cffi_const_NCSTYLE_NONE(unsigned long long *o)
{
  int n = (NCSTYLE_NONE) <= 0;
  *o = (unsigned long long)((NCSTYLE_NONE) | 0);  /* check that NCSTYLE_NONE is an integer */
  if (!_cffi_check_int(*o, n, 0))
    n |= 2;
  return n;
}

static int _cffi_const_NCSTYLE_STRUCK(unsigned long long *o)
{
  int n = (NCSTYLE_STRUCK) <= 0;
  *o = (unsigned long long)((NCSTYLE_STRUCK) | 0);  /* check that NCSTYLE_STRUCK is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCSTYLE_UNDERCURL(unsigned long long *o)
{
  int n = (NCSTYLE_UNDERCURL) <= 0;
  *o = (unsigned long long)((NCSTYLE_UNDERCURL) | 0);  /* check that NCSTYLE_UNDERCURL is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCSTYLE_UNDERLINE(unsigned long long *o)
{
  int n = (NCSTYLE_UNDERLINE) <= 0;
  *o = (unsigned long long)((NCSTYLE_UNDERLINE) | 0);  /* check that NCSTYLE_UNDERLINE is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NCTABBED_OPTION_BOTTOM(unsigned long long *o)
{
  int n = (NCTABBED_OPTION_BOTTOM) <= 0;
  *o = (unsigned long long)((NCTABBED_OPTION_BOTTOM) | 0);  /* check that NCTABBED_OPTION_BOTTOM is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCVISUAL_OPTION_ADDALPHA(unsigned long long *o)
{
  int n = (NCVISUAL_OPTION_ADDALPHA) <= 0;
  *o = (unsigned long long)((NCVISUAL_OPTION_ADDALPHA) | 0);  /* check that NCVISUAL_OPTION_ADDALPHA is an integer */
  if (!_cffi_check_int(*o, n, 16U))
    n |= 2;
  return n;
}

static int _cffi_const_NCVISUAL_OPTION_BLEND(unsigned long long *o)
{
  int n = (NCVISUAL_OPTION_BLEND) <= 0;
  *o = (unsigned long long)((NCVISUAL_OPTION_BLEND) | 0);  /* check that NCVISUAL_OPTION_BLEND is an integer */
  if (!_cffi_check_int(*o, n, 2U))
    n |= 2;
  return n;
}

static int _cffi_const_NCVISUAL_OPTION_CHILDPLANE(unsigned long long *o)
{
  int n = (NCVISUAL_OPTION_CHILDPLANE) <= 0;
  *o = (unsigned long long)((NCVISUAL_OPTION_CHILDPLANE) | 0);  /* check that NCVISUAL_OPTION_CHILDPLANE is an integer */
  if (!_cffi_check_int(*o, n, 32U))
    n |= 2;
  return n;
}

static int _cffi_const_NCVISUAL_OPTION_HORALIGNED(unsigned long long *o)
{
  int n = (NCVISUAL_OPTION_HORALIGNED) <= 0;
  *o = (unsigned long long)((NCVISUAL_OPTION_HORALIGNED) | 0);  /* check that NCVISUAL_OPTION_HORALIGNED is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

static int _cffi_const_NCVISUAL_OPTION_NODEGRADE(unsigned long long *o)
{
  int n = (NCVISUAL_OPTION_NODEGRADE) <= 0;
  *o = (unsigned long long)((NCVISUAL_OPTION_NODEGRADE) | 0);  /* check that NCVISUAL_OPTION_NODEGRADE is an integer */
  if (!_cffi_check_int(*o, n, 1U))
    n |= 2;
  return n;
}

static int _cffi_const_NCVISUAL_OPTION_NOINTERPOLATE(unsigned long long *o)
{
  int n = (NCVISUAL_OPTION_NOINTERPOLATE) <= 0;
  *o = (unsigned long long)((NCVISUAL_OPTION_NOINTERPOLATE) | 0);  /* check that NCVISUAL_OPTION_NOINTERPOLATE is an integer */
  if (!_cffi_check_int(*o, n, 64U))
    n |= 2;
  return n;
}

static int _cffi_const_NCVISUAL_OPTION_VERALIGNED(unsigned long long *o)
{
  int n = (NCVISUAL_OPTION_VERALIGNED) <= 0;
  *o = (unsigned long long)((NCVISUAL_OPTION_VERALIGNED) | 0);  /* check that NCVISUAL_OPTION_VERALIGNED is an integer */
  if (!_cffi_check_int(*o, n, 8U))
    n |= 2;
  return n;
}

static int _cffi_const_NC_BGDEFAULT_MASK(unsigned long long *o)
{
  int n = (NC_BGDEFAULT_MASK) <= 0;
  *o = (unsigned long long)((NC_BGDEFAULT_MASK) | 0);  /* check that NC_BGDEFAULT_MASK is an integer */
  if (!_cffi_check_int(*o, n, 1073741824U))
    n |= 2;
  return n;
}

static int _cffi_const_NC_BG_ALPHA_MASK(unsigned long long *o)
{
  int n = (NC_BG_ALPHA_MASK) <= 0;
  *o = (unsigned long long)((NC_BG_ALPHA_MASK) | 0);  /* check that NC_BG_ALPHA_MASK is an integer */
  if (!_cffi_check_int(*o, n, 805306368U))
    n |= 2;
  return n;
}

static int _cffi_const_NC_BG_PALETTE(unsigned long long *o)
{
  int n = (NC_BG_PALETTE) <= 0;
  *o = (unsigned long long)((NC_BG_PALETTE) | 0);  /* check that NC_BG_PALETTE is an integer */
  if (!_cffi_check_int(*o, n, 134217728U))
    n |= 2;
  return n;
}

static int _cffi_const_NC_BG_RGB_MASK(unsigned long long *o)
{
  int n = (NC_BG_RGB_MASK) <= 0;
  *o = (unsigned long long)((NC_BG_RGB_MASK) | 0);  /* check that NC_BG_RGB_MASK is an integer */
  if (!_cffi_check_int(*o, n, 16777215U))
    n |= 2;
  return n;
}

static int _cffi_const_NC_NOBACKGROUND_MASK(unsigned long long *o)
{
  int n = (NC_NOBACKGROUND_MASK) <= 0;
  *o = (unsigned long long)((NC_NOBACKGROUND_MASK) | 0);  /* check that NC_NOBACKGROUND_MASK is an integer */
  if (!_cffi_check_int(*o, n, 9727775195120271360U))
    n |= 2;
  return n;
}

static int _cffi_const_WCHAR_MAX_UTF8BYTES(unsigned long long *o)
{
  int n = (WCHAR_MAX_UTF8BYTES) <= 0;
  *o = (unsigned long long)((WCHAR_MAX_UTF8BYTES) | 0);  /* check that WCHAR_MAX_UTF8BYTES is an integer */
  if (!_cffi_check_int(*o, n, 4U))
    n |= 2;
  return n;
}

_CFFI_UNUSED_FN
static void _cffi_checkfld__nccapabilities(nccapabilities *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->colors) | 0);  /* check that 'nccapabilities.colors' is an integer */
  (void)((p->utf8) | 0);  /* check that 'nccapabilities.utf8' is an integer */
  (void)((p->rgb) | 0);  /* check that 'nccapabilities.rgb' is an integer */
  (void)((p->can_change_colors) | 0);  /* check that 'nccapabilities.can_change_colors' is an integer */
  (void)((p->halfblocks) | 0);  /* check that 'nccapabilities.halfblocks' is an integer */
  (void)((p->quadrants) | 0);  /* check that 'nccapabilities.quadrants' is an integer */
  (void)((p->sextants) | 0);  /* check that 'nccapabilities.sextants' is an integer */
  (void)((p->octants) | 0);  /* check that 'nccapabilities.octants' is an integer */
  (void)((p->braille) | 0);  /* check that 'nccapabilities.braille' is an integer */
}
struct _cffi_align__nccapabilities { char x; nccapabilities y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__nccell(nccell *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->gcluster) | 0);  /* check that 'nccell.gcluster' is an integer */
  (void)((p->gcluster_backstop) | 0);  /* check that 'nccell.gcluster_backstop' is an integer */
  (void)((p->width) | 0);  /* check that 'nccell.width' is an integer */
  (void)((p->stylemask) | 0);  /* check that 'nccell.stylemask' is an integer */
  (void)((p->channels) | 0);  /* check that 'nccell.channels' is an integer */
}
struct _cffi_align__nccell { char x; nccell y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncfdplane_options(ncfdplane_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { void * *tmp = &p->curry; (void)tmp; }
  (void)((p->follow) | 0);  /* check that 'ncfdplane_options.follow' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncfdplane_options.flags' is an integer */
}
struct _cffi_align__ncfdplane_options { char x; ncfdplane_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncinput(ncinput *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->id) | 0);  /* check that 'ncinput.id' is an integer */
  (void)((p->y) | 0);  /* check that 'ncinput.y' is an integer */
  (void)((p->x) | 0);  /* check that 'ncinput.x' is an integer */
  { char(*tmp)[5] = &p->utf8; (void)tmp; }
  (void)((p->alt) | 0);  /* check that 'ncinput.alt' is an integer */
  (void)((p->shift) | 0);  /* check that 'ncinput.shift' is an integer */
  (void)((p->ctrl) | 0);  /* check that 'ncinput.ctrl' is an integer */
  { ncintype_e *tmp = &p->evtype; (void)tmp; }
  (void)((p->modifiers) | 0);  /* check that 'ncinput.modifiers' is an integer */
  (void)((p->ypx) | 0);  /* check that 'ncinput.ypx' is an integer */
  (void)((p->xpx) | 0);  /* check that 'ncinput.xpx' is an integer */
  { uint32_t(*tmp)[4] = &p->eff_text; (void)tmp; }
}
struct _cffi_align__ncinput { char x; ncinput y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld_struct_ncmenu_item(struct ncmenu_item *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { char const * *tmp = &p->desc; (void)tmp; }
  { ncinput *tmp = &p->shortcut; (void)tmp; }
}
struct _cffi_align_struct_ncmenu_item { char x; struct ncmenu_item y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncmenu_options(ncmenu_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { struct ncmenu_section * *tmp = &p->sections; (void)tmp; }
  (void)((p->sectioncount) | 0);  /* check that 'ncmenu_options.sectioncount' is an integer */
  (void)((p->headerchannels) | 0);  /* check that 'ncmenu_options.headerchannels' is an integer */
  (void)((p->sectionchannels) | 0);  /* check that 'ncmenu_options.sectionchannels' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncmenu_options.flags' is an integer */
}
struct _cffi_align__ncmenu_options { char x; ncmenu_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld_struct_ncmenu_section(struct ncmenu_section *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { char const * *tmp = &p->name; (void)tmp; }
  (void)((p->itemcount) | 0);  /* check that 'struct ncmenu_section.itemcount' is an integer */
  { struct ncmenu_item * *tmp = &p->items; (void)tmp; }
  { ncinput *tmp = &p->shortcut; (void)tmp; }
}
struct _cffi_align_struct_ncmenu_section { char x; struct ncmenu_section y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld_struct_ncmselector_item(struct ncmselector_item *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { char const * *tmp = &p->option; (void)tmp; }
  { char const * *tmp = &p->desc; (void)tmp; }
  (void)((p->selected) | 0);  /* check that 'struct ncmselector_item.selected' is an integer */
}
struct _cffi_align_struct_ncmselector_item { char x; struct ncmselector_item y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncmultiselector_options(ncmultiselector_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { char const * *tmp = &p->title; (void)tmp; }
  { char const * *tmp = &p->secondary; (void)tmp; }
  { char const * *tmp = &p->footer; (void)tmp; }
  { struct ncmselector_item const * *tmp = &p->items; (void)tmp; }
  (void)((p->maxdisplay) | 0);  /* check that 'ncmultiselector_options.maxdisplay' is an integer */
  (void)((p->opchannels) | 0);  /* check that 'ncmultiselector_options.opchannels' is an integer */
  (void)((p->descchannels) | 0);  /* check that 'ncmultiselector_options.descchannels' is an integer */
  (void)((p->titlechannels) | 0);  /* check that 'ncmultiselector_options.titlechannels' is an integer */
  (void)((p->footchannels) | 0);  /* check that 'ncmultiselector_options.footchannels' is an integer */
  (void)((p->boxchannels) | 0);  /* check that 'ncmultiselector_options.boxchannels' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncmultiselector_options.flags' is an integer */
}
struct _cffi_align__ncmultiselector_options { char x; ncmultiselector_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncpalette(ncpalette *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { uint32_t(*tmp)[256] = &p->chans; (void)tmp; }
}
struct _cffi_align__ncpalette { char x; ncpalette y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncplane_options(ncplane_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->y) | 0);  /* check that 'ncplane_options.y' is an integer */
  (void)((p->x) | 0);  /* check that 'ncplane_options.x' is an integer */
  (void)((p->rows) | 0);  /* check that 'ncplane_options.rows' is an integer */
  (void)((p->cols) | 0);  /* check that 'ncplane_options.cols' is an integer */
  { void * *tmp = &p->userptr; (void)tmp; }
  { char const * *tmp = &p->name; (void)tmp; }
  { int(* *tmp)(struct ncplane *) = &p->resizecb; (void)tmp; }
  (void)((p->flags) | 0);  /* check that 'ncplane_options.flags' is an integer */
  (void)((p->margin_b) | 0);  /* check that 'ncplane_options.margin_b' is an integer */
  (void)((p->margin_r) | 0);  /* check that 'ncplane_options.margin_r' is an integer */
}
struct _cffi_align__ncplane_options { char x; ncplane_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncplot_options(ncplot_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->maxchannels) | 0);  /* check that 'ncplot_options.maxchannels' is an integer */
  (void)((p->minchannels) | 0);  /* check that 'ncplot_options.minchannels' is an integer */
  (void)((p->legendstyle) | 0);  /* check that 'ncplot_options.legendstyle' is an integer */
  { ncblitter_e *tmp = &p->gridtype; (void)tmp; }
  (void)((p->rangex) | 0);  /* check that 'ncplot_options.rangex' is an integer */
  { char const * *tmp = &p->title; (void)tmp; }
  (void)((p->flags) | 0);  /* check that 'ncplot_options.flags' is an integer */
}
struct _cffi_align__ncplot_options { char x; ncplot_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncprogbar_options(ncprogbar_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->ulchannel) | 0);  /* check that 'ncprogbar_options.ulchannel' is an integer */
  (void)((p->urchannel) | 0);  /* check that 'ncprogbar_options.urchannel' is an integer */
  (void)((p->blchannel) | 0);  /* check that 'ncprogbar_options.blchannel' is an integer */
  (void)((p->brchannel) | 0);  /* check that 'ncprogbar_options.brchannel' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncprogbar_options.flags' is an integer */
}
struct _cffi_align__ncprogbar_options { char x; ncprogbar_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncreader_options(ncreader_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->tchannels) | 0);  /* check that 'ncreader_options.tchannels' is an integer */
  (void)((p->tattrword) | 0);  /* check that 'ncreader_options.tattrword' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncreader_options.flags' is an integer */
}
struct _cffi_align__ncreader_options { char x; ncreader_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncreel_options(ncreel_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->bordermask) | 0);  /* check that 'ncreel_options.bordermask' is an integer */
  (void)((p->borderchan) | 0);  /* check that 'ncreel_options.borderchan' is an integer */
  (void)((p->tabletmask) | 0);  /* check that 'ncreel_options.tabletmask' is an integer */
  (void)((p->tabletchan) | 0);  /* check that 'ncreel_options.tabletchan' is an integer */
  (void)((p->focusedchan) | 0);  /* check that 'ncreel_options.focusedchan' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncreel_options.flags' is an integer */
}
struct _cffi_align__ncreel_options { char x; ncreel_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld_struct_ncselector_item(struct ncselector_item *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { char const * *tmp = &p->option; (void)tmp; }
  { char const * *tmp = &p->desc; (void)tmp; }
}
struct _cffi_align_struct_ncselector_item { char x; struct ncselector_item y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncselector_options(ncselector_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { char const * *tmp = &p->title; (void)tmp; }
  { char const * *tmp = &p->secondary; (void)tmp; }
  { char const * *tmp = &p->footer; (void)tmp; }
  { struct ncselector_item const * *tmp = &p->items; (void)tmp; }
  (void)((p->defidx) | 0);  /* check that 'ncselector_options.defidx' is an integer */
  (void)((p->maxdisplay) | 0);  /* check that 'ncselector_options.maxdisplay' is an integer */
  (void)((p->opchannels) | 0);  /* check that 'ncselector_options.opchannels' is an integer */
  (void)((p->descchannels) | 0);  /* check that 'ncselector_options.descchannels' is an integer */
  (void)((p->titlechannels) | 0);  /* check that 'ncselector_options.titlechannels' is an integer */
  (void)((p->footchannels) | 0);  /* check that 'ncselector_options.footchannels' is an integer */
  (void)((p->boxchannels) | 0);  /* check that 'ncselector_options.boxchannels' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncselector_options.flags' is an integer */
}
struct _cffi_align__ncselector_options { char x; ncselector_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncstats(ncstats *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->renders) | 0);  /* check that 'ncstats.renders' is an integer */
  (void)((p->writeouts) | 0);  /* check that 'ncstats.writeouts' is an integer */
  (void)((p->failed_renders) | 0);  /* check that 'ncstats.failed_renders' is an integer */
  (void)((p->failed_writeouts) | 0);  /* check that 'ncstats.failed_writeouts' is an integer */
  (void)((p->raster_bytes) | 0);  /* check that 'ncstats.raster_bytes' is an integer */
  (void)((p->raster_max_bytes) | 0);  /* check that 'ncstats.raster_max_bytes' is an integer */
  (void)((p->raster_min_bytes) | 0);  /* check that 'ncstats.raster_min_bytes' is an integer */
  (void)((p->render_ns) | 0);  /* check that 'ncstats.render_ns' is an integer */
  (void)((p->render_max_ns) | 0);  /* check that 'ncstats.render_max_ns' is an integer */
  (void)((p->render_min_ns) | 0);  /* check that 'ncstats.render_min_ns' is an integer */
  (void)((p->raster_ns) | 0);  /* check that 'ncstats.raster_ns' is an integer */
  (void)((p->raster_max_ns) | 0);  /* check that 'ncstats.raster_max_ns' is an integer */
  (void)((p->raster_min_ns) | 0);  /* check that 'ncstats.raster_min_ns' is an integer */
  (void)((p->writeout_ns) | 0);  /* check that 'ncstats.writeout_ns' is an integer */
  (void)((p->writeout_max_ns) | 0);  /* check that 'ncstats.writeout_max_ns' is an integer */
  (void)((p->writeout_min_ns) | 0);  /* check that 'ncstats.writeout_min_ns' is an integer */
  (void)((p->cellelisions) | 0);  /* check that 'ncstats.cellelisions' is an integer */
  (void)((p->cellemissions) | 0);  /* check that 'ncstats.cellemissions' is an integer */
  (void)((p->fgelisions) | 0);  /* check that 'ncstats.fgelisions' is an integer */
  (void)((p->fgemissions) | 0);  /* check that 'ncstats.fgemissions' is an integer */
  (void)((p->bgelisions) | 0);  /* check that 'ncstats.bgelisions' is an integer */
  (void)((p->bgemissions) | 0);  /* check that 'ncstats.bgemissions' is an integer */
  (void)((p->defaultelisions) | 0);  /* check that 'ncstats.defaultelisions' is an integer */
  (void)((p->defaultemissions) | 0);  /* check that 'ncstats.defaultemissions' is an integer */
  (void)((p->refreshes) | 0);  /* check that 'ncstats.refreshes' is an integer */
  (void)((p->sprixelemissions) | 0);  /* check that 'ncstats.sprixelemissions' is an integer */
  (void)((p->sprixelelisions) | 0);  /* check that 'ncstats.sprixelelisions' is an integer */
  (void)((p->sprixelbytes) | 0);  /* check that 'ncstats.sprixelbytes' is an integer */
  (void)((p->appsync_updates) | 0);  /* check that 'ncstats.appsync_updates' is an integer */
  (void)((p->input_errors) | 0);  /* check that 'ncstats.input_errors' is an integer */
  (void)((p->input_events) | 0);  /* check that 'ncstats.input_events' is an integer */
  (void)((p->hpa_gratuitous) | 0);  /* check that 'ncstats.hpa_gratuitous' is an integer */
  (void)((p->cell_geo_changes) | 0);  /* check that 'ncstats.cell_geo_changes' is an integer */
  (void)((p->pixel_geo_changes) | 0);  /* check that 'ncstats.pixel_geo_changes' is an integer */
  (void)((p->fbbytes) | 0);  /* check that 'ncstats.fbbytes' is an integer */
  (void)((p->planes) | 0);  /* check that 'ncstats.planes' is an integer */
}
struct _cffi_align__ncstats { char x; ncstats y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncsubproc_options(ncsubproc_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { void * *tmp = &p->curry; (void)tmp; }
  (void)((p->restart_period) | 0);  /* check that 'ncsubproc_options.restart_period' is an integer */
  (void)((p->flags) | 0);  /* check that 'ncsubproc_options.flags' is an integer */
}
struct _cffi_align__ncsubproc_options { char x; ncsubproc_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__nctabbed_options(nctabbed_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->selchan) | 0);  /* check that 'nctabbed_options.selchan' is an integer */
  (void)((p->hdrchan) | 0);  /* check that 'nctabbed_options.hdrchan' is an integer */
  (void)((p->sepchan) | 0);  /* check that 'nctabbed_options.sepchan' is an integer */
  { char const * *tmp = &p->separator; (void)tmp; }
  (void)((p->flags) | 0);  /* check that 'nctabbed_options.flags' is an integer */
}
struct _cffi_align__nctabbed_options { char x; nctabbed_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld_struct_nctree_item(struct nctree_item *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { void * *tmp = &p->curry; (void)tmp; }
  { struct nctree_item * *tmp = &p->subs; (void)tmp; }
  (void)((p->subcount) | 0);  /* check that 'struct nctree_item.subcount' is an integer */
}
struct _cffi_align_struct_nctree_item { char x; struct nctree_item y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__nctree_options(nctree_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { struct nctree_item const * *tmp = &p->items; (void)tmp; }
  (void)((p->count) | 0);  /* check that 'nctree_options.count' is an integer */
  { int(* *tmp)(struct ncplane *, void *, int) = &p->nctreecb; (void)tmp; }
  (void)((p->indentcols) | 0);  /* check that 'nctree_options.indentcols' is an integer */
  (void)((p->flags) | 0);  /* check that 'nctree_options.flags' is an integer */
}
struct _cffi_align__nctree_options { char x; nctree_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__ncvgeom(ncvgeom *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  (void)((p->pixy) | 0);  /* check that 'ncvgeom.pixy' is an integer */
  (void)((p->pixx) | 0);  /* check that 'ncvgeom.pixx' is an integer */
  (void)((p->cdimy) | 0);  /* check that 'ncvgeom.cdimy' is an integer */
  (void)((p->cdimx) | 0);  /* check that 'ncvgeom.cdimx' is an integer */
  (void)((p->rpixy) | 0);  /* check that 'ncvgeom.rpixy' is an integer */
  (void)((p->rpixx) | 0);  /* check that 'ncvgeom.rpixx' is an integer */
  (void)((p->rcelly) | 0);  /* check that 'ncvgeom.rcelly' is an integer */
  (void)((p->rcellx) | 0);  /* check that 'ncvgeom.rcellx' is an integer */
  (void)((p->scaley) | 0);  /* check that 'ncvgeom.scaley' is an integer */
  (void)((p->scalex) | 0);  /* check that 'ncvgeom.scalex' is an integer */
  (void)((p->begy) | 0);  /* check that 'ncvgeom.begy' is an integer */
  (void)((p->begx) | 0);  /* check that 'ncvgeom.begx' is an integer */
  (void)((p->leny) | 0);  /* check that 'ncvgeom.leny' is an integer */
  (void)((p->lenx) | 0);  /* check that 'ncvgeom.lenx' is an integer */
  (void)((p->maxpixely) | 0);  /* check that 'ncvgeom.maxpixely' is an integer */
  (void)((p->maxpixelx) | 0);  /* check that 'ncvgeom.maxpixelx' is an integer */
  { ncblitter_e *tmp = &p->blitter; (void)tmp; }
}
struct _cffi_align__ncvgeom { char x; ncvgeom y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld_struct_ncvisual_options(struct ncvisual_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { struct ncplane * *tmp = &p->n; (void)tmp; }
  { ncscale_e *tmp = &p->scaling; (void)tmp; }
  (void)((p->y) | 0);  /* check that 'struct ncvisual_options.y' is an integer */
  (void)((p->x) | 0);  /* check that 'struct ncvisual_options.x' is an integer */
  (void)((p->begy) | 0);  /* check that 'struct ncvisual_options.begy' is an integer */
  (void)((p->begx) | 0);  /* check that 'struct ncvisual_options.begx' is an integer */
  (void)((p->leny) | 0);  /* check that 'struct ncvisual_options.leny' is an integer */
  (void)((p->lenx) | 0);  /* check that 'struct ncvisual_options.lenx' is an integer */
  { ncblitter_e *tmp = &p->blitter; (void)tmp; }
  (void)((p->flags) | 0);  /* check that 'struct ncvisual_options.flags' is an integer */
  (void)((p->transcolor) | 0);  /* check that 'struct ncvisual_options.transcolor' is an integer */
  (void)((p->pxoffy) | 0);  /* check that 'struct ncvisual_options.pxoffy' is an integer */
  (void)((p->pxoffx) | 0);  /* check that 'struct ncvisual_options.pxoffx' is an integer */
}
struct _cffi_align_struct_ncvisual_options { char x; struct ncvisual_options y; };

_CFFI_UNUSED_FN
static void _cffi_checkfld__notcurses_options(notcurses_options *p)
{
  /* only to generate compile-time warnings or errors */
  (void)p;
  { char const * *tmp = &p->termtype; (void)tmp; }
  { ncloglevel_e *tmp = &p->loglevel; (void)tmp; }
  (void)((p->margin_t) | 0);  /* check that 'notcurses_options.margin_t' is an integer */
  (void)((p->margin_r) | 0);  /* check that 'notcurses_options.margin_r' is an integer */
  (void)((p->margin_b) | 0);  /* check that 'notcurses_options.margin_b' is an integer */
  (void)((p->margin_l) | 0);  /* check that 'notcurses_options.margin_l' is an integer */
  (void)((p->flags) | 0);  /* check that 'notcurses_options.flags' is an integer */
}
struct _cffi_align__notcurses_options { char x; notcurses_options y; };

static const struct _cffi_global_s _cffi_globals[] = {
  { "NCALIGN_BOTTOM", (void *)_cffi_const_NCALIGN_BOTTOM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCALIGN_CENTER", (void *)_cffi_const_NCALIGN_CENTER, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCALIGN_LEFT", (void *)_cffi_const_NCALIGN_LEFT, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCALIGN_RIGHT", (void *)_cffi_const_NCALIGN_RIGHT, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCALIGN_TOP", (void *)_cffi_const_NCALIGN_TOP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCALIGN_UNALIGNED", (void *)_cffi_const_NCALIGN_UNALIGNED, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCALPHA_BLEND", (void *)_cffi_const_NCALPHA_BLEND, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCALPHA_HIGHCONTRAST", (void *)_cffi_const_NCALPHA_HIGHCONTRAST, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCALPHA_OPAQUE", (void *)_cffi_const_NCALPHA_OPAQUE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCALPHA_TRANSPARENT", (void *)_cffi_const_NCALPHA_TRANSPARENT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBLIT_1x1", (void *)_cffi_const_NCBLIT_1x1, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_2x1", (void *)_cffi_const_NCBLIT_2x1, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_2x2", (void *)_cffi_const_NCBLIT_2x2, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_3x2", (void *)_cffi_const_NCBLIT_3x2, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_4x1", (void *)_cffi_const_NCBLIT_4x1, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_4x2", (void *)_cffi_const_NCBLIT_4x2, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_8x1", (void *)_cffi_const_NCBLIT_8x1, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_BRAILLE", (void *)_cffi_const_NCBLIT_BRAILLE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_DEFAULT", (void *)_cffi_const_NCBLIT_DEFAULT, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBLIT_PIXEL", (void *)_cffi_const_NCBLIT_PIXEL, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCBOXCORNER_MASK", (void *)_cffi_const_NCBOXCORNER_MASK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXCORNER_SHIFT", (void *)_cffi_const_NCBOXCORNER_SHIFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXGRAD_BOTTOM", (void *)_cffi_const_NCBOXGRAD_BOTTOM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXGRAD_LEFT", (void *)_cffi_const_NCBOXGRAD_LEFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXGRAD_RIGHT", (void *)_cffi_const_NCBOXGRAD_RIGHT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXGRAD_TOP", (void *)_cffi_const_NCBOXGRAD_TOP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXMASK_BOTTOM", (void *)_cffi_const_NCBOXMASK_BOTTOM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXMASK_LEFT", (void *)_cffi_const_NCBOXMASK_LEFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXMASK_RIGHT", (void *)_cffi_const_NCBOXMASK_RIGHT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBOXMASK_TOP", (void *)_cffi_const_NCBOXMASK_TOP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBPREFIXCOLUMNS", (void *)_cffi_const_NCBPREFIXCOLUMNS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCBPREFIXSTRLEN", (void *)_cffi_const_NCBPREFIXSTRLEN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCDIRECT_OPTION_DRAIN_INPUT", (void *)_cffi_const_NCDIRECT_OPTION_DRAIN_INPUT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCDIRECT_OPTION_INHIBIT_CBREAK", (void *)_cffi_const_NCDIRECT_OPTION_INHIBIT_CBREAK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCDIRECT_OPTION_INHIBIT_SETLOCALE", (void *)_cffi_const_NCDIRECT_OPTION_INHIBIT_SETLOCALE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS", (void *)_cffi_const_NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCDIRECT_OPTION_VERBOSE", (void *)_cffi_const_NCDIRECT_OPTION_VERBOSE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCDIRECT_OPTION_VERY_VERBOSE", (void *)_cffi_const_NCDIRECT_OPTION_VERY_VERBOSE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCINPUT_MAX_EFF_TEXT_CODEPOINTS", (void *)_cffi_const_NCINPUT_MAX_EFF_TEXT_CODEPOINTS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCIPREFIXCOLUMNS", (void *)_cffi_const_NCIPREFIXCOLUMNS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCIPREFIXSTRLEN", (void *)_cffi_const_NCIPREFIXSTRLEN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BACKSPACE", (void *)_cffi_const_NCKEY_BACKSPACE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BEGIN", (void *)_cffi_const_NCKEY_BEGIN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON1", (void *)_cffi_const_NCKEY_BUTTON1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON10", (void *)_cffi_const_NCKEY_BUTTON10, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON11", (void *)_cffi_const_NCKEY_BUTTON11, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON2", (void *)_cffi_const_NCKEY_BUTTON2, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON3", (void *)_cffi_const_NCKEY_BUTTON3, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON4", (void *)_cffi_const_NCKEY_BUTTON4, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON5", (void *)_cffi_const_NCKEY_BUTTON5, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON6", (void *)_cffi_const_NCKEY_BUTTON6, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON7", (void *)_cffi_const_NCKEY_BUTTON7, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON8", (void *)_cffi_const_NCKEY_BUTTON8, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_BUTTON9", (void *)_cffi_const_NCKEY_BUTTON9, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_CANCEL", (void *)_cffi_const_NCKEY_CANCEL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_CAPS_LOCK", (void *)_cffi_const_NCKEY_CAPS_LOCK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_CENTER", (void *)_cffi_const_NCKEY_CENTER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_CLOSE", (void *)_cffi_const_NCKEY_CLOSE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_CLS", (void *)_cffi_const_NCKEY_CLS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_COMMAND", (void *)_cffi_const_NCKEY_COMMAND, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_COPY", (void *)_cffi_const_NCKEY_COPY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_DEL", (void *)_cffi_const_NCKEY_DEL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_DLEFT", (void *)_cffi_const_NCKEY_DLEFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_DOWN", (void *)_cffi_const_NCKEY_DOWN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_DRIGHT", (void *)_cffi_const_NCKEY_DRIGHT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_END", (void *)_cffi_const_NCKEY_END, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_ENTER", (void *)_cffi_const_NCKEY_ENTER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_EOF", (void *)_cffi_const_NCKEY_EOF, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_ESC", (void *)_cffi_const_NCKEY_ESC, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_EXIT", (void *)_cffi_const_NCKEY_EXIT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F00", (void *)_cffi_const_NCKEY_F00, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F01", (void *)_cffi_const_NCKEY_F01, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F02", (void *)_cffi_const_NCKEY_F02, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F03", (void *)_cffi_const_NCKEY_F03, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F04", (void *)_cffi_const_NCKEY_F04, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F05", (void *)_cffi_const_NCKEY_F05, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F06", (void *)_cffi_const_NCKEY_F06, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F07", (void *)_cffi_const_NCKEY_F07, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F08", (void *)_cffi_const_NCKEY_F08, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F09", (void *)_cffi_const_NCKEY_F09, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F10", (void *)_cffi_const_NCKEY_F10, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F11", (void *)_cffi_const_NCKEY_F11, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F12", (void *)_cffi_const_NCKEY_F12, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F13", (void *)_cffi_const_NCKEY_F13, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F14", (void *)_cffi_const_NCKEY_F14, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F15", (void *)_cffi_const_NCKEY_F15, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F16", (void *)_cffi_const_NCKEY_F16, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F17", (void *)_cffi_const_NCKEY_F17, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F18", (void *)_cffi_const_NCKEY_F18, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F19", (void *)_cffi_const_NCKEY_F19, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F20", (void *)_cffi_const_NCKEY_F20, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F21", (void *)_cffi_const_NCKEY_F21, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F22", (void *)_cffi_const_NCKEY_F22, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F23", (void *)_cffi_const_NCKEY_F23, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F24", (void *)_cffi_const_NCKEY_F24, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F25", (void *)_cffi_const_NCKEY_F25, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F26", (void *)_cffi_const_NCKEY_F26, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F27", (void *)_cffi_const_NCKEY_F27, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F28", (void *)_cffi_const_NCKEY_F28, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F29", (void *)_cffi_const_NCKEY_F29, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F30", (void *)_cffi_const_NCKEY_F30, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F31", (void *)_cffi_const_NCKEY_F31, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F32", (void *)_cffi_const_NCKEY_F32, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F33", (void *)_cffi_const_NCKEY_F33, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F34", (void *)_cffi_const_NCKEY_F34, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F35", (void *)_cffi_const_NCKEY_F35, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F36", (void *)_cffi_const_NCKEY_F36, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F37", (void *)_cffi_const_NCKEY_F37, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F38", (void *)_cffi_const_NCKEY_F38, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F39", (void *)_cffi_const_NCKEY_F39, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F40", (void *)_cffi_const_NCKEY_F40, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F41", (void *)_cffi_const_NCKEY_F41, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F42", (void *)_cffi_const_NCKEY_F42, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F43", (void *)_cffi_const_NCKEY_F43, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F44", (void *)_cffi_const_NCKEY_F44, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F45", (void *)_cffi_const_NCKEY_F45, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F46", (void *)_cffi_const_NCKEY_F46, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F47", (void *)_cffi_const_NCKEY_F47, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F48", (void *)_cffi_const_NCKEY_F48, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F49", (void *)_cffi_const_NCKEY_F49, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F50", (void *)_cffi_const_NCKEY_F50, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F51", (void *)_cffi_const_NCKEY_F51, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F52", (void *)_cffi_const_NCKEY_F52, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F53", (void *)_cffi_const_NCKEY_F53, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F54", (void *)_cffi_const_NCKEY_F54, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F55", (void *)_cffi_const_NCKEY_F55, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F56", (void *)_cffi_const_NCKEY_F56, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F57", (void *)_cffi_const_NCKEY_F57, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F58", (void *)_cffi_const_NCKEY_F58, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F59", (void *)_cffi_const_NCKEY_F59, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_F60", (void *)_cffi_const_NCKEY_F60, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_HOME", (void *)_cffi_const_NCKEY_HOME, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_INS", (void *)_cffi_const_NCKEY_INS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_INVALID", (void *)_cffi_const_NCKEY_INVALID, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_L3SHIFT", (void *)_cffi_const_NCKEY_L3SHIFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_L5SHIFT", (void *)_cffi_const_NCKEY_L5SHIFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_LALT", (void *)_cffi_const_NCKEY_LALT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_LCTRL", (void *)_cffi_const_NCKEY_LCTRL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_LEFT", (void *)_cffi_const_NCKEY_LEFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_LHYPER", (void *)_cffi_const_NCKEY_LHYPER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_LMETA", (void *)_cffi_const_NCKEY_LMETA, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_LSHIFT", (void *)_cffi_const_NCKEY_LSHIFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_LSUPER", (void *)_cffi_const_NCKEY_LSUPER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_FF", (void *)_cffi_const_NCKEY_MEDIA_FF, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_LVOL", (void *)_cffi_const_NCKEY_MEDIA_LVOL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_MUTE", (void *)_cffi_const_NCKEY_MEDIA_MUTE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_NEXT", (void *)_cffi_const_NCKEY_MEDIA_NEXT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_PAUSE", (void *)_cffi_const_NCKEY_MEDIA_PAUSE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_PLAY", (void *)_cffi_const_NCKEY_MEDIA_PLAY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_PPAUSE", (void *)_cffi_const_NCKEY_MEDIA_PPAUSE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_PREV", (void *)_cffi_const_NCKEY_MEDIA_PREV, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_RECORD", (void *)_cffi_const_NCKEY_MEDIA_RECORD, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_REV", (void *)_cffi_const_NCKEY_MEDIA_REV, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_REWIND", (void *)_cffi_const_NCKEY_MEDIA_REWIND, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_RVOL", (void *)_cffi_const_NCKEY_MEDIA_RVOL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MEDIA_STOP", (void *)_cffi_const_NCKEY_MEDIA_STOP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MENU", (void *)_cffi_const_NCKEY_MENU, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_ALT", (void *)_cffi_const_NCKEY_MOD_ALT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_CAPSLOCK", (void *)_cffi_const_NCKEY_MOD_CAPSLOCK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_CTRL", (void *)_cffi_const_NCKEY_MOD_CTRL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_HYPER", (void *)_cffi_const_NCKEY_MOD_HYPER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_META", (void *)_cffi_const_NCKEY_MOD_META, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_NUMLOCK", (void *)_cffi_const_NCKEY_MOD_NUMLOCK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_SHIFT", (void *)_cffi_const_NCKEY_MOD_SHIFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOD_SUPER", (void *)_cffi_const_NCKEY_MOD_SUPER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_MOTION", (void *)_cffi_const_NCKEY_MOTION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_NUM_LOCK", (void *)_cffi_const_NCKEY_NUM_LOCK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_PAUSE", (void *)_cffi_const_NCKEY_PAUSE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_PGDOWN", (void *)_cffi_const_NCKEY_PGDOWN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_PGUP", (void *)_cffi_const_NCKEY_PGUP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_PRINT", (void *)_cffi_const_NCKEY_PRINT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_PRINT_SCREEN", (void *)_cffi_const_NCKEY_PRINT_SCREEN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RALT", (void *)_cffi_const_NCKEY_RALT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RCTRL", (void *)_cffi_const_NCKEY_RCTRL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_REFRESH", (void *)_cffi_const_NCKEY_REFRESH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RESIZE", (void *)_cffi_const_NCKEY_RESIZE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RETURN", (void *)_cffi_const_NCKEY_RETURN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RHYPER", (void *)_cffi_const_NCKEY_RHYPER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RIGHT", (void *)_cffi_const_NCKEY_RIGHT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RMETA", (void *)_cffi_const_NCKEY_RMETA, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RSHIFT", (void *)_cffi_const_NCKEY_RSHIFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_RSUPER", (void *)_cffi_const_NCKEY_RSUPER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_SCROLL_DOWN", (void *)_cffi_const_NCKEY_SCROLL_DOWN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_SCROLL_LOCK", (void *)_cffi_const_NCKEY_SCROLL_LOCK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_SCROLL_UP", (void *)_cffi_const_NCKEY_SCROLL_UP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_SEPARATOR", (void *)_cffi_const_NCKEY_SEPARATOR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_SIGNAL", (void *)_cffi_const_NCKEY_SIGNAL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_SPACE", (void *)_cffi_const_NCKEY_SPACE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_TAB", (void *)_cffi_const_NCKEY_TAB, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_ULEFT", (void *)_cffi_const_NCKEY_ULEFT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_UP", (void *)_cffi_const_NCKEY_UP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCKEY_URIGHT", (void *)_cffi_const_NCKEY_URIGHT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCLOGLEVEL_DEBUG", (void *)_cffi_const_NCLOGLEVEL_DEBUG, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_ERROR", (void *)_cffi_const_NCLOGLEVEL_ERROR, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_FATAL", (void *)_cffi_const_NCLOGLEVEL_FATAL, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_INFO", (void *)_cffi_const_NCLOGLEVEL_INFO, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_PANIC", (void *)_cffi_const_NCLOGLEVEL_PANIC, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_SILENT", (void *)_cffi_const_NCLOGLEVEL_SILENT, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_TRACE", (void *)_cffi_const_NCLOGLEVEL_TRACE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_VERBOSE", (void *)_cffi_const_NCLOGLEVEL_VERBOSE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCLOGLEVEL_WARNING", (void *)_cffi_const_NCLOGLEVEL_WARNING, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCMENU_OPTION_BOTTOM", (void *)_cffi_const_NCMENU_OPTION_BOTTOM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCMENU_OPTION_HIDING", (void *)_cffi_const_NCMENU_OPTION_HIDING, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCMICE_ALL_EVENTS", (void *)_cffi_const_NCMICE_ALL_EVENTS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCMICE_BUTTON_EVENT", (void *)_cffi_const_NCMICE_BUTTON_EVENT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCMICE_DRAG_EVENT", (void *)_cffi_const_NCMICE_DRAG_EVENT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCMICE_MOVE_EVENT", (void *)_cffi_const_NCMICE_MOVE_EVENT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCMICE_NO_EVENTS", (void *)_cffi_const_NCMICE_NO_EVENTS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_CLI_MODE", (void *)_cffi_const_NCOPTION_CLI_MODE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_DRAIN_INPUT", (void *)_cffi_const_NCOPTION_DRAIN_INPUT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_INHIBIT_SETLOCALE", (void *)_cffi_const_NCOPTION_INHIBIT_SETLOCALE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_NO_ALTERNATE_SCREEN", (void *)_cffi_const_NCOPTION_NO_ALTERNATE_SCREEN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_NO_CLEAR_BITMAPS", (void *)_cffi_const_NCOPTION_NO_CLEAR_BITMAPS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_NO_FONT_CHANGES", (void *)_cffi_const_NCOPTION_NO_FONT_CHANGES, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_NO_QUIT_SIGHANDLERS", (void *)_cffi_const_NCOPTION_NO_QUIT_SIGHANDLERS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_NO_WINCH_SIGHANDLER", (void *)_cffi_const_NCOPTION_NO_WINCH_SIGHANDLER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_PRESERVE_CURSOR", (void *)_cffi_const_NCOPTION_PRESERVE_CURSOR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_SCROLLING", (void *)_cffi_const_NCOPTION_SCROLLING, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCOPTION_SUPPRESS_BANNERS", (void *)_cffi_const_NCOPTION_SUPPRESS_BANNERS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPALETTESIZE", (void *)_cffi_const_NCPALETTESIZE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPIXEL_ITERM2", (void *)_cffi_const_NCPIXEL_ITERM2, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCPIXEL_KITTY_ANIMATED", (void *)_cffi_const_NCPIXEL_KITTY_ANIMATED, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCPIXEL_KITTY_SELFREF", (void *)_cffi_const_NCPIXEL_KITTY_SELFREF, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCPIXEL_KITTY_STATIC", (void *)_cffi_const_NCPIXEL_KITTY_STATIC, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCPIXEL_LINUXFB", (void *)_cffi_const_NCPIXEL_LINUXFB, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCPIXEL_NONE", (void *)_cffi_const_NCPIXEL_NONE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCPIXEL_SIXEL", (void *)_cffi_const_NCPIXEL_SIXEL, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCPLANE_OPTION_AUTOGROW", (void *)_cffi_const_NCPLANE_OPTION_AUTOGROW, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLANE_OPTION_FIXED", (void *)_cffi_const_NCPLANE_OPTION_FIXED, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLANE_OPTION_HORALIGNED", (void *)_cffi_const_NCPLANE_OPTION_HORALIGNED, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLANE_OPTION_MARGINALIZED", (void *)_cffi_const_NCPLANE_OPTION_MARGINALIZED, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLANE_OPTION_VERALIGNED", (void *)_cffi_const_NCPLANE_OPTION_VERALIGNED, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLANE_OPTION_VSCROLL", (void *)_cffi_const_NCPLANE_OPTION_VSCROLL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLOT_OPTION_DETECTMAXONLY", (void *)_cffi_const_NCPLOT_OPTION_DETECTMAXONLY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLOT_OPTION_EXPONENTIALD", (void *)_cffi_const_NCPLOT_OPTION_EXPONENTIALD, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLOT_OPTION_LABELTICKSD", (void *)_cffi_const_NCPLOT_OPTION_LABELTICKSD, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLOT_OPTION_NODEGRADE", (void *)_cffi_const_NCPLOT_OPTION_NODEGRADE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLOT_OPTION_PRINTSAMPLE", (void *)_cffi_const_NCPLOT_OPTION_PRINTSAMPLE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPLOT_OPTION_VERTICALI", (void *)_cffi_const_NCPLOT_OPTION_VERTICALI, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPREFIXCOLUMNS", (void *)_cffi_const_NCPREFIXCOLUMNS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPREFIXSTRLEN", (void *)_cffi_const_NCPREFIXSTRLEN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCPROGBAR_OPTION_RETROGRADE", (void *)_cffi_const_NCPROGBAR_OPTION_RETROGRADE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCREADER_OPTION_CURSOR", (void *)_cffi_const_NCREADER_OPTION_CURSOR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCREADER_OPTION_HORSCROLL", (void *)_cffi_const_NCREADER_OPTION_HORSCROLL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCREADER_OPTION_NOCMDKEYS", (void *)_cffi_const_NCREADER_OPTION_NOCMDKEYS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCREADER_OPTION_VERSCROLL", (void *)_cffi_const_NCREADER_OPTION_VERSCROLL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCREEL_OPTION_CIRCULAR", (void *)_cffi_const_NCREEL_OPTION_CIRCULAR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCREEL_OPTION_INFINITESCROLL", (void *)_cffi_const_NCREEL_OPTION_INFINITESCROLL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCSCALE_NONE", (void *)_cffi_const_NCSCALE_NONE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCSCALE_NONE_HIRES", (void *)_cffi_const_NCSCALE_NONE_HIRES, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCSCALE_SCALE", (void *)_cffi_const_NCSCALE_SCALE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCSCALE_SCALE_HIRES", (void *)_cffi_const_NCSCALE_SCALE_HIRES, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCSCALE_STRETCH", (void *)_cffi_const_NCSCALE_STRETCH, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCSTYLE_BOLD", (void *)_cffi_const_NCSTYLE_BOLD, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCSTYLE_ITALIC", (void *)_cffi_const_NCSTYLE_ITALIC, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCSTYLE_MASK", (void *)_cffi_const_NCSTYLE_MASK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCSTYLE_NONE", (void *)_cffi_const_NCSTYLE_NONE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCSTYLE_STRUCK", (void *)_cffi_const_NCSTYLE_STRUCK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCSTYLE_UNDERCURL", (void *)_cffi_const_NCSTYLE_UNDERCURL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCSTYLE_UNDERLINE", (void *)_cffi_const_NCSTYLE_UNDERLINE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCTABBED_OPTION_BOTTOM", (void *)_cffi_const_NCTABBED_OPTION_BOTTOM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCTYPE_PRESS", (void *)_cffi_const_NCTYPE_PRESS, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCTYPE_RELEASE", (void *)_cffi_const_NCTYPE_RELEASE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCTYPE_REPEAT", (void *)_cffi_const_NCTYPE_REPEAT, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCTYPE_UNKNOWN", (void *)_cffi_const_NCTYPE_UNKNOWN, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 },
  { "NCVISUAL_OPTION_ADDALPHA", (void *)_cffi_const_NCVISUAL_OPTION_ADDALPHA, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCVISUAL_OPTION_BLEND", (void *)_cffi_const_NCVISUAL_OPTION_BLEND, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCVISUAL_OPTION_CHILDPLANE", (void *)_cffi_const_NCVISUAL_OPTION_CHILDPLANE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCVISUAL_OPTION_HORALIGNED", (void *)_cffi_const_NCVISUAL_OPTION_HORALIGNED, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCVISUAL_OPTION_NODEGRADE", (void *)_cffi_const_NCVISUAL_OPTION_NODEGRADE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCVISUAL_OPTION_NOINTERPOLATE", (void *)_cffi_const_NCVISUAL_OPTION_NOINTERPOLATE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NCVISUAL_OPTION_VERALIGNED", (void *)_cffi_const_NCVISUAL_OPTION_VERALIGNED, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NC_BGDEFAULT_MASK", (void *)_cffi_const_NC_BGDEFAULT_MASK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NC_BG_ALPHA_MASK", (void *)_cffi_const_NC_BG_ALPHA_MASK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NC_BG_PALETTE", (void *)_cffi_const_NC_BG_PALETTE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NC_BG_RGB_MASK", (void *)_cffi_const_NC_BG_RGB_MASK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "NC_NOBACKGROUND_MASK", (void *)_cffi_const_NC_NOBACKGROUND_MASK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "WCHAR_MAX_UTF8BYTES", (void *)_cffi_const_WCHAR_MAX_UTF8BYTES, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 },
  { "ncblit_bgrx", (void *)_cffi_f_ncblit_bgrx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1012), (void *)_cffi_d_ncblit_bgrx },
  { "ncblit_rgb_loose", (void *)_cffi_f_ncblit_rgb_loose, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1017), (void *)_cffi_d_ncblit_rgb_loose },
  { "ncblit_rgb_packed", (void *)_cffi_f_ncblit_rgb_packed, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1017), (void *)_cffi_d_ncblit_rgb_packed },
  { "ncblit_rgba", (void *)_cffi_f_ncblit_rgba, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1012), (void *)_cffi_d_ncblit_rgba },
  { "ncbprefix", (void *)_cffi_f_ncbprefix, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 164), (void *)_cffi_d_ncbprefix },
  { "nccapability_canchangecolor", (void *)_cffi_f_nccapability_canchangecolor, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 0), (void *)_cffi_d_nccapability_canchangecolor },
  { "nccell_bchannel", (void *)_cffi_f_nccell_bchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_bchannel },
  { "nccell_bg_alpha", (void *)_cffi_f_nccell_bg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_bg_alpha },
  { "nccell_bg_default_p", (void *)_cffi_f_nccell_bg_default_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3), (void *)_cffi_d_nccell_bg_default_p },
  { "nccell_bg_palindex", (void *)_cffi_f_nccell_bg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_bg_palindex },
  { "nccell_bg_palindex_p", (void *)_cffi_f_nccell_bg_palindex_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3), (void *)_cffi_d_nccell_bg_palindex_p },
  { "nccell_bg_rgb", (void *)_cffi_f_nccell_bg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_bg_rgb },
  { "nccell_bg_rgb8", (void *)_cffi_f_nccell_bg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1331), (void *)_cffi_d_nccell_bg_rgb8 },
  { "nccell_channels", (void *)_cffi_f_nccell_channels, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1398), (void *)_cffi_d_nccell_channels },
  { "nccell_cols", (void *)_cffi_f_nccell_cols, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1429), (void *)_cffi_d_nccell_cols },
  { "nccell_double_wide_p", (void *)_cffi_f_nccell_double_wide_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3), (void *)_cffi_d_nccell_double_wide_p },
  { "nccell_duplicate", (void *)_cffi_f_nccell_duplicate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 626), (void *)_cffi_d_nccell_duplicate },
  { "nccell_extended_gcluster", (void *)_cffi_f_nccell_extended_gcluster, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 139), (void *)_cffi_d_nccell_extended_gcluster },
  { "nccell_extract", (void *)_cffi_f_nccell_extract, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 95), (void *)_cffi_d_nccell_extract },
  { "nccell_fchannel", (void *)_cffi_f_nccell_fchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_fchannel },
  { "nccell_fg_alpha", (void *)_cffi_f_nccell_fg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_fg_alpha },
  { "nccell_fg_default_p", (void *)_cffi_f_nccell_fg_default_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3), (void *)_cffi_d_nccell_fg_default_p },
  { "nccell_fg_palindex", (void *)_cffi_f_nccell_fg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_fg_palindex },
  { "nccell_fg_palindex_p", (void *)_cffi_f_nccell_fg_palindex_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3), (void *)_cffi_d_nccell_fg_palindex_p },
  { "nccell_fg_rgb", (void *)_cffi_f_nccell_fg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1328), (void *)_cffi_d_nccell_fg_rgb },
  { "nccell_fg_rgb8", (void *)_cffi_f_nccell_fg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1331), (void *)_cffi_d_nccell_fg_rgb8 },
  { "nccell_init", (void *)_cffi_f_nccell_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1481), (void *)_cffi_d_nccell_init },
  { "nccell_load", (void *)_cffi_f_nccell_load, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 609), (void *)_cffi_d_nccell_load },
  { "nccell_load_char", (void *)_cffi_f_nccell_load_char, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 621), (void *)_cffi_d_nccell_load_char },
  { "nccell_load_egc32", (void *)_cffi_f_nccell_load_egc32, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 631), (void *)_cffi_d_nccell_load_egc32 },
  { "nccell_load_ucs32", (void *)_cffi_f_nccell_load_ucs32, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 631), (void *)_cffi_d_nccell_load_ucs32 },
  { "nccell_off_styles", (void *)_cffi_f_nccell_off_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1490), (void *)_cffi_d_nccell_off_styles },
  { "nccell_on_styles", (void *)_cffi_f_nccell_on_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1490), (void *)_cffi_d_nccell_on_styles },
  { "nccell_prime", (void *)_cffi_f_nccell_prime, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 614), (void *)_cffi_d_nccell_prime },
  { "nccell_release", (void *)_cffi_f_nccell_release, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1525), (void *)_cffi_d_nccell_release },
  { "nccell_set_bchannel", (void *)_cffi_f_nccell_set_bchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1390), (void *)_cffi_d_nccell_set_bchannel },
  { "nccell_set_bg_alpha", (void *)_cffi_f_nccell_set_bg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 201), (void *)_cffi_d_nccell_set_bg_alpha },
  { "nccell_set_bg_default", (void *)_cffi_f_nccell_set_bg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1481), (void *)_cffi_d_nccell_set_bg_default },
  { "nccell_set_bg_palindex", (void *)_cffi_f_nccell_set_bg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 201), (void *)_cffi_d_nccell_set_bg_palindex },
  { "nccell_set_bg_rgb", (void *)_cffi_f_nccell_set_bg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 197), (void *)_cffi_d_nccell_set_bg_rgb },
  { "nccell_set_bg_rgb8", (void *)_cffi_f_nccell_set_bg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 205), (void *)_cffi_d_nccell_set_bg_rgb8 },
  { "nccell_set_bg_rgb8_clipped", (void *)_cffi_f_nccell_set_bg_rgb8_clipped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1484), (void *)_cffi_d_nccell_set_bg_rgb8_clipped },
  { "nccell_set_channels", (void *)_cffi_f_nccell_set_channels, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1394), (void *)_cffi_d_nccell_set_channels },
  { "nccell_set_fchannel", (void *)_cffi_f_nccell_set_fchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1390), (void *)_cffi_d_nccell_set_fchannel },
  { "nccell_set_fg_alpha", (void *)_cffi_f_nccell_set_fg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 201), (void *)_cffi_d_nccell_set_fg_alpha },
  { "nccell_set_fg_default", (void *)_cffi_f_nccell_set_fg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1481), (void *)_cffi_d_nccell_set_fg_default },
  { "nccell_set_fg_palindex", (void *)_cffi_f_nccell_set_fg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 201), (void *)_cffi_d_nccell_set_fg_palindex },
  { "nccell_set_fg_rgb", (void *)_cffi_f_nccell_set_fg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 197), (void *)_cffi_d_nccell_set_fg_rgb },
  { "nccell_set_fg_rgb8", (void *)_cffi_f_nccell_set_fg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 205), (void *)_cffi_d_nccell_set_fg_rgb8 },
  { "nccell_set_fg_rgb8_clipped", (void *)_cffi_f_nccell_set_fg_rgb8_clipped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1484), (void *)_cffi_d_nccell_set_fg_rgb8_clipped },
  { "nccell_set_styles", (void *)_cffi_f_nccell_set_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1490), (void *)_cffi_d_nccell_set_styles },
  { "nccell_strdup", (void *)_cffi_f_nccell_strdup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 91), (void *)_cffi_d_nccell_strdup },
  { "nccell_styles", (void *)_cffi_f_nccell_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1306), (void *)_cffi_d_nccell_styles },
  { "nccell_wide_left_p", (void *)_cffi_f_nccell_wide_left_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3), (void *)_cffi_d_nccell_wide_left_p },
  { "nccell_wide_right_p", (void *)_cffi_f_nccell_wide_right_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3), (void *)_cffi_d_nccell_wide_right_p },
  { "nccellcmp", (void *)_cffi_f_nccellcmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 36), (void *)_cffi_d_nccellcmp },
  { "nccells_ascii_box", (void *)_cffi_f_nccells_ascii_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 710), (void *)_cffi_d_nccells_ascii_box },
  { "nccells_double_box", (void *)_cffi_f_nccells_double_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 710), (void *)_cffi_d_nccells_double_box },
  { "nccells_heavy_box", (void *)_cffi_f_nccells_heavy_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 710), (void *)_cffi_d_nccells_heavy_box },
  { "nccells_light_box", (void *)_cffi_f_nccells_light_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 710), (void *)_cffi_d_nccells_light_box },
  { "nccells_load_box", (void *)_cffi_f_nccells_load_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 721), (void *)_cffi_d_nccells_load_box },
  { "nccells_rounded_box", (void *)_cffi_f_nccells_rounded_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 710), (void *)_cffi_d_nccells_rounded_box },
  { "ncchannel_alpha", (void *)_cffi_f_ncchannel_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1367), (void *)_cffi_d_ncchannel_alpha },
  { "ncchannel_b", (void *)_cffi_f_ncchannel_b, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncchannel_b },
  { "ncchannel_default_p", (void *)_cffi_f_ncchannel_default_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_ncchannel_default_p },
  { "ncchannel_g", (void *)_cffi_f_ncchannel_g, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncchannel_g },
  { "ncchannel_palindex", (void *)_cffi_f_ncchannel_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncchannel_palindex },
  { "ncchannel_palindex_p", (void *)_cffi_f_ncchannel_palindex_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_ncchannel_palindex_p },
  { "ncchannel_r", (void *)_cffi_f_ncchannel_r, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncchannel_r },
  { "ncchannel_rgb", (void *)_cffi_f_ncchannel_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1367), (void *)_cffi_d_ncchannel_rgb },
  { "ncchannel_rgb8", (void *)_cffi_f_ncchannel_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1370), (void *)_cffi_d_ncchannel_rgb8 },
  { "ncchannel_rgb_p", (void *)_cffi_f_ncchannel_rgb_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_ncchannel_rgb_p },
  { "ncchannel_set", (void *)_cffi_f_ncchannel_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 982), (void *)_cffi_d_ncchannel_set },
  { "ncchannel_set_alpha", (void *)_cffi_f_ncchannel_set_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 986), (void *)_cffi_d_ncchannel_set_alpha },
  { "ncchannel_set_default", (void *)_cffi_f_ncchannel_set_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1364), (void *)_cffi_d_ncchannel_set_default },
  { "ncchannel_set_palindex", (void *)_cffi_f_ncchannel_set_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 986), (void *)_cffi_d_ncchannel_set_palindex },
  { "ncchannel_set_rgb8", (void *)_cffi_f_ncchannel_set_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 990), (void *)_cffi_d_ncchannel_set_rgb8 },
  { "ncchannel_set_rgb8_clipped", (void *)_cffi_f_ncchannel_set_rgb8_clipped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1624), (void *)_cffi_d_ncchannel_set_rgb8_clipped },
  { "ncchannels_bchannel", (void *)_cffi_f_ncchannels_bchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1376), (void *)_cffi_d_ncchannels_bchannel },
  { "ncchannels_bg_alpha", (void *)_cffi_f_ncchannels_bg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1447), (void *)_cffi_d_ncchannels_bg_alpha },
  { "ncchannels_bg_default_p", (void *)_cffi_f_ncchannels_bg_default_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 64), (void *)_cffi_d_ncchannels_bg_default_p },
  { "ncchannels_bg_palindex", (void *)_cffi_f_ncchannels_bg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1447), (void *)_cffi_d_ncchannels_bg_palindex },
  { "ncchannels_bg_palindex_p", (void *)_cffi_f_ncchannels_bg_palindex_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 64), (void *)_cffi_d_ncchannels_bg_palindex_p },
  { "ncchannels_bg_rgb", (void *)_cffi_f_ncchannels_bg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1376), (void *)_cffi_d_ncchannels_bg_rgb },
  { "ncchannels_bg_rgb8", (void *)_cffi_f_ncchannels_bg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1379), (void *)_cffi_d_ncchannels_bg_rgb8 },
  { "ncchannels_bg_rgb_p", (void *)_cffi_f_ncchannels_bg_rgb_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 64), (void *)_cffi_d_ncchannels_bg_rgb_p },
  { "ncchannels_channels", (void *)_cffi_f_ncchannels_channels, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1426), (void *)_cffi_d_ncchannels_channels },
  { "ncchannels_combine", (void *)_cffi_f_ncchannels_combine, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_ncchannels_combine },
  { "ncchannels_fchannel", (void *)_cffi_f_ncchannels_fchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1376), (void *)_cffi_d_ncchannels_fchannel },
  { "ncchannels_fg_alpha", (void *)_cffi_f_ncchannels_fg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1447), (void *)_cffi_d_ncchannels_fg_alpha },
  { "ncchannels_fg_default_p", (void *)_cffi_f_ncchannels_fg_default_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 64), (void *)_cffi_d_ncchannels_fg_default_p },
  { "ncchannels_fg_palindex", (void *)_cffi_f_ncchannels_fg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1447), (void *)_cffi_d_ncchannels_fg_palindex },
  { "ncchannels_fg_palindex_p", (void *)_cffi_f_ncchannels_fg_palindex_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 64), (void *)_cffi_d_ncchannels_fg_palindex_p },
  { "ncchannels_fg_rgb", (void *)_cffi_f_ncchannels_fg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1376), (void *)_cffi_d_ncchannels_fg_rgb },
  { "ncchannels_fg_rgb8", (void *)_cffi_f_ncchannels_fg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1379), (void *)_cffi_d_ncchannels_fg_rgb8 },
  { "ncchannels_fg_rgb_p", (void *)_cffi_f_ncchannels_fg_rgb_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 64), (void *)_cffi_d_ncchannels_fg_rgb_p },
  { "ncchannels_reverse", (void *)_cffi_f_ncchannels_reverse, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1426), (void *)_cffi_d_ncchannels_reverse },
  { "ncchannels_set_bchannel", (void *)_cffi_f_ncchannels_set_bchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1418), (void *)_cffi_d_ncchannels_set_bchannel },
  { "ncchannels_set_bg_alpha", (void *)_cffi_f_ncchannels_set_bg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1002), (void *)_cffi_d_ncchannels_set_bg_alpha },
  { "ncchannels_set_bg_default", (void *)_cffi_f_ncchannels_set_bg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1415), (void *)_cffi_d_ncchannels_set_bg_default },
  { "ncchannels_set_bg_palindex", (void *)_cffi_f_ncchannels_set_bg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1002), (void *)_cffi_d_ncchannels_set_bg_palindex },
  { "ncchannels_set_bg_rgb", (void *)_cffi_f_ncchannels_set_bg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1002), (void *)_cffi_d_ncchannels_set_bg_rgb },
  { "ncchannels_set_bg_rgb8", (void *)_cffi_f_ncchannels_set_bg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1006), (void *)_cffi_d_ncchannels_set_bg_rgb8 },
  { "ncchannels_set_bg_rgb8_clipped", (void *)_cffi_f_ncchannels_set_bg_rgb8_clipped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1630), (void *)_cffi_d_ncchannels_set_bg_rgb8_clipped },
  { "ncchannels_set_channels", (void *)_cffi_f_ncchannels_set_channels, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1422), (void *)_cffi_d_ncchannels_set_channels },
  { "ncchannels_set_fchannel", (void *)_cffi_f_ncchannels_set_fchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1418), (void *)_cffi_d_ncchannels_set_fchannel },
  { "ncchannels_set_fg_alpha", (void *)_cffi_f_ncchannels_set_fg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1002), (void *)_cffi_d_ncchannels_set_fg_alpha },
  { "ncchannels_set_fg_default", (void *)_cffi_f_ncchannels_set_fg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1415), (void *)_cffi_d_ncchannels_set_fg_default },
  { "ncchannels_set_fg_palindex", (void *)_cffi_f_ncchannels_set_fg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1002), (void *)_cffi_d_ncchannels_set_fg_palindex },
  { "ncchannels_set_fg_rgb", (void *)_cffi_f_ncchannels_set_fg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1002), (void *)_cffi_d_ncchannels_set_fg_rgb },
  { "ncchannels_set_fg_rgb8", (void *)_cffi_f_ncchannels_set_fg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1006), (void *)_cffi_d_ncchannels_set_fg_rgb8 },
  { "ncchannels_set_fg_rgb8_clipped", (void *)_cffi_f_ncchannels_set_fg_rgb8_clipped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1630), (void *)_cffi_d_ncchannels_set_fg_rgb8_clipped },
  { "ncdirect_ascii_box", (void *)_cffi_f_ncdirect_ascii_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_ncdirect_ascii_box },
  { "ncdirect_box", (void *)_cffi_f_ncdirect_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 306), (void *)_cffi_d_ncdirect_box },
  { "ncdirect_canbraille", (void *)_cffi_f_ncdirect_canbraille, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canbraille },
  { "ncdirect_canchangecolor", (void *)_cffi_f_ncdirect_canchangecolor, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canchangecolor },
  { "ncdirect_canfade", (void *)_cffi_f_ncdirect_canfade, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canfade },
  { "ncdirect_canget_cursor", (void *)_cffi_f_ncdirect_canget_cursor, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canget_cursor },
  { "ncdirect_canhalfblock", (void *)_cffi_f_ncdirect_canhalfblock, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canhalfblock },
  { "ncdirect_canoctant", (void *)_cffi_f_ncdirect_canoctant, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canoctant },
  { "ncdirect_canopen_images", (void *)_cffi_f_ncdirect_canopen_images, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canopen_images },
  { "ncdirect_canopen_videos", (void *)_cffi_f_ncdirect_canopen_videos, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canopen_videos },
  { "ncdirect_canquadrant", (void *)_cffi_f_ncdirect_canquadrant, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canquadrant },
  { "ncdirect_cansextant", (void *)_cffi_f_ncdirect_cansextant, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_cansextant },
  { "ncdirect_cantruecolor", (void *)_cffi_f_ncdirect_cantruecolor, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_cantruecolor },
  { "ncdirect_canutf8", (void *)_cffi_f_ncdirect_canutf8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 13), (void *)_cffi_d_ncdirect_canutf8 },
  { "ncdirect_capabilities", (void *)_cffi_f_ncdirect_capabilities, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1030), (void *)_cffi_d_ncdirect_capabilities },
  { "ncdirect_check_pixel_support", (void *)_cffi_f_ncdirect_check_pixel_support, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 332), (void *)_cffi_d_ncdirect_check_pixel_support },
  { "ncdirect_clear", (void *)_cffi_f_ncdirect_clear, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_clear },
  { "ncdirect_core_init", (void *)_cffi_f_ncdirect_core_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1062), (void *)_cffi_d_ncdirect_core_init },
  { "ncdirect_cursor_disable", (void *)_cffi_f_ncdirect_cursor_disable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_cursor_disable },
  { "ncdirect_cursor_down", (void *)_cffi_f_ncdirect_cursor_down, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 259), (void *)_cffi_d_ncdirect_cursor_down },
  { "ncdirect_cursor_enable", (void *)_cffi_f_ncdirect_cursor_enable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_cursor_enable },
  { "ncdirect_cursor_left", (void *)_cffi_f_ncdirect_cursor_left, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 259), (void *)_cffi_d_ncdirect_cursor_left },
  { "ncdirect_cursor_move_yx", (void *)_cffi_f_ncdirect_cursor_move_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 263), (void *)_cffi_d_ncdirect_cursor_move_yx },
  { "ncdirect_cursor_pop", (void *)_cffi_f_ncdirect_cursor_pop, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_cursor_pop },
  { "ncdirect_cursor_push", (void *)_cffi_f_ncdirect_cursor_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_cursor_push },
  { "ncdirect_cursor_right", (void *)_cffi_f_ncdirect_cursor_right, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 259), (void *)_cffi_d_ncdirect_cursor_right },
  { "ncdirect_cursor_up", (void *)_cffi_f_ncdirect_cursor_up, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 259), (void *)_cffi_d_ncdirect_cursor_up },
  { "ncdirect_cursor_yx", (void *)_cffi_f_ncdirect_cursor_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 317), (void *)_cffi_d_ncdirect_cursor_yx },
  { "ncdirect_detected_terminal", (void *)_cffi_f_ncdirect_detected_terminal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 71), (void *)_cffi_d_ncdirect_detected_terminal },
  { "ncdirect_dim_x", (void *)_cffi_f_ncdirect_dim_x, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1432), (void *)_cffi_d_ncdirect_dim_x },
  { "ncdirect_dim_y", (void *)_cffi_f_ncdirect_dim_y, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1432), (void *)_cffi_d_ncdirect_dim_y },
  { "ncdirect_double_box", (void *)_cffi_f_ncdirect_double_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_ncdirect_double_box },
  { "ncdirect_flush", (void *)_cffi_f_ncdirect_flush, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 332), (void *)_cffi_d_ncdirect_flush },
  { "ncdirect_get", (void *)_cffi_f_ncdirect_get, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1341), (void *)_cffi_d_ncdirect_get },
  { "ncdirect_get_blocking", (void *)_cffi_f_ncdirect_get_blocking, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1337), (void *)_cffi_d_ncdirect_get_blocking },
  { "ncdirect_get_nblock", (void *)_cffi_f_ncdirect_get_nblock, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1337), (void *)_cffi_d_ncdirect_get_nblock },
  { "ncdirect_heavy_box", (void *)_cffi_f_ncdirect_heavy_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_ncdirect_heavy_box },
  { "ncdirect_hline_interp", (void *)_cffi_f_ncdirect_hline_interp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 252), (void *)_cffi_d_ncdirect_hline_interp },
  { "ncdirect_init", (void *)_cffi_f_ncdirect_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1062), (void *)_cffi_d_ncdirect_init },
  { "ncdirect_inputready_fd", (void *)_cffi_f_ncdirect_inputready_fd, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_inputready_fd },
  { "ncdirect_light_box", (void *)_cffi_f_ncdirect_light_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_ncdirect_light_box },
  { "ncdirect_off_styles", (void *)_cffi_f_ncdirect_off_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 322), (void *)_cffi_d_ncdirect_off_styles },
  { "ncdirect_on_styles", (void *)_cffi_f_ncdirect_on_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 322), (void *)_cffi_d_ncdirect_on_styles },
  { "ncdirect_palette_size", (void *)_cffi_f_ncdirect_palette_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1435), (void *)_cffi_d_ncdirect_palette_size },
  { "ncdirect_printf_aligned", (void *)_cffi_const_ncdirect_printf_aligned, _CFFI_OP(_CFFI_OP_CONSTANT, 1646), (void *)0 },
  { "ncdirect_putegc", (void *)_cffi_f_ncdirect_putegc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 290), (void *)_cffi_d_ncdirect_putegc },
  { "ncdirect_putstr", (void *)_cffi_f_ncdirect_putstr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 285), (void *)_cffi_d_ncdirect_putstr },
  { "ncdirect_raster_frame", (void *)_cffi_f_ncdirect_raster_frame, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 280), (void *)_cffi_d_ncdirect_raster_frame },
  { "ncdirect_readline", (void *)_cffi_f_ncdirect_readline, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 67), (void *)_cffi_d_ncdirect_readline },
  { "ncdirect_render_frame", (void *)_cffi_f_ncdirect_render_frame, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1040), (void *)_cffi_d_ncdirect_render_frame },
  { "ncdirect_render_image", (void *)_cffi_f_ncdirect_render_image, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 245), (void *)_cffi_d_ncdirect_render_image },
  { "ncdirect_rounded_box", (void *)_cffi_f_ncdirect_rounded_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_ncdirect_rounded_box },
  { "ncdirect_set_bg_default", (void *)_cffi_f_ncdirect_set_bg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_set_bg_default },
  { "ncdirect_set_bg_palindex", (void *)_cffi_f_ncdirect_set_bg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 259), (void *)_cffi_d_ncdirect_set_bg_palindex },
  { "ncdirect_set_bg_rgb", (void *)_cffi_f_ncdirect_set_bg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 322), (void *)_cffi_d_ncdirect_set_bg_rgb },
  { "ncdirect_set_bg_rgb8", (void *)_cffi_f_ncdirect_set_bg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 326), (void *)_cffi_d_ncdirect_set_bg_rgb8 },
  { "ncdirect_set_fg_default", (void *)_cffi_f_ncdirect_set_fg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_set_fg_default },
  { "ncdirect_set_fg_palindex", (void *)_cffi_f_ncdirect_set_fg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 259), (void *)_cffi_d_ncdirect_set_fg_palindex },
  { "ncdirect_set_fg_rgb", (void *)_cffi_f_ncdirect_set_fg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 322), (void *)_cffi_d_ncdirect_set_fg_rgb },
  { "ncdirect_set_fg_rgb8", (void *)_cffi_f_ncdirect_set_fg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 326), (void *)_cffi_d_ncdirect_set_fg_rgb8 },
  { "ncdirect_set_styles", (void *)_cffi_f_ncdirect_set_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 322), (void *)_cffi_d_ncdirect_set_styles },
  { "ncdirect_stop", (void *)_cffi_f_ncdirect_stop, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 235), (void *)_cffi_d_ncdirect_stop },
  { "ncdirect_stream", (void *)_cffi_f_ncdirect_stream, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 238), (void *)_cffi_d_ncdirect_stream },
  { "ncdirect_styles", (void *)_cffi_f_ncdirect_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1309), (void *)_cffi_d_ncdirect_styles },
  { "ncdirect_supported_styles", (void *)_cffi_f_ncdirect_supported_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1309), (void *)_cffi_d_ncdirect_supported_styles },
  { "ncdirect_vline_interp", (void *)_cffi_f_ncdirect_vline_interp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 252), (void *)_cffi_d_ncdirect_vline_interp },
  { "ncdirectf_free", (void *)_cffi_f_ncdirectf_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1494), (void *)_cffi_d_ncdirectf_free },
  { "ncdirectf_from_file", (void *)_cffi_f_ncdirectf_from_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1036), (void *)_cffi_d_ncdirectf_from_file },
  { "ncdirectf_geom", (void *)_cffi_f_ncdirectf_geom, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 274), (void *)_cffi_d_ncdirectf_geom },
  { "ncdirectf_render", (void *)_cffi_f_ncdirectf_render, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1048), (void *)_cffi_d_ncdirectf_render },
  { "ncdplot_add_sample", (void *)_cffi_f_ncdplot_add_sample, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 335), (void *)_cffi_d_ncdplot_add_sample },
  { "ncdplot_create", (void *)_cffi_f_ncdplot_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1067), (void *)_cffi_d_ncdplot_create },
  { "ncdplot_destroy", (void *)_cffi_f_ncdplot_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1500), (void *)_cffi_d_ncdplot_destroy },
  { "ncdplot_plane", (void *)_cffi_f_ncdplot_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1091), (void *)_cffi_d_ncdplot_plane },
  { "ncdplot_sample", (void *)_cffi_f_ncdplot_sample, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 340), (void *)_cffi_d_ncdplot_sample },
  { "ncdplot_set_sample", (void *)_cffi_f_ncdplot_set_sample, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 335), (void *)_cffi_d_ncdplot_set_sample },
  { "ncfadectx_free", (void *)_cffi_f_ncfadectx_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1503), (void *)_cffi_d_ncfadectx_free },
  { "ncfadectx_iterations", (void *)_cffi_f_ncfadectx_iterations, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 345), (void *)_cffi_d_ncfadectx_iterations },
  { "ncfadectx_setup", (void *)_cffi_f_ncfadectx_setup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1073), (void *)_cffi_d_ncfadectx_setup },
  { "ncfdplane_create", (void *)_cffi_f_ncfdplane_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1076), (void *)_cffi_d_ncfdplane_create },
  { "ncfdplane_destroy", (void *)_cffi_f_ncfdplane_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 348), (void *)_cffi_d_ncfdplane_destroy },
  { "ncfdplane_plane", (void *)_cffi_f_ncfdplane_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1094), (void *)_cffi_d_ncfdplane_plane },
  { "ncinput_alt_p", (void *)_cffi_f_ncinput_alt_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_alt_p },
  { "ncinput_capslock_p", (void *)_cffi_f_ncinput_capslock_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_capslock_p },
  { "ncinput_ctrl_p", (void *)_cffi_f_ncinput_ctrl_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_ctrl_p },
  { "ncinput_equal_p", (void *)_cffi_f_ncinput_equal_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 9), (void *)_cffi_d_ncinput_equal_p },
  { "ncinput_hyper_p", (void *)_cffi_f_ncinput_hyper_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_hyper_p },
  { "ncinput_meta_p", (void *)_cffi_f_ncinput_meta_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_meta_p },
  { "ncinput_nomod_p", (void *)_cffi_f_ncinput_nomod_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_nomod_p },
  { "ncinput_numlock_p", (void *)_cffi_f_ncinput_numlock_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_numlock_p },
  { "ncinput_shift_p", (void *)_cffi_f_ncinput_shift_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_shift_p },
  { "ncinput_super_p", (void *)_cffi_f_ncinput_super_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 6), (void *)_cffi_d_ncinput_super_p },
  { "nciprefix", (void *)_cffi_f_nciprefix, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 164), (void *)_cffi_d_nciprefix },
  { "nckey_mouse_p", (void *)_cffi_f_nckey_mouse_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_nckey_mouse_p },
  { "nckey_pua_p", (void *)_cffi_f_nckey_pua_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_nckey_pua_p },
  { "nckey_supppuaa_p", (void *)_cffi_f_nckey_supppuaa_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_nckey_supppuaa_p },
  { "nckey_supppuab_p", (void *)_cffi_f_nckey_supppuab_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_nckey_supppuab_p },
  { "nckey_synthesized_p", (void *)_cffi_f_nckey_synthesized_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 61), (void *)_cffi_d_nckey_synthesized_p },
  { "ncmenu_create", (void *)_cffi_f_ncmenu_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1083), (void *)_cffi_d_ncmenu_create },
  { "ncmenu_destroy", (void *)_cffi_f_ncmenu_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1506), (void *)_cffi_d_ncmenu_destroy },
  { "ncmenu_item_set_status", (void *)_cffi_f_ncmenu_item_set_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 365), (void *)_cffi_d_ncmenu_item_set_status },
  { "ncmenu_mouse_selected", (void *)_cffi_f_ncmenu_mouse_selected, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 134), (void *)_cffi_d_ncmenu_mouse_selected },
  { "ncmenu_nextitem", (void *)_cffi_f_ncmenu_nextitem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 362), (void *)_cffi_d_ncmenu_nextitem },
  { "ncmenu_nextsection", (void *)_cffi_f_ncmenu_nextsection, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 362), (void *)_cffi_d_ncmenu_nextsection },
  { "ncmenu_offer_input", (void *)_cffi_f_ncmenu_offer_input, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 16), (void *)_cffi_d_ncmenu_offer_input },
  { "ncmenu_plane", (void *)_cffi_f_ncmenu_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1097), (void *)_cffi_d_ncmenu_plane },
  { "ncmenu_previtem", (void *)_cffi_f_ncmenu_previtem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 362), (void *)_cffi_d_ncmenu_previtem },
  { "ncmenu_prevsection", (void *)_cffi_f_ncmenu_prevsection, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 362), (void *)_cffi_d_ncmenu_prevsection },
  { "ncmenu_rollup", (void *)_cffi_f_ncmenu_rollup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 362), (void *)_cffi_d_ncmenu_rollup },
  { "ncmenu_selected", (void *)_cffi_f_ncmenu_selected, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 130), (void *)_cffi_d_ncmenu_selected },
  { "ncmenu_unroll", (void *)_cffi_f_ncmenu_unroll, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 371), (void *)_cffi_d_ncmenu_unroll },
  { "ncmultiselector_create", (void *)_cffi_f_ncmultiselector_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1087), (void *)_cffi_d_ncmultiselector_create },
  { "ncmultiselector_destroy", (void *)_cffi_f_ncmultiselector_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1509), (void *)_cffi_d_ncmultiselector_destroy },
  { "ncmultiselector_offer_input", (void *)_cffi_f_ncmultiselector_offer_input, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 20), (void *)_cffi_d_ncmultiselector_offer_input },
  { "ncmultiselector_plane", (void *)_cffi_f_ncmultiselector_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1100), (void *)_cffi_d_ncmultiselector_plane },
  { "ncmultiselector_selected", (void *)_cffi_f_ncmultiselector_selected, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 375), (void *)_cffi_d_ncmultiselector_selected },
  { "ncnmetric", (void *)_cffi_f_ncnmetric, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 155), (void *)_cffi_d_ncnmetric },
  { "ncpalette_free", (void *)_cffi_f_ncpalette_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1497), (void *)_cffi_d_ncpalette_free },
  { "ncpalette_get", (void *)_cffi_f_ncpalette_get, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 223), (void *)_cffi_d_ncpalette_get },
  { "ncpalette_get_rgb8", (void *)_cffi_f_ncpalette_get_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 228), (void *)_cffi_d_ncpalette_get_rgb8 },
  { "ncpalette_new", (void *)_cffi_f_ncpalette_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1053), (void *)_cffi_d_ncpalette_new },
  { "ncpalette_set", (void *)_cffi_f_ncpalette_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 211), (void *)_cffi_d_ncpalette_set },
  { "ncpalette_set_rgb8", (void *)_cffi_f_ncpalette_set_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 216), (void *)_cffi_d_ncpalette_set_rgb8 },
  { "ncpalette_use", (void *)_cffi_f_ncpalette_use, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 934), (void *)_cffi_d_ncpalette_use },
  { "ncpile_bottom", (void *)_cffi_f_ncpile_bottom, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1103), (void *)_cffi_d_ncpile_bottom },
  { "ncpile_create", (void *)_cffi_f_ncpile_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1152), (void *)_cffi_d_ncpile_create },
  { "ncpile_rasterize", (void *)_cffi_f_ncpile_rasterize, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncpile_rasterize },
  { "ncpile_render", (void *)_cffi_f_ncpile_render, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncpile_render },
  { "ncpile_render_to_buffer", (void *)_cffi_f_ncpile_render_to_buffer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 387), (void *)_cffi_d_ncpile_render_to_buffer },
  { "ncpile_render_to_file", (void *)_cffi_f_ncpile_render_to_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 383), (void *)_cffi_d_ncpile_render_to_file },
  { "ncpile_top", (void *)_cffi_f_ncpile_top, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1103), (void *)_cffi_d_ncpile_top },
  { "ncpixel", (void *)_cffi_f_ncpixel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1385), (void *)_cffi_d_ncpixel },
  { "ncpixel_a", (void *)_cffi_f_ncpixel_a, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncpixel_a },
  { "ncpixel_b", (void *)_cffi_f_ncpixel_b, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncpixel_b },
  { "ncpixel_g", (void *)_cffi_f_ncpixel_g, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncpixel_g },
  { "ncpixel_r", (void *)_cffi_f_ncpixel_r, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_ncpixel_r },
  { "ncpixel_set_a", (void *)_cffi_f_ncpixel_set_a, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 986), (void *)_cffi_d_ncpixel_set_a },
  { "ncpixel_set_b", (void *)_cffi_f_ncpixel_set_b, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 986), (void *)_cffi_d_ncpixel_set_b },
  { "ncpixel_set_g", (void *)_cffi_f_ncpixel_set_g, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 986), (void *)_cffi_d_ncpixel_set_g },
  { "ncpixel_set_r", (void *)_cffi_f_ncpixel_set_r, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 986), (void *)_cffi_d_ncpixel_set_r },
  { "ncpixel_set_rgb8", (void *)_cffi_f_ncpixel_set_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 990), (void *)_cffi_d_ncpixel_set_rgb8 },
  { "ncplane_above", (void *)_cffi_f_ncplane_above, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1103), (void *)_cffi_d_ncplane_above },
  { "ncplane_abs_x", (void *)_cffi_f_ncplane_abs_x, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 796), (void *)_cffi_d_ncplane_abs_x },
  { "ncplane_abs_y", (void *)_cffi_f_ncplane_abs_y, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 796), (void *)_cffi_d_ncplane_abs_y },
  { "ncplane_abs_yx", (void *)_cffi_f_ncplane_abs_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1537), (void *)_cffi_d_ncplane_abs_yx },
  { "ncplane_as_rgba", (void *)_cffi_f_ncplane_as_rgba, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1318), (void *)_cffi_d_ncplane_as_rgba },
  { "ncplane_ascii_box", (void *)_cffi_f_ncplane_ascii_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 739), (void *)_cffi_d_ncplane_ascii_box },
  { "ncplane_at_cursor", (void *)_cffi_f_ncplane_at_cursor, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 101), (void *)_cffi_d_ncplane_at_cursor },
  { "ncplane_at_cursor_cell", (void *)_cffi_f_ncplane_at_cursor_cell, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 605), (void *)_cffi_d_ncplane_at_cursor_cell },
  { "ncplane_at_yx", (void *)_cffi_f_ncplane_at_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 84), (void *)_cffi_d_ncplane_at_yx },
  { "ncplane_at_yx_cell", (void *)_cffi_f_ncplane_at_yx_cell, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 468), (void *)_cffi_d_ncplane_at_yx_cell },
  { "ncplane_autogrow_p", (void *)_cffi_f_ncplane_autogrow_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 28), (void *)_cffi_d_ncplane_autogrow_p },
  { "ncplane_base", (void *)_cffi_f_ncplane_base, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 605), (void *)_cffi_d_ncplane_base },
  { "ncplane_bchannel", (void *)_cffi_f_ncplane_bchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1346), (void *)_cffi_d_ncplane_bchannel },
  { "ncplane_below", (void *)_cffi_f_ncplane_below, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1103), (void *)_cffi_d_ncplane_below },
  { "ncplane_bg_alpha", (void *)_cffi_f_ncplane_bg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1346), (void *)_cffi_d_ncplane_bg_alpha },
  { "ncplane_bg_default_p", (void *)_cffi_f_ncplane_bg_default_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 28), (void *)_cffi_d_ncplane_bg_default_p },
  { "ncplane_bg_rgb", (void *)_cffi_f_ncplane_bg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1346), (void *)_cffi_d_ncplane_bg_rgb },
  { "ncplane_bg_rgb8", (void *)_cffi_f_ncplane_bg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1349), (void *)_cffi_d_ncplane_bg_rgb8 },
  { "ncplane_box", (void *)_cffi_f_ncplane_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 650), (void *)_cffi_d_ncplane_box },
  { "ncplane_box_sized", (void *)_cffi_f_ncplane_box_sized, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 650), (void *)_cffi_d_ncplane_box_sized },
  { "ncplane_center_abs", (void *)_cffi_f_ncplane_center_abs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1537), (void *)_cffi_d_ncplane_center_abs },
  { "ncplane_channels", (void *)_cffi_f_ncplane_channels, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1405), (void *)_cffi_d_ncplane_channels },
  { "ncplane_contents", (void *)_cffi_f_ncplane_contents, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 74), (void *)_cffi_d_ncplane_contents },
  { "ncplane_create", (void *)_cffi_f_ncplane_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1106), (void *)_cffi_d_ncplane_create },
  { "ncplane_cursor_move_rel", (void *)_cffi_f_ncplane_cursor_move_rel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 424), (void *)_cffi_d_ncplane_cursor_move_rel },
  { "ncplane_cursor_move_yx", (void *)_cffi_f_ncplane_cursor_move_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 424), (void *)_cffi_d_ncplane_cursor_move_yx },
  { "ncplane_cursor_x", (void *)_cffi_f_ncplane_cursor_x, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1438), (void *)_cffi_d_ncplane_cursor_x },
  { "ncplane_cursor_y", (void *)_cffi_f_ncplane_cursor_y, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1438), (void *)_cffi_d_ncplane_cursor_y },
  { "ncplane_cursor_yx", (void *)_cffi_f_ncplane_cursor_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1548), (void *)_cffi_d_ncplane_cursor_yx },
  { "ncplane_descendant_p", (void *)_cffi_f_ncplane_descendant_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 804), (void *)_cffi_d_ncplane_descendant_p },
  { "ncplane_destroy", (void *)_cffi_f_ncplane_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_destroy },
  { "ncplane_dim_x", (void *)_cffi_f_ncplane_dim_x, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1438), (void *)_cffi_d_ncplane_dim_x },
  { "ncplane_dim_y", (void *)_cffi_f_ncplane_dim_y, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1438), (void *)_cffi_d_ncplane_dim_y },
  { "ncplane_dim_yx", (void *)_cffi_f_ncplane_dim_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1548), (void *)_cffi_d_ncplane_dim_yx },
  { "ncplane_double_box", (void *)_cffi_f_ncplane_double_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 739), (void *)_cffi_d_ncplane_double_box },
  { "ncplane_double_box_sized", (void *)_cffi_f_ncplane_double_box_sized, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 739), (void *)_cffi_d_ncplane_double_box_sized },
  { "ncplane_dup", (void *)_cffi_f_ncplane_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1118), (void *)_cffi_d_ncplane_dup },
  { "ncplane_erase", (void *)_cffi_f_ncplane_erase, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_erase },
  { "ncplane_erase_region", (void *)_cffi_f_ncplane_erase_region, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 461), (void *)_cffi_d_ncplane_erase_region },
  { "ncplane_fadein", (void *)_cffi_f_ncplane_fadein, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 704), (void *)_cffi_d_ncplane_fadein },
  { "ncplane_fadein_iteration", (void *)_cffi_f_ncplane_fadein_iteration, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 679), (void *)_cffi_d_ncplane_fadein_iteration },
  { "ncplane_fadeout", (void *)_cffi_f_ncplane_fadeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 704), (void *)_cffi_d_ncplane_fadeout },
  { "ncplane_fadeout_iteration", (void *)_cffi_f_ncplane_fadeout_iteration, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 679), (void *)_cffi_d_ncplane_fadeout_iteration },
  { "ncplane_family_destroy", (void *)_cffi_f_ncplane_family_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_family_destroy },
  { "ncplane_fchannel", (void *)_cffi_f_ncplane_fchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1346), (void *)_cffi_d_ncplane_fchannel },
  { "ncplane_fg_alpha", (void *)_cffi_f_ncplane_fg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1346), (void *)_cffi_d_ncplane_fg_alpha },
  { "ncplane_fg_default_p", (void *)_cffi_f_ncplane_fg_default_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 28), (void *)_cffi_d_ncplane_fg_default_p },
  { "ncplane_fg_rgb", (void *)_cffi_f_ncplane_fg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1346), (void *)_cffi_d_ncplane_fg_rgb },
  { "ncplane_fg_rgb8", (void *)_cffi_f_ncplane_fg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1349), (void *)_cffi_d_ncplane_fg_rgb8 },
  { "ncplane_format", (void *)_cffi_f_ncplane_format, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 517), (void *)_cffi_d_ncplane_format },
  { "ncplane_gradient", (void *)_cffi_f_ncplane_gradient, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 493), (void *)_cffi_d_ncplane_gradient },
  { "ncplane_gradient2x1", (void *)_cffi_f_ncplane_gradient2x1, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 525), (void *)_cffi_d_ncplane_gradient2x1 },
  { "ncplane_greyscale", (void *)_cffi_f_ncplane_greyscale, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_greyscale },
  { "ncplane_halign", (void *)_cffi_f_ncplane_halign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 799), (void *)_cffi_d_ncplane_halign },
  { "ncplane_hline", (void *)_cffi_f_ncplane_hline, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 662), (void *)_cffi_d_ncplane_hline },
  { "ncplane_hline_interp", (void *)_cffi_f_ncplane_hline_interp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 667), (void *)_cffi_d_ncplane_hline_interp },
  { "ncplane_home", (void *)_cffi_f_ncplane_home, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_home },
  { "ncplane_mergedown", (void *)_cffi_f_ncplane_mergedown, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 690), (void *)_cffi_d_ncplane_mergedown },
  { "ncplane_mergedown_simple", (void *)_cffi_f_ncplane_mergedown_simple, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 686), (void *)_cffi_d_ncplane_mergedown_simple },
  { "ncplane_move_above", (void *)_cffi_f_ncplane_move_above, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 686), (void *)_cffi_d_ncplane_move_above },
  { "ncplane_move_below", (void *)_cffi_f_ncplane_move_below, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 686), (void *)_cffi_d_ncplane_move_below },
  { "ncplane_move_bottom", (void *)_cffi_f_ncplane_move_bottom, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_move_bottom },
  { "ncplane_move_family_above", (void *)_cffi_f_ncplane_move_family_above, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 686), (void *)_cffi_d_ncplane_move_family_above },
  { "ncplane_move_family_below", (void *)_cffi_f_ncplane_move_family_below, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 686), (void *)_cffi_d_ncplane_move_family_below },
  { "ncplane_move_family_bottom", (void *)_cffi_f_ncplane_move_family_bottom, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_move_family_bottom },
  { "ncplane_move_family_top", (void *)_cffi_f_ncplane_move_family_top, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_move_family_top },
  { "ncplane_move_rel", (void *)_cffi_f_ncplane_move_rel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 424), (void *)_cffi_d_ncplane_move_rel },
  { "ncplane_move_top", (void *)_cffi_f_ncplane_move_top, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_move_top },
  { "ncplane_move_yx", (void *)_cffi_f_ncplane_move_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 424), (void *)_cffi_d_ncplane_move_yx },
  { "ncplane_name", (void *)_cffi_f_ncplane_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 81), (void *)_cffi_d_ncplane_name },
  { "ncplane_notcurses", (void *)_cffi_f_ncplane_notcurses, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ncplane_notcurses },
  { "ncplane_notcurses_const", (void *)_cffi_f_ncplane_notcurses_const, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1303), (void *)_cffi_d_ncplane_notcurses_const },
  { "ncplane_off_styles", (void *)_cffi_f_ncplane_off_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1533), (void *)_cffi_d_ncplane_off_styles },
  { "ncplane_on_styles", (void *)_cffi_f_ncplane_on_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1533), (void *)_cffi_d_ncplane_on_styles },
  { "ncplane_parent", (void *)_cffi_f_ncplane_parent, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1103), (void *)_cffi_d_ncplane_parent },
  { "ncplane_parent_const", (void *)_cffi_f_ncplane_parent_const, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1172), (void *)_cffi_d_ncplane_parent_const },
  { "ncplane_perimeter", (void *)_cffi_f_ncplane_perimeter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 640), (void *)_cffi_d_ncplane_perimeter },
  { "ncplane_perimeter_double", (void *)_cffi_f_ncplane_perimeter_double, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 733), (void *)_cffi_d_ncplane_perimeter_double },
  { "ncplane_perimeter_rounded", (void *)_cffi_f_ncplane_perimeter_rounded, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 733), (void *)_cffi_d_ncplane_perimeter_rounded },
  { "ncplane_pixel_geom", (void *)_cffi_f_ncplane_pixel_geom, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1553), (void *)_cffi_d_ncplane_pixel_geom },
  { "ncplane_polyfill_yx", (void *)_cffi_f_ncplane_polyfill_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 474), (void *)_cffi_d_ncplane_polyfill_yx },
  { "ncplane_printf", (void *)_cffi_const_ncplane_printf, _CFFI_OP(_CFFI_OP_CONSTANT, 1647), (void *)0 },
  { "ncplane_printf_aligned", (void *)_cffi_const_ncplane_printf_aligned, _CFFI_OP(_CFFI_OP_CONSTANT, 1649), (void *)0 },
  { "ncplane_printf_stained", (void *)_cffi_const_ncplane_printf_stained, _CFFI_OP(_CFFI_OP_CONSTANT, 1647), (void *)0 },
  { "ncplane_printf_yx", (void *)_cffi_const_ncplane_printf_yx, _CFFI_OP(_CFFI_OP_CONSTANT, 1648), (void *)0 },
  { "ncplane_pulse", (void *)_cffi_f_ncplane_pulse, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 704), (void *)_cffi_d_ncplane_pulse },
  { "ncplane_putc", (void *)_cffi_f_ncplane_putc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 636), (void *)_cffi_d_ncplane_putc },
  { "ncplane_putc_yx", (void *)_cffi_f_ncplane_putc_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 474), (void *)_cffi_d_ncplane_putc_yx },
  { "ncplane_putchar", (void *)_cffi_f_ncplane_putchar, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 416), (void *)_cffi_d_ncplane_putchar },
  { "ncplane_putchar_stained", (void *)_cffi_f_ncplane_putchar_stained, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 416), (void *)_cffi_d_ncplane_putchar_stained },
  { "ncplane_putchar_yx", (void *)_cffi_f_ncplane_putchar_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 455), (void *)_cffi_d_ncplane_putchar_yx },
  { "ncplane_putegc", (void *)_cffi_f_ncplane_putegc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 400), (void *)_cffi_d_ncplane_putegc },
  { "ncplane_putegc_stained", (void *)_cffi_f_ncplane_putegc_stained, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 400), (void *)_cffi_d_ncplane_putegc_stained },
  { "ncplane_putegc_yx", (void *)_cffi_f_ncplane_putegc_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 441), (void *)_cffi_d_ncplane_putegc_yx },
  { "ncplane_putnstr", (void *)_cffi_f_ncplane_putnstr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 674), (void *)_cffi_d_ncplane_putnstr },
  { "ncplane_putnstr_aligned", (void *)_cffi_f_ncplane_putnstr_aligned, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 592), (void *)_cffi_d_ncplane_putnstr_aligned },
  { "ncplane_putnstr_yx", (void *)_cffi_f_ncplane_putnstr_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 480), (void *)_cffi_d_ncplane_putnstr_yx },
  { "ncplane_putstr", (void *)_cffi_f_ncplane_putstr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 392), (void *)_cffi_d_ncplane_putstr },
  { "ncplane_putstr_aligned", (void *)_cffi_f_ncplane_putstr_aligned, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 566), (void *)_cffi_d_ncplane_putstr_aligned },
  { "ncplane_putstr_stained", (void *)_cffi_f_ncplane_putstr_stained, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 392), (void *)_cffi_d_ncplane_putstr_stained },
  { "ncplane_putstr_yx", (void *)_cffi_f_ncplane_putstr_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 429), (void *)_cffi_d_ncplane_putstr_yx },
  { "ncplane_puttext", (void *)_cffi_f_ncplane_puttext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 578), (void *)_cffi_d_ncplane_puttext },
  { "ncplane_pututf32_yx", (void *)_cffi_f_ncplane_pututf32_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 487), (void *)_cffi_d_ncplane_pututf32_yx },
  { "ncplane_putwc", (void *)_cffi_f_ncplane_putwc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 792), (void *)_cffi_d_ncplane_putwc },
  { "ncplane_putwc_stained", (void *)_cffi_f_ncplane_putwc_stained, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 792), (void *)_cffi_d_ncplane_putwc_stained },
  { "ncplane_putwc_utf32", (void *)_cffi_f_ncplane_putwc_utf32, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 787), (void *)_cffi_d_ncplane_putwc_utf32 },
  { "ncplane_putwc_yx", (void *)_cffi_f_ncplane_putwc_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 560), (void *)_cffi_d_ncplane_putwc_yx },
  { "ncplane_putwegc", (void *)_cffi_f_ncplane_putwegc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 782), (void *)_cffi_d_ncplane_putwegc },
  { "ncplane_putwegc_stained", (void *)_cffi_f_ncplane_putwegc_stained, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 782), (void *)_cffi_d_ncplane_putwegc_stained },
  { "ncplane_putwegc_yx", (void *)_cffi_f_ncplane_putwegc_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 553), (void *)_cffi_d_ncplane_putwegc_yx },
  { "ncplane_putwstr", (void *)_cffi_f_ncplane_putwstr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 778), (void *)_cffi_d_ncplane_putwstr },
  { "ncplane_putwstr_aligned", (void *)_cffi_f_ncplane_putwstr_aligned, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 599), (void *)_cffi_d_ncplane_putwstr_aligned },
  { "ncplane_putwstr_stained", (void *)_cffi_f_ncplane_putwstr_stained, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 778), (void *)_cffi_d_ncplane_putwstr_stained },
  { "ncplane_putwstr_yx", (void *)_cffi_f_ncplane_putwstr_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 547), (void *)_cffi_d_ncplane_putwstr_yx },
  { "ncplane_qrcode", (void *)_cffi_f_ncplane_qrcode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 751), (void *)_cffi_d_ncplane_qrcode },
  { "ncplane_reparent", (void *)_cffi_f_ncplane_reparent, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1110), (void *)_cffi_d_ncplane_reparent },
  { "ncplane_reparent_family", (void *)_cffi_f_ncplane_reparent_family, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1110), (void *)_cffi_d_ncplane_reparent_family },
  { "ncplane_resize", (void *)_cffi_f_ncplane_resize, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 506), (void *)_cffi_d_ncplane_resize },
  { "ncplane_resize_marginalized", (void *)_cffi_f_ncplane_resize_marginalized, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_resize_marginalized },
  { "ncplane_resize_maximize", (void *)_cffi_f_ncplane_resize_maximize, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_resize_maximize },
  { "ncplane_resize_placewithin", (void *)_cffi_f_ncplane_resize_placewithin, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_resize_placewithin },
  { "ncplane_resize_realign", (void *)_cffi_f_ncplane_resize_realign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_resize_realign },
  { "ncplane_resize_simple", (void *)_cffi_f_ncplane_resize_simple, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 762), (void *)_cffi_d_ncplane_resize_simple },
  { "ncplane_resizecb", (void *)_cffi_f_ncplane_resizecb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1023), (void *)_cffi_d_ncplane_resizecb },
  { "ncplane_rotate_ccw", (void *)_cffi_f_ncplane_rotate_ccw, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_rotate_ccw },
  { "ncplane_rotate_cw", (void *)_cffi_f_ncplane_rotate_cw, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 380), (void *)_cffi_d_ncplane_rotate_cw },
  { "ncplane_rounded_box", (void *)_cffi_f_ncplane_rounded_box, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 739), (void *)_cffi_d_ncplane_rounded_box },
  { "ncplane_rounded_box_sized", (void *)_cffi_f_ncplane_rounded_box_sized, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 739), (void *)_cffi_d_ncplane_rounded_box_sized },
  { "ncplane_scrolling_p", (void *)_cffi_f_ncplane_scrolling_p, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 28), (void *)_cffi_d_ncplane_scrolling_p },
  { "ncplane_scrollup", (void *)_cffi_f_ncplane_scrollup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 420), (void *)_cffi_d_ncplane_scrollup },
  { "ncplane_scrollup_child", (void *)_cffi_f_ncplane_scrollup_child, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 700), (void *)_cffi_d_ncplane_scrollup_child },
  { "ncplane_set_autogrow", (void *)_cffi_f_ncplane_set_autogrow, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 24), (void *)_cffi_d_ncplane_set_autogrow },
  { "ncplane_set_base", (void *)_cffi_f_ncplane_set_base, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 405), (void *)_cffi_d_ncplane_set_base },
  { "ncplane_set_base_cell", (void *)_cffi_f_ncplane_set_base_cell, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 636), (void *)_cffi_d_ncplane_set_base_cell },
  { "ncplane_set_bchannel", (void *)_cffi_f_ncplane_set_bchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1401), (void *)_cffi_d_ncplane_set_bchannel },
  { "ncplane_set_bg_alpha", (void *)_cffi_f_ncplane_set_bg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 420), (void *)_cffi_d_ncplane_set_bg_alpha },
  { "ncplane_set_bg_default", (void *)_cffi_f_ncplane_set_bg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_set_bg_default },
  { "ncplane_set_bg_palindex", (void *)_cffi_f_ncplane_set_bg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 758), (void *)_cffi_d_ncplane_set_bg_palindex },
  { "ncplane_set_bg_rgb", (void *)_cffi_f_ncplane_set_bg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 747), (void *)_cffi_d_ncplane_set_bg_rgb },
  { "ncplane_set_bg_rgb8", (void *)_cffi_f_ncplane_set_bg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 767), (void *)_cffi_d_ncplane_set_bg_rgb8 },
  { "ncplane_set_bg_rgb8_clipped", (void *)_cffi_f_ncplane_set_bg_rgb8_clipped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1519), (void *)_cffi_d_ncplane_set_bg_rgb8_clipped },
  { "ncplane_set_channels", (void *)_cffi_f_ncplane_set_channels, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1529), (void *)_cffi_d_ncplane_set_channels },
  { "ncplane_set_fchannel", (void *)_cffi_f_ncplane_set_fchannel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1401), (void *)_cffi_d_ncplane_set_fchannel },
  { "ncplane_set_fg_alpha", (void *)_cffi_f_ncplane_set_fg_alpha, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 420), (void *)_cffi_d_ncplane_set_fg_alpha },
  { "ncplane_set_fg_default", (void *)_cffi_f_ncplane_set_fg_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1512), (void *)_cffi_d_ncplane_set_fg_default },
  { "ncplane_set_fg_palindex", (void *)_cffi_f_ncplane_set_fg_palindex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 758), (void *)_cffi_d_ncplane_set_fg_palindex },
  { "ncplane_set_fg_rgb", (void *)_cffi_f_ncplane_set_fg_rgb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 747), (void *)_cffi_d_ncplane_set_fg_rgb },
  { "ncplane_set_fg_rgb8", (void *)_cffi_f_ncplane_set_fg_rgb8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 767), (void *)_cffi_d_ncplane_set_fg_rgb8 },
  { "ncplane_set_fg_rgb8_clipped", (void *)_cffi_f_ncplane_set_fg_rgb8_clipped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1519), (void *)_cffi_d_ncplane_set_fg_rgb8_clipped },
  { "ncplane_set_name", (void *)_cffi_f_ncplane_set_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 392), (void *)_cffi_d_ncplane_set_name },
  { "ncplane_set_resizecb", (void *)_cffi_f_ncplane_set_resizecb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1515), (void *)_cffi_d_ncplane_set_resizecb },
  { "ncplane_set_scrolling", (void *)_cffi_f_ncplane_set_scrolling, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 24), (void *)_cffi_d_ncplane_set_scrolling },
  { "ncplane_set_styles", (void *)_cffi_f_ncplane_set_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1533), (void *)_cffi_d_ncplane_set_styles },
  { "ncplane_set_userptr", (void *)_cffi_f_ncplane_set_userptr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1453), (void *)_cffi_d_ncplane_set_userptr },
  { "ncplane_stain", (void *)_cffi_f_ncplane_stain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 536), (void *)_cffi_d_ncplane_stain },
  { "ncplane_styles", (void *)_cffi_f_ncplane_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1312), (void *)_cffi_d_ncplane_styles },
  { "ncplane_translate", (void *)_cffi_f_ncplane_translate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1542), (void *)_cffi_d_ncplane_translate },
  { "ncplane_translate_abs", (void *)_cffi_f_ncplane_translate_abs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 31), (void *)_cffi_d_ncplane_translate_abs },
  { "ncplane_userptr", (void *)_cffi_f_ncplane_userptr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1450), (void *)_cffi_d_ncplane_userptr },
  { "ncplane_valign", (void *)_cffi_f_ncplane_valign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 799), (void *)_cffi_d_ncplane_valign },
  { "ncplane_vline", (void *)_cffi_f_ncplane_vline, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 662), (void *)_cffi_d_ncplane_vline },
  { "ncplane_vline_interp", (void *)_cffi_f_ncplane_vline_interp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 667), (void *)_cffi_d_ncplane_vline_interp },
  { "ncplane_vprintf", (void *)_cffi_f_ncplane_vprintf, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 411), (void *)_cffi_d_ncplane_vprintf },
  { "ncplane_vprintf_aligned", (void *)_cffi_f_ncplane_vprintf_aligned, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 585), (void *)_cffi_d_ncplane_vprintf_aligned },
  { "ncplane_vprintf_stained", (void *)_cffi_f_ncplane_vprintf_stained, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 411), (void *)_cffi_d_ncplane_vprintf_stained },
  { "ncplane_vprintf_yx", (void *)_cffi_f_ncplane_vprintf_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 448), (void *)_cffi_d_ncplane_vprintf_yx },
  { "ncplane_x", (void *)_cffi_f_ncplane_x, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 796), (void *)_cffi_d_ncplane_x },
  { "ncplane_y", (void *)_cffi_f_ncplane_y, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 796), (void *)_cffi_d_ncplane_y },
  { "ncplane_yx", (void *)_cffi_f_ncplane_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1537), (void *)_cffi_d_ncplane_yx },
  { "ncprogbar_create", (void *)_cffi_f_ncprogbar_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1183), (void *)_cffi_d_ncprogbar_create },
  { "ncprogbar_destroy", (void *)_cffi_f_ncprogbar_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1562), (void *)_cffi_d_ncprogbar_destroy },
  { "ncprogbar_plane", (void *)_cffi_f_ncprogbar_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1122), (void *)_cffi_d_ncprogbar_plane },
  { "ncprogbar_progress", (void *)_cffi_f_ncprogbar_progress, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 172), (void *)_cffi_d_ncprogbar_progress },
  { "ncprogbar_set_progress", (void *)_cffi_f_ncprogbar_set_progress, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 808), (void *)_cffi_d_ncprogbar_set_progress },
  { "ncqprefix", (void *)_cffi_f_ncqprefix, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 164), (void *)_cffi_d_ncqprefix },
  { "ncreader_clear", (void *)_cffi_f_ncreader_clear, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 812), (void *)_cffi_d_ncreader_clear },
  { "ncreader_contents", (void *)_cffi_f_ncreader_contents, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 106), (void *)_cffi_d_ncreader_contents },
  { "ncreader_create", (void *)_cffi_f_ncreader_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1187), (void *)_cffi_d_ncreader_create },
  { "ncreader_destroy", (void *)_cffi_f_ncreader_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1565), (void *)_cffi_d_ncreader_destroy },
  { "ncreader_move_down", (void *)_cffi_f_ncreader_move_down, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 812), (void *)_cffi_d_ncreader_move_down },
  { "ncreader_move_left", (void *)_cffi_f_ncreader_move_left, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 812), (void *)_cffi_d_ncreader_move_left },
  { "ncreader_move_right", (void *)_cffi_f_ncreader_move_right, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 812), (void *)_cffi_d_ncreader_move_right },
  { "ncreader_move_up", (void *)_cffi_f_ncreader_move_up, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 812), (void *)_cffi_d_ncreader_move_up },
  { "ncreader_offer_input", (void *)_cffi_f_ncreader_offer_input, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 42), (void *)_cffi_d_ncreader_offer_input },
  { "ncreader_plane", (void *)_cffi_f_ncreader_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1125), (void *)_cffi_d_ncreader_plane },
  { "ncreader_write_egc", (void *)_cffi_f_ncreader_write_egc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 815), (void *)_cffi_d_ncreader_write_egc },
  { "ncreel_add", (void *)_cffi_f_ncreel_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1241), (void *)_cffi_d_ncreel_add },
  { "ncreel_create", (void *)_cffi_f_ncreel_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1191), (void *)_cffi_d_ncreel_create },
  { "ncreel_del", (void *)_cffi_f_ncreel_del, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 822), (void *)_cffi_d_ncreel_del },
  { "ncreel_destroy", (void *)_cffi_f_ncreel_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1569), (void *)_cffi_d_ncreel_destroy },
  { "ncreel_focused", (void *)_cffi_f_ncreel_focused, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1238), (void *)_cffi_d_ncreel_focused },
  { "ncreel_next", (void *)_cffi_f_ncreel_next, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1238), (void *)_cffi_d_ncreel_next },
  { "ncreel_offer_input", (void *)_cffi_f_ncreel_offer_input, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 46), (void *)_cffi_d_ncreel_offer_input },
  { "ncreel_plane", (void *)_cffi_f_ncreel_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1128), (void *)_cffi_d_ncreel_plane },
  { "ncreel_prev", (void *)_cffi_f_ncreel_prev, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1238), (void *)_cffi_d_ncreel_prev },
  { "ncreel_redraw", (void *)_cffi_f_ncreel_redraw, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 819), (void *)_cffi_d_ncreel_redraw },
  { "ncreel_tabletcount", (void *)_cffi_f_ncreel_tabletcount, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 826), (void *)_cffi_d_ncreel_tabletcount },
  { "ncselector_additem", (void *)_cffi_f_ncselector_additem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 833), (void *)_cffi_d_ncselector_additem },
  { "ncselector_create", (void *)_cffi_f_ncselector_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1195), (void *)_cffi_d_ncselector_create },
  { "ncselector_delitem", (void *)_cffi_f_ncselector_delitem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 829), (void *)_cffi_d_ncselector_delitem },
  { "ncselector_destroy", (void *)_cffi_f_ncselector_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1572), (void *)_cffi_d_ncselector_destroy },
  { "ncselector_nextitem", (void *)_cffi_f_ncselector_nextitem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 143), (void *)_cffi_d_ncselector_nextitem },
  { "ncselector_offer_input", (void *)_cffi_f_ncselector_offer_input, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 50), (void *)_cffi_d_ncselector_offer_input },
  { "ncselector_plane", (void *)_cffi_f_ncselector_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1131), (void *)_cffi_d_ncselector_plane },
  { "ncselector_previtem", (void *)_cffi_f_ncselector_previtem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 143), (void *)_cffi_d_ncselector_previtem },
  { "ncselector_selected", (void *)_cffi_f_ncselector_selected, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 146), (void *)_cffi_d_ncselector_selected },
  { "ncstrwidth", (void *)_cffi_f_ncstrwidth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 175), (void *)_cffi_d_ncstrwidth },
  { "ncsubproc_createv", (void *)_cffi_f_ncsubproc_createv, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1208), (void *)_cffi_d_ncsubproc_createv },
  { "ncsubproc_createvp", (void *)_cffi_f_ncsubproc_createvp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1208), (void *)_cffi_d_ncsubproc_createvp },
  { "ncsubproc_createvpe", (void *)_cffi_f_ncsubproc_createvpe, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1199), (void *)_cffi_d_ncsubproc_createvpe },
  { "ncsubproc_destroy", (void *)_cffi_f_ncsubproc_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 837), (void *)_cffi_d_ncsubproc_destroy },
  { "ncsubproc_plane", (void *)_cffi_f_ncsubproc_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1134), (void *)_cffi_d_ncsubproc_plane },
  { "nctab_cb", (void *)_cffi_f_nctab_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1636), (void *)_cffi_d_nctab_cb },
  { "nctab_move", (void *)_cffi_f_nctab_move, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 858), (void *)_cffi_d_nctab_move },
  { "nctab_move_left", (void *)_cffi_f_nctab_move_left, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1588), (void *)_cffi_d_nctab_move_left },
  { "nctab_move_right", (void *)_cffi_f_nctab_move_right, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1588), (void *)_cffi_d_nctab_move_right },
  { "nctab_name", (void *)_cffi_f_nctab_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 149), (void *)_cffi_d_nctab_name },
  { "nctab_name_width", (void *)_cffi_f_nctab_name_width, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 840), (void *)_cffi_d_nctab_name_width },
  { "nctab_next", (void *)_cffi_f_nctab_next, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1216), (void *)_cffi_d_nctab_next },
  { "nctab_prev", (void *)_cffi_f_nctab_prev, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1216), (void *)_cffi_d_nctab_prev },
  { "nctab_set_cb", (void *)_cffi_f_nctab_set_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1639), (void *)_cffi_d_nctab_set_cb },
  { "nctab_set_name", (void *)_cffi_f_nctab_set_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 843), (void *)_cffi_d_nctab_set_name },
  { "nctab_set_userptr", (void *)_cffi_f_nctab_set_userptr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1460), (void *)_cffi_d_nctab_set_userptr },
  { "nctab_userptr", (void *)_cffi_f_nctab_userptr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1457), (void *)_cffi_d_nctab_userptr },
  { "nctabbed_add", (void *)_cffi_f_nctabbed_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1226), (void *)_cffi_d_nctabbed_add },
  { "nctabbed_channels", (void *)_cffi_f_nctabbed_channels, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1592), (void *)_cffi_d_nctabbed_channels },
  { "nctabbed_content_plane", (void *)_cffi_f_nctabbed_content_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1137), (void *)_cffi_d_nctabbed_content_plane },
  { "nctabbed_create", (void *)_cffi_f_nctabbed_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1234), (void *)_cffi_d_nctabbed_create },
  { "nctabbed_del", (void *)_cffi_f_nctabbed_del, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 854), (void *)_cffi_d_nctabbed_del },
  { "nctabbed_destroy", (void *)_cffi_f_nctabbed_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1581), (void *)_cffi_d_nctabbed_destroy },
  { "nctabbed_ensure_selected_header_visible", (void *)_cffi_f_nctabbed_ensure_selected_header_visible, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1581), (void *)_cffi_d_nctabbed_ensure_selected_header_visible },
  { "nctabbed_hdrchan", (void *)_cffi_f_nctabbed_hdrchan, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1408), (void *)_cffi_d_nctabbed_hdrchan },
  { "nctabbed_leftmost", (void *)_cffi_f_nctabbed_leftmost, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1219), (void *)_cffi_d_nctabbed_leftmost },
  { "nctabbed_next", (void *)_cffi_f_nctabbed_next, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1219), (void *)_cffi_d_nctabbed_next },
  { "nctabbed_plane", (void *)_cffi_f_nctabbed_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1137), (void *)_cffi_d_nctabbed_plane },
  { "nctabbed_prev", (void *)_cffi_f_nctabbed_prev, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1219), (void *)_cffi_d_nctabbed_prev },
  { "nctabbed_redraw", (void *)_cffi_f_nctabbed_redraw, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1581), (void *)_cffi_d_nctabbed_redraw },
  { "nctabbed_rotate", (void *)_cffi_f_nctabbed_rotate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1584), (void *)_cffi_d_nctabbed_rotate },
  { "nctabbed_selchan", (void *)_cffi_f_nctabbed_selchan, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1408), (void *)_cffi_d_nctabbed_selchan },
  { "nctabbed_select", (void *)_cffi_f_nctabbed_select, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1222), (void *)_cffi_d_nctabbed_select },
  { "nctabbed_selected", (void *)_cffi_f_nctabbed_selected, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1219), (void *)_cffi_d_nctabbed_selected },
  { "nctabbed_separator", (void *)_cffi_f_nctabbed_separator, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 152), (void *)_cffi_d_nctabbed_separator },
  { "nctabbed_separator_width", (void *)_cffi_f_nctabbed_separator_width, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 847), (void *)_cffi_d_nctabbed_separator_width },
  { "nctabbed_sepchan", (void *)_cffi_f_nctabbed_sepchan, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1408), (void *)_cffi_d_nctabbed_sepchan },
  { "nctabbed_set_hdrchan", (void *)_cffi_f_nctabbed_set_hdrchan, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1598), (void *)_cffi_d_nctabbed_set_hdrchan },
  { "nctabbed_set_selchan", (void *)_cffi_f_nctabbed_set_selchan, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1598), (void *)_cffi_d_nctabbed_set_selchan },
  { "nctabbed_set_separator", (void *)_cffi_f_nctabbed_set_separator, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 850), (void *)_cffi_d_nctabbed_set_separator },
  { "nctabbed_set_sepchan", (void *)_cffi_f_nctabbed_set_sepchan, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1598), (void *)_cffi_d_nctabbed_set_sepchan },
  { "nctabbed_tabcount", (void *)_cffi_f_nctabbed_tabcount, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 847), (void *)_cffi_d_nctabbed_tabcount },
  { "nctablet_plane", (void *)_cffi_f_nctablet_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1140), (void *)_cffi_d_nctablet_plane },
  { "nctablet_userptr", (void *)_cffi_f_nctablet_userptr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1464), (void *)_cffi_d_nctablet_userptr },
  { "nctree_add", (void *)_cffi_f_nctree_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 875), (void *)_cffi_d_nctree_add },
  { "nctree_create", (void *)_cffi_f_nctree_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1248), (void *)_cffi_d_nctree_create },
  { "nctree_del", (void *)_cffi_f_nctree_del, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 871), (void *)_cffi_d_nctree_del },
  { "nctree_destroy", (void *)_cffi_f_nctree_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1602), (void *)_cffi_d_nctree_destroy },
  { "nctree_focused", (void *)_cffi_f_nctree_focused, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1467), (void *)_cffi_d_nctree_focused },
  { "nctree_goto", (void *)_cffi_f_nctree_goto, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1470), (void *)_cffi_d_nctree_goto },
  { "nctree_next", (void *)_cffi_f_nctree_next, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1467), (void *)_cffi_d_nctree_next },
  { "nctree_offer_input", (void *)_cffi_f_nctree_offer_input, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 54), (void *)_cffi_d_nctree_offer_input },
  { "nctree_plane", (void *)_cffi_f_nctree_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1143), (void *)_cffi_d_nctree_plane },
  { "nctree_prev", (void *)_cffi_f_nctree_prev, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1467), (void *)_cffi_d_nctree_prev },
  { "nctree_redraw", (void *)_cffi_f_nctree_redraw, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 868), (void *)_cffi_d_nctree_redraw },
  { "ncuplot_add_sample", (void *)_cffi_f_ncuplot_add_sample, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 880), (void *)_cffi_d_ncuplot_add_sample },
  { "ncuplot_create", (void *)_cffi_f_ncuplot_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1252), (void *)_cffi_d_ncuplot_create },
  { "ncuplot_destroy", (void *)_cffi_f_ncuplot_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1605), (void *)_cffi_d_ncuplot_destroy },
  { "ncuplot_plane", (void *)_cffi_f_ncuplot_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1146), (void *)_cffi_d_ncuplot_plane },
  { "ncuplot_sample", (void *)_cffi_f_ncuplot_sample, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 885), (void *)_cffi_d_ncuplot_sample },
  { "ncuplot_set_sample", (void *)_cffi_f_ncuplot_set_sample, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 880), (void *)_cffi_d_ncuplot_set_sample },
  { "ncvisual_at_yx", (void *)_cffi_f_ncvisual_at_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 914), (void *)_cffi_d_ncvisual_at_yx },
  { "ncvisual_blit", (void *)_cffi_f_ncvisual_blit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1162), (void *)_cffi_d_ncvisual_blit },
  { "ncvisual_decode", (void *)_cffi_f_ncvisual_decode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 890), (void *)_cffi_d_ncvisual_decode },
  { "ncvisual_decode_loop", (void *)_cffi_f_ncvisual_decode_loop, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 890), (void *)_cffi_d_ncvisual_decode_loop },
  { "ncvisual_destroy", (void *)_cffi_f_ncvisual_destroy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1494), (void *)_cffi_d_ncvisual_destroy },
  { "ncvisual_from_bgra", (void *)_cffi_f_ncvisual_from_bgra, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1274), (void *)_cffi_d_ncvisual_from_bgra },
  { "ncvisual_from_file", (void *)_cffi_f_ncvisual_from_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1258), (void *)_cffi_d_ncvisual_from_file },
  { "ncvisual_from_palidx", (void *)_cffi_f_ncvisual_from_palidx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1287), (void *)_cffi_d_ncvisual_from_palidx },
  { "ncvisual_from_plane", (void *)_cffi_f_ncvisual_from_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1266), (void *)_cffi_d_ncvisual_from_plane },
  { "ncvisual_from_rgb_loose", (void *)_cffi_f_ncvisual_from_rgb_loose, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1280), (void *)_cffi_d_ncvisual_from_rgb_loose },
  { "ncvisual_from_rgb_packed", (void *)_cffi_f_ncvisual_from_rgb_packed, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1280), (void *)_cffi_d_ncvisual_from_rgb_packed },
  { "ncvisual_from_rgba", (void *)_cffi_f_ncvisual_from_rgba, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1274), (void *)_cffi_d_ncvisual_from_rgba },
  { "ncvisual_from_sixel", (void *)_cffi_f_ncvisual_from_sixel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1261), (void *)_cffi_d_ncvisual_from_sixel },
  { "ncvisual_geom", (void *)_cffi_f_ncvisual_geom, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 972), (void *)_cffi_d_ncvisual_geom },
  { "ncvisual_media_defblitter", (void *)_cffi_f_ncvisual_media_defblitter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1026), (void *)_cffi_d_ncvisual_media_defblitter },
  { "ncvisual_polyfill_yx", (void *)_cffi_f_ncvisual_polyfill_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 908), (void *)_cffi_d_ncvisual_polyfill_yx },
  { "ncvisual_resize", (void *)_cffi_f_ncvisual_resize, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 897), (void *)_cffi_d_ncvisual_resize },
  { "ncvisual_resize_noninterpolative", (void *)_cffi_f_ncvisual_resize_noninterpolative, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 897), (void *)_cffi_d_ncvisual_resize_noninterpolative },
  { "ncvisual_rotate", (void *)_cffi_f_ncvisual_rotate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 893), (void *)_cffi_d_ncvisual_rotate },
  { "ncvisual_set_yx", (void *)_cffi_f_ncvisual_set_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 920), (void *)_cffi_d_ncvisual_set_yx },
  { "ncvisual_simple_streamer", (void *)_cffi_f_ncvisual_simple_streamer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 902), (void *)_cffi_d_ncvisual_simple_streamer },
  { "ncvisual_stream", (void *)_cffi_f_ncvisual_stream, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 944), (void *)_cffi_d_ncvisual_stream },
  { "ncvisual_subtitle_plane", (void *)_cffi_f_ncvisual_subtitle_plane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1114), (void *)_cffi_d_ncvisual_subtitle_plane },
  { "ncvisualplane_create", (void *)_cffi_f_ncvisualplane_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1156), (void *)_cffi_d_ncvisualplane_create },
  { "ncwcsrtombs", (void *)_cffi_f_ncwcsrtombs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 121), (void *)_cffi_d_ncwcsrtombs },
  { "notcurses_accountname", (void *)_cffi_f_notcurses_accountname, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 119), (void *)_cffi_d_notcurses_accountname },
  { "notcurses_align", (void *)_cffi_f_notcurses_align, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 192), (void *)_cffi_d_notcurses_align },
  { "notcurses_at_yx", (void *)_cffi_f_notcurses_at_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 109), (void *)_cffi_d_notcurses_at_yx },
  { "notcurses_bottom", (void *)_cffi_f_notcurses_bottom, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1149), (void *)_cffi_d_notcurses_bottom },
  { "notcurses_canbraille", (void *)_cffi_f_notcurses_canbraille, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canbraille },
  { "notcurses_canchangecolor", (void *)_cffi_f_notcurses_canchangecolor, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canchangecolor },
  { "notcurses_canfade", (void *)_cffi_f_notcurses_canfade, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canfade },
  { "notcurses_canhalfblock", (void *)_cffi_f_notcurses_canhalfblock, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canhalfblock },
  { "notcurses_canoctant", (void *)_cffi_f_notcurses_canoctant, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canoctant },
  { "notcurses_canopen_images", (void *)_cffi_f_notcurses_canopen_images, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canopen_images },
  { "notcurses_canopen_videos", (void *)_cffi_f_notcurses_canopen_videos, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canopen_videos },
  { "notcurses_canpixel", (void *)_cffi_f_notcurses_canpixel, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canpixel },
  { "notcurses_canquadrant", (void *)_cffi_f_notcurses_canquadrant, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canquadrant },
  { "notcurses_cansextant", (void *)_cffi_f_notcurses_cansextant, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_cansextant },
  { "notcurses_cantruecolor", (void *)_cffi_f_notcurses_cantruecolor, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_cantruecolor },
  { "notcurses_canutf8", (void *)_cffi_f_notcurses_canutf8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 58), (void *)_cffi_d_notcurses_canutf8 },
  { "notcurses_capabilities", (void *)_cffi_f_notcurses_capabilities, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1033), (void *)_cffi_d_notcurses_capabilities },
  { "notcurses_check_pixel_support", (void *)_cffi_f_notcurses_check_pixel_support, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1056), (void *)_cffi_d_notcurses_check_pixel_support },
  { "notcurses_core_init", (void *)_cffi_f_notcurses_core_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1296), (void *)_cffi_d_notcurses_core_init },
  { "notcurses_cursor_disable", (void *)_cffi_f_notcurses_cursor_disable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_cursor_disable },
  { "notcurses_cursor_enable", (void *)_cffi_f_notcurses_cursor_enable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 929), (void *)_cffi_d_notcurses_cursor_enable },
  { "notcurses_cursor_yx", (void *)_cffi_f_notcurses_cursor_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 967), (void *)_cffi_d_notcurses_cursor_yx },
  { "notcurses_debug", (void *)_cffi_f_notcurses_debug, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1615), (void *)_cffi_d_notcurses_debug },
  { "notcurses_default_background", (void *)_cffi_f_notcurses_default_background, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 978), (void *)_cffi_d_notcurses_default_background },
  { "notcurses_default_foreground", (void *)_cffi_f_notcurses_default_foreground, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 978), (void *)_cffi_d_notcurses_default_foreground },
  { "notcurses_detected_terminal", (void *)_cffi_f_notcurses_detected_terminal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 116), (void *)_cffi_d_notcurses_detected_terminal },
  { "notcurses_drop_planes", (void *)_cffi_f_notcurses_drop_planes, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1608), (void *)_cffi_d_notcurses_drop_planes },
  { "notcurses_enter_alternate_screen", (void *)_cffi_f_notcurses_enter_alternate_screen, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_enter_alternate_screen },
  { "notcurses_get", (void *)_cffi_f_notcurses_get, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1359), (void *)_cffi_d_notcurses_get },
  { "notcurses_get_blocking", (void *)_cffi_f_notcurses_get_blocking, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1355), (void *)_cffi_d_notcurses_get_blocking },
  { "notcurses_get_nblock", (void *)_cffi_f_notcurses_get_nblock, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1355), (void *)_cffi_d_notcurses_get_nblock },
  { "notcurses_getvec", (void *)_cffi_f_notcurses_getvec, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 952), (void *)_cffi_d_notcurses_getvec },
  { "notcurses_hostname", (void *)_cffi_f_notcurses_hostname, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 119), (void *)_cffi_d_notcurses_hostname },
  { "notcurses_init", (void *)_cffi_f_notcurses_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1296), (void *)_cffi_d_notcurses_init },
  { "notcurses_inputready_fd", (void *)_cffi_f_notcurses_inputready_fd, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_inputready_fd },
  { "notcurses_leave_alternate_screen", (void *)_cffi_f_notcurses_leave_alternate_screen, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_leave_alternate_screen },
  { "notcurses_lex_blitter", (void *)_cffi_f_notcurses_lex_blitter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 180), (void *)_cffi_d_notcurses_lex_blitter },
  { "notcurses_lex_margins", (void *)_cffi_f_notcurses_lex_margins, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 188), (void *)_cffi_d_notcurses_lex_margins },
  { "notcurses_lex_scalemode", (void *)_cffi_f_notcurses_lex_scalemode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 184), (void *)_cffi_d_notcurses_lex_scalemode },
  { "notcurses_linesigs_disable", (void *)_cffi_f_notcurses_linesigs_disable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_linesigs_disable },
  { "notcurses_linesigs_enable", (void *)_cffi_f_notcurses_linesigs_enable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_linesigs_enable },
  { "notcurses_mice_disable", (void *)_cffi_f_notcurses_mice_disable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_mice_disable },
  { "notcurses_mice_enable", (void *)_cffi_f_notcurses_mice_enable, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 963), (void *)_cffi_d_notcurses_mice_enable },
  { "notcurses_osversion", (void *)_cffi_f_notcurses_osversion, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 119), (void *)_cffi_d_notcurses_osversion },
  { "notcurses_palette_size", (void *)_cffi_f_notcurses_palette_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1441), (void *)_cffi_d_notcurses_palette_size },
  { "notcurses_refresh", (void *)_cffi_f_notcurses_refresh, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 958), (void *)_cffi_d_notcurses_refresh },
  { "notcurses_render", (void *)_cffi_f_notcurses_render, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_render },
  { "notcurses_stats", (void *)_cffi_f_notcurses_stats, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1611), (void *)_cffi_d_notcurses_stats },
  { "notcurses_stats_alloc", (void *)_cffi_f_notcurses_stats_alloc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1059), (void *)_cffi_d_notcurses_stats_alloc },
  { "notcurses_stats_reset", (void *)_cffi_f_notcurses_stats_reset, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1611), (void *)_cffi_d_notcurses_stats_reset },
  { "notcurses_stddim_yx", (void *)_cffi_f_notcurses_stddim_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1167), (void *)_cffi_d_notcurses_stddim_yx },
  { "notcurses_stddim_yx_const", (void *)_cffi_f_notcurses_stddim_yx_const, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1178), (void *)_cffi_d_notcurses_stddim_yx_const },
  { "notcurses_stdplane", (void *)_cffi_f_notcurses_stdplane, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1149), (void *)_cffi_d_notcurses_stdplane },
  { "notcurses_stdplane_const", (void *)_cffi_f_notcurses_stdplane_const, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1175), (void *)_cffi_d_notcurses_stdplane_const },
  { "notcurses_stop", (void *)_cffi_f_notcurses_stop, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 926), (void *)_cffi_d_notcurses_stop },
  { "notcurses_str_blitter", (void *)_cffi_f_notcurses_str_blitter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 124), (void *)_cffi_d_notcurses_str_blitter },
  { "notcurses_str_scalemode", (void *)_cffi_f_notcurses_str_scalemode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 127), (void *)_cffi_d_notcurses_str_scalemode },
  { "notcurses_supported_styles", (void *)_cffi_f_notcurses_supported_styles, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1315), (void *)_cffi_d_notcurses_supported_styles },
  { "notcurses_term_dim_yx", (void *)_cffi_f_notcurses_term_dim_yx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1619), (void *)_cffi_d_notcurses_term_dim_yx },
  { "notcurses_top", (void *)_cffi_f_notcurses_top, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1149), (void *)_cffi_d_notcurses_top },
  { "notcurses_ucs32_to_utf8", (void *)_cffi_f_notcurses_ucs32_to_utf8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 996), (void *)_cffi_d_notcurses_ucs32_to_utf8 },
  { "notcurses_version", (void *)_cffi_f_notcurses_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 170), (void *)_cffi_d_notcurses_version },
  { "notcurses_version_components", (void *)_cffi_f_notcurses_version_components, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1475), (void *)_cffi_d_notcurses_version_components },
};

static const struct _cffi_field_s _cffi_fields[] = {
  { "colors", offsetof(nccapabilities, colors),
              sizeof(((nccapabilities *)0)->colors),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "utf8", offsetof(nccapabilities, utf8),
            sizeof(((nccapabilities *)0)->utf8),
            _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "rgb", offsetof(nccapabilities, rgb),
           sizeof(((nccapabilities *)0)->rgb),
           _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "can_change_colors", offsetof(nccapabilities, can_change_colors),
                         sizeof(((nccapabilities *)0)->can_change_colors),
                         _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "halfblocks", offsetof(nccapabilities, halfblocks),
                  sizeof(((nccapabilities *)0)->halfblocks),
                  _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "quadrants", offsetof(nccapabilities, quadrants),
                 sizeof(((nccapabilities *)0)->quadrants),
                 _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "sextants", offsetof(nccapabilities, sextants),
                sizeof(((nccapabilities *)0)->sextants),
                _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "octants", offsetof(nccapabilities, octants),
               sizeof(((nccapabilities *)0)->octants),
               _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "braille", offsetof(nccapabilities, braille),
               sizeof(((nccapabilities *)0)->braille),
               _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "gcluster", offsetof(nccell, gcluster),
                sizeof(((nccell *)0)->gcluster),
                _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "gcluster_backstop", offsetof(nccell, gcluster_backstop),
                         sizeof(((nccell *)0)->gcluster_backstop),
                         _CFFI_OP(_CFFI_OP_NOOP, 1709) },
  { "width", offsetof(nccell, width),
             sizeof(((nccell *)0)->width),
             _CFFI_OP(_CFFI_OP_NOOP, 1709) },
  { "stylemask", offsetof(nccell, stylemask),
                 sizeof(((nccell *)0)->stylemask),
                 _CFFI_OP(_CFFI_OP_NOOP, 408) },
  { "channels", offsetof(nccell, channels),
                sizeof(((nccell *)0)->channels),
                _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "curry", offsetof(ncfdplane_options, curry),
             sizeof(((ncfdplane_options *)0)->curry),
             _CFFI_OP(_CFFI_OP_NOOP, 243) },
  { "follow", offsetof(ncfdplane_options, follow),
              sizeof(((ncfdplane_options *)0)->follow),
              _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "flags", offsetof(ncfdplane_options, flags),
             sizeof(((ncfdplane_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "id", offsetof(ncinput, id),
          sizeof(((ncinput *)0)->id),
          _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "y", offsetof(ncinput, y),
         sizeof(((ncinput *)0)->y),
         _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "x", offsetof(ncinput, x),
         sizeof(((ncinput *)0)->x),
         _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "utf8", offsetof(ncinput, utf8),
            sizeof(((ncinput *)0)->utf8),
            _CFFI_OP(_CFFI_OP_NOOP, 1644) },
  { "alt", offsetof(ncinput, alt),
           sizeof(((ncinput *)0)->alt),
           _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "shift", offsetof(ncinput, shift),
             sizeof(((ncinput *)0)->shift),
             _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "ctrl", offsetof(ncinput, ctrl),
            sizeof(((ncinput *)0)->ctrl),
            _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "evtype", offsetof(ncinput, evtype),
              sizeof(((ncinput *)0)->evtype),
              _CFFI_OP(_CFFI_OP_NOOP, 1658) },
  { "modifiers", offsetof(ncinput, modifiers),
                 sizeof(((ncinput *)0)->modifiers),
                 _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "ypx", offsetof(ncinput, ypx),
           sizeof(((ncinput *)0)->ypx),
           _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "xpx", offsetof(ncinput, xpx),
           sizeof(((ncinput *)0)->xpx),
           _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "eff_text", offsetof(ncinput, eff_text),
                sizeof(((ncinput *)0)->eff_text),
                _CFFI_OP(_CFFI_OP_NOOP, 1707) },
  { "desc", offsetof(struct ncmenu_item, desc),
            sizeof(((struct ncmenu_item *)0)->desc),
            _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "shortcut", offsetof(struct ncmenu_item, shortcut),
                sizeof(((struct ncmenu_item *)0)->shortcut),
                _CFFI_OP(_CFFI_OP_NOOP, 1657) },
  { "sections", offsetof(ncmenu_options, sections),
                sizeof(((ncmenu_options *)0)->sections),
                _CFFI_OP(_CFFI_OP_NOOP, 1684) },
  { "sectioncount", offsetof(ncmenu_options, sectioncount),
                    sizeof(((ncmenu_options *)0)->sectioncount),
                    _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "headerchannels", offsetof(ncmenu_options, headerchannels),
                      sizeof(((ncmenu_options *)0)->headerchannels),
                      _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "sectionchannels", offsetof(ncmenu_options, sectionchannels),
                       sizeof(((ncmenu_options *)0)->sectionchannels),
                       _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "flags", offsetof(ncmenu_options, flags),
             sizeof(((ncmenu_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "name", offsetof(struct ncmenu_section, name),
            sizeof(((struct ncmenu_section *)0)->name),
            _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "itemcount", offsetof(struct ncmenu_section, itemcount),
                 sizeof(((struct ncmenu_section *)0)->itemcount),
                 _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "items", offsetof(struct ncmenu_section, items),
             sizeof(((struct ncmenu_section *)0)->items),
             _CFFI_OP(_CFFI_OP_NOOP, 1682) },
  { "shortcut", offsetof(struct ncmenu_section, shortcut),
                sizeof(((struct ncmenu_section *)0)->shortcut),
                _CFFI_OP(_CFFI_OP_NOOP, 1657) },
  { "option", offsetof(struct ncmselector_item, option),
              sizeof(((struct ncmselector_item *)0)->option),
              _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "desc", offsetof(struct ncmselector_item, desc),
            sizeof(((struct ncmselector_item *)0)->desc),
            _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "selected", offsetof(struct ncmselector_item, selected),
                sizeof(((struct ncmselector_item *)0)->selected),
                _CFFI_OP(_CFFI_OP_NOOP, 369) },
  { "title", offsetof(ncmultiselector_options, title),
             sizeof(((ncmultiselector_options *)0)->title),
             _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "secondary", offsetof(ncmultiselector_options, secondary),
                 sizeof(((ncmultiselector_options *)0)->secondary),
                 _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "footer", offsetof(ncmultiselector_options, footer),
              sizeof(((ncmultiselector_options *)0)->footer),
              _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "items", offsetof(ncmultiselector_options, items),
             sizeof(((ncmultiselector_options *)0)->items),
             _CFFI_OP(_CFFI_OP_NOOP, 1686) },
  { "maxdisplay", offsetof(ncmultiselector_options, maxdisplay),
                  sizeof(((ncmultiselector_options *)0)->maxdisplay),
                  _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "opchannels", offsetof(ncmultiselector_options, opchannels),
                  sizeof(((ncmultiselector_options *)0)->opchannels),
                  _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "descchannels", offsetof(ncmultiselector_options, descchannels),
                    sizeof(((ncmultiselector_options *)0)->descchannels),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "titlechannels", offsetof(ncmultiselector_options, titlechannels),
                     sizeof(((ncmultiselector_options *)0)->titlechannels),
                     _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "footchannels", offsetof(ncmultiselector_options, footchannels),
                    sizeof(((ncmultiselector_options *)0)->footchannels),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "boxchannels", offsetof(ncmultiselector_options, boxchannels),
                   sizeof(((ncmultiselector_options *)0)->boxchannels),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "flags", offsetof(ncmultiselector_options, flags),
             sizeof(((ncmultiselector_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "chans", offsetof(ncpalette, chans),
             sizeof(((ncpalette *)0)->chans),
             _CFFI_OP(_CFFI_OP_NOOP, 1705) },
  { "y", offsetof(ncplane_options, y),
         sizeof(((ncplane_options *)0)->y),
         _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "x", offsetof(ncplane_options, x),
         sizeof(((ncplane_options *)0)->x),
         _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "rows", offsetof(ncplane_options, rows),
            sizeof(((ncplane_options *)0)->rows),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "cols", offsetof(ncplane_options, cols),
            sizeof(((ncplane_options *)0)->cols),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "userptr", offsetof(ncplane_options, userptr),
               sizeof(((ncplane_options *)0)->userptr),
               _CFFI_OP(_CFFI_OP_NOOP, 243) },
  { "name", offsetof(ncplane_options, name),
            sizeof(((ncplane_options *)0)->name),
            _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "resizecb", offsetof(ncplane_options, resizecb),
                sizeof(((ncplane_options *)0)->resizecb),
                _CFFI_OP(_CFFI_OP_NOOP, 1517) },
  { "flags", offsetof(ncplane_options, flags),
             sizeof(((ncplane_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "margin_b", offsetof(ncplane_options, margin_b),
                sizeof(((ncplane_options *)0)->margin_b),
                _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "margin_r", offsetof(ncplane_options, margin_r),
                sizeof(((ncplane_options *)0)->margin_r),
                _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "maxchannels", offsetof(ncplot_options, maxchannels),
                   sizeof(((ncplot_options *)0)->maxchannels),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "minchannels", offsetof(ncplot_options, minchannels),
                   sizeof(((ncplot_options *)0)->minchannels),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "legendstyle", offsetof(ncplot_options, legendstyle),
                   sizeof(((ncplot_options *)0)->legendstyle),
                   _CFFI_OP(_CFFI_OP_NOOP, 408) },
  { "gridtype", offsetof(ncplot_options, gridtype),
                sizeof(((ncplot_options *)0)->gridtype),
                _CFFI_OP(_CFFI_OP_NOOP, 125) },
  { "rangex", offsetof(ncplot_options, rangex),
              sizeof(((ncplot_options *)0)->rangex),
              _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "title", offsetof(ncplot_options, title),
             sizeof(((ncplot_options *)0)->title),
             _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "flags", offsetof(ncplot_options, flags),
             sizeof(((ncplot_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "ulchannel", offsetof(ncprogbar_options, ulchannel),
                 sizeof(((ncprogbar_options *)0)->ulchannel),
                 _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "urchannel", offsetof(ncprogbar_options, urchannel),
                 sizeof(((ncprogbar_options *)0)->urchannel),
                 _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "blchannel", offsetof(ncprogbar_options, blchannel),
                 sizeof(((ncprogbar_options *)0)->blchannel),
                 _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "brchannel", offsetof(ncprogbar_options, brchannel),
                 sizeof(((ncprogbar_options *)0)->brchannel),
                 _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "flags", offsetof(ncprogbar_options, flags),
             sizeof(((ncprogbar_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "tchannels", offsetof(ncreader_options, tchannels),
                 sizeof(((ncreader_options *)0)->tchannels),
                 _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "tattrword", offsetof(ncreader_options, tattrword),
                 sizeof(((ncreader_options *)0)->tattrword),
                 _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "flags", offsetof(ncreader_options, flags),
             sizeof(((ncreader_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "bordermask", offsetof(ncreel_options, bordermask),
                  sizeof(((ncreel_options *)0)->bordermask),
                  _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "borderchan", offsetof(ncreel_options, borderchan),
                  sizeof(((ncreel_options *)0)->borderchan),
                  _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "tabletmask", offsetof(ncreel_options, tabletmask),
                  sizeof(((ncreel_options *)0)->tabletmask),
                  _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "tabletchan", offsetof(ncreel_options, tabletchan),
                  sizeof(((ncreel_options *)0)->tabletchan),
                  _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "focusedchan", offsetof(ncreel_options, focusedchan),
                   sizeof(((ncreel_options *)0)->focusedchan),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "flags", offsetof(ncreel_options, flags),
             sizeof(((ncreel_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "option", offsetof(struct ncselector_item, option),
              sizeof(((struct ncselector_item *)0)->option),
              _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "desc", offsetof(struct ncselector_item, desc),
            sizeof(((struct ncselector_item *)0)->desc),
            _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "title", offsetof(ncselector_options, title),
             sizeof(((ncselector_options *)0)->title),
             _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "secondary", offsetof(ncselector_options, secondary),
                 sizeof(((ncselector_options *)0)->secondary),
                 _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "footer", offsetof(ncselector_options, footer),
              sizeof(((ncselector_options *)0)->footer),
              _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "items", offsetof(ncselector_options, items),
             sizeof(((ncselector_options *)0)->items),
             _CFFI_OP(_CFFI_OP_NOOP, 835) },
  { "defidx", offsetof(ncselector_options, defidx),
              sizeof(((ncselector_options *)0)->defidx),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "maxdisplay", offsetof(ncselector_options, maxdisplay),
                  sizeof(((ncselector_options *)0)->maxdisplay),
                  _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "opchannels", offsetof(ncselector_options, opchannels),
                  sizeof(((ncselector_options *)0)->opchannels),
                  _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "descchannels", offsetof(ncselector_options, descchannels),
                    sizeof(((ncselector_options *)0)->descchannels),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "titlechannels", offsetof(ncselector_options, titlechannels),
                     sizeof(((ncselector_options *)0)->titlechannels),
                     _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "footchannels", offsetof(ncselector_options, footchannels),
                    sizeof(((ncselector_options *)0)->footchannels),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "boxchannels", offsetof(ncselector_options, boxchannels),
                   sizeof(((ncselector_options *)0)->boxchannels),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "flags", offsetof(ncselector_options, flags),
             sizeof(((ncselector_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "renders", offsetof(ncstats, renders),
               sizeof(((ncstats *)0)->renders),
               _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "writeouts", offsetof(ncstats, writeouts),
                 sizeof(((ncstats *)0)->writeouts),
                 _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "failed_renders", offsetof(ncstats, failed_renders),
                      sizeof(((ncstats *)0)->failed_renders),
                      _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "failed_writeouts", offsetof(ncstats, failed_writeouts),
                        sizeof(((ncstats *)0)->failed_writeouts),
                        _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "raster_bytes", offsetof(ncstats, raster_bytes),
                    sizeof(((ncstats *)0)->raster_bytes),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "raster_max_bytes", offsetof(ncstats, raster_max_bytes),
                        sizeof(((ncstats *)0)->raster_max_bytes),
                        _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "raster_min_bytes", offsetof(ncstats, raster_min_bytes),
                        sizeof(((ncstats *)0)->raster_min_bytes),
                        _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "render_ns", offsetof(ncstats, render_ns),
                 sizeof(((ncstats *)0)->render_ns),
                 _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "render_max_ns", offsetof(ncstats, render_max_ns),
                     sizeof(((ncstats *)0)->render_max_ns),
                     _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "render_min_ns", offsetof(ncstats, render_min_ns),
                     sizeof(((ncstats *)0)->render_min_ns),
                     _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "raster_ns", offsetof(ncstats, raster_ns),
                 sizeof(((ncstats *)0)->raster_ns),
                 _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "raster_max_ns", offsetof(ncstats, raster_max_ns),
                     sizeof(((ncstats *)0)->raster_max_ns),
                     _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "raster_min_ns", offsetof(ncstats, raster_min_ns),
                     sizeof(((ncstats *)0)->raster_min_ns),
                     _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "writeout_ns", offsetof(ncstats, writeout_ns),
                   sizeof(((ncstats *)0)->writeout_ns),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "writeout_max_ns", offsetof(ncstats, writeout_max_ns),
                       sizeof(((ncstats *)0)->writeout_max_ns),
                       _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "writeout_min_ns", offsetof(ncstats, writeout_min_ns),
                       sizeof(((ncstats *)0)->writeout_min_ns),
                       _CFFI_OP(_CFFI_OP_NOOP, 1651) },
  { "cellelisions", offsetof(ncstats, cellelisions),
                    sizeof(((ncstats *)0)->cellelisions),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "cellemissions", offsetof(ncstats, cellemissions),
                     sizeof(((ncstats *)0)->cellemissions),
                     _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "fgelisions", offsetof(ncstats, fgelisions),
                  sizeof(((ncstats *)0)->fgelisions),
                  _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "fgemissions", offsetof(ncstats, fgemissions),
                   sizeof(((ncstats *)0)->fgemissions),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "bgelisions", offsetof(ncstats, bgelisions),
                  sizeof(((ncstats *)0)->bgelisions),
                  _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "bgemissions", offsetof(ncstats, bgemissions),
                   sizeof(((ncstats *)0)->bgemissions),
                   _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "defaultelisions", offsetof(ncstats, defaultelisions),
                       sizeof(((ncstats *)0)->defaultelisions),
                       _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "defaultemissions", offsetof(ncstats, defaultemissions),
                        sizeof(((ncstats *)0)->defaultemissions),
                        _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "refreshes", offsetof(ncstats, refreshes),
                 sizeof(((ncstats *)0)->refreshes),
                 _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "sprixelemissions", offsetof(ncstats, sprixelemissions),
                        sizeof(((ncstats *)0)->sprixelemissions),
                        _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "sprixelelisions", offsetof(ncstats, sprixelelisions),
                       sizeof(((ncstats *)0)->sprixelelisions),
                       _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "sprixelbytes", offsetof(ncstats, sprixelbytes),
                    sizeof(((ncstats *)0)->sprixelbytes),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "appsync_updates", offsetof(ncstats, appsync_updates),
                       sizeof(((ncstats *)0)->appsync_updates),
                       _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "input_errors", offsetof(ncstats, input_errors),
                    sizeof(((ncstats *)0)->input_errors),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "input_events", offsetof(ncstats, input_events),
                    sizeof(((ncstats *)0)->input_events),
                    _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "hpa_gratuitous", offsetof(ncstats, hpa_gratuitous),
                      sizeof(((ncstats *)0)->hpa_gratuitous),
                      _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "cell_geo_changes", offsetof(ncstats, cell_geo_changes),
                        sizeof(((ncstats *)0)->cell_geo_changes),
                        _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "pixel_geo_changes", offsetof(ncstats, pixel_geo_changes),
                         sizeof(((ncstats *)0)->pixel_geo_changes),
                         _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "fbbytes", offsetof(ncstats, fbbytes),
               sizeof(((ncstats *)0)->fbbytes),
               _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "planes", offsetof(ncstats, planes),
              sizeof(((ncstats *)0)->planes),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "curry", offsetof(ncsubproc_options, curry),
             sizeof(((ncsubproc_options *)0)->curry),
             _CFFI_OP(_CFFI_OP_NOOP, 243) },
  { "restart_period", offsetof(ncsubproc_options, restart_period),
                      sizeof(((ncsubproc_options *)0)->restart_period),
                      _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "flags", offsetof(ncsubproc_options, flags),
             sizeof(((ncsubproc_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "selchan", offsetof(nctabbed_options, selchan),
               sizeof(((nctabbed_options *)0)->selchan),
               _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "hdrchan", offsetof(nctabbed_options, hdrchan),
               sizeof(((nctabbed_options *)0)->hdrchan),
               _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "sepchan", offsetof(nctabbed_options, sepchan),
               sizeof(((nctabbed_options *)0)->sepchan),
               _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "separator", offsetof(nctabbed_options, separator),
                 sizeof(((nctabbed_options *)0)->separator),
                 _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "flags", offsetof(nctabbed_options, flags),
             sizeof(((nctabbed_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "curry", offsetof(struct nctree_item, curry),
             sizeof(((struct nctree_item *)0)->curry),
             _CFFI_OP(_CFFI_OP_NOOP, 243) },
  { "subs", offsetof(struct nctree_item, subs),
            sizeof(((struct nctree_item *)0)->subs),
            _CFFI_OP(_CFFI_OP_NOOP, 1699) },
  { "subcount", offsetof(struct nctree_item, subcount),
                sizeof(((struct nctree_item *)0)->subcount),
                _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "items", offsetof(nctree_options, items),
             sizeof(((nctree_options *)0)->items),
             _CFFI_OP(_CFFI_OP_NOOP, 878) },
  { "count", offsetof(nctree_options, count),
             sizeof(((nctree_options *)0)->count),
             _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "nctreecb", offsetof(nctree_options, nctreecb),
                sizeof(((nctree_options *)0)->nctreecb),
                _CFFI_OP(_CFFI_OP_NOOP, 1650) },
  { "indentcols", offsetof(nctree_options, indentcols),
                  sizeof(((nctree_options *)0)->indentcols),
                  _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "flags", offsetof(nctree_options, flags),
             sizeof(((nctree_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "pixy", offsetof(ncvgeom, pixy),
            sizeof(((ncvgeom *)0)->pixy),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "pixx", offsetof(ncvgeom, pixx),
            sizeof(((ncvgeom *)0)->pixx),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "cdimy", offsetof(ncvgeom, cdimy),
             sizeof(((ncvgeom *)0)->cdimy),
             _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "cdimx", offsetof(ncvgeom, cdimx),
             sizeof(((ncvgeom *)0)->cdimx),
             _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "rpixy", offsetof(ncvgeom, rpixy),
             sizeof(((ncvgeom *)0)->rpixy),
             _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "rpixx", offsetof(ncvgeom, rpixx),
             sizeof(((ncvgeom *)0)->rpixx),
             _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "rcelly", offsetof(ncvgeom, rcelly),
              sizeof(((ncvgeom *)0)->rcelly),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "rcellx", offsetof(ncvgeom, rcellx),
              sizeof(((ncvgeom *)0)->rcellx),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "scaley", offsetof(ncvgeom, scaley),
              sizeof(((ncvgeom *)0)->scaley),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "scalex", offsetof(ncvgeom, scalex),
              sizeof(((ncvgeom *)0)->scalex),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "begy", offsetof(ncvgeom, begy),
            sizeof(((ncvgeom *)0)->begy),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "begx", offsetof(ncvgeom, begx),
            sizeof(((ncvgeom *)0)->begx),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "leny", offsetof(ncvgeom, leny),
            sizeof(((ncvgeom *)0)->leny),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "lenx", offsetof(ncvgeom, lenx),
            sizeof(((ncvgeom *)0)->lenx),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "maxpixely", offsetof(ncvgeom, maxpixely),
                 sizeof(((ncvgeom *)0)->maxpixely),
                 _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "maxpixelx", offsetof(ncvgeom, maxpixelx),
                 sizeof(((ncvgeom *)0)->maxpixelx),
                 _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "blitter", offsetof(ncvgeom, blitter),
               sizeof(((ncvgeom *)0)->blitter),
               _CFFI_OP(_CFFI_OP_NOOP, 125) },
  { "n", offsetof(struct ncvisual_options, n),
         sizeof(((struct ncvisual_options *)0)->n),
         _CFFI_OP(_CFFI_OP_NOOP, 25) },
  { "scaling", offsetof(struct ncvisual_options, scaling),
               sizeof(((struct ncvisual_options *)0)->scaling),
               _CFFI_OP(_CFFI_OP_NOOP, 128) },
  { "y", offsetof(struct ncvisual_options, y),
         sizeof(((struct ncvisual_options *)0)->y),
         _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "x", offsetof(struct ncvisual_options, x),
         sizeof(((struct ncvisual_options *)0)->x),
         _CFFI_OP(_CFFI_OP_NOOP, 76) },
  { "begy", offsetof(struct ncvisual_options, begy),
            sizeof(((struct ncvisual_options *)0)->begy),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "begx", offsetof(struct ncvisual_options, begx),
            sizeof(((struct ncvisual_options *)0)->begx),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "leny", offsetof(struct ncvisual_options, leny),
            sizeof(((struct ncvisual_options *)0)->leny),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "lenx", offsetof(struct ncvisual_options, lenx),
            sizeof(((struct ncvisual_options *)0)->lenx),
            _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "blitter", offsetof(struct ncvisual_options, blitter),
               sizeof(((struct ncvisual_options *)0)->blitter),
               _CFFI_OP(_CFFI_OP_NOOP, 125) },
  { "flags", offsetof(struct ncvisual_options, flags),
             sizeof(((struct ncvisual_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
  { "transcolor", offsetof(struct ncvisual_options, transcolor),
                  sizeof(((struct ncvisual_options *)0)->transcolor),
                  _CFFI_OP(_CFFI_OP_NOOP, 62) },
  { "pxoffy", offsetof(struct ncvisual_options, pxoffy),
              sizeof(((struct ncvisual_options *)0)->pxoffy),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "pxoffx", offsetof(struct ncvisual_options, pxoffx),
              sizeof(((struct ncvisual_options *)0)->pxoffx),
              _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "termtype", offsetof(notcurses_options, termtype),
                sizeof(((notcurses_options *)0)->termtype),
                _CFFI_OP(_CFFI_OP_NOOP, 69) },
  { "loglevel", offsetof(notcurses_options, loglevel),
                sizeof(((notcurses_options *)0)->loglevel),
                _CFFI_OP(_CFFI_OP_NOOP, 1659) },
  { "margin_t", offsetof(notcurses_options, margin_t),
                sizeof(((notcurses_options *)0)->margin_t),
                _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "margin_r", offsetof(notcurses_options, margin_r),
                sizeof(((notcurses_options *)0)->margin_r),
                _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "margin_b", offsetof(notcurses_options, margin_b),
                sizeof(((notcurses_options *)0)->margin_b),
                _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "margin_l", offsetof(notcurses_options, margin_l),
                sizeof(((notcurses_options *)0)->margin_l),
                _CFFI_OP(_CFFI_OP_NOOP, 26) },
  { "flags", offsetof(notcurses_options, flags),
             sizeof(((notcurses_options *)0)->flags),
             _CFFI_OP(_CFFI_OP_NOOP, 65) },
};

static const struct _cffi_struct_union_s _cffi_struct_unions[] = {
  { "$sigset_t", 1676, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "$va_list", 414, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "_IO_FILE", 1643, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "nccapabilities", 1652, _CFFI_F_CHECK_FIELDS,
    sizeof(nccapabilities), offsetof(struct _cffi_align__nccapabilities, y), 0, 9 },
  { "nccell", 1653, _CFFI_F_CHECK_FIELDS,
    sizeof(nccell), offsetof(struct _cffi_align__nccell, y), 9, 5 },
  { "ncdirect", 1677, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncdplot", 1678, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncfadectx", 1679, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncfdplane", 1680, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncfdplane_options", 1656, _CFFI_F_CHECK_FIELDS,
    sizeof(ncfdplane_options), offsetof(struct _cffi_align__ncfdplane_options, y), 14, 3 },
  { "ncinput", 1657, _CFFI_F_CHECK_FIELDS,
    sizeof(ncinput), offsetof(struct _cffi_align__ncinput, y), 17, 12 },
  { "ncmenu", 1681, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncmenu_item", 1683, _CFFI_F_CHECK_FIELDS,
    sizeof(struct ncmenu_item), offsetof(struct _cffi_align_struct_ncmenu_item, y), 29, 2 },
  { "ncmenu_options", 1660, _CFFI_F_CHECK_FIELDS,
    sizeof(ncmenu_options), offsetof(struct _cffi_align__ncmenu_options, y), 31, 5 },
  { "ncmenu_section", 1685, _CFFI_F_CHECK_FIELDS,
    sizeof(struct ncmenu_section), offsetof(struct _cffi_align_struct_ncmenu_section, y), 36, 4 },
  { "ncmselector_item", 1687, _CFFI_F_CHECK_FIELDS,
    sizeof(struct ncmselector_item), offsetof(struct _cffi_align_struct_ncmselector_item, y), 40, 3 },
  { "ncmultiselector", 1688, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncmultiselector_options", 1661, _CFFI_F_CHECK_FIELDS,
    sizeof(ncmultiselector_options), offsetof(struct _cffi_align__ncmultiselector_options, y), 43, 11 },
  { "ncpalette", 1662, _CFFI_F_CHECK_FIELDS,
    sizeof(ncpalette), offsetof(struct _cffi_align__ncpalette, y), 54, 1 },
  { "ncplane", 1655, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncplane_options", 1664, _CFFI_F_CHECK_FIELDS,
    sizeof(ncplane_options), offsetof(struct _cffi_align__ncplane_options, y), 55, 10 },
  { "ncplot_options", 1665, _CFFI_F_CHECK_FIELDS,
    sizeof(ncplot_options), offsetof(struct _cffi_align__ncplot_options, y), 65, 7 },
  { "ncprogbar", 1689, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncprogbar_options", 1666, _CFFI_F_CHECK_FIELDS,
    sizeof(ncprogbar_options), offsetof(struct _cffi_align__ncprogbar_options, y), 72, 5 },
  { "ncreader", 1690, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncreader_options", 1667, _CFFI_F_CHECK_FIELDS,
    sizeof(ncreader_options), offsetof(struct _cffi_align__ncreader_options, y), 77, 3 },
  { "ncreel", 1691, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncreel_options", 1668, _CFFI_F_CHECK_FIELDS,
    sizeof(ncreel_options), offsetof(struct _cffi_align__ncreel_options, y), 80, 6 },
  { "ncselector", 1692, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncselector_item", 1693, _CFFI_F_CHECK_FIELDS,
    sizeof(struct ncselector_item), offsetof(struct _cffi_align_struct_ncselector_item, y), 86, 2 },
  { "ncselector_options", 1669, _CFFI_F_CHECK_FIELDS,
    sizeof(ncselector_options), offsetof(struct _cffi_align__ncselector_options, y), 88, 12 },
  { "ncstats", 1670, _CFFI_F_CHECK_FIELDS,
    sizeof(ncstats), offsetof(struct _cffi_align__ncstats, y), 100, 36 },
  { "ncsubproc", 1694, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncsubproc_options", 1671, _CFFI_F_CHECK_FIELDS,
    sizeof(ncsubproc_options), offsetof(struct _cffi_align__ncsubproc_options, y), 136, 3 },
  { "nctab", 1695, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "nctabbed", 1696, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "nctabbed_options", 1672, _CFFI_F_CHECK_FIELDS,
    sizeof(nctabbed_options), offsetof(struct _cffi_align__nctabbed_options, y), 139, 5 },
  { "nctablet", 1697, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "nctree", 1698, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "nctree_item", 1700, _CFFI_F_CHECK_FIELDS,
    sizeof(struct nctree_item), offsetof(struct _cffi_align_struct_nctree_item, y), 144, 3 },
  { "nctree_options", 1673, _CFFI_F_CHECK_FIELDS,
    sizeof(nctree_options), offsetof(struct _cffi_align__nctree_options, y), 147, 5 },
  { "ncuplot", 1701, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncvgeom", 1674, _CFFI_F_CHECK_FIELDS,
    sizeof(ncvgeom), offsetof(struct _cffi_align__ncvgeom, y), 152, 17 },
  { "ncvisual", 1654, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "ncvisual_options", 1702, _CFFI_F_CHECK_FIELDS,
    sizeof(struct ncvisual_options), offsetof(struct _cffi_align_struct_ncvisual_options, y), 169, 13 },
  { "notcurses", 1703, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
  { "notcurses_options", 1675, _CFFI_F_CHECK_FIELDS,
    sizeof(notcurses_options), offsetof(struct _cffi_align__notcurses_options, y), 182, 7 },
  { "timespec", 1704, _CFFI_F_OPAQUE,
    (size_t)-1, -1, -1, 0 /* opaque */ },
};

static const struct _cffi_enum_s _cffi_enums[] = {
  { "$ncalign_e", 194, _cffi_prim_int(sizeof(ncalign_e), ((ncalign_e)-1) <= 0),
    "NCALIGN_UNALIGNED,NCALIGN_LEFT,NCALIGN_CENTER,NCALIGN_RIGHT" },
  { "$ncblitter_e", 125, _cffi_prim_int(sizeof(ncblitter_e), ((ncblitter_e)-1) <= 0),
    "NCBLIT_DEFAULT,NCBLIT_1x1,NCBLIT_2x1,NCBLIT_2x2,NCBLIT_3x2,NCBLIT_4x2,NCBLIT_BRAILLE,NCBLIT_PIXEL,NCBLIT_4x1,"
    "NCBLIT_8x1" },
  { "$ncintype_e", 1658, _cffi_prim_int(sizeof(ncintype_e), ((ncintype_e)-1) <= 0),
    "NCTYPE_UNKNOWN,NCTYPE_PRESS,NCTYPE_REPEAT,NCTYPE_RELEASE" },
  { "$ncloglevel_e", 1659, _cffi_prim_int(sizeof(ncloglevel_e), ((ncloglevel_e)-1) <= 0),
    "NCLOGLEVEL_SILENT,NCLOGLEVEL_PANIC,NCLOGLEVEL_FATAL,NCLOGLEVEL_ERROR,NCLOGLEVEL_WARNING,NCLOGLEVEL_INFO,"
    "NCLOGLEVEL_VERBOSE,NCLOGLEVEL_DEBUG,NCLOGLEVEL_TRACE" },
  { "$ncpixelimpl_e", 1663, _cffi_prim_int(sizeof(ncpixelimpl_e), ((ncpixelimpl_e)-1) <= 0),
    "NCPIXEL_NONE,NCPIXEL_SIXEL,NCPIXEL_LINUXFB,NCPIXEL_ITERM2,NCPIXEL_KITTY_STATIC,NCPIXEL_KITTY_ANIMATED,"
    "NCPIXEL_KITTY_SELFREF" },
  { "$ncscale_e", 128, _cffi_prim_int(sizeof(ncscale_e), ((ncscale_e)-1) <= 0),
    "NCSCALE_NONE,NCSCALE_SCALE,NCSCALE_STRETCH,NCSCALE_NONE_HIRES,NCSCALE_SCALE_HIRES" },
};

static const struct _cffi_typename_s _cffi_typenames[] = {
  { "FILE", 1643 },
  { "fadecb", 683 },
  { "ncalign_e", 194 },
  { "ncblitter_e", 125 },
  { "nccapabilities", 1652 },
  { "nccell", 1653 },
  { "ncdirectf", 1654 },
  { "ncdirectv", 1655 },
  { "ncfdplane_callback", 1080 },
  { "ncfdplane_done_cb", 1081 },
  { "ncfdplane_options", 1656 },
  { "ncinput", 1657 },
  { "ncintype_e", 1658 },
  { "ncloglevel_e", 1659 },
  { "ncmenu_options", 1660 },
  { "ncmultiselector_options", 1661 },
  { "ncpalette", 1662 },
  { "ncpixelimpl_e", 1663 },
  { "ncplane_options", 1664 },
  { "ncplot_options", 1665 },
  { "ncprogbar_options", 1666 },
  { "ncreader_options", 1667 },
  { "ncreel_options", 1668 },
  { "ncscale_e", 128 },
  { "ncselector_options", 1669 },
  { "ncstats", 1670 },
  { "ncstreamcb", 241 },
  { "ncsubproc_options", 1671 },
  { "nctabbed_options", 1672 },
  { "nctree_options", 1673 },
  { "ncvgeom", 1674 },
  { "notcurses_options", 1675 },
  { "sigset_t", 1676 },
  { "tabcb", 1230 },
  { "tabletcb", 1245 },
  { "va_list", 414 },
};

static const struct _cffi_type_context_s _cffi_type_context = {
  _cffi_types,
  _cffi_globals,
  _cffi_fields,
  _cffi_struct_unions,
  _cffi_enums,
  _cffi_typenames,
  887,  /* num_globals */
  48,  /* num_struct_unions */
  6,  /* num_enums */
  36,  /* num_typenames */
  NULL,  /* no includes */
  1712,  /* num_types */
  0,  /* flags */
};

#ifdef __GNUC__
#  pragma GCC visibility push(default)  /* for -fvisibility= */
#endif

#ifdef PYPY_VERSION
PyMODINIT_FUNC
_cffi_pypyinit__notcurses(const void *p[])
{
    p[0] = (const void *)0x2601;
    p[1] = &_cffi_type_context;
    return NULL;
}
#  ifdef _MSC_VER
     PyMODINIT_FUNC
     PyInit__notcurses(void) { return NULL; }
#  endif
#else
PyMODINIT_FUNC
PyInit__notcurses(void)
{
  return _cffi_init("_notcurses", 0x2601, &_cffi_type_context);
}
#endif

#ifdef __GNUC__
#  pragma GCC visibility pop
#endif
