You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.1 KiB

36 years ago
36 years ago
36 years ago
  1. /* Module object interface */
  2. #ifndef Py_MODULEOBJECT_H
  3. #define Py_MODULEOBJECT_H
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. PyAPI_DATA(PyTypeObject) PyModule_Type;
  8. #define PyModule_Check(op) PyObject_TypeCheck(op, &PyModule_Type)
  9. #define PyModule_CheckExact(op) (Py_TYPE(op) == &PyModule_Type)
  10. PyAPI_FUNC(PyObject *) PyModule_New(const char *);
  11. PyAPI_FUNC(PyObject *) PyModule_GetDict(PyObject *);
  12. PyAPI_FUNC(const char *) PyModule_GetName(PyObject *);
  13. PyAPI_FUNC(const char *) PyModule_GetFilename(PyObject *);
  14. PyAPI_FUNC(void) _PyModule_Clear(PyObject *);
  15. PyAPI_FUNC(struct PyModuleDef*) PyModule_GetDef(PyObject*);
  16. PyAPI_FUNC(void*) PyModule_GetState(PyObject*);
  17. typedef struct PyModuleDef_Base {
  18. PyObject_HEAD
  19. PyObject* (*m_init)(void);
  20. Py_ssize_t m_index;
  21. PyObject* m_copy;
  22. } PyModuleDef_Base;
  23. #define PyModuleDef_HEAD_INIT {PyObject_HEAD_INIT(NULL)}
  24. typedef struct PyModuleDef{
  25. PyModuleDef_Base m_base;
  26. const char* m_name;
  27. const char* m_doc;
  28. Py_ssize_t m_size;
  29. PyMethodDef *m_methods;
  30. inquiry m_reload;
  31. traverseproc m_traverse;
  32. inquiry m_clear;
  33. freefunc m_free;
  34. }PyModuleDef;
  35. #ifdef __cplusplus
  36. }
  37. #endif
  38. #endif /* !Py_MODULEOBJECT_H */