blob: 37519b23e7eec4801d2539548082a59fd183a0b3 [file] [log] [blame]
Guido van Rossum22a1d361999-12-20 21:18:49 +00001
2/* Support for dynamic loading of extension modules */
3
4#include "dl.h"
5
6#include "Python.h"
7#include "importdl.h"
8
9
Thomas Woutersb4bd21c2000-07-22 23:38:01 +000010extern char *Py_GetProgramName(void);
Guido van Rossum22a1d361999-12-20 21:18:49 +000011
12const struct filedescr _PyImport_DynLoadFiletab[] = {
Victor Stinner3eeee832011-02-23 11:29:28 +000013 {".o", "rb", C_EXTENSION},
14 {"module.o", "rb", C_EXTENSION},
15 {0, 0}
Guido van Rossum22a1d361999-12-20 21:18:49 +000016};
17
18
Victor Stinner42040fb2011-02-22 23:16:19 +000019dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname,
Victor Stinner3eeee832011-02-23 11:29:28 +000020 const char *pathname, FILE *fp)
Guido van Rossum22a1d361999-12-20 21:18:49 +000021{
Victor Stinner3eeee832011-02-23 11:29:28 +000022 char funcname[258];
Guido van Rossum96a8fb71999-12-22 14:09:35 +000023
Victor Stinner3eeee832011-02-23 11:29:28 +000024 PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname);
25 return dl_loadmod(Py_GetProgramName(), pathname, funcname);
Guido van Rossum22a1d361999-12-20 21:18:49 +000026}