Solaris compatibility libraries

»

HP Tru64 UNIX

Tru64 UNIX

» Tru64 UNIX V5.1B-6
» Tru64 UNIX V5.1B-5
» Documentation
» Information library
» Software web index
» Software products library
» Patch database
» Services
» Developer & Solution Partner Program
» Send us your comments
» Support Statements

Evolving business value

» Tru64 UNIX to HP-UX 11i transition benefits calculator
» Alpha RetainTrust Program
» Transition

Related links

» Alpha systems
» HP-UX 11i
» Integrity servers
» Linux
» HP storage
» HP solutions
HP-UX 11i: measurably better TCO!
Content starts here

» Overview

Product info

» Download

» Resources

The Solaris Compatibility Libraries for Tru64 UNIX comprises a number of shared or static libraries and C header files that can be used when porting Solaris applications to Tru64 UNIX. The libraries provide the functionality described below, and are further described in the User Guide.

Other porting considerations - such as 32- to 64-bit issues, build command differences, data ordering (big-endian vs. little-endian) - are not covered by SCL and you are referred to the Sun Solaris to HP Tru64 UNIX Porting Guide for information about dealing with such issues.

SCL version 1.1 has been tested on new installations of Tru64 UNIX versions 4.0D, 4.0F and 5.0. It is expected to run successfully on other variants above version 4.0D, including systems with operating system patches applied.

Solaris Thread Library

The Solaris Thread Library (STL) is a component of the Solaris Compatibility Libraries for Tru64 UNIX. It provides implementations of Solaris-specific thread functions and objects that are layered upon the POSIX threads library provided with Tru64 UNIX.

The following tables list the supported functionality provided by STL

Synchronization Object Functions
Condition Variables [1] cond_init()
cond_destroy()
cond_broadcast()
cond_signal()
cond_timedwait()
cond_wait()
Mutexes [1] mutex_init()
mutex_destroy()
mutex_lock()
mutex_trylock()
mutex_unlock()
Reader/writer Locks [1] rwlock_init()
rwlock_destroy()
rw_rdlock()
rw_tryrdlock()
rw_trywrlock()
rw_unlock()
rw_wrlock()
Semaphores sema_init()
sema_destroy()
sema_post()
sema_trywait()
sema_wait()

Note 1: SCL version 1.1 supports process-wide (USYNC_THREAD) condition variables, mutexes and reader/writer locks. System-wide (USYNC_PROCESS) synchronization objects are unsupported with this version.

Thread Management Functions
Create and destroy [2] thr_create()
thr_exit()
thr_kill()
Join [3] thr_join()
Suspend and continue [4] thr_suspend()
thr_continue()
Priority [5] thr_getprio()
thr_setprio()
Id thr_self()
thr_main()
Scheduling thr_getconcurrency()
thr_setconcurrency()
thr_yield()
Thread-specific data thr_getspecific()
thr_setspecific()
thr_keycreate()
Stack thr_min_stack()
thr_stksegment() [6]
Signals thr_sigsetmask()

Note 2: SCL version 1.1 supports the creation of daemon, detached and suspended threads but not bound threads

Note 3: Supports join-specific-thread and join-any-thread

Note 4: A patch may need to be applied to Tru64 UNIX in order for suspend/continue to function correctly.

Note 5: SCL allows setting of the priority but will not affect thread scheduling behavior

Note 6: Function thr_stksegment always returns EAGAIN

Remote Procedure Calls

The source code for ONC RPC version 2.3, which has been placed into the public domain by Sun, has been ported to Tru64 UNIX. Tru64 UNIX provides a sockets-based version of ONC RPC, but the ported version of ONC RPC is transport-independent (TI-RPC), and provides the associated library routines to allow an application to make use of this, although V1.1  of the Solaris Compatibility Libraries only supports TCP and UDP transports.

This version of RPC also provides enhanced "rpcgen" and "rpcinfo" utilities, as well as a version of "rpcbind" to act as a replacement for the standard portmapper.

Miscellaneous

The miscellanous library component comprises various groups of Solaris functions that are not provided as standard on Tru64 UNIX. Implementation is provided within the SCL-supplied shared and static libraries, or solely within the SCL-supplied header files using macros.

The following table lists the groups of miscellaneous functions that are provided with SCL.

Functionality Function names
Signal name strsignal()
psignal(), psiginfo()
str2sig(), sig2str()
Path resolution resolvepath()
High-resolution Timers gethrtime(), gethrvtime()
ptime command
Asynchronous I/O aioread(), aiowrite()
aiowait()
aiocancel()
Large File Support Numerous 64-bit variants of standard functions.
e.g. open64(), fseek64(). See SCL User Guide for details
Text Domain Support for text domain message catalog functions is provided through use of the GNU gettext distribution. Details are included in the SCL User Guide
Wide character support Numerous non-standard wide-character functions are mapped to their standard equivalents. Details are included in the SCL User Guide
Various tell()
snprintf(), vsnprintf()
makedev(), major() minor()