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.