#ifndef HSCPYTHON_SHIM_H #define HSCPYTHON_SHIM_H #include /* Initialization helpers */ void hscpython_SetProgramName (wchar_t *); void hscpython_SetPythonHome (wchar_t *); /* Object */ void hscpython_Py_INCREF (PyObject *); void hscpython_Py_DECREF (PyObject *); int hscpython_PyObject_DelAttr(PyObject *, PyObject *); int hscpython_PyObject_TypeCheck (PyObject *, PyTypeObject *); int hscpython_PyIter_Check(PyObject *); enum HSCPythonComparisonEnum { HSCPYTHON_LT = Py_LT , HSCPYTHON_LE = Py_LE , HSCPYTHON_EQ = Py_EQ , HSCPYTHON_NE = Py_NE , HSCPYTHON_GT = Py_GT , HSCPYTHON_GE = Py_GE }; /* Types */ PyTypeObject *hscpython_PyType_Type (); PyTypeObject *hscpython_PyTuple_Type (); PyTypeObject *hscpython_PyList_Type (); PyTypeObject *hscpython_PyDict_Type (); PyTypeObject *hscpython_PyLong_Type (); PyTypeObject *hscpython_PyFloat_Type (); PyTypeObject *hscpython_PyComplex_Type (); PyTypeObject *hscpython_PyUnicode_Type (); PyTypeObject *hscpython_PyBytes_Type (); PyTypeObject *hscpython_PyByteArray_Type (); PyTypeObject *hscpython_PyCell_Type (); PyTypeObject *hscpython_PyCode_Type (); PyTypeObject *hscpython_PyFunction_Type (); PyTypeObject *hscpython_PyInstanceMethod_Type (); PyTypeObject *hscpython_PyMethod_Type (); PyTypeObject *hscpython_PySet_Type (); PyTypeObject *hscpython_PyFrozenSet_Type (); PyTypeObject *hscpython_PySeqIter_Type (); PyTypeObject *hscpython_PyCallIter_Type (); PyTypeObject *hscpython_PySlice_Type (); PyTypeObject *hscpython_PyModule_Type (); PyTypeObject *hscpython_PyCapsule_Type (); /* Constants */ PyObject *hscpython_Py_None (); PyObject *hscpython_Py_True (); PyObject *hscpython_Py_False (); /* Unicode */ Py_ssize_t hscpython_PyUnicode_GetSize (PyObject *); Py_UNICODE *hscpython_PyUnicode_AsUnicode (PyObject *); PyObject *hscpython_PyUnicode_FromUnicode (Py_UNICODE *, Py_ssize_t); PyObject *hscpython_PyUnicode_FromEncodedObject (PyObject *, const char *, const char *); PyObject *hscpython_PyUnicode_AsEncodedString (PyObject *, const char *, const char *); PyObject *hscpython_PyUnicode_FromObject (PyObject *); PyObject *hscpython_PyUnicode_Decode (const char *, Py_ssize_t, const char *, const char *); PyObject *hscpython_PyUnicode_Concat (PyObject *, PyObject *); PyObject *hscpython_PyUnicode_Split (PyObject *, PyObject *, Py_ssize_t); PyObject *hscpython_PyUnicode_Splitlines (PyObject *, int); PyObject *hscpython_PyUnicode_Translate (PyObject *, PyObject *, const char *); PyObject *hscpython_PyUnicode_Join (PyObject *, PyObject *); int hscpython_PyUnicode_Tailmatch (PyObject *, PyObject *, Py_ssize_t, Py_ssize_t, int); Py_ssize_t hscpython_PyUnicode_Find (PyObject *, PyObject *, Py_ssize_t, Py_ssize_t, int); Py_ssize_t hscpython_PyUnicode_Count (PyObject *, PyObject *, Py_ssize_t, Py_ssize_t); PyObject *hscpython_PyUnicode_Replace (PyObject *, PyObject *, PyObject *, Py_ssize_t); PyObject *hscpython_PyUnicode_Format (PyObject *, PyObject *); int hscpython_PyUnicode_Contains (PyObject *, PyObject *); /* Lists */ void hscpython_peek_list (PyObject *, Py_ssize_t, PyObject **); PyObject *hscpython_poke_list (size_t, PyObject **); /* Tuples */ void hscpython_peek_tuple (PyObject *, Py_ssize_t, PyObject **); PyObject *hscpython_poke_tuple (size_t, PyObject **); #endif