OLD | NEW |
(Empty) | |
| 1 # Legacy Python 2 buffer interface. |
| 2 # |
| 3 # These functions are no longer available in Python 3, use the new |
| 4 # buffer interface instead. |
| 5 |
| 6 cdef extern from "Python.h": |
| 7 cdef enum _: |
| 8 Py_END_OF_BUFFER |
| 9 # This constant may be passed as the size parameter to |
| 10 # PyBuffer_FromObject() or PyBuffer_FromReadWriteObject(). It |
| 11 # indicates that the new PyBufferObject should refer to base object |
| 12 # from the specified offset to the end of its exported |
| 13 # buffer. Using this enables the caller to avoid querying the base |
| 14 # object for its length. |
| 15 |
| 16 bint PyBuffer_Check(object p) |
| 17 # Return true if the argument has type PyBuffer_Type. |
| 18 |
| 19 object PyBuffer_FromObject(object base, Py_ssize_t offset, Py_ssize_t size) |
| 20 # Return value: New reference. |
| 21 # |
| 22 # Return a new read-only buffer object. This raises TypeError if |
| 23 # base doesn't support the read-only buffer protocol or doesn't |
| 24 # provide exactly one buffer segment, or it raises ValueError if |
| 25 # offset is less than zero. The buffer will hold a reference to the |
| 26 # base object, and the buffer's contents will refer to the base |
| 27 # object's buffer interface, starting as position offset and |
| 28 # extending for size bytes. If size is Py_END_OF_BUFFER, then the |
| 29 # new buffer's contents extend to the length of the base object's |
| 30 # exported buffer data. |
| 31 |
| 32 object PyBuffer_FromReadWriteObject(object base, Py_ssize_t offset, Py_ssize
_t size) |
| 33 # Return value: New reference. |
| 34 # |
| 35 # Return a new writable buffer object. Parameters and exceptions |
| 36 # are similar to those for PyBuffer_FromObject(). If the base |
| 37 # object does not export the writeable buffer protocol, then |
| 38 # TypeError is raised. |
| 39 |
| 40 object PyBuffer_FromMemory(void *ptr, Py_ssize_t size) |
| 41 # Return value: New reference. |
| 42 # |
| 43 # Return a new read-only buffer object that reads from a specified |
| 44 # location in memory, with a specified size. The caller is |
| 45 # responsible for ensuring that the memory buffer, passed in as |
| 46 # ptr, is not deallocated while the returned buffer object |
| 47 # exists. Raises ValueError if size is less than zero. Note that |
| 48 # Py_END_OF_BUFFER may not be passed for the size parameter; |
| 49 # ValueError will be raised in that case. |
| 50 |
| 51 object PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size) |
| 52 # Return value: New reference. |
| 53 # |
| 54 # Similar to PyBuffer_FromMemory(), but the returned buffer is |
| 55 # writable. |
| 56 |
| 57 object PyBuffer_New(Py_ssize_t size) |
| 58 # Return value: New reference. |
| 59 # |
| 60 # Return a new writable buffer object that maintains its own memory |
| 61 # buffer of size bytes. ValueError is returned if size is not zero |
| 62 # or positive. Note that the memory buffer (as returned by |
| 63 # PyObject_AsWriteBuffer()) is not specifically aligned. |
OLD | NEW |