A RexxCallContext object is included as an argument to any native C++ routine defined in external libraries. The call context provides services that are specific to a routine call, including:
Accessing caller context specific values such as the current numeric settings
Manipulating variables in the caller's variable context
Locating classes defined in the routine's package scope
In addition to the call-specific functions, the RexxCallContext object has an embedded a RexxThreadContext object created specifically for this environment. The RexxThreadContext provides a large number of additional methods to the call environment.
API calls made using the RexxCallContext APIs may cause Rexx syntax errors or other condition to be raised. These calls are invoked as if the current context is operating with SIGNAL ON ALL enabled. Any conditions will be trapped and held in a pending condition until the current context returns. At the return, if a condition is still pending, the appropriate condition is reraised in the caller's context. These errors can be checked using the CheckCondition() API, and pending conditions can be cancelled using ClearCondition().