summaryrefslogtreecommitdiff
path: root/Doc/c-api/objbuffer.rst
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-01-19 22:08:21 +0000
committerGeorg Brandl <georg@python.org>2008-01-19 22:08:21 +0000
commitf6842722df69a40e841c045d42a538bb5d6bbbf6 (patch)
tree2b8bb1b6bb5908ed66ed72f7c84de0a34ddc7542 /Doc/c-api/objbuffer.rst
parent8b506e7a2d4e8cb6ffd6b7f2845e45aa92daa4d4 (diff)
downloadcpython-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.rst46
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
+