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
Standard POSIX Threads Functions: Differences
Between the Previous and Current Standards
Open System Services Porting Guide—520573-006
E-15
Changed Thread Functions
Table E-9 lists the old and new syntax of the optional functions that are supported by
Standard POSIX Threads. The _np suffix indicates that the function is not portable.
T1248 POSIX threads, released with G06.21 RVU, made obsolete APIs with the prefix
cma_, such as cma_accept. Some replacement APIs released with T1248 have the
prefix spt_; such as, spt_accept. Others use standard names for the replacement
I/O functions; for example, the function bind() replaces cma_bind(). Table E-10
lists the obsolete and replacement APIs supported in T1248 POSIX threads, G06.21
RVU. Each of the replacment APIs is documented in its appropriate reference page.
Table E-9. Optional Thread Functions Supported in Standard POSIX Threads
Syntax of Draft 4 Function Syntax of Standard POSIX Threads Function
unsigned long
pthread_attr_getguardsize_np(
pthread_attr_t attr);
int pthread_attr_getguardsize_np(
const pthread_attr_t *attr,
size_t *guardsize);
unsigned long
pthread_attr_setguardsize_np(
pthread_attr_t attr,
long guardsize);
int pthread_attr_setguardsize_np(
pthread_attr_t attr,
size_t guardsize);
void
pthread_lock_global_np();
int pthread_lock_global_np (void);
void pthread_unlock_global_
np();
int pthread_unlock_global_np (void);
Table E-10. Obsolete and Replacement APIs in T1248 POSIX
Threads (page1of3)
Obsolete API Replacment API
cma_accept()
spt_accept()
cma_connect()
spt_connect()
cma_fclose()
spt_fclose()
cma_fflush()
spt_fflush()
cma_fgetc()
spt_fgetc()
cma_fgets()
spt_fgets()
cma_fprintf()
spt_fprintf()
cma_fputc()
spt_fputc()
cma_fputs()
spt_fputs()
cma_fread()
spt_fread()
cma_fwrite()
spt_fwrite()