1/* PickleBuffer object. This is built-in for ease of use from third-party 2 * C extensions. 3 */ 4 5#ifndef Py_PICKLEBUFOBJECT_H 6#define Py_PICKLEBUFOBJECT_H 7#ifdef __cplusplus 8extern "C" { 9#endif 10 11#ifndef Py_LIMITED_API 12 13PyAPI_DATA(PyTypeObject) PyPickleBuffer_Type; 14 15#define PyPickleBuffer_Check(op) Py_IS_TYPE(op, &PyPickleBuffer_Type) 16 17/* Create a PickleBuffer redirecting to the given buffer-enabled object */ 18PyAPI_FUNC(PyObject *) PyPickleBuffer_FromObject(PyObject *); 19/* Get the PickleBuffer's underlying view to the original object 20 * (NULL if released) 21 */ 22PyAPI_FUNC(const Py_buffer *) PyPickleBuffer_GetBuffer(PyObject *); 23/* Release the PickleBuffer. Returns 0 on success, -1 on error. */ 24PyAPI_FUNC(int) PyPickleBuffer_Release(PyObject *); 25 26#endif /* !Py_LIMITED_API */ 27 28#ifdef __cplusplus 29} 30#endif 31#endif /* !Py_PICKLEBUFOBJECT_H */ 32