X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=io.lisp;fp=io.lisp;h=47fc178f5ed914712b8186a52db7c40531b0c2db;hp=4134bd669966f63104bd06416be4ebfe069f3c24;hb=f02806a9c747318814e3b46520d2ceebd6031488;hpb=042a035d9708f98f43b41ac07171ee0570658c8b diff --git a/io.lisp b/io.lisp index 4134bd6..47fc178 100644 --- a/io.lisp +++ b/io.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: io.lisp,v 1.14 2003/07/30 23:01:46 kevin Exp $ +;;;; $Id: io.lisp,v 1.15 2003/07/31 17:03:37 kevin Exp $ ;;;; ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -170,6 +170,18 @@ +#+openmcl +(defun open-device-stream (path direction) + (let* ((mode (ecase direction + (:input #.(read-from-string "#$O_RDONLY")) + (:output #.(read-from-string "#$O_WRONLY")) + (:io #.(read-from-string "#$O_RDWR")))) + (fd (ccl::fd-open (ccl::native-translated-namestring path) mode))) + (if (< fd 0) + (ccl::signal-file-error fd path) + (ccl::make-fd-stream fd :direction direction)))) + + (defun null-output-stream () #-openmcl (when (probe-file #p"/dev/null")