Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

file descriptors of its parent and parameters from arguments put in its data resource at startup
time.
The relationship between MOM and ancestor processes is indicated differently for Guardian
processes than it is for OSS parent and child processes. These differences can create
complications when a Guardian process-creation function is called from the OSS environment.
For more information on OSS and Guardian process attributes, refer to the fork(2) reference
page either online or in the Open System Services System Calls Reference Manual, and to
the PROCESS_LAUNCH_ procedure in the Guardian Procedure Calls Reference Manual.
The standard text files in the Guardian environment are EDIT files; the standard text files in
the OSS environment are unstructured ASCII files.
File naming conventions in the Guardian environment are more restricted than they are in the
OSS environment.
Terminals in the OSS environment are accessed through a TELNET/Telserv application. OSS also
supports local terminals through OSSTTY, although OSSTTY has the look and feel of a remote
terminal. All print spooling is done through the Guardian spooler. Yet, the normal UNIX lp
commands can be used from OSS. See “I/O Interoperability” (page 81).
Table 3 lists additional differences between the OSS and Guardian environments. The Open System
Services Programmer’s Guide contains extensive discussions on the differences between the two
file systems, the two process types, and managing I/O between environments. The Open System
Services User’s Guide contains extensive discussions on the two command interfaces, creating
files, and managing the different file systems.
Table 3 Differences Between Guardian and OSS Environments
OSS EnvironmentGuardian Environment
OSS shell for supporting command interfaceTACL command interface
args, env for setting process attributesPARAMs, ASSIGNs, DEFINEs for setting process
environment attributes
Pipes for interprocess communication$RECEIVE for interprocess communication
Job control signals for switching between running processesBreak key for switching between running processes
OSS signals onlySystem messages and Guardian signals (except the
kill() function)
setuid() and setgid() functions for process identityPROGID program for process identity
ASCII text filesEDIT files
Operating system supports standard file accessCRE supports shared access to standard files
NOTE: Beginning with the H06.24 and J06.13 RVUs, 64-bit OSS processes are supported.
Additional feature test macros are provided and header files are changed to add support for 64-bit
OSS processes. For information about these changes, see the 64-Bit Support in OSS and Guardian
chapter in the Open System Services Programmer's Guide.
Header Files
Header files in the Guardian and OSS environment are stored in different places, but their contents
are identical. In most cases, the names of the header files are similar: for example, sys/types.h
in OSS corresponds to SYSTYPEH in Guardian. Truncation of some characters before the trailing
H is common (as shown in the preceding example). One anomaly is that cextdecs.h corresponds
to CEXTDECS (no trailing H for historical reasons).
72 Interoperating Between Programming Environments