summaryrefslogtreecommitdiffstats
path: root/Doc/c-api/objbuffer.rst
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-01-20 09:30:57 (GMT)
committerGeorg Brandl <georg@python.org>2008-01-20 09:30:57 (GMT)
commit54a3faae0806ab1dd8290e16acc8ab7acdd4762b (patch)
tree3f58890aaea549244ca64e911f8deee3ca5bd08d /Doc/c-api/objbuffer.rst
parent135bf209ac9a44244a97fd3bf5ff638a320e1a43 (diff)
downloadcpython-54a3faae0806ab1dd8290e16acc8ab7acdd4762b.zip
cpython-54a3faae0806ab1dd8290e16acc8ab7acdd4762b.tar.gz
cpython-54a3faae0806ab1dd8290e16acc8ab7acdd4762b.tar.bz2
Split C API docs in Py3k branch.
Diffstat (limited to 'Doc/c-api/objbuffer.rst')
-rw-r--r--Doc/c-api/objbuffer.rst37
1 files changed, 37 insertions, 0 deletions
diff --git a/Doc/c-api/objbuffer.rst b/Doc/c-api/objbuffer.rst
new file mode 100644
index 0000000..2ce0d97
--- /dev/null
+++ b/Doc/c-api/objbuffer.rst
@@ -0,0 +1,37 @@
+.. 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.
+
+
+.. 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.
+
+
+.. cfunction:: int PyObject_CheckReadBuffer(PyObject *o)
+
+ Returns ``1`` if *o* supports the single-segment readable buffer interface.
+ Otherwise returns ``0``.
+
+
+.. cfunction:: int PyObject_AsWriteBuffer(PyObject *obj, void **buffer, Py_ssize_t *buffer_len)
+
+ Returns a pointer to a writable 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.