36 #ifndef R_EXT_DYNLOAD_H_
37 #define R_EXT_DYNLOAD_H_
39 #include <R_ext/Boolean.h>
42 typedef void * (*DL_FUNC)();
44 typedef unsigned int R_NativePrimitiveArgType;
52 typedef unsigned int R_NativeObjectArgType;
61 typedef enum {R_ARG_IN, R_ARG_OUT, R_ARG_IN_OUT, R_IRRELEVANT} R_NativeArgStyle;
76 R_NativePrimitiveArgType *types;
77 R_NativeArgStyle *styles;
81 typedef R_CMethodDef R_FortranMethodDef;
94 typedef R_CallMethodDef R_ExternalMethodDef;
97 typedef struct _DllInfo DllInfo;
106 int R_registerRoutines(DllInfo *info,
const R_CMethodDef *
const croutines,
107 const R_CallMethodDef *
const callRoutines,
108 const R_FortranMethodDef *
const fortranRoutines,
109 const R_ExternalMethodDef *
const externalRoutines);
111 Rboolean R_useDynamicSymbols(DllInfo *info, Rboolean value);
113 DllInfo *R_getDllInfo(
const char *name);
117 DllInfo *R_getEmbeddingDllInfo(
void);
119 typedef struct Rf_RegisteredNativeSymbol R_RegisteredNativeSymbol;
120 typedef enum {R_ANY_SYM=0, R_C_SYM, R_CALL_SYM, R_FORTRAN_SYM, R_EXTERNAL_SYM} NativeSymbolType;
123 DL_FUNC R_FindSymbol(
char const *,
char const *,
124 R_RegisteredNativeSymbol *symbol);
126 int R_moduleCdynload(
const char *module,
int local,
int now);
127 int R_cairoCdynload(
int local,
int now);
135 void R_RegisterCCallable(
const char *package,
const char *name, DL_FUNC fptr);
136 DL_FUNC R_GetCCallable(
const char *package,
const char *name);