| #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 */ |