System calls and libraries

BSD system libraries and header files

If you are migrating to UnixWare from a BSD System environment, or want to run BSD system applications, you may need to install and access the BSD libraries and header files included in the BSD Compatibility Package.

The BSD Compatibility Package is a separately installed, optional package that contains the following, which are either different from UnixWare or don't exist in UnixWare:

By using the BSD Compatibility Package, you can take advantage of a comprehensive BSD environment compatibility.

The subsections below discuss BSD header files, libraries, and how to access them.

Accessing BSD libraries and header files

Once the BSD Compatibility Package is installed, compatibility package header files and libraries called by the C compiler (cc) and linker (ld) are located in /usr/ucbinclude and /usr/ucblib. To access these header files and libraries, set your PATH variable so that /usr/ucb comes before the default UnixWare path directories /sbin, /usr/sbin, /usr/bin, and /usr/ccs/bin.

To find out what your path is currently, use the echo command as shown in the following example.

   $ echo $PATH

To make the BSD Compatibility Package commands the default, change the order of the directories in your path, as shown in the example below:

   $ PATH=.:/home/medici/bin:/usr/ucb:/usr/bin:/etc

To make this change permanent, put a line like the above PATH command in your .profile file (or your .cshrc file, if you're using the C shell).

By setting your path as shown above, you'll use /usr/ucb/cc when you compile C programs. /usr/ucb/cc sets its default paths to pick up, in this order:

  1. user-specified include directories and libraries

  2. the compatibility include files and directories

  3. the default UnixWare headers and libraries, if unresolved symbols remain

BSD library routines

The BSD Compatibility Package libraries contain the routines listed in the following table. These routines are either not in UnixWare or have a different interface and a different system call ``wrapper'' than their UnixWare counterparts; these latter routines are marked with an asterisk (*).

Not all entries in this table appear on their own manual pages. You can use the Search capability of the online browser or see the permuted index in the printed version of the Operating System API Reference for the name of the manual page that explains a particular routine.

_longjmp getwd setreuid
_setjmp ieee_functions setstate
alloca ieee_handler settimeofday*
alphasort index setusershell
bcmp initstate setvbuf*
bcopy itom sfconvert
closelog killpg sgconvert
copysign longjmp* sigblock
dbm_clearerr madd sigfpe
dbm_close mcmp siginterrupt
dbm_delete mctl siglongjmp*
dbm_error mdiv sigmask
dbm_fetch mfree signal*
dbm_firstkey min sigpause
dbm_nextkey mkstemp sigsetjmp*
dbm_open mout sigsetmask
dbm_store msqrt sigstack
dbminit msub sigvec
decimal_to_double mtox single_to_decimal
decimal_to_extended mult sleep*
decimal_to_single nextkey sprintf*
delete nice* srand*
double_to_decimal nlist* srandom
econvert pow stejmp*
endusershell printf* store
extended_to_decimal psignal* strcasecmp
fconvert rand* strncasecmp
fetch random sys_siglist
firstkey re_comp syscall
floatingpoint re_exec syslog
fopen* reboot times*
fp_class reboot ualarm
fprintf* regex* usleep
freopen* rindex utimes
ftime rpow vfprintf*
gcd scalbn vprintf*
gconvert scandir vsprintf*
getdtablesize sdiv wait3
gethostid seconvert wait*
gethostname setbuf* wiFEXITED
getpagesize setbuffer wiFSIGNALED
getpriority sethostname wiFSTOPPED
getrusage setlinebuf xtom
gettimeofday* setpriority  
getusershell setregid  

BSD header files

The BSD Compatibility Package includes a set of header files that provide a high degree of source compatibility for applications that were originally written to work on BSD.

Some BSD header files do not exist in UnixWare. Others differ in ways that cannot be reconciled in a single file and are listed in the following table with an asterisk (*).

assert.h* strings.h sys/reboot.h
dbm.h struct.h sys/resource.h*
fp.h sunfp.h sys/signal.h*
mp.h sys/dirent.h* sys/types.h*
ndbm.h sys/fcntl.h* sys/vfs.h*
regexp.h* sys/file.h* sys/wait.h*
setjmp.h* sys/ieeefp.h sysexits.h
signal.h* sys/mtio.h ufs/quota.h
stdio.h* sys/param.h* unistd.h*

Next topic: How C programs communicate with the shell
Previous topic: Named files

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004