]> granicus.if.org Git - python/commitdiff
Marc-Andre Lemburg: added declarations for PyObject_AsCharBuffer,
authorGuido van Rossum <guido@python.org>
Fri, 10 Mar 2000 22:35:06 +0000 (22:35 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 10 Mar 2000 22:35:06 +0000 (22:35 +0000)
PyObject_AsReadBuffer, PyObject_AsWriteBuffer.

Include/abstract.h

index 0d6744db7c3e2edc1b9a1ac973263bbecc5b3609..12d799d1f1dcb2dc0d438d9dba3cae9e6fafc4d0 100644 (file)
@@ -436,6 +436,52 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
         This is the equivalent of the Python statement: del o[key].
        */
 
+     DL_IMPORT(int) PyObject_AsCharBuffer(PyObject *obj,
+                                         const char **buffer,
+                                         int *buffer_len);
+
+       /* 
+         Takes an arbitrary object which must support the (character,
+         single segment) buffer interface and returns a pointer to a
+         read-only memory location useable as character based input
+         for subsequent processing.
+
+         0 is returned on success.  buffer and buffer_len are only
+         set in case no error occurrs. Otherwise, -1 is returned and
+         an exception set.
+
+       */
+
+     DL_IMPORT(int) PyObject_AsReadBuffer(PyObject *obj,
+                                         const void **buffer,
+                                         int *buffer_len);
+
+       /* 
+         Same as PyObject_AsCharBuffer() except that this API expects
+         (readable, single segment) buffer interface and returns a
+         pointer to a read-only memory location which can contain
+         arbitrary data.
+
+         0 is returned on success.  buffer and buffer_len are only
+         set in case no error occurrs.  Otherwise, -1 is returned and
+         an exception set.
+
+       */
+
+     DL_IMPORT(int) PyObject_AsWriteBuffer(PyObject *obj,
+                                          void **buffer,
+                                          int *buffer_len);
+
+       /* 
+         Takes an arbitrary object which must support the (writeable,
+         single segment) buffer interface and returns a pointer to a
+         writeable memory location in buffer of size buffer_len.
+
+         0 is returned on success.  buffer and buffer_len are only
+         set in case no error occurrs. Otherwise, -1 is returned and
+         an exception set.
+
+       */
 
 /*  Number Protocol:*/