blob: 30701befa70c7cb6a454fdee1a7e6dde84a7466f [file] [log] [blame]
Guido van Rossuma3309961993-07-28 09:05:47 +00001#ifndef Py_CGENSUPPORT_H
2#define Py_CGENSUPPORT_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
Guido van Rossumf70e43a1991-02-19 12:39:46 +00007/***********************************************************
Guido van Rossum5799b521995-01-04 19:06:22 +00008Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
9The Netherlands.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000010
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 Rossumf70e43a1991-02-19 12:39:46 +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 Rossumf70e43a1991-02-19 12:39:46 +000020
21******************************************************************/
22
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000023/* Definitions used by cgen output */
24
Guido van Rossum1818b771997-04-29 15:35:28 +000025/* XXX This file is obsolete. It is *only* used by glmodule.c. */
26
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000027typedef char *string;
28
Guido van Rossumcaa63801995-01-12 11:45:45 +000029#define mknewlongobject(x) PyInt_FromLong(x)
30#define mknewshortobject(x) PyInt_FromLong((long)x)
31#define mknewfloatobject(x) PyFloat_FromDouble(x)
32#define mknewcharobject(ch) Py_BuildValue("c", ch)
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000033
Guido van Rossum1818b771997-04-29 15:35:28 +000034#define getichararg PyArg_GetChar
35#define getidoublearray PyArg_GetDoubleArray
36#define getifloatarg PyArg_GetFloat
37#define getifloatarray PyArg_GetFloatArray
38#define getilongarg PyArg_GetLong
39#define getilongarray PyArg_GetLongArray
40#define getilongarraysize PyArg_GetLongArraySize
41#define getiobjectarg PyArg_GetObject
42#define getishortarg PyArg_GetShort
43#define getishortarray PyArg_GetShortArray
44#define getishortarraysize PyArg_GetShortArraySize
45#define getistringarg PyArg_GetString
46
Guido van Rossumcaf78371996-12-10 15:41:19 +000047extern int PyArg_GetObject Py_PROTO((PyObject *args, int nargs,
48 int i, PyObject **p_a));
49extern int PyArg_GetLong Py_PROTO((PyObject *args, int nargs,
50 int i, long *p_a));
51extern int PyArg_GetShort Py_PROTO((PyObject *args, int nargs,
52 int i, short *p_a));
53extern int PyArg_GetFloat Py_PROTO((PyObject *args, int nargs,
54 int i, float *p_a));
55extern int PyArg_GetString Py_PROTO((PyObject *args, int nargs,
56 int i, string *p_a));
57extern int PyArg_GetChar Py_PROTO((PyObject *args, int nargs,
58 int i, char *p_a));
59extern int PyArg_GetLongArray Py_PROTO((PyObject *args, int nargs,
60 int i, int n, long *p_a));
61extern int PyArg_GetShortArray Py_PROTO((PyObject *args, int nargs,
62 int i, int n, short *p_a));
63extern int PyArg_GetDoubleArray Py_PROTO((PyObject *args, int nargs,
64 int i, int n, double *p_a));
65extern int PyArg_GetFloatArray Py_PROTO((PyObject *args, int nargs,
66 int i, int n, float *p_a));
67extern int PyArg_GetLongArraySize Py_PROTO((PyObject *args, int nargs,
68 int i, long *p_a));
69extern int PyArg_GetShortArraySize Py_PROTO((PyObject *args, int nargs,
70 int i, short *p_a));
71extern int PyArg_GetDoubleArraySize Py_PROTO((PyObject *args, int nargs,
72 int i, double *p_a));
73extern int PyArg_GetFloatArraySize Py_PROTO((PyObject *args, int nargs,
74 int i, float *p_a));
Guido van Rossuma3309961993-07-28 09:05:47 +000075
76#ifdef __cplusplus
77}
78#endif
79#endif /* !Py_CGENSUPPORT_H */