This adds them to the Limited API.
type,destructor,3.2,,
type,getattrfunc,3.2,,
type,getattrofunc,3.2,,
+type,getbufferproc,3.12,,
type,getiterfunc,3.2,,
type,getter,3.2,,
type,hashfunc,3.2,,
type,newfunc,3.2,,
type,objobjargproc,3.2,,
type,objobjproc,3.2,,
+type,releasebufferproc,3.12,,
type,reprfunc,3.2,,
type,richcmpfunc,3.2,,
type,setattrfunc,3.2,,
#endif /* NEEDS_PY_IDENTIFIER */
-typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-
-
typedef struct {
/* Number implementations must check *both*
arguments for proper type and implement the necessary conversions
void *internal;
} Py_buffer;
+typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
+typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
+
/* Return 1 if the getbuffer function is available, otherwise return 0. */
PyAPI_FUNC(int) PyObject_CheckBuffer(PyObject *obj);
--- /dev/null
+Add ``getbufferproc`` and ``releasebufferproc`` to the stable API.
added = '3.12'
[macro.PY_VECTORCALL_ARGUMENTS_OFFSET]
added = '3.12'
+[typedef.getbufferproc]
+ added = '3.12'
+[typedef.releasebufferproc]
+ added = '3.12'