Next: , Previous: , Up: Top   [Index]

7 The GNU+Linux interface

The functions described in this chapter are exported by the library (vicare linux). The API attempts to create a one–to–one Scheme functions mapping towards Linux functions, keeping the same semantics as much as possible; the platform’s own documentation is relevant at the Scheme level.

NOTE These bindings are included and installed by default and they can be excluded at compile time by giving the option --disable-linux to the configure stript.

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.

For a list of Linux–specific system calls, see the syscalls(2) manual page.

On non–Linux platforms we must avoid calling these functions, else the behaviour is undefined.

The availability of the Linux API can be tested at run–time with the function vicare-built-with-linux-enabled from (vicare) ((vicare-scheme)vicare-built-with-linux-enabled), and at expand–time with the clause linux-enabled of cond-expand from SRFI-0 (see linux-enabled).

Next: , Previous: , Up: Top   [Index]