spac
System Dependancies
The following (operating) system dependancies are available:
- Availability of a system library: To link against a system
library, named X that may be present only on some systems,
include X.lib in the executable list file.  The following
uses are known:
- crypt.lib Use this if you use the crypt function
call, which is found in -lcrypt on some systems.
 - s.lib Use this if you use ???
 - shadow.lib Use this if you are using shadow password
functions.
 
 - Availability of linking against -lsocket -lnsl: This
is a special case of the above rule, and tests for linking against
both libraries simultaneously.  Add socket.lib to the
executable list file if you use sockets.
 - struct direct vs struct dirent: Include
"direntry.h" to your C source, and use the struct named
direntry in place of the above two structs.
 - fork and vfork: If you use vfork, add the
include file fork.h to your C source.
 - hasdevtcp.h: Unknown.
 - flock: Include "hasflock.h" which will define
HASFLOCK if the flock system call is available.
 - sigaction system call: Include "hassgact.h"
which will define HASSIGACTION if the sigaction
system call is available.
 - sigprocmask, and sigsuspend: Include
"hassgprm.h" which will define HASSIGPROCMASK if the
system calls are available.
 - setgroups uses an array: Include "hasshsgr.h"
which will define HASSHORTSETGROUPS if the setgroups
system call needs to be passed an array of short integers
instead of just integers.
 - Shadow passwords: Include "hasspnam.h" which will define
HASGETSPNAM if the shadow password functions
(getspnam in particular) are available.
 - getuserpw: Include "hasuserpw.h" which will
define HASUSERPW if the getuserpw routine is to be
used to access authentication information.  This function returns a
struct userpw, with the relevant encrypted password field
named upw_passwd
 - waitpid system call: Include "haswaitp.h" which
will define HASWAITPID if the waitpid system call is
available.  If it is not available, you will have to revert to using
the older wait system call.
 - poll vs select: Include "iopoll.h", and
use the type iopoll_fd in place of struct pollfd,
and the function iopoll in place of poll.  Your
executables also need to link in iopoll.o.
 - select system call: Include "select.h" which
provides the necessary includes and declarations to use the
select system call.
 - Unsigned 32-bit integers: Include "uint32.h" and use the
uint32 data type.
 - Unsigned 64-bit integers: Include "uint64.h" and use the
uint64 data type.
 - <sys/time.h> and <time.h>: Include
"systime.h".
 - setenv: Include "hassetenv.h", and link
setenv.o in your executables.
 - SO_PEERCRED and struct ucred: Include
"haspeercred.h" which will define HASPEERCRED.