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
Contents
Open System Services Porting Guide—520573-006
v
8. Migrating Guardian Applications to the OSS
Environment
General Porting Guideline (continued)
Equivalent Features 7-4
Standard Functions 7-4
Equivalent Functions 7-4
Single-Processor Versus Multiprocessor Systems 7-4
HP Extensions 7-5
Programming for Portability 7-5
Using Functional Equivalents 7-6
Differences Between OSS and UNIX Environments 7-7
File Characteristics 7-7
Process Characteristics 7-8
Security Model 7-9
OSS C Programming Considerations 7-10
General Programming Practices 7-11
Function Prototypes 7-12
Defined Symbols and Header Files 7-12
C Compiler Pragmas 7-15
C Compiler Translation Limits 7-16
C Data Types 7-16
OSS C Run-Time Library 7-16
Using OSS Function Calls 7-19
Using HP Extensions 7-25
Guardian Procedure Calls for Interoperability 7-26
Environment-Specific I/O Routines 7-26
Process-Creation Functions Specific to HP 7-26
Calling Guardian Procedures 7-27
Using the OSS Internationalization Subsystem 7-29
Internationalization Design and Development Guidelines
7-29
Porting Considerations for Locales
7-29
Locales in OSS Client/Server Applications 7-30
Interoperability Between OSS and Guardian Locales 7-30
8. Migrating Guardian Applications to the OSS Environment
General Migration Guidelines 8-1
TNS to TNS/R or TNS/E Native Migration 8-2
Migration Options 8-3
Converting TAL or pTAL Code to C or C++ 8-3
Using New and Extended Guardian Procedures in Guardian Programs 8-3
Using OSS Functions in a Guardian Program 8-4