Loads an OS/2 module NAME, looking in directories WHERE (adding the extension .dll), if the DLL is not found there, loads in the usual OS/2 way (via LIBPATH and other settings). Croaks with a verbose report on failure.

Returns true if all functions are available. As a side effect, creates a REXX wrapper with the specified name in the package constructed by the name of the DLL so that the next call to $dll->NAME() will pick up the cached method.

Returns a reference to a Perl function wrapper for the entry point NAME in the DLL. Similar to the OS/2 API, the NAME may be "#123" - in this case the ordinal is loaded. Croaks with a meaningful error message if NAME does not exists (although the message for the case when the name is an ordinal may be confusing).

Returns the return string if the REXX return code is 0, else undef. Dies with error message if the function is not available. On the first call resolves the name in the DLL and caches the Perl wrapper; future calls go through the wrapper.

Unless used inside REXX environment (see OS2::REXX), the REXX runtime environment (variable pool, queue etc.) is not available to the called function.

Returns the address of a 32-bit entry point with name $name, or 0 if none found. (Keep in mind that some entry points may be 16-bit, and some may have capitalized names comparing to callable-from-C counterparts.) Name of the form #197 will find entry point with ordinal 197.

Looks for the DLL $name on BEGINLIBPATH, LIBPATH, ENDLIBPATH if bits 0x1, 0x2, 0x4 of $flags are set correspondingly. If called with no arguments, looks on all 3 locations. Returns the full name of the found file. DLL is not loaded.