CObjects
Refer to Providing a C API for an Extension Module for more information on using these objects.
-
PyCObject
- This subtype of PyObject represents an opaque value, useful for C
extension modules who need to pass an opaque value (as a void*
pointer) through Python code to other C code. It is often used to make a C
function pointer defined in one module available to other modules, so the
regular import mechanism can be used to access C APIs defined in dynamically
loaded modules.
-
int PyCObject_Check(PyObject *p)
- Return true if its argument is a PyCObject.
-
PyObject* PyCObject_FromVoidPtr(void* cobj, void (*destr)(void *))
- Return value: New reference.
Create a PyCObject from the void * cobj. The destr function
will be called when the object is reclaimed, unless it is NULL.
-
PyObject* PyCObject_FromVoidPtrAndDesc(void* cobj, void* desc, void (*destr)(void *, void *))
- Return value: New reference.
Create a PyCObject from the void * cobj. The destr
function will be called when the object is reclaimed. The desc argument can
be used to pass extra callback data for the destructor function.
-
void* PyCObject_AsVoidPtr(PyObject* self)
- Return the object void * that the PyCObject self was
created with.
-
void* PyCObject_GetDesc(PyObject* self)
- Return the description void * that the PyCObject self was
created with.
-
int PyCObject_SetVoidPtr(PyObject* self, void* cobj)
- Set the void pointer inside self to cobj. The PyCObject must not
have an associated destructor. Return true on success, false on failure.