|
|
|
|
The SNAP-IX implementation of HLLAPI is based on the IBM OS/2 HLLAPI implementation (EHLLAPI), with modifications for the Solaris environment. However, it includes the following additional features, which are specific to SNAP-IX and are not provided by OS/2 HLLAPI implementations:
The four Display functions
Extended Session IDs (other than uppercase A-Z)
In addition, note the following differences between SNAP-IX and other implementations of HLLAPI:
The header files provided with some HLLAPI implementations contain structure declarations for use with functions that return formatted data strings. These structures are not supported by SNAP-IX, because compiler differences mean that they cannot be guaranteed to work on all Solaris systems. Applications written for other environments that use these structures will have to be rewritten for SNAP-IX, so that they access bytes at a given offset in the string rather than using the structures.
For functions that return formatted data strings, such as Query System, other HLLAPI implementations may return values other than those listed in this manual, or make use of fields that are shown as reserved in this manual.
The following guidelines are provided for writing HLLAPI applications so that they will be portable to other environments:
Include the header file hapi_c.h without any pathname prefix. Use include options on the compiler to specify the directory path of this file. This enables the application to be used in an environment with a different file system.
The Display functions (Display On, Display Off, Display Text, and Display Attribute), support for double-byte characters, and session IDs other than uppercase A-Z are specific to SNAP-IX and are not available in other implementations. Applications that use these functions will need to be rewritten for other operating systems, to remove references to these functions.
When using the Send File and Receive File functions, the local files should be in the directory from which you run the HLLAPI application, so that you do not need to specify a directory path for them.
Use the symbolic constant names for parameter values and return codes, not the numeric values shown in the file hapi_c.h; this ensures that the correct value will be used regardless of the way these values are stored in memory.
When testing values in returned data strings, include a check for values other than those listed here (for example using a default case in a switch statement), and provide appropriate diagnostics.
|
|
|
|
|