equal
deleted
inserted
replaced
|
1 #ifndef Py_IMPORTDL_H |
|
2 #define Py_IMPORTDL_H |
|
3 |
|
4 #ifdef __cplusplus |
|
5 extern "C" { |
|
6 #endif |
|
7 |
|
8 |
|
9 /* Definitions for dynamic loading of extension modules */ |
|
10 enum filetype { |
|
11 SEARCH_ERROR, |
|
12 PY_SOURCE, |
|
13 PY_COMPILED, |
|
14 C_EXTENSION, |
|
15 PY_RESOURCE, /* Mac only */ |
|
16 PKG_DIRECTORY, |
|
17 C_BUILTIN, |
|
18 PY_FROZEN, |
|
19 PY_CODERESOURCE, /* Mac only */ |
|
20 IMP_HOOK |
|
21 }; |
|
22 |
|
23 struct filedescr { |
|
24 char *suffix; |
|
25 char *mode; |
|
26 enum filetype type; |
|
27 }; |
|
28 extern struct filedescr * _PyImport_Filetab; |
|
29 extern const struct filedescr _PyImport_DynLoadFiletab[]; |
|
30 |
|
31 extern PyObject *_PyImport_LoadDynamicModule(char *name, char *pathname, |
|
32 FILE *); |
|
33 |
|
34 /* Max length of module suffix searched for -- accommodates "module.slb" */ |
|
35 #define MAXSUFFIXSIZE 12 |
|
36 |
|
37 #ifdef MS_WINDOWS |
|
38 #include <windows.h> |
|
39 typedef FARPROC dl_funcptr; |
|
40 #else |
|
41 #if defined(PYOS_OS2) && !defined(PYCC_GCC) |
|
42 #include <os2def.h> |
|
43 typedef int (* APIENTRY dl_funcptr)(); |
|
44 #else |
|
45 typedef void (*dl_funcptr)(void); |
|
46 #endif |
|
47 #endif |
|
48 |
|
49 |
|
50 #ifdef __cplusplus |
|
51 } |
|
52 #endif |
|
53 #endif /* !Py_IMPORTDL_H */ |