diff options
author | Georg Brandl <georg@python.org> | 2008-01-19 22:08:21 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-01-19 22:08:21 +0000 |
commit | f6842722df69a40e841c045d42a538bb5d6bbbf6 (patch) | |
tree | 2b8bb1b6bb5908ed66ed72f7c84de0a34ddc7542 /Doc/c-api/objbuffer.rst | |
parent | 8b506e7a2d4e8cb6ffd6b7f2845e45aa92daa4d4 (diff) | |
download | cpython-git-f6842722df69a40e841c045d42a538bb5d6bbbf6.tar.gz |
Split the monstrous C API manual files in smaller parts.
Diffstat (limited to 'Doc/c-api/objbuffer.rst')
-rw-r--r-- | Doc/c-api/objbuffer.rst | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Doc/c-api/objbuffer.rst b/Doc/c-api/objbuffer.rst new file mode 100644 index 0000000000..e2e3145016 --- /dev/null +++ b/Doc/c-api/objbuffer.rst @@ -0,0 +1,46 @@ +.. highlightlang:: c + +.. _abstract-buffer: + +Buffer Protocol +=============== + + +.. cfunction:: int PyObject_AsCharBuffer(PyObject *obj, const char **buffer, Py_ssize_t *buffer_len) + + Returns a pointer to a read-only memory location useable as character- based + input. The *obj* argument must support the single-segment character buffer + interface. On success, returns ``0``, sets *buffer* to the memory location and + *buffer_len* to the buffer length. Returns ``-1`` and sets a :exc:`TypeError` + on error. + + .. versionadded:: 1.6 + + +.. cfunction:: int PyObject_AsReadBuffer(PyObject *obj, const void **buffer, Py_ssize_t *buffer_len) + + Returns a pointer to a read-only memory location containing arbitrary data. The + *obj* argument must support the single-segment readable buffer interface. On + success, returns ``0``, sets *buffer* to the memory location and *buffer_len* to + the buffer length. Returns ``-1`` and sets a :exc:`TypeError` on error. + + .. versionadded:: 1.6 + + +.. cfunction:: int PyObject_CheckReadBuffer(PyObject *o) + + Returns ``1`` if *o* supports the single-segment readable buffer interface. + Otherwise returns ``0``. + + .. versionadded:: 2.2 + + +.. cfunction:: int PyObject_AsWriteBuffer(PyObject *obj, void **buffer, Py_ssize_t *buffer_len) + + Returns a pointer to a writeable memory location. The *obj* argument must + support the single-segment, character buffer interface. On success, returns + ``0``, sets *buffer* to the memory location and *buffer_len* to the buffer + length. Returns ``-1`` and sets a :exc:`TypeError` on error. + + .. versionadded:: 1.6 + |