| | #ifndef Py_INTERNAL_MODULEOBJECT_H |
| | #define Py_INTERNAL_MODULEOBJECT_H |
| | #ifdef __cplusplus |
| | extern "C" { |
| | #endif |
| |
|
| | #ifndef Py_BUILD_CORE |
| | # error "this header requires Py_BUILD_CORE define" |
| | #endif |
| |
|
| | typedef struct { |
| | PyObject_HEAD |
| | PyObject *md_dict; |
| | struct PyModuleDef *md_def; |
| | void *md_state; |
| | PyObject *md_weaklist; |
| | |
| | PyObject *md_name; |
| | } PyModuleObject; |
| |
|
| | static inline PyModuleDef* _PyModule_GetDef(PyObject *mod) { |
| | assert(PyModule_Check(mod)); |
| | return ((PyModuleObject *)mod)->md_def; |
| | } |
| |
|
| | static inline void* _PyModule_GetState(PyObject* mod) { |
| | assert(PyModule_Check(mod)); |
| | return ((PyModuleObject *)mod)->md_state; |
| | } |
| |
|
| | static inline PyObject* _PyModule_GetDict(PyObject *mod) { |
| | assert(PyModule_Check(mod)); |
| | PyObject *dict = ((PyModuleObject *)mod) -> md_dict; |
| | |
| | assert(dict != NULL); |
| | return dict; |
| | } |
| |
|
| | #ifdef __cplusplus |
| | } |
| | #endif |
| | #endif |
| |
|