|
|
|
|
SNAP-IX's implementation of LUA is designed to be compatible with the implementation provided by IBM's OS/2 Extended Edition. However, there are a few differences between the implementations that are due to fundamental operating system differences. These operating system differences are indicated in the individual verb descriptions. In particular:
The RUI_REINIT verb is an extension to the standard LUA interface specification. It is not available in the Windows LUA implementation in SNAP-IX, and may not be available in other LUA implementations.
Other LUA implementations generate certain additional return codes that are not returned by the SNAP-IX implementation; they may also make use of parameters that are reserved for SNAP-IX.
OS/2 and Windows implementations use far pointers (far *) in all cases; Solaris implementations do not have a concept of far and near pointers, so the word far must be omitted for Solaris implementations.
The asynchronous verb return feature is supported differently by different operating systems. You may need to rewrite the sections of an LUA application written for one operating system that relate to asynchronous verb returns if you are porting the application to another operating system.
Other LUA implementations may not support LU pools.
The following guidelines are provided for writing SNAP-IX LUA applications so that they will be portable to other environments:
Include the LUA header file without any path name prefix. This enables the application to be used in an environment with a different file system. Use include options on the compiler to locate the file (see Compiling and Linking the LUA Application).
Use the symbolic constant names for parameter values and return codes, not the numeric values shown in the header file; this ensures that the correct value will be used regardless of the way these values are stored in memory.
When accessing SNA sense codes in a data buffer, use the symbolic constants rather than the numeric values; this ensures that the byte storage order will be correct for your particular system.
Include a check for return codes other than those applicable
to your current operating system (for example
using a default
case in a switch statement), and provide appropriate
diagnostics.
Ensure that any parameters shown as reserved are set to 0 (zero).
Set the lua_verb_length parameter as described in LUA Verbs.
|
|
|
|
|