|
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
| 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.
| 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.
| 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() |
|