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
Native Migration Overview
Open System Services Porting Guide—520573-006
10-10
TAL to pTAL Conversion
•
SIGACTION_INIT_ supersedes ARMTRAP.
•
CHECKPOINTX supersedes CHECKPOINT.
•
CHEKPOINTMANYX supersedes CHECKPOINTMANY.
•
CURRENTSPACE is obsolete and has no replacement.
•
ADDRESS_DELIMIT_ supersedes LASTADDR and LASTADDRX.
•
SIGACTION_SUPPLANT_ supersedes SETTRAP.
For details on Guardian procedures, refer to the Guardian Procedure Calls Reference
Manual. For details on migrating to the TNS/R and TNS/E native environments, refer to
the TNS/R Native Application Migration Guide and the H-Series Application Migration
Guide.
TAL to pTAL Conversion
pTAL (portable Transaction Application Language) replaces architecture-specific TAL
constructs with new constructs. pTAL source code can be compiled with the pTAL
compiler or with the D30.03 and D40 TAL compilers. There are two pTAL compilers:
one for the TNS/R native environment and one for the TNS/E native environment. The
two compilers are nearly identical, except that they generate object code specific to
their respective environments.
There are significant benefits to using pTAL instead of TAL. pTAL code runs faster than
TAL code, and using the pTAL compiler is faster than using the TAL compiler and the
Accelerator or Object Code Accelerator program. pTAL code can be used in an OSS
program in the native environments, provided that the main() function is in a C
language file.
TAL source code may be processed with a pTAL compiler syntax checker option. This
helps identify most conversion issues, expands DEFINEs in error messages, and flags
errors at statement and declaration lines.
For detailed information about the pTAL language and conversion issues, refer to the
pTAL documentation listed in the Related Reading on page xv.