changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/io/pkg.lisp

changeset 684: 29fe829a7ac3
parent: 8b10eabe89dd
child: 90417ae14b21
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 29 Sep 2024 00:31:24 -0400
permissions: -rw-r--r--
description: evdev and io/kbd
1 ;;; io/pkg.lisp --- high-level IO API
2 
3 ;;
4 
5 ;;; Commentary:
6 
7 ;; pay close attention to the spec for opportunities to replace io
8 ;; primitives -- for example WITH-OPEN-FILE accepts a :CLASS keyword
9 ;; argument, which defaults to SB-SYS:FD-STREAM.
10 
11 ;; this package would be responsible for providing an alternative
12 ;; class, something like IO-STREAM.
13 
14 ;;; Code:
15 (defpackage :io/proto
16  (:use :cl :std/condition)
17  (:export :io-error))
18 
19 (defpackage :io/ring
20  (:use :cl :uring :io/proto)
21  (:import-from :sb-alien :addr)
22  (:import-from :std :deferror :eval-always))
23 
24 (defpackage :io/stream
25  (:use :cl :io/proto)
26  (:import-from :std :deferror :eval-always)
27  (:export :io-stream-error :io-stream))
28 
29 (defpackage :io/socket
30  (:use :cl :io/proto)
31  (:import-from :std :deferror :eval-always)
32  (:export :io-socket-error :io-socket :sockopt-receive-timeout))
33 
34 (defpackage :io/flate
35  (:use :cl :io/proto)
36  (:import-from :std :deferror :eval-always)
37  (:export :flate-error :compression-error :decompression-error
38  :*compression-buffer-size* :decompression-buffer-size* :finish-compression :finish-decompression
39  :reset-compressor :reset-decompressor :make-compressing-stream :make-decompressing-stream
40  :compress-object :decompress-object :compress :decompress
41  :compressor :compressing-stream :decompressor :decompressing-stream))
42 
43 (defpackage :io/zstd
44  (:use :cl :std :io/proto :io/flate)
45  (:import-from :std :deferror :eval-always)
46  (:export :zstd-error :zstd-compressor :zstd-decompressor))
47 
48 (defpackage :io/kbd
49  (:use :cl :std :io/proto :xkb)
50  (:export :kbd-error))
51 
52 (pkg:defpkg :io
53  (:use :cl)
54  (:use-reexport :io/proto :io/ring :io/flate :io/zstd :io/stream :io/socket))