Home | History | Annotate | Download | only in Modules
      1 #ifndef Py_CGENSUPPORT_H
      2 #define Py_CGENSUPPORT_H
      3 #ifdef __cplusplus
      4 extern "C" {
      5 #endif
      6 
      7 
      8 /* Definitions used by cgen output */
      9 
     10 /* XXX This file is obsolete.  It is *only* used by glmodule.c. */
     11 
     12 typedef char *string;
     13 
     14 #define mknewlongobject(x) PyInt_FromLong(x)
     15 #define mknewshortobject(x) PyInt_FromLong((long)x)
     16 #define mknewfloatobject(x) PyFloat_FromDouble(x)
     17 #define mknewcharobject(ch) Py_BuildValue("c", ch)
     18 
     19 #define getichararg PyArg_GetChar
     20 #define getidoublearray PyArg_GetDoubleArray
     21 #define getifloatarg PyArg_GetFloat
     22 #define getifloatarray PyArg_GetFloatArray
     23 #define getilongarg PyArg_GetLong
     24 #define getilongarray PyArg_GetLongArray
     25 #define getilongarraysize PyArg_GetLongArraySize
     26 #define getiobjectarg PyArg_GetObject
     27 #define getishortarg PyArg_GetShort
     28 #define getishortarray PyArg_GetShortArray
     29 #define getishortarraysize PyArg_GetShortArraySize
     30 #define getistringarg PyArg_GetString
     31 
     32 extern int PyArg_GetObject(PyObject *args, int nargs,
     33                            int i, PyObject **p_a);
     34 extern int PyArg_GetLong(PyObject *args, int nargs,
     35                          int i, long *p_a);
     36 extern int PyArg_GetShort(PyObject *args, int nargs,
     37                           int i, short *p_a);
     38 extern int PyArg_GetFloat(PyObject *args, int nargs,
     39                           int i, float *p_a);
     40 extern int PyArg_GetString(PyObject *args, int nargs,
     41                            int i, string *p_a);
     42 extern int PyArg_GetChar(PyObject *args, int nargs,
     43                          int i, char *p_a);
     44 extern int PyArg_GetLongArray(PyObject *args, int nargs,
     45                             int i, int n, long *p_a);
     46 extern int PyArg_GetShortArray(PyObject *args, int nargs,
     47                             int i, int n, short *p_a);
     48 extern int PyArg_GetDoubleArray(PyObject *args, int nargs,
     49                                 int i, int n, double *p_a);
     50 extern int PyArg_GetFloatArray(PyObject *args, int nargs,
     51                                int i, int n, float *p_a);
     52 extern int PyArg_GetLongArraySize(PyObject *args, int nargs,
     53                                   int i, long *p_a);
     54 extern int PyArg_GetShortArraySize(PyObject *args, int nargs,
     55                                 int i, short *p_a);
     56 extern int PyArg_GetDoubleArraySize(PyObject *args, int nargs,
     57                                     int i, double *p_a);
     58 extern int PyArg_GetFloatArraySize(PyObject *args, int nargs,
     59                                    int i, float *p_a);
     60 
     61 #ifdef __cplusplus
     62 }
     63 #endif
     64 #endif /* !Py_CGENSUPPORT_H */
     65