Mercurial > cpython-lru_cache-weakref
view Python/importdl.h @ 17848:6960b2bbbfca legacy-trunk
First step in porting MacPython modules to OSX/unix: break all references between modules except for the obj_New() and obj_Convert() routines, the PyArg_Parse and Py_BuildValue helpers.
And these can now be vectored through glue routines (by defining USE_TOOLBOX_OBJECT_GLUE) which will do the necessary imports, whereupon the module's init routine will tell the glue routine about the real conversion routine address and everything is fine again.
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Thu, 17 May 2001 21:58:34 +0000 |
| parents | 6f6f965c5e2d |
| children | f576ffd57966 |
line wrap: on
line source
#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 */ }; 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 #ifdef PYOS_OS2 typedef int (* APIENTRY dl_funcptr)(); #else typedef void (*dl_funcptr)(void); #endif #endif #ifdef __cplusplus } #endif #endif /* !Py_IMPORTDL_H */
