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