Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2e19bd7

Browse files
committed
Add Greg Stein's buffer object API.
1 parent 8c1e114 commit 2e19bd7

3 files changed

Lines changed: 661 additions & 0 deletions

File tree

Include/Python.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ PERFORMANCE OF THIS SOFTWARE.
7676
#endif
7777
#include "rangeobject.h"
7878
#include "stringobject.h"
79+
#include "bufferobject.h"
7980
#include "tupleobject.h"
8081
#include "listobject.h"
8182
#include "dictobject.h"

Include/bufferobject.h

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#ifndef Py_BUFFEROBJECT_H
2+
#define Py_BUFFEROBJECT_H
3+
#ifdef __cplusplus
4+
extern "C" {
5+
#endif
6+
7+
/***********************************************************
8+
Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
9+
The Netherlands.
10+
11+
All Rights Reserved
12+
13+
Permission to use, copy, modify, and distribute this software and its
14+
documentation for any purpose and without fee is hereby granted,
15+
provided that the above copyright notice appear in all copies and that
16+
both that copyright notice and this permission notice appear in
17+
supporting documentation, and that the names of Stichting Mathematisch
18+
Centrum or CWI or Corporation for National Research Initiatives or
19+
CNRI not be used in advertising or publicity pertaining to
20+
distribution of the software without specific, written prior
21+
permission.
22+
23+
While CWI is the initial source for this software, a modified version
24+
is made available by the Corporation for National Research Initiatives
25+
(CNRI) at the Internet address ftp://ftp.python.org.
26+
27+
STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
28+
REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
29+
MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
30+
CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
31+
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
32+
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
33+
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
34+
PERFORMANCE OF THIS SOFTWARE.
35+
36+
******************************************************************/
37+
38+
/* Buffer object interface */
39+
40+
/* Note: the object's structure is private */
41+
42+
43+
extern DL_IMPORT(PyTypeObject) PyBuffer_Type;
44+
45+
#define PyBuffer_Check(op) ((op)->ob_type == &PyBuffer_Type)
46+
47+
#define Py_END_OF_BUFFER (-1)
48+
49+
extern PyObject *PyBuffer_FromObject Py_PROTO((PyObject *base, int offset, int size));
50+
extern PyObject *PyBuffer_FromReadWriteObject Py_PROTO((PyObject *base, int offset, int size));
51+
52+
extern PyObject *PyBuffer_FromMemory Py_PROTO((void *ptr, int size));
53+
extern PyObject *PyBuffer_FromReadWriteMemory Py_PROTO((void *ptr, int size));
54+
55+
extern PyObject *PyBuffer_New Py_PROTO((int size));
56+
57+
#ifdef __cplusplus
58+
}
59+
#endif
60+
#endif /* !Py_BUFFEROBJECT_H */
61+

0 commit comments

Comments
 (0)