Introduction to Emulator APIs

The IBM® Personal Communications product supplies several application programming interfaces (APIs). Each interface has a specific set of functions and may be used for different purposes. Choose the programming interface that best matches the functional requirements of your application. Some applications may use more than one interface to achieve the desired results. The programming interfaces are:
  • Emulator High Level Language API (EHLLAPI): This interface provides functions to access emulator "presentation space" data such as characters on the host screen. It also provides functions for sending keystrokes to the host, intercepting user-entered keystrokes, querying the status of the host session, uploading and downloading files, and other functions. This interface is often used for automated operator applications which read host screens and enter keystrokes without direct user intervention. See EHLLAPI Functions.
  • Dynamic Data Exchange (DDE): This interface is similar to the EHLLAPI interface in that it provides a programmable means to read the host screen, send keystrokes, and perform related functions. It has some additional functions for access to the emulator clipping rectangle, intercepting mouse events, and adding/removing commands on the emulator menu bar. See DDE Functions in a 32–bit Environment.
  • Personal Communications Session API (PCSAPI): This interface is used to start, stop, and control emulator sessions and settings. See PCSAPI Functions.

    For Personal Communications Version 13.0, functions have been added to allow control and retrieval of page and printer settings. See Page Setup Functions and Printer Setup Functions.

  • Server-Requestor Programming Interface (SRPI): This interface is used in cooperation with an IBM Enhanced Connectivity Facility (ECF) application running on a host system. This API provides functions for writing synchronous call-return interfaces to remote server programs. See Server-Requester Programming Interface (SRPI) Support.
  • IBM Personal Communications Host Access Class Library (ECL): ECL is a set of objects that allow application programmers and scripting language writers to access host applications easily and quickly. Personal Communications supports three different ECL layers (C++ objects, ActiveAutomation (OLE), and LotusScript Extension (LSX)). Refer to Host Access Class Library (HACL) for more details.