• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Forward declarations of types of the Python C API.
2 // Declare them at the same place since redefining typedef is a C11 feature.
3 // Only use a forward declaration if there is an interdependency between two
4 // header files.
5 
6 #ifndef Py_PYTYPEDEFS_H
7 #define Py_PYTYPEDEFS_H
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 typedef struct PyModuleDef PyModuleDef;
13 typedef struct PyModuleDef_Slot PyModuleDef_Slot;
14 typedef struct PyMethodDef PyMethodDef;
15 typedef struct PyGetSetDef PyGetSetDef;
16 typedef struct PyMemberDef PyMemberDef;
17 
18 typedef struct _object PyObject;
19 typedef struct _longobject PyLongObject;
20 typedef struct _typeobject PyTypeObject;
21 typedef struct PyCodeObject PyCodeObject;
22 typedef struct _frame PyFrameObject;
23 
24 typedef struct _ts PyThreadState;
25 typedef struct _is PyInterpreterState;
26 
27 #ifdef __cplusplus
28 }
29 #endif
30 #endif   // !Py_PYTYPEDEFS_H
31