#ifndef PYPGF_FFI_H_ #define PYPGF_FFI_H_ #define PY_SSIZE_T_CLEAN #include #include typedef struct { PyObject_HEAD PgfDB *db; PgfRevision revision; } PGFObject; PyObject *PGFError; PgfExnType handleError(PgfExn err); PgfText *CString_AsPgfText(const char *s, size_t size); PgfText *PyUnicode_AsPgfText(PyObject *pystr); PyObject *PyUnicode_FromPgfText(PgfText *text); PgfTypeHypo *PyList_AsHypos(PyObject *pylist, Py_ssize_t *n_hypos); PyObject *PyList_FromHypos(PgfTypeHypo *hypos, const size_t n_hypos); PgfPrintContext *PyList_AsPgfPrintContext(PyObject *pylist); void FreePgfText(PgfText *txt); void FreePgfPrintContext(PgfPrintContext *ctxt); PgfUnmarshaller unmarshaller; PgfMarshaller marshaller; #endif // PYPGF_FFI_H_