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
9 extern "C" {
10 #endif
11 
12 
13 PyAPI_DATA(PyTypeObject) PyBuffer_Type;
14 
15 #define PyBuffer_Check(op) (Py_TYPE(op) == &PyBuffer_Type)
16 
17 #define Py_END_OF_BUFFER	(-1)
18 
19 PyAPI_FUNC(PyObject *) PyBuffer_FromObject(PyObject *base,
20                                            Py_ssize_t offset, Py_ssize_t size);
21 PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteObject(PyObject *base,
22                                                     Py_ssize_t offset,
23                                                     Py_ssize_t size);
24 
25 PyAPI_FUNC(PyObject *) PyBuffer_FromMemory(void *ptr, Py_ssize_t size);
26 PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size);
27 
28 PyAPI_FUNC(PyObject *) PyBuffer_New(Py_ssize_t size);
29 
30 #ifdef __cplusplus
31 }
32 #endif
33 #endif /* !Py_BUFFEROBJECT_H */
34