|  |  | 
|  | /* Module definition and import interface */ | 
|  |  | 
|  | #ifndef Py_IMPORT_H | 
|  | #define Py_IMPORT_H | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | PyAPI_FUNC(long) PyImport_GetMagicNumber(void); | 
|  | PyAPI_FUNC(PyObject *) PyImport_ExecCodeModule(char *name, PyObject *co); | 
|  | PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleEx( | 
|  | char *name, PyObject *co, char *pathname); | 
|  | PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void); | 
|  | PyAPI_FUNC(PyObject *) PyImport_AddModule(const char *name); | 
|  | PyAPI_FUNC(PyObject *) PyImport_ImportModule(const char *name); | 
|  | PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock(const char *); | 
|  | PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevel(char *name, | 
|  | PyObject *globals, PyObject *locals, PyObject *fromlist, int level); | 
|  |  | 
|  | #define PyImport_ImportModuleEx(n, g, l, f) \ | 
|  | PyImport_ImportModuleLevel(n, g, l, f, -1) | 
|  |  | 
|  | PyAPI_FUNC(PyObject *) PyImport_GetImporter(PyObject *path); | 
|  | PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name); | 
|  | PyAPI_FUNC(PyObject *) PyImport_ReloadModule(PyObject *m); | 
|  | PyAPI_FUNC(void) PyImport_Cleanup(void); | 
|  | PyAPI_FUNC(int) PyImport_ImportFrozenModule(char *); | 
|  |  | 
|  | #ifdef WITH_THREAD | 
|  | PyAPI_FUNC(void) _PyImport_AcquireLock(void); | 
|  | PyAPI_FUNC(int) _PyImport_ReleaseLock(void); | 
|  | #else | 
|  | #define _PyImport_AcquireLock() | 
|  | #define _PyImport_ReleaseLock() 1 | 
|  | #endif | 
|  |  | 
|  | PyAPI_FUNC(struct filedescr *) _PyImport_FindModule( | 
|  | const char *, PyObject *, char *, size_t, FILE **, PyObject **); | 
|  | PyAPI_FUNC(int) _PyImport_IsScript(struct filedescr *); | 
|  | PyAPI_FUNC(void) _PyImport_ReInitLock(void); | 
|  |  | 
|  | PyAPI_FUNC(PyObject *)_PyImport_FindExtension(char *, char *); | 
|  | PyAPI_FUNC(PyObject *)_PyImport_FixupExtension(char *, char *); | 
|  |  | 
|  | struct _inittab { | 
|  | char *name; | 
|  | void (*initfunc)(void); | 
|  | }; | 
|  |  | 
|  | PyAPI_DATA(PyTypeObject) PyNullImporter_Type; | 
|  | PyAPI_DATA(struct _inittab *) PyImport_Inittab; | 
|  |  | 
|  | PyAPI_FUNC(int) PyImport_AppendInittab(const char *name, void (*initfunc)(void)); | 
|  | PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab); | 
|  |  | 
|  | struct _frozen { | 
|  | char *name; | 
|  | unsigned char *code; | 
|  | int size; | 
|  | }; | 
|  |  | 
|  | /* Embedding apps may change this pointer to point to their favorite | 
|  | collection of frozen modules: */ | 
|  |  | 
|  | PyAPI_DATA(struct _frozen *) PyImport_FrozenModules; | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif /* !Py_IMPORT_H */ |