POSIX interface
***************

(This chapter was derived from work copyrighted © 1993--2005 by Richard Kelsey, Jonathan Rees, and Mike Sperber.)

This chapter describes Scheme48's interface to POSIX C calls.  Scheme versions of most of the C functions in POSIX are provided.  Both the interface and implementation are new and likely to change significantly in future releases.  The implementation may also contain many bugs.

The POSIX bindings are available in several structures:

posix-processes
     fork, exec, and other process manipulation procedures

posix-process-data
     procedures for accessing information about processes

posix-files
     POSIX file system access procedures

posix-i/o
     pipes and various POSIX I/O controls

posix-time
     POSIX time operations

posix-users
     user and group manipulation procedures

posix-regexps
     POSIX regular expression construction and matching

posix
     all of the above

Scheme48's POSIX interface differs from scsh [Shivers 94; Shivers 96; Shivers etal 04] in several ways.  The interface here lacks scsh's high-level constructs and utilities such as the process notation, awk facility, and parsing utilities.  Scheme48 uses disjoint types for some values that scsh leaves as symbols or simple integers; these include file types, file modes, and user & group ids. Many of the names and other interface details are different as well.

     [file process.texi not included]
     [file signal.texi not included]
     [file proc-env.texi not included]
     [file user-grp.texi not included]
     [file host-ident.texi not included]
     [file fs.texi not included]
     [file time.texi not included]
     [file io.texi not included]
     [file regexp.texi not included]
     [file c-to-scm.texi not included]