10ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong//////////////// Capsule.proto ////////////////
279397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
30ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong/* Todo: wrap the rest of the functionality in similar functions */
40ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kongstatic CYTHON_INLINE PyObject *__pyx_capsule_create(void *p, const char *sig);
50ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
60ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong//////////////// Capsule ////////////////
70ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
80ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kongstatic CYTHON_INLINE PyObject *
90ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong__pyx_capsule_create(void *p, CYTHON_UNUSED const char *sig)
100ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong{
110ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong    PyObject *cobj;
120ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
130ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION == 0)
140ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong    cobj = PyCapsule_New(p, sig, NULL);
150ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#else
160ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong    cobj = PyCObject_FromVoidPtr(p, NULL);
170ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#endif
180ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
190ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong    return cobj;
200ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong}
210ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong