FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/Include/cobject.h at master · broncodans/python · GitHub
broncodans
/
python
Public
forked from
glix/python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
Include
/
cobject.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
63 lines (45 loc) · 1.83 KB
Breadcrumbs
python
/
Include
/
cobject.h
Copy path
File metadata and controls
63 lines (45 loc) · 1.83 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* C objects to be exported from one extension module to another.
C objects are used for communication between extension modules.
They provide a way for an extension module to export a C interface
to other extension modules, so that extension modules can use the
Python import mechanism to link to one another.
*/
#ifndef
Py_COBJECT_H
#define
Py_COBJECT_H
#ifdef
__cplusplus
extern
"C"
{
#endif
PyAPI_DATA
(
PyTypeObject
)
PyCObject_Type
;
#define
PyCObject_Check
(
op
) (Py_TYPE(op) == &PyCObject_Type)
/* Create a PyCObject from a pointer to a C object and an optional
destructor function. If the second argument is non-null, then it
will be called with the first argument if and when the PyCObject is
destroyed.
*/
PyAPI_FUNC
(
PyObject
*
)
PyCObject_FromVoidPtr
(
void
*
cobj
,
void
(
*
destruct
)(
void
*
));
/* Create a PyCObject from a pointer to a C object, a description object,
and an optional destructor function. If the third argument is non-null,
then it will be called with the first and second arguments if and when
the PyCObject is destroyed.
*/
PyAPI_FUNC
(
PyObject
*
)
PyCObject_FromVoidPtrAndDesc
(
void
*
cobj
,
void
*
desc
,
void
(
*
destruct
)(
void
*
,
void
*
));
/* Retrieve a pointer to a C object from a PyCObject. */
PyAPI_FUNC
(
void
*
)
PyCObject_AsVoidPtr
(
PyObject
*
);
/* Retrieve a pointer to a description object from a PyCObject. */
PyAPI_FUNC
(
void
*
)
PyCObject_GetDesc
(
PyObject
*
);
/* Import a pointer to a C object from a module using a PyCObject. */
PyAPI_FUNC
(
void
*
)
PyCObject_Import
(
char
*
module_name
,
char
*
cobject_name
);
/* Modify a C object. Fails (==0) if object has a destructor. */
PyAPI_FUNC
(
int
)
PyCObject_SetVoidPtr
(
PyObject
*
self
,
void
*
cobj
);
typedef
struct
{
PyObject_HEAD
void
*
cobject
;
void
*
desc
;
void
(
*
destructor
)(
void
*
);
}
PyCObject
;
#ifdef
__cplusplus
}
#endif
#endif
/* !Py_COBJECT_H */
Back
|
FazBrowse Home
|
New Git URL