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

process created by the LISTNER is passed one command line parameter (port number and Internet
address) from the PORTCONF configuration file. The parameter is then passed to the OSS server
program created by the Guardian program.
For example, if a service request is received on port 4321 from the Internet address 130.252.3.234,
the parameter ultimately passed to the OSS server program would be 4321.130.252.3.234.
More information on configuring and starting up LISTNER processes and servers can be found in
one of the following manuals:
TCP/IP Configuration and Management Manual
TCP/IPv6 Configuration and Management Manual
TCP/IP (Parallel Library) Configuration and Management Manual
The TCP/IP Programming Manual discusses starting TCP/IP servers.
C Compiler Considerations for OSS Programs
Guardian C or C++ programs have typically been built and maintained in the Guardian environment
using Guardian tools. When these programs are ported to the OSS environment, a new set of
development tools and programming constructs become available. C is the main programming
language for Open System Services. The system type is set to OSS for all C compilations in the
OSS environment and is determined in three stages:
Implicitly from the host environment
Explicitly from the command line
Affirmatively in the source text
The C compiler considerations when moving a Guardian C or C++ program to the OSS environment
include the following topics:
“Compiler Tools” (page 155)
“Memory and Data Models” (page 156)
“Header Files” (page 156)
“Include File Search Order” (page 156)
“New Pragmas” (page 156)
“Feature Test Macros ” (page 157)
“Predefined Preprocessor Symbols” (page 157)
“Linking” (page 157)
Compiler Tools
In the Guardian environment, TNS C or C++ source modules are compiled using the TACL C
command with appropriate qualifiers and parameters. When the executable program is built from
more than one source module, each source module must be compiled separately and bound using
the BIND command in a separate step. The BIND input file specifies all of the input object files
and the libraries to be searched to build the final executable file. If the executable is to be
accelerated, this is done with a separate command after the bind phase.
For the native environments, C compilation in the Guardian environment is performed by the native
C compilers (NMC for TNS/R native C, CCOMP for TNS/E native C) and native C++ compilers
(NMCPLUS for TNS/R native C++, CPPCOMP for TNS/E native C++). In the OSS environment,
the C compilation, linking, and optimization steps are each performed indirectly using the
appropriate parameters with the c89 utility or the c99 utility, the driver programs for the native C
compilers.
C Compiler Considerations for OSS Programs 155