;;; Flags for open(2) and fcntl(2). ;;; Copyright (c) 1993 by Olin Shivers. See file COPYING. ;;; Copyright (c) 1994 by Brian D. Carlstrom. (define-enum-constants open (read #o000) (write #o001) (read+write #o002) (append #o00010) (create #o01000) (exclusive #o04000) (no-control-tty #o20000000) (non-blocking #o4000000) (truncate #o2000) ;;; Not POSIX. (no-delay #o0004) (sync #o100000) ; (blkinuse #o10000) ; (blkandset (bitwise-ior #o10000 #o20000)) (termio #o10000000) ) (define open/access-mask (bitwise-ior open/read (bitwise-ior open/write open/read+write))) ;;; fcntl() commands (define-enum-constants fcntl (dup-fdes 0) ; F_DUPFD (get-fdes-flags 1) ; F_GETFD (set-fdes-flags 2) ; F_SETFD (get-status-flags 3) ; F_GETFL (set-status-flags 4) ; F_SETFL (get-record-lock 7) ; F_GETLK (set-record-lock-no-block 8) ; F_SETLK (set-record-lock 9)) ; F_SETLKW ;;; fcntl fdes-flags (F_GETFD) (define fdflags/close-on-exec 1) ;;; fcntl status-flags (F_GETFL) ;;; Mostly, these are OPEN/... flags, like OPEN/APPEND. ;;; (define fdstatus/... ...) ;;; fcntl lock values. (define-enum-constants lock (read 1) ; F_RDLCK (write 2) ; F_WRLCK (release 3)) ; F_UNLCK