## Foreign Function Interface

## Usage

    dyn.load(libname)

    is.loaded(symbol)
    symbol.C(name)
    symbol.For(name)

## Arguments

`libname` | a character string giving the pathname to a DLL.
`symbol` | a character string giving a symbol name.
`name` | a character string giving either the name of a C function or Fortran subroutine.

## Value

The function `dyn.load` is used for its side effect which links the specified shared library to the executing R image. Calls to `.C` and `.Fortran` can then be used to execute C functions or Fortran subroutines contained in the library.

## Note

The creation of shared libraries the runtime linking of them into executing programs is very platform dependent. In recent years there has been some simplification in the process because the C subroutine call `dlopen` has become the standard for doing this under Unix. `dyn.load` uses the `dlopen` mechanism and should work on all platforms which support it.

The original code for loading DLLs in UNIX was provided by Heiner Schwarte. The compatibility code for HP-UX was provided by Luke Tierney.

## See Also

`.C`, `.Fortran`.

## Examples

    is.loaded(symbol.For("hcass2")) #-> probably  FALSE
    library(mva)
    is.loaded(symbol.For("hcass2")) #-> TRUE

[Package Contents]