Files
gf-core/src/runtime/python/ffi.h
2021-09-24 15:00:10 +02:00

35 lines
774 B
C

#ifndef PYPGF_FFI_H_
#define PYPGF_FFI_H_
#define PY_SSIZE_T_CLEAN
#include <Python.h>
#include <pgf/pgf.h>
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_