17db96d56Sopenharmony_ci#ifndef Py_IMPORTDL_H
27db96d56Sopenharmony_ci#define Py_IMPORTDL_H
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci#ifdef __cplusplus
57db96d56Sopenharmony_ciextern "C" {
67db96d56Sopenharmony_ci#endif
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ciextern const char *_PyImport_DynLoadFiletab[];
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ciextern PyObject *_PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *);
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_citypedef PyObject *(*PyModInitFunction)(void);
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ci#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE)
167db96d56Sopenharmony_ciextern PyObject *_PyImport_InitFunc_TrampolineCall(PyModInitFunction func);
177db96d56Sopenharmony_ci#else
187db96d56Sopenharmony_ci#define _PyImport_InitFunc_TrampolineCall(func) (func)()
197db96d56Sopenharmony_ci#endif
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_ci/* Max length of module suffix searched for -- accommodates "module.slb" */
227db96d56Sopenharmony_ci#define MAXSUFFIXSIZE 12
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci#ifdef MS_WINDOWS
257db96d56Sopenharmony_ci#include <windows.h>
267db96d56Sopenharmony_citypedef FARPROC dl_funcptr;
277db96d56Sopenharmony_ci#else
287db96d56Sopenharmony_citypedef void (*dl_funcptr)(void);
297db96d56Sopenharmony_ci#endif
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci#ifdef __cplusplus
337db96d56Sopenharmony_ci}
347db96d56Sopenharmony_ci#endif
357db96d56Sopenharmony_ci#endif /* !Py_IMPORTDL_H */
36