The Host Language Call (HLC) Interface is an OpenEdge feature that allows you to write and call your own C language functions directly from an ABL (Advanced Business Language) procedure using the ABL CALL statement. Using HLC library functions, your C functions can read from or write to shared variables and shared buffer fields defined in the ABL context, interact with the ABL display, test for ABL interrupts, and access ABL-managed timer services. Ultimately, you can use HLC to access devices not supported directly in ABL (such as process sensors or ATM terminals), and exchange data between your ABL procedures and these devices.

HLC provides access to third-party application program interfaces from your ABL applications, similar to using shared libraries in the Windows environment (see Shared Library and DLL Support).

The following figure shows a top-down structure diagram for an OpenEdge application that calls your application functions using HLC.

Figure 1. OpenEdge application calling functions with HLC


Note: The HLC interface is supported both by the single-threaded ABL client and the PAS for OpenEdge multi-session agent.