getCallingDLL              package:base              R Documentation

_C_o_m_p_u_t_e _D_L_L _f_o_r _n_a_t_i_v_e _i_n_t_e_r_f_a_c_e _c_a_l_l

_D_e_s_c_r_i_p_t_i_o_n:

     This is an internal function that is called from R's C code to
     determine the enclosing name space of a
     .C/.Call/.Fortran/.External call which has no PACKAGE argument. If
     the call has been made from a function within a name space, then
     we can find the DLL associated with that name space. 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.

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

       f: the function whose name space 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 name
          space 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.

_S_e_e _A_l_s_o:

     '.C', '.Call', '.Fortran', '.External'

_E_x_a_m_p_l_e_s:

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

