Obtaining the Real Function Pointer

The IDL_SysRtnGetRealPtr() routine returns the pointer to the actual internal IDL function that implements the system function or procedure of the specified name.

This routine can be used to interpose your own code in between IDL and the actual routine. This process is sometimes called hooking in other systems. To implement such a hook function, you must use the IDL_SysRtnEnable() function to register the interposed routine, which in turn uses IDL_SysRtnGetRealPtr() to obtain the actual IDLfunction pointer for the routine.

Syntax

IDL_SYSRTN_GENERIC IDL_SysRtnGetRealPtr(int is_function,
                                        char *name)

Arguments

is_function

Set to TRUE if functions are being manipulated, FALSE for procedures.

name

The name of function or procedure for which the real function pointer is required.

Result

If the specified routine...

Note
This routine can cause an IDL_MSG_LONGJMP message to be issued if the function comes from a DLM and the DLM load fails due to memory allocation errors. Therefore, it must not be called unless the IDL interpreter is active. The prime intent for this routine is to call it from the stub routine of a disabled function when the interpreter invokes the associated system routine.