|
1 |
|
2 /* Module definition and import interface */ |
|
3 |
|
4 #ifndef Py_IMPORT_H |
|
5 #define Py_IMPORT_H |
|
6 #ifdef __cplusplus |
|
7 extern "C" { |
|
8 #endif |
|
9 |
|
10 PyAPI_FUNC(long) PyImport_GetMagicNumber(void); |
|
11 PyAPI_FUNC(PyObject *) PyImport_ExecCodeModule(char *name, PyObject *co); |
|
12 PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleEx( |
|
13 char *name, PyObject *co, char *pathname); |
|
14 PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void); |
|
15 PyAPI_FUNC(PyObject *) PyImport_AddModule(const char *name); |
|
16 PyAPI_FUNC(PyObject *) PyImport_ImportModule(const char *name); |
|
17 PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock(const char *); |
|
18 PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevel(char *name, |
|
19 PyObject *globals, PyObject *locals, PyObject *fromlist, int level); |
|
20 |
|
21 #define PyImport_ImportModuleEx(n, g, l, f) \ |
|
22 PyImport_ImportModuleLevel(n, g, l, f, -1) |
|
23 |
|
24 PyAPI_FUNC(PyObject *) PyImport_GetImporter(PyObject *path); |
|
25 PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name); |
|
26 PyAPI_FUNC(PyObject *) PyImport_ReloadModule(PyObject *m); |
|
27 PyAPI_FUNC(void) PyImport_Cleanup(void); |
|
28 PyAPI_FUNC(int) PyImport_ImportFrozenModule(char *); |
|
29 |
|
30 PyAPI_FUNC(struct filedescr *) _PyImport_FindModule( |
|
31 const char *, PyObject *, char *, size_t, FILE **, PyObject **); |
|
32 PyAPI_FUNC(int) _PyImport_IsScript(struct filedescr *); |
|
33 PyAPI_FUNC(void) _PyImport_ReInitLock(void); |
|
34 |
|
35 PyAPI_FUNC(PyObject *)_PyImport_FindExtension(char *, char *); |
|
36 PyAPI_FUNC(PyObject *)_PyImport_FixupExtension(char *, char *); |
|
37 |
|
38 struct _inittab { |
|
39 char *name; |
|
40 void (*initfunc)(void); |
|
41 }; |
|
42 |
|
43 PyAPI_DATA(PyTypeObject) PyNullImporter_Type; |
|
44 PyAPI_DATA(struct _inittab *) PyImport_Inittab; |
|
45 |
|
46 PyAPI_FUNC(int) PyImport_AppendInittab(char *name, void (*initfunc)(void)); |
|
47 PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab); |
|
48 |
|
49 struct _frozen { |
|
50 char *name; |
|
51 unsigned char *code; |
|
52 int size; |
|
53 }; |
|
54 |
|
55 /* Embedding apps may change this pointer to point to their favorite |
|
56 collection of frozen modules: */ |
|
57 |
|
58 PyAPI_DATA(struct _frozen *) PyImport_FrozenModules; |
|
59 |
|
60 #ifdef __cplusplus |
|
61 } |
|
62 #endif |
|
63 #endif /* !Py_IMPORT_H */ |