summaryrefslogtreecommitdiffstats
path: root/Python/importdl.h
diff options
context:
space:
mode:
Diffstat (limited to 'Python/importdl.h')
-rw-r--r--Python/importdl.h32
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