blob: 6dd83458c58d9839cc146ccd657149c37a8f7457 [file] [log] [blame]
Andrew Hsieh83760d22013-06-18 12:24:28 -07001
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 */