4. Application Programming Interface (API) Functions

The functions defined by the WOSA/XFS API are divided into:

· Basic functions that are common to all classes of financial services.

· Administration functions, used for the special purpose of administering services.

· Service-specific commands that are peculiar to a single service class or a group of them and that are sent to services using basic functions (WFSExecute, WFSAsyncExecute, WFSGetInfo, WFSAsyncGetInfo).

The benefit of grouping functions that are common to all services is evident: programmers can immediately focus on those operations that are common through all services and thus can easily build a high level model of interaction with the service providers.

The basic functions are defined in this section, in alphabetical order, except that the asynchronous version of each command is described immediately following the synchronous version. For example, WFSAsyncExecute is placed immediately following WFSExecute. The table on the next page lists all the basic functions. This set of basic functions may be expanded in future releases of this specification, if new functions are determined to be useful for all service providers.

The administration functions have not yet been fully defined; they are outlined in Appendix A.2 - Planned Enhancements and Extensions.

The service-specific commands are defined in separate specifications–one for each service class.

The table below summarizes the WOSA/XFS API functions, and the sections in which they are defined.

Section Function Mode Description
WFSCancelAsyncRequest Immediate Cancel an outstanding asynchronous request
WFSCancelBlockingCall Immediate Cancel an outstanding blocking operation
4.3 WFSCleanUp Synchronous Terminate a connection between an application
and the XFS Manager
WFSClose Synchronous Close a session between an application and a service provider
WFSAsyncClose Asynchronous The asynchronous version of WFSClose
WFSCreateAppHandle Immediate Create a new application handle to be used in a subsequent WFSOpen call
WFSDeregister Synchronous Disable monitoring of a class of events by an application
WFSAsyncDeregister Asynchronous The asynchronous version of WFSDeregister
WFSDestroyAppHandle Immediate Destroy the specified application handle
WFSExecute Synchronous Send service-specific commands to a service provider
WFSAsyncExecute Asynchronous The asynchronous version of WFSExecute
WFSFreeResult Immediate Request the XFS Manager to free a result buffer
WFSGetInfo Synchronous Retrieve service-specific information from a service provider
WFSAsyncGetInfo Asynchronous The asynchronous version of WFSGetInfo
WFSIsBlocking Immediate Determine if a blocking call is in progress
WFSLock Synchronous Establish exclusive control by an application of a service
WFSAsyncLock Asynchronous The asynchronous version of WFSLock
WFSOpen Synchronous Open a session between an application and a service provider
WFSAsyncOpen Asynchronous The asynchronous version of WFSOpen
WFSRegister Synchronous Enable monitoring of a class of events by an application
WFSAsyncRegister Asynchronous The asynchronous version of WFSRegister
WFSSetBlockingHook Immediate Install an application-specific blocking routine
WFSStartUp Immediate Initiate a connection between an application and the XFS Manager
WFSUnhookBlockingHook Immediate Restore the default blocking routine
WFSUnlock Synchronous Release exclusive control by an application of a service
WFSAsyncUnlock Asynchronous The asynchronous version of WFSUnlock