;;; Flags for open(2) and fcntl(2). ;;; Copyright (c) 1993 by Olin Shivers. (define-syntax define-open-flags (syntax-rules () ((define-errnos form ...) (begin (define-enum-constant "open" . form) ...)))) (define-open-flags (read 0) (write 1) (read+write 2) (append 8) (create #x100) (exclusive #x400) (no-control-tty #x800) (nonblocking #x80) (truncate #x200) ;;; Not POSIX. (no-delay 4) (sync #x10)) (define open/access-mask (bitwise-ior open/read (bitwise-ior open/write open/read+write))) (define fcntl/close-on-exec 1) (define fcntl/dupfd 0) (define fcntl/get-fd-flags 1) (define fcntl/set-fd-flags 2) (define fcntl/get-file-flags 3) (define fcntl/set-file-flags 4) (define fcntl/get-record-lock 5) (define fcntl/set-record-lock-noblock 6) (define fcntl/set-record-lock 7) (define lock/read 1) (define lock/write 2) (define lock/release 3)