EMTEC HLLAPI README: ## CONTENT - DLL NAMES - INSTALLATION/USE: - CLIENT SAMPLE PROGRAM - SUPPORTED HLLAPI FUNCTIONS: - CLOSING NOTE AND QUESTIONS ## DLL NAMES: - `EHLAPI32.DLL` for 32-bit client app and for use with 32-bit version of ZOC - `EHLAPI64.DLL` for 64-bit client app and for use with 64-bit version of ZOC - DLL-export 'hllapi' (lowercase): - Prototype: `long WINAPI hllapi(LPINT pfunc, LPSTR pmem, LPINT plen, LPINT prc);` - HLLAPI-Version: We use the 'enhanced' version of the API, e.g., 8-byte input for HA_CONVERT_POS_ROW_COL or 16-byte structures on HA_QUERY_SESSIONS. ## INSTALLATION/USE: Copy the `EHLAPI*.DLL` files into the ZOC Terminal installation folder. Either copy your interface application into the ZOC program folder, or set current directory working folder to "C:\Program Files\ZOC9\" and load the DLL via LoadLibrary or similar mechanism or link your program with the associated ehlapixx.lib. To see the HLLAPI session's short id in the ZOC window title, add the placeholder `%HLLAPIPSID%` to ZOC's window title string (via Options-menu > Window settings). Note: if you copy the ZOC `EHLAPIxx.DLL` elsewhere (e.g. into your existing HLLAPI client program), it will need to be able to load the `zaphod8dllxx.dll` and the `vcruntime140.dll` that come with ZOC. ## CLIENT SAMPLE PROGRAM Please see the hllsmp folder containing a VisualStudio C/C++ solution with source code for sample. Usage: Add your computername and relevant paths in main.c line 90. Start ZOC, set the session profile > emulation to TN3270 emulation, but no connection (empty screen with blue status bar) Call (or debug): `Release64\hllsample.exe zoctest` ## SUPPORTED HLLAPI FUNCTIONS: - HA_RESET_SYSTEM - HA_QUERY_SESSIONS - HA_CONNECT_PS - HA_DISCONNECT_PS - HA_SET_SESSION_PARMS - HA_QUERY_CURSOR_LOC - HA_COPY_PS - HA_COPY_PS_TO_STR - HA_COPY_STR_TO_PS - HA_SEARCH_PS - HA_SENDKEY - HA_WAIT - HA_COPY_STR_TO_FIELD - HA_SET_CURSOR - HA_CONVERT_POS_ROW_COL The HLLAPI implementation is an work in progress. Functions so far are implemented to a reasonable common extent, but they do not support to entire full spec (e.g. HA_COPY_PS will not adhere to all possible HA_SET_SESSION_PARMS combinations, or HA_COPY_STR_TO_FIELD will probably not handle all edge cases (length vs. field length)). We are very interested in your feedback. Please let us know if you need something that is not yet implemented. IBM Reference: Personal Communications for Windows, Version 12.0 Emulator Programming https://www.ibm.com/docs/en/SSEQ5Y_13.0.0/com.ibm.pcomm.doc/books/pdf/emulator_programmingV120.pdf ## CLOSING NOTE AND QUESTIONS In case of problems, please contact EMTEC support. You will get a quick and qualified response from a programmer.