The POSIX functions are exported by the library (vicare
posix). The API attempts to create a one–to–one Scheme functions
mapping towards POSIX functions, keeping the same semantics as much
as possible; the platform’s own documentation is relevant at the Scheme
level. posix not for a list of POSIX functions not interfaced
in this library, and reasons for not doing it.
To avoid name collisions with bindings exported by (vicare),
when importing (vicare posix) it is mandatory to assign it a
prefix as follows:
(import (vicare) (prefix (vicare posix) px.))
All the constants needed to use the interface are available as
identifier syntaxes exported by the (vicare platform constants)
library; if a constant value is not exported file a feature request for
the project. If a constant is not defined on a platform: its value is
set to #f.
The library (vicare platform features) exports one identifier
syntax for each HAVE_ symbol defined by Vicare
configure script, expanding to #t or #f.
The availability of the POSIX API can be tested at run–time with
the function vicare-built-with-posix-enabled from
(vicare) ((vicare-scheme)vicare-built-with-posix-enabled), and at expand–time with the clause
posix-enabled of cond-expand from SRFI-0 (see posix-enabled).
| • posix conventions: | Conventions about the POSIX API. | |
| • posix conditions: | Condition object types. | |
| • posix cond-expand: | Feature-based expansion. | |
| • posix env: | Operating system environment variables. | |
| • posix pid: | Process identifier functions. | |
| • posix process: | Spawning processes and the like. | |
| • posix status: | Process termination status. | |
| • posix signal: | Delivering signals to processes. | |
| • posix stat: | File system inspection. | |
| • posix file: | Interfacing with the file system. | |
| • posix link: | Hard and symbolic links. | |
| • posix dir: | File system directories. | |
| • posix fd: | File descriptors. | |
| • posix mmap: | Memory-mapped input/output. | |
| • posix socket: | Network sockets. | |
| • posix users: | Users and groups. | |
| • posix job: | Job control. | |
| • posix time: | Time related functions. | |
| • posix timers: | POSIX per–process timers. | |
| • posix config: | System configuration. | |
| • posix resources: | Resources usage. | |
| • posix mq: | Message queues. | |
| • posix shm: | Shared memory. | |
| • posix sem: | Semaphores. | |
| • posix misc: | Miscellaneous functions. | |
| • posix args: | Arguments validation clauses. | |
| • posix not: | POSIX functions not interfaced. | |
External libraries | ||
|---|---|---|
| • posix sel: | Simple event loop. | |
| • posix pid-files: | Creating PID files. | |
| • posix lock-pid-files: | Creating lock PID files. | |
| • posix log-files: | Logging facilities. | |
| • posix daemonisations: | Turn the process into a daemon. | |
| • posix tcp-server-sockets: | TCP server sockets. | |
| • posix sendmail: | Sending email with sendmail.
| |
| • posix mailx: | Sending email with mailx.
| |
| • posix curl: | Downloading files with curl.
| |
| • posix wget: | Downloading files with wget.
| |
| • posix find: | Scanning the file system with find.
| |