annotate Include/pycapsule.h @ 78069:a8aa77458e12 3.2

Add c_size_t and c_ssize_t to the ctypes summary table.
author Antoine Pitrou <solipsis@pitrou.net>
date Thu, 12 Jul 2012 20:31:50 +0200
parents ec3c06761856
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
53816
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
1
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
2 /* Capsule objects let you wrap a C "void *" pointer in a Python
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
3 object. They're a way of passing data through the Python interpreter
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
4 without creating your own custom type.
54180
2b7cb42dde11 Remove trailing whitespace.
Georg Brandl <georg@python.org>
parents: 53816
diff changeset
5
53816
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
6 Capsules are used for communication between extension modules.
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
7 They provide a way for an extension module to export a C interface
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
8 to other extension modules, so that extension modules can use the
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
9 Python import mechanism to link to one another.
54180
2b7cb42dde11 Remove trailing whitespace.
Georg Brandl <georg@python.org>
parents: 53816
diff changeset
10
53816
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
11 For more information, please see "c-api/capsule.html" in the
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
12 documentation.
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
13 */
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
14
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
15 #ifndef Py_CAPSULE_H
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
16 #define Py_CAPSULE_H
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
17 #ifdef __cplusplus
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
18 extern "C" {
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
19 #endif
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
20
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
21 PyAPI_DATA(PyTypeObject) PyCapsule_Type;
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
22
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
23 typedef void (*PyCapsule_Destructor)(PyObject *);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
24
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
25 #define PyCapsule_CheckExact(op) (Py_TYPE(op) == &PyCapsule_Type)
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
26
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
27
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
28 PyAPI_FUNC(PyObject *) PyCapsule_New(
54180
2b7cb42dde11 Remove trailing whitespace.
Georg Brandl <georg@python.org>
parents: 53816
diff changeset
29 void *pointer,
53816
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
30 const char *name,
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
31 PyCapsule_Destructor destructor);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
32
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
33 PyAPI_FUNC(void *) PyCapsule_GetPointer(PyObject *capsule, const char *name);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
34
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
35 PyAPI_FUNC(PyCapsule_Destructor) PyCapsule_GetDestructor(PyObject *capsule);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
36
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
37 PyAPI_FUNC(const char *) PyCapsule_GetName(PyObject *capsule);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
38
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
39 PyAPI_FUNC(void *) PyCapsule_GetContext(PyObject *capsule);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
40
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
41 PyAPI_FUNC(int) PyCapsule_IsValid(PyObject *capsule, const char *name);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
42
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
43 PyAPI_FUNC(int) PyCapsule_SetPointer(PyObject *capsule, void *pointer);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
44
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
45 PyAPI_FUNC(int) PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
46
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
47 PyAPI_FUNC(int) PyCapsule_SetName(PyObject *capsule, const char *name);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
48
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
49 PyAPI_FUNC(int) PyCapsule_SetContext(PyObject *capsule, void *context);
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
50
68109
ec3c06761856 Issue #3080: document encoding used by import functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 54180
diff changeset
51 PyAPI_FUNC(void *) PyCapsule_Import(
ec3c06761856 Issue #3080: document encoding used by import functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 54180
diff changeset
52 const char *name, /* UTF-8 encoded string */
ec3c06761856 Issue #3080: document encoding used by import functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 54180
diff changeset
53 int no_block);
53816
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
54
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
55
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
56 #ifdef __cplusplus
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
57 }
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
58 #endif
911df82bc25d add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
diff changeset
59 #endif /* !Py_CAPSULE_H */