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