59 #define CACHE_DLL_SYM 1
61 typedef void *HINSTANCE;
66 #include <R_ext/Rdynload.h>
95 R_NativePrimitiveArgType *types;
96 R_NativeArgStyle *styles;
99 typedef Rf_DotCSymbol Rf_DotFortranSymbol;
106 R_NativeObjectArgType *types;
108 R_NativeArgStyle *styles;
111 typedef Rf_DotCallSymbol Rf_DotExternalSymbol;
128 Rboolean useDynamicLookup;
134 Rf_DotCSymbol *CSymbols;
137 Rf_DotCallSymbol *CallSymbols;
139 int numFortranSymbols;
140 Rf_DotFortranSymbol *FortranSymbols;
142 int numExternalSymbols;
143 Rf_DotExternalSymbol *ExternalSymbols;
147 struct Rf_RegisteredNativeSymbol {
148 NativeSymbolType type;
151 Rf_DotCallSymbol *call;
152 Rf_DotFortranSymbol *fortran;
153 Rf_DotExternalSymbol *external;
172 HINSTANCE (*loadLibrary)(
const char *path,
int asLocal,
int now,
175 DL_FUNC (*dlsym)(DllInfo *info,
char const *name);
177 void (*closeLibrary)(HINSTANCE handle);
179 void (*getError)(
char *buf,
int len);
183 void (*deleteCachedSymbols)(DllInfo *dll);
184 DL_FUNC (*lookupCachedSymbol)(
const char *name,
const char *pkg,
int all);
186 void (*fixPath)(
char *path);
187 void (*getFullDLLPath)(
SEXP call,
char *buf,
const char *
const path);
191 extern OSDynSymbol Rf_osDynSymbol, *R_osDynSymbol;
207 extern R_CPFun CPFun[];
213 DL_FUNC Rf_lookupCachedSymbol(
const char *name,
const char *pkg,
int all);
215 DL_FUNC R_dlsym(DllInfo *info,
char const *name, R_RegisteredNativeSymbol *symbol);
217 SEXP R_MakeExternalPtrFn(DL_FUNC p,
SEXP tag,
SEXP prot);
218 DL_FUNC R_ExternalPtrAddrFn(
SEXP s);