| 1 |
|
|---|
| 2 | /* C objects to be exported from one extension module to another.
|
|---|
| 3 |
|
|---|
| 4 | C objects are used for communication between extension modules.
|
|---|
| 5 | They provide a way for an extension module to export a C interface
|
|---|
| 6 | to other extension modules, so that extension modules can use the
|
|---|
| 7 | Python import mechanism to link to one another.
|
|---|
| 8 |
|
|---|
| 9 | */
|
|---|
| 10 |
|
|---|
| 11 | #ifndef Py_COBJECT_H
|
|---|
| 12 | #define Py_COBJECT_H
|
|---|
| 13 | #ifdef __cplusplus
|
|---|
| 14 | extern "C" {
|
|---|
| 15 | #endif
|
|---|
| 16 |
|
|---|
| 17 | PyAPI_DATA(PyTypeObject) PyCObject_Type;
|
|---|
| 18 |
|
|---|
| 19 | #define PyCObject_Check(op) ((op)->ob_type == &PyCObject_Type)
|
|---|
| 20 |
|
|---|
| 21 | /* Create a PyCObject from a pointer to a C object and an optional
|
|---|
| 22 | destructor function. If the second argument is non-null, then it
|
|---|
| 23 | will be called with the first argument if and when the PyCObject is
|
|---|
| 24 | destroyed.
|
|---|
| 25 |
|
|---|
| 26 | */
|
|---|
|
|---|