Open System Services Porting Guide (G06.24+, H06.03+)
Table Of Contents
- What’s New in This Manual
- About This Manual
- 1 Introduction to Porting
- 2 The Development Environment
- 3 Useful Porting Tools
- 4 Interoperating Between User Environments
- Purpose of Interoperability
- The OSS User Environment
- OSS Commands for the Guardian User
- Guardian Commands for the UNIX User
- OSS Pathname and Guardian Filename Conversions
- Running the OSS Shell and Commands From TACL
- Running Guardian Commands From the OSS Shell
- Running OSS Processes With Guardian Attributes
- Using OSS Commands to Manage Guardian Objects
- 5 Interoperating Between Programming Environments
- 6 OSS Porting Considerations
- 7 Porting UNIX Applications to the OSS Environment
- 8 Migrating Guardian Applications to the OSS Environment
- General Migration Guidelines
- C Compiler Issues for Guardian Programs
- Using New and Extended Guardian Procedures
- Using OSS Functions in a Guardian Program
- Interoperating With OSS Programs
- Starting an OSS Program From the Guardian Environment
- C Compiler Considerations for OSS Programs
- Porting a Guardian Program to the OSS Environment
- How Arguments Are Passed to the C or C++ Program
- Differences in the Two Run-Time Environments
- Which Run-Time Routines Are Available
- Use of Common Run-Time Environment (CRE) Functions
- Replacing Guardian Procedure Calls With Equivalent OSS Functions
- Which IPC Mechanisms Can Be Used
- Interactions Between Guardian and OSS Functions
- 9 Porting From Specific UNIX Systems
- 10 Native Migration Overview
- 11 Porting or Migrating Sockets Applications
- 12 Porting Threaded Applications
- A Equivalent OSS and UNIX Commands for Guardian Users
- B Equivalent Guardian Commands for OSS and UNIX Users
- C Equivalent Inspect Debugging Commands for dbx Commands
- D Equivalent Native Inspect Debugging Commands for dbx Commands
- E Standard POSIX Threads Functions: Differences Between the Previous and Current Standards
- Glossary
- Index
Migrating Guardian Applications to the OSS
Environment
Open System Services Porting Guide—520573-006
8-8
Binding TNS Programs
These preprocessor symbols are set by default when the OSS C compiler is invoked
with the -Wsystype=guardian option. Other symbols can be set by using the
appropriate options in the c89 command line, or the appropriate pragmas in the C or
C++ source code.
Binding TNS Programs
In the Guardian environment, Binder is used to bind the specified object files with any
libraries referenced into an executable program. The Guardian C run-time library
routines are searched for in the $SYSTEM.SYSTEM.CWIDE library file.
The TNS Guardian C run-time library routines that are bound into a Guardian program
by the Binder can be found in /nonnative/usr/lib/libgwc.a. This file is
equivalent to the Guardian file $SYSTEM.SYSTEM.CWIDE. The use of the
-Wsystype=guardian option with the c89 utility automatically sets the default library
to libgwc.a. A shared run-time library (SRL) or dynamic-link library (DLL) cannot be
specified for TNS Guardian programs.
Linking Native Programs
In the OSS and Guardian environments, the native linkers (nld, ld, and eld utilities)
are used to link the specified object files with any libraries referenced into an
executable program. The C run-time library routines are searched for in the shared
run-time libraries (TNS/R native programs) or dynamic-link libraries (TNS/E native
programs) specified in the /usr/lib/libc.obey file or
$SYSTEM.SYSTEM.LIBCOBEY file. The shared run-time libraries and dynamic-link
libraries are common for both OSS and Guardian programs.
Equivalent OSS Commands for Compiling Guardian Programs
All of the compiler options available to a programmer in the Guardian environment are
available to the programmer in the OSS environment using the c89 utility. Table 8-2
lists some of the more common capabilities of the C compiler in the Guardian TNS
environment and how these same capabilities can be achieved in the OSS
environment using the native C compilers to produce Guardian object files or
executable programs.