8.3.3 The RexxRegisterFunctionDll() function This function is used to set up an external function handler that is located in a module in a dynamic link library. Some operating systems don't have dynamic linking, and thus cannot make use of this facility. The prototype of this function is: APIRET APIENTRY RexxRegisterFunctionDll( PSZ ExternalName, PSZ LibraryName, PSZ InternalName ) ; All the parameters are input, and their significance are: [ExternalName] Points to an ASCII NUL terminated character string which defines the name of the external function to be registered. This is the same name as the REXX interpreter uses with a function call or via the CALL command. [LibraryName] Points to an ASCII NUL terminated character string which defines the name of the dynamic library. This string may require a directory specification. [InternalName] Points to an ASCII NUL terminated character string which defines the name of the entrypoint within the dynamic library. On systems where the case of function names in dynamic libraries is relevant, this name must be specified in the same case as the function name within the dynamic library. The areas pointed to by all parameters are copied to a private area in the interface, so the programmer may de-allocate or reuse the area used for these parameters after the call has returned. The RexxRegisterFunctionDll() returns an unsigned long, which carries status information describing the outcome of the operation. The status will be one of the RXFUNC values: [ RXFUNC_OK] The handler was successfully registered. [RXFUNC_DUP] The handler was successfully registered. There already existed another external function handler which was registered with RexxRegisterFunctionDll(), but this will be shadowed by the newly registered handler. [RXFUNC_NOEMEM] The handler was not registered, due to lack of memory.