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