getCallingDLL: Compute DLL for Native Interface Call

getCallingDLLR Documentation

Compute DLL for Native Interface Call

Description

This is an internal function that is called from R's C code to determine the enclosing namespace of a .C/.Call/.Fortran/.External call which has no PACKAGE argument. If the call has been made from a function within a namespace, then we can find the DLL associated with that namespace. The purpose of this is to avoid having to use the PACKAGE argument in these native calls and so better support versions of packages.

This is an internal function that may be migrated to internal C code in the future and so should not be used by R programmers.

Usage

getCallingDLL(f = sys.function(-1), doStop = FALSE)
getCallingDLLe(e)

Arguments

f

the function whose namespace and DLL are to be found. By default, this is the current function being called which is the one in which the native routine is being invoked.

doStop

a logical value indicating whether failure to find a namespace and/or DLL is an error (TRUE) or not (FALSE). The default is FALSE so that when this is called because there is no PACKAGE argument in a .C, .Call, .Fortran, .External call, no error occurs and the regular lookup is performed by searching all DLLs in order.

e

an environment.

See Also

.C, .Call, .Fortran, .External

Examples

if(exists("ansari.test"))
   getCallingDLL(ansari.test)