1
2/* Buffer object interface */
3
4/* Note: the object's structure is private */
5
6#ifndef Py_BUFFEROBJECT_H
7#define Py_BUFFEROBJECT_H
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12
13PyAPI_DATA(PyTypeObject) PyBuffer_Type;
14
15#define PyBuffer_Check(op) (Py_TYPE(op) == &PyBuffer_Type)
16
17#define Py_END_OF_BUFFER	(-1)
18
19PyAPI_FUNC(PyObject *) PyBuffer_FromObject(PyObject *base,
20                                           Py_ssize_t offset, Py_ssize_t size);
21PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteObject(PyObject *base,
22                                                    Py_ssize_t offset,
23                                                    Py_ssize_t size);
24
25PyAPI_FUNC(PyObject *) PyBuffer_FromMemory(void *ptr, Py_ssize_t size);
26PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size);
27
28PyAPI_FUNC(PyObject *) PyBuffer_New(Py_ssize_t size);
29
30#ifdef __cplusplus
31}
32#endif
33#endif /* !Py_BUFFEROBJECT_H */
34