Next: words, Previous: platform utilities, Up: platform [Index]
errno
One syntax identifier binding for each known errno
value is
exported by the library (vicare platform errno)
and reexported
by the library (vicare platform constants)
; (vicare-scheme)Interface to errno
for details on Vicare
internal encoding of errno
codes. The following bindings are
exported by the library (vicare platform errno)
.
Verify that ?symbol is one of the symbolic names of errno
;
if successful expand to an expression evaluating to the coded
errno
value, else raise a syntax violation.
Specialised case
macro for errno
values. else
is
the auxiliary keyword exported by (rnrs)
. Example:
#!r6rs (import (rnrs) (vicare platform errno)) (define identifier "some-port") (case-errno (errno) ((EACCES EFAULT) (make-i/o-file-protection-error identifier)) ((EROFS) (make-i/o-file-is-read-only-error identifier)) ((EEXIST) (make-i/o-file-already-exists-error identifier)) ((EIO) (make-i/o-error)) ((ENOENT) (make-i/o-file-does-not-exist-error identifier)) (else (make-irritants-condition (list identifier))))
The ?code must be symbols representing errno
codes, they
are not meant to be binding identifiers.