]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Python/dynload_atheos.c
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Python / dynload_atheos.c
CommitLineData
4710c53d 1\r
2/* Support for dynamic loading of extension modules */\r
3\r
4#include <atheos/image.h>\r
5#include <errno.h>\r
6\r
7#include "Python.h"\r
8#include "importdl.h"\r
9\r
10\r
11const struct filedescr _PyImport_DynLoadFiletab[] = {\r
12 {".so", "rb", C_EXTENSION},\r
13 {"module.so", "rb", C_EXTENSION},\r
14 {0, 0}\r
15};\r
16\r
17dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,\r
18 const char *pathname, FILE *fp)\r
19{\r
20 void *p;\r
21 int lib;\r
22 char funcname[258];\r
23\r
24 if (Py_VerboseFlag)\r
25 printf("load_library %s\n", pathname);\r
26\r
27 lib = load_library(pathname, 0);\r
28 if (lib < 0) {\r
29 char buf[512];\r
30 if (Py_VerboseFlag)\r
31 perror(pathname);\r
32 PyOS_snprintf(buf, sizeof(buf), "Failed to load %.200s: %.200s",\r
33 pathname, strerror(errno));\r
34 PyErr_SetString(PyExc_ImportError, buf);\r
35 return NULL;\r
36 }\r
37 PyOS_snprintf(funcname, sizeof(funcname), "init%.200s", shortname);\r
38 if (Py_VerboseFlag)\r
39 printf("get_symbol_address %s\n", funcname);\r
40 if (get_symbol_address(lib, funcname, -1, &p) < 0) {\r
41 p = NULL;\r
42 if (Py_VerboseFlag)\r
43 perror(funcname);\r
44 }\r
45\r
46 return (dl_funcptr) p;\r
47}\r