Move some type definitions around.
[iolib.git] / io.streams / zeta / types.lisp
blob1000145b9631559313f33438e701f283add701d8
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
2 ;;;
3 ;;; --- Various types.
4 ;;;
6 (in-package :io.zeta-streams)
8 ;;;-------------------------------------------------------------------------
9 ;;; Data Types
10 ;;;-------------------------------------------------------------------------
12 (deftype ub8 () '(unsigned-byte 8))
13 (deftype ub16 () '(unsigned-byte 16))
14 (deftype ub32 () '(unsigned-byte 32))
15 (deftype ub64 () '(unsigned-byte 64))
16 (deftype sb8 () '(signed-byte 8))
17 (deftype sb16 () '(signed-byte 16))
18 (deftype sb32 () '(signed-byte 32))
19 (deftype sb64 () '(signed-byte 64))
21 (deftype ub8-vector (&optional (size '*))
22 `(array ub8 (,size)))
24 (deftype ub8-simple-vector (&optional (size '*))
25 `(simple-array ub8 (,size)))
27 (deftype ub16-vector (&optional (size '*))
28 `(array ub16 (,size)))
30 (deftype ub16-simple-vector (&optional (size '*))
31 `(simple-array ub16 (,size)))
34 ;;;-------------------------------------------------------------------------
35 ;;; Argument Types
36 ;;;-------------------------------------------------------------------------
38 (deftype io-buffering ()
39 '(member nil :line :full))
41 (deftype file-direction ()
42 '(member :input :output :io))
44 (deftype file-if-exists ()
45 '(member :default :error :error-if-symlink :delete :overwrite))
47 (deftype file-if-does-not-exist ()
48 '(member :default :error :create))
50 (deftype file-flags ()
51 '(unsigned-byte 32))
53 (deftype file-mode ()
54 '(unsigned-byte 32))