GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • index
  • modules
  • next
  • previous
  • Python
  • Python 2.7.18 documentation
  • Python/C API Reference Manual
  • Abstract Objects Layer
  • Show Source

This view

  • Original page
  • New address

GeezerVison is showing docs.python.org — Old Buffer Protocol — Python 2.7.18 documentation

This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release.

Old Buffer Protocol¶

This section describes the legacy buffer protocol, which has been introduced in Python 1.6. It is still supported but deprecated in the Python 2.x series. Python 3 introduces a new buffer protocol which fixes weaknesses and shortcomings of the protocol, and has been backported to Python 2.6. See Buffers and Memoryview Objects for more information.

int PyObject_AsCharBuffer(PyObject *obj, const char **buffer, Py_ssize_t *buffer_len)¶

Returns a pointer to a read-only memory location usable 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 TypeError on error.

New in version 1.6.

Changed in version 2.5: This function used an int * type for buffer_len. This might require changes in your code for properly supporting 64-bit systems.

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 TypeError on error.

New in version 1.6.

Changed in version 2.5: This function used an int * type for buffer_len. This might require changes in your code for properly supporting 64-bit systems.

int PyObject_CheckReadBuffer(PyObject *o)¶

Returns 1 if o supports the single-segment readable buffer interface. Otherwise returns 0.

New in version 2.2.

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 TypeError on error.

New in version 1.6.

Changed in version 2.5: This function used an int * type for buffer_len. This might require changes in your code for properly supporting 64-bit systems.

© Copyright 1990-2020, Python Software Foundation.
The Python Software Foundation is a non-profit corporation. Please donate.
Last updated on Jun 19, 2020. Found a bug?
Created using Sphinx 2.3.1.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.