622fb5c049c0c73c7fb312ce4bbf7271484fe5e3
[sbcl.git] / contrib / sb-simple-streams / package.lisp
1 ;;; -*- lisp -*-
2
3 ;;; This code is in the public domain.
4
5 ;;; The cmucl implementation of simple-streams was done by Paul Foley,
6 ;;; who placed the code in the public domain.  Sbcl port by Rudi
7 ;;; Schlatte.
8
9
10 (defpackage sb-simple-streams
11   (:use #:common-lisp)
12   (:import-from #:sb-kernel #:ansi-stream #:charpos #:line-length)
13   (:import-from #:sb-gray #:fundamental-stream)
14   (:export ;; Stream classes
15    #:STREAM
16    #:SIMPLE-STREAM
17    #:PROBE-SIMPLE-STREAM
18    #:SINGLE-CHANNEL-SIMPLE-STREAM
19    #:DIRECT-SIMPLE-STREAM
20    #:BUFFER-INPUT-SIMPLE-STREAM
21    #:BUFFER-OUTPUT-SIMPLE-STREAM
22    #:NULL-SIMPLE-STREAM
23    #:FILE-SIMPLE-STREAM
24    #:MAPPED-FILE-SIMPLE-STREAM
25    #:DUAL-CHANNEL-SIMPLE-STREAM
26    #:TERMINAL-SIMPLE-STREAM
27    #:SOCKET-SIMPLE-STREAM
28    #:SOCKET-BASE-SIMPLE-STREAM
29    #:HIPER-SOCKET-SIMPLE-STREAM
30    #:STRING-SIMPLE-STREAM
31    #:COMPOSING-STREAM
32    #:STRING-INPUT-SIMPLE-STREAM
33    #:STRING-OUTPUT-SIMPLE-STREAM
34    #:FILL-POINTER-OUTPUT-SIMPLE-STREAM
35    #:LIMITED-STRING-OUTPUT-SIMPLE-STREAM
36    #:XP-SIMPLE-STREAM
37    #:ANNOTATION-OUTPUT-SIMPLE-STREAM
38    ;; Streams
39    #:*STANDARD-INPUT* #:*STANDARD-OUTPUT* #:*ERROR-OUTPUT*
40    #:*QUERY-IO* #:*DEBUG-IO* #:*TRACE-OUTPUT* #:*TERMINAL-IO*
41    ;; Slot accessors
42    #:STREAM-INPUT-HANDLE #:STREAM-OUTPUT-HANDLE
43    #:STREAM-PLIST
44    ;; Device-level functions
45    #:DEVICE-OPEN #:DEVICE-CLOSE #:DEVICE-BUFFER-LENGTH
46    #:DEVICE-FILE-POSITION #:DEVICE-FILE-LENGTH #:DEVICE-READ
47    #:DEVICE-CLEAR-INPUT #:DEVICE-WRITE #:DEVICE-CLEAR-OUTPUT
48    #:DEVICE-EXTEND #:DEVICE-FINISH-RECORD
49    ;; Implementation functions/macros
50    #:WITH-STREAM-CLASS #:SM #:FUNCALL-STM-HANDLER
51    #:FUNCALL-STM-HANDLER-2 #:ADD-STREAM-INSTANCE-FLAGS
52    #:REMOVE-STREAM-INSTANCE-FLAGS
53    ;; User-level functions (mostly reexported from COMMON-LISP)
54    #:PARSE-FILESPEC #:DEFINE-FILESPEC #:DEFAULT-OPEN-CLASS #:OPEN
55    #:CLOSE #:READ-BYTE #:READ-CHAR #:READ-CHAR-NO-HANG #:UNREAD-CHAR
56    #:PEEK-CHAR #:LISTEN #:READ-LINE #:READ-SEQUENCE #:CLEAR-INPUT
57    #:WRITE-BYTE #:WRITE-CHAR #:WRITE-STRING #:WRITE-SEQUENCE #:TERPRI
58    #:FRESH-LINE #:FINISH-OUTPUT #:FORCE-OUTPUT #:CLEAR-OUTPUT
59    #:FILE-POSITION #:FILE-LENGTH #:LINE-LENGTH #:CHARPOS
60    #:STREAM-ELEMENT-TYPE #:STREAM-EXTERNAL-FORMAT #:STREAMP
61    #:OPEN-STREAM-P #:INPUT-STREAM-P #:OUTPUT-STREAM-P
62    #:INTERACTIVE-STREAM-P #:READ-VECTOR #:WRITE-VECTOR #:READ-OCTETS
63    #:WRITE-OCTETS #:DEF-STREAM-CLASS #:WAIT-FOR-INPUT-AVAILABLE
64    ;; higher level things (reexported from COMMON-LISP)
65    #:WITH-OPEN-FILE #:WITH-OPEN-STREAM #:FORMAT #:PPRINT #:PRIN1
66    #:PRIN1-TO-STRING #:PRINC #:PRINC-TO-STRING #:PRINT #:READ
67    #:READ-DELIMITED-LIST #:READ-FROM-STRING #:WRITE #:WRITE-LINE
68    #:WRITE-TO-STRING #:READ-PRESERVING-WHITESPACE))
69
70 #||
71 (in-package "SB-EXT")
72 (defgeneric stream-file-position (stream &optional position))
73 (defgeneric stream-file-length (stream))
74 (export '(stream-file-position stream-file-length))
75 ||#