blob: 7949d53c648a167ec091e9b5658dcd95d1118958 [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/***********************************************************
8Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
9The Netherlands.
10
11 All Rights Reserved
12
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000013Copyright (c) 2000, BeOpen.com.
14Copyright (c) 1995-2000, Corporation for National Research Initiatives.
15Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
16All rights reserved.
Guido van Rossum2e19bd71998-10-07 14:36:10 +000017
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000018See the file "Misc/COPYRIGHT" for information on usage and
19redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossum2e19bd71998-10-07 14:36:10 +000020
21******************************************************************/
22
23/* Buffer object interface */
24
25/* Note: the object's structure is private */
26
27
28extern DL_IMPORT(PyTypeObject) PyBuffer_Type;
29
30#define PyBuffer_Check(op) ((op)->ob_type == &PyBuffer_Type)
31
32#define Py_END_OF_BUFFER (-1)
33
Guido van Rossum43466ec1998-12-04 18:48:25 +000034extern DL_IMPORT(PyObject *) PyBuffer_FromObject Py_PROTO((PyObject *base, int offset, int size));
35extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteObject Py_PROTO((PyObject *base, int offset, int size));
Guido van Rossum2e19bd71998-10-07 14:36:10 +000036
Guido van Rossum43466ec1998-12-04 18:48:25 +000037extern DL_IMPORT(PyObject *) PyBuffer_FromMemory Py_PROTO((void *ptr, int size));
38extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteMemory Py_PROTO((void *ptr, int size));
Guido van Rossum2e19bd71998-10-07 14:36:10 +000039
Guido van Rossum43466ec1998-12-04 18:48:25 +000040extern DL_IMPORT(PyObject *) PyBuffer_New Py_PROTO((int size));
Guido van Rossum2e19bd71998-10-07 14:36:10 +000041
42#ifdef __cplusplus
43}
44#endif
45#endif /* !Py_BUFFEROBJECT_H */
46