Newer
Older
;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Package: STREAM -*-
;;;
;;; **********************************************************************
;;; This code was written by Paul Foley and has been placed in the public
;;; domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/simple-streams/direct.lisp,v 1.3 2007/11/05 15:25:04 rtoy Rel $")
;;;
;;; **********************************************************************
;;;
;;; Direct-Simple-Stream and Buffer-(Input|Output)-Simple-Stream
(in-package "STREAM")
(export '(direct-simple-stream
buffer-input-simple-stream
buffer-output-simple-stream))
(def-stream-class direct-simple-stream (single-channel-simple-stream)
())
(def-stream-class buffer-input-simple-stream (direct-simple-stream)
())
(def-stream-class buffer-output-simple-stream (direct-simple-stream)
((out-buffer :initform nil :type (or kernel:simple-stream-buffer null))
(outpos :initform 0 :type fixnum)
(max-out-pos :initform 0 :type fixnum)))
(defmethod device-file-length ((stream direct-simple-stream))
;; return buffer length
)
(defmethod device-open ((stream buffer-input-simple-stream) options)
#| do something |#
stream)
(defmethod device-open ((stream buffer-output-simple-stream) options)
#| do something |#
stream)