| #ifndef Py_IMPORTDL_H | |
| #define Py_IMPORTDL_H | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| /* Definitions for dynamic loading of extension modules */ | |
| enum filetype { | |
| SEARCH_ERROR, | |
| PY_SOURCE, | |
| PY_COMPILED, | |
| C_EXTENSION, | |
| PY_RESOURCE, /* Mac only */ | |
| PKG_DIRECTORY, | |
| C_BUILTIN, | |
| PY_FROZEN, | |
| PY_CODERESOURCE, /* Mac only */ | |
| IMP_HOOK | |
| }; | |
| struct filedescr { | |
| char *suffix; | |
| char *mode; | |
| enum filetype type; | |
| }; | |
| extern struct filedescr * _PyImport_Filetab; | |
| extern const struct filedescr _PyImport_DynLoadFiletab[]; | |
| extern PyObject *_PyImport_LoadDynamicModule(char *name, char *pathname, | |
| FILE *); | |
| /* Max length of module suffix searched for -- accommodates "module.slb" */ | |
| #define MAXSUFFIXSIZE 12 | |
| #ifdef MS_WINDOWS | |
| #include <windows.h> | |
| typedef FARPROC dl_funcptr; | |
| #else | |
| #if defined(PYOS_OS2) && !defined(PYCC_GCC) | |
| #include <os2def.h> | |
| typedef int (* APIENTRY dl_funcptr)(); | |
| #else | |
| typedef void (*dl_funcptr)(void); | |
| #endif | |
| #endif | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* !Py_IMPORTDL_H */ |