blob: da978c258a45b35ade12eef36e59e22041993b34 [file] [log] [blame]
Guido van Rossum2e19bd71998-10-07 14:36:10 +00001#ifndef Py_BUFFEROBJECT_H
2#define Py_BUFFEROBJECT_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
7/***********************************************************
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00008Copyright (c) 2000, BeOpen.com.
9Copyright (c) 1995-2000, Corporation for National Research Initiatives.
10Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
11All rights reserved.
Guido van Rossum2e19bd71998-10-07 14:36:10 +000012
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000013See the file "Misc/COPYRIGHT" for information on usage and
14redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossum2e19bd71998-10-07 14:36:10 +000015******************************************************************/
16
17/* Buffer object interface */
18
19/* Note: the object's structure is private */
20
21
22extern DL_IMPORT(PyTypeObject) PyBuffer_Type;
23
24#define PyBuffer_Check(op) ((op)->ob_type == &PyBuffer_Type)
25
26#define Py_END_OF_BUFFER (-1)
27
Guido van Rossum43466ec1998-12-04 18:48:25 +000028extern DL_IMPORT(PyObject *) PyBuffer_FromObject Py_PROTO((PyObject *base, int offset, int size));
29extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteObject Py_PROTO((PyObject *base, int offset, int size));
Guido van Rossum2e19bd71998-10-07 14:36:10 +000030
Guido van Rossum43466ec1998-12-04 18:48:25 +000031extern DL_IMPORT(PyObject *) PyBuffer_FromMemory Py_PROTO((void *ptr, int size));
32extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteMemory Py_PROTO((void *ptr, int size));
Guido van Rossum2e19bd71998-10-07 14:36:10 +000033
Guido van Rossum43466ec1998-12-04 18:48:25 +000034extern DL_IMPORT(PyObject *) PyBuffer_New Py_PROTO((int size));
Guido van Rossum2e19bd71998-10-07 14:36:10 +000035
36#ifdef __cplusplus
37}
38#endif
39#endif /* !Py_BUFFEROBJECT_H */
40