This reference manual describes the primitive procedures and record types defined by the UNIX extension to Elk.
The UNIX extension provides easy access to most widely available UNIX system calls and C library functions from within Scheme programs. The extension supports a wide range of different UNIX platforms without restricting its functionality to the lowest common denominator or the POSIX 1003.1 functions. To simplify writing portable Scheme programs, the extension attempts to hide differences between the types of supported UNIX flavors. For example, programmers do not have to deal with the idiosyncrasies of the wait(), waitpid(), wait3(), and wait4() system calls or the mktemp(), tmpnam(), and tempnam() functions.
The UNIX extension defines procedures for low-level, file-descriptor-based I/O; creation of pipes; file/record locking; file and directory system calls; process creation and control; signal handling; error handling; and obtaining information about date, time, users, limits, process resources, etc. Terminal control is not yet supported by the current version.
The reference manual assumes that you are familiar with the most common
UNIX system calls and C library functions; this document does not
attempt to duplicate the contents of the standard UNIX documentation.
Detailed descriptions are provided for functions that differ from
the standard UNIX semantics.