Open System Services Programmer's Guide

The following table describes the “Usage Notes” values that appear frequently.
MeaningUsage Note
If the CHECK pragma is specified, functions and macros in both Guardian and OSS
modules perform identical parameter validation. If the NOCHECK pragma is specified,
Checking variants
functions and macros in both Guardian and OSS modules do not perform extra
parameter validation. The Guardian environment compiler defaults to CHECK. The
OSS environment compiler defaults to NOCHECK. Refer to the CHECK pragma in
the C/C++ Programmer’s Guide for details.
The function or macro in a Guardian module generates an exception on an arithmetic
fault. The function or macro in an OSS module does not generate an exception on
an arithmetic fault.
Exception variants
The Guardian function or macro operates only on Guardian objects.Guardian function operates only
on Guardian objects
The function or macro operates only on Guardian objects.Guardian objects only
The function or macro requires Guardian parameters (Guardian filename, stream
pointer, file descriptor, or process identifier).
Guardian parameters only
The function or macro operates on some types of OSS objects. The extent of support
for OSS objects differs for each function or macro.
Limited OSS objects only
The function or macro’s operation is limited when it is called from a Guardian process.Limited when called from
Guardian process
The function or macro can be called only from a Guardian module within a Guardian
process or from an OSS module within an OSS process. The function or macro cannot
Only Guardian modules or only
OSS modules
be called from both Guardian and OSS modules within the same process. The module
and process environments must be the same. Behavior might be different in each
environment.
The OSS function or macro operates on OSS objects and some types of Guardian
objects. The extent of support for Guardian objects differs for each function or macro.
OSS function operates on OSS
objects and limited Guardian
objects
The OSS function or macro operates only on OSS objects.OSS function operates only on
OSS objects
The function or macro operates on OSS objects and some types of Guardian objects.
The extent of support for Guardian objects differs for each function or macro.
OSS objects and limited
Guardian objects
The function or macro operates only on OSS objects.OSS objects only
The function or macro requires OSS parameters (OSS pathname, stream pointer, file
descriptor, or process identifier).
OSS parameters only
When called from a Guardian module, the function or macro requires Guardian
parameters. When called from an OSS module, the function or macro requires OSS
Parameters must match module
parameters.If the function or macro operates on an open file, the file must have been
opened in a module of the same environment.
The function or macro requires that the feature test macro
_XOPEN_SOURCE_EXTENDED be specified when you compile the module.
_XOPEN_SOURCE_EXTENDED
The function or macro requires that the feature test macro
_XOPEN_SOURCE_EXTENDED or _TANDEM_SOURCE be specified when you
compile the module.
_XOPEN_SOURCE_EXTENDED
or
_TANDEM_SOURCE
Examples
The following examples illustrate how to use Table 77 (page 482) to determine how functions and
macros can be used in Guardian and OSS programs.
480 API Interoperability in TNS Processes