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
Introduction to Porting
Open System Services Porting Guide—520573-006
1-9
Relationship of the OSS Environment to the
Guardian Environment
Both the G-series OSS environment and the G-series Guardian environment support
programs that use the TNS/R native run-time environment. The G-series OSS and
Guardian environments also support programs that use the legacy TNS run-time
environment. However, newly written or newly ported programs for the G-series OSS
environment are expected to use the TNS/R native run-time environment.
On H-series systems, both the OSS and Guardian environments support programs that
use the TNS/E native run-time environment. However, only the Guardian environment
supports the TNS environment; the H-series OSS environment does not support the
TNS environment. Thus, newly written or newly ported programs for the H-series OSS
environment must use the TNS/E native run-time environment.
Refer to TNS/R Native, TNS/E Native, and TNS Environments on page 2-1 for more
information.
For more information about the following topics, refer to the Open System Services
Programmer’s Guide:
•
Relationship of OSS to the Guardian API and the NonStop operating system, and
conformance to industry standards
•
Basic differences between the OSS and Guardian file systems, including directory
structures file access and file types
•
Basic differences between the OSS and Guardian processes, including process
identifiers, groups, ancestors, attributes, and pairs
Figure 1-1. Relationship of OSS to NonStop Operating System and Guardian
Environment
003VST .VSD
NonStop Operating System
OSS Tools
and Utilities
Guardian Tools
and Utilities
Applications
OSS API Guardian API