diff options
Diffstat (limited to 'Python/importdl.h')
-rw-r--r-- | Python/importdl.h | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/Python/importdl.h b/Python/importdl.h index 9847652..b4d21be 100644 --- a/Python/importdl.h +++ b/Python/importdl.h @@ -6,9 +6,30 @@ extern "C" { #endif -extern const char *_PyImport_DynLoadFiletab[]; - -extern PyObject *_PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *); +/* 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 @@ -17,8 +38,13 @@ extern PyObject *_PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *); #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 |