|
|
#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 |
|
|
|