blob: a914a0846e6b457c8123ea86c5dfb5be6b73fb3e [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},
Victor Stinner3eeee832011-02-23 11:29:28 +000014 {0, 0}
Guido van Rossum22a1d361999-12-20 21:18:49 +000015};
16
17
Victor Stinner42040fb2011-02-22 23:16:19 +000018dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname,
Victor Stinner3eeee832011-02-23 11:29:28 +000019 const char *pathname, FILE *fp)
Guido van Rossum22a1d361999-12-20 21:18:49 +000020{
Victor Stinner3eeee832011-02-23 11:29:28 +000021 char funcname[258];
Guido van Rossum96a8fb71999-12-22 14:09:35 +000022
Victor Stinner3eeee832011-02-23 11:29:28 +000023 PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname);
24 return dl_loadmod(Py_GetProgramName(), pathname, funcname);
Guido van Rossum22a1d361999-12-20 21:18:49 +000025}