changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/ffi/zstd/pkg.lisp

changeset 657: 937a6f354047
parent: 4dd7b6320efc
child: 08621be7e780
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 18 Sep 2024 21:48:06 -0400
permissions: -rw-r--r--
description: zstd tests and macros
114
ellis <ellis@rwest.io>
parents: 96
diff changeset
1
 ;;; ffi/zstd/pkg.lisp --- ZSTD FFI
ellis <ellis@rwest.io>
parents: 96
diff changeset
2
 
395
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 393
diff changeset
3
 ;; Zstd compression support for Lisp
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 393
diff changeset
4
 
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 393
diff changeset
5
 ;;; Commentary:
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 393
diff changeset
6
 
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
7
 ;; Initially I was thinking of this as an SB-CONTRIB module which links up
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
8
 ;; with whatever C runtime functions exposed by the built-in SBCL compression
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
9
 ;; support. However, there isn't actually much going on in the runtime and
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
10
 ;; it's not publicly exposed at all. The SBCL/Zstd surface-area is restrained
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
11
 ;; to FASL read/write streams and not of much use outside it.
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
12
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
13
 ;; So, we'll be applying the same from-scratch strategy we've become
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
14
 ;; accustomed to, exposing as much of the C API as possible and building up
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
15
 ;; our abstractions.
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
16
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
17
 ;; The low-level abstractions are in this package - ZSTD.
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
18
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
19
 ;; For the high-level abstractions see IO/FLATE and IO/ZSTD in the IO package.
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
20
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
21
 ;; The following programs have compile-time support for linking Zstd:
395
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 393
diff changeset
22
 
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 393
diff changeset
23
 ;; SBCL
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 393
diff changeset
24
 ;; QEMU
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
25
 ;; RocksDB 
114
ellis <ellis@rwest.io>
parents: 96
diff changeset
26
 
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
27
 #| from zstd.h:
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
28
 Introduction                            ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
29
                                         ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
30
 zstd, short for Zstandard, is a fast lossless compression algorithm, targeting ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
31
 real-time compression scenarios at zlib-level and better compression ratios. ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
32
 The zstd compression library provides in-memory compression and decompression ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
33
 functions.                              ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
34
                                         ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
35
 The library supports regular compression levels from 1 up to ZSTD_maxCLevel(), ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
36
 which is currently 22. Levels >= 20, labeled `--ultra`, should be used with ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
37
 caution, as they require more memory. The library also offers negative ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
38
 compression levels, which extend the range of speed vs. ratio preferences. ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
39
 The lower the level, the faster the speed (at the cost of compression). ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
40
                                         ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
41
 Compression can be done in:             ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
42
 - a single step (described as Simple API) ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
43
 - a single step, reusing a context (described as Explicit context) ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
44
 - unbounded multiple steps (described as Streaming compression) ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
45
                                         ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
46
 The compression ratio achievable on small data can be highly improved using ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
47
 a dictionary. Dictionary compression can be performed in: ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
48
 - a single step (described as Simple dictionary API) ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
49
 - a single step, reusing a dictionary (described as Bulk-processing ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
50
 dictionary API)                         ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
51
                                         ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
52
 Advanced experimental functions can be accessed using ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
53
 `#define ZSTD_STATIC_LINKING_ONLY` before including zstd.h. ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
54
                                         ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
55
 Advanced experimental APIs should never be used with a dynamically-linked ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
56
 library. They are not "stable"; their definitions or signatures may change in ; ; ; ; ; ;
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
57
 the future. Only static linking is allowed. ; ; ; ; ; ;
114
ellis <ellis@rwest.io>
parents: 96
diff changeset
58
 |#
ellis <ellis@rwest.io>
parents: 96
diff changeset
59
 
ellis <ellis@rwest.io>
parents: 96
diff changeset
60
 ;;; Code:
96
301fd45bbe73 big refactor of lisp code
ellis <ellis@rwest.io>
parents: 60
diff changeset
61
 (defpackage :zstd
391
757b91ddcb2a zstd init
Richard Westhaver <ellis@rwest.io>
parents: 155
diff changeset
62
   (:use :cl :std :sb-alien)
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
63
   (:nicknames :zstd)
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
64
   (:export :zstd-alien-error :with-zstd-cstream :with-zstd-dstream
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
65
    :zstd-versionnumber :zstd-cstreaminsize :zstd-cstreamoutsize :zstd-inbuffer
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
66
    :zstd-iserror :zstd-defaultclevel :zstd-compress :zstd-decompress
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
67
    :zstd-cstream :zstd-dstream :zstd-compressstream :zstd-decompressstream
470
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
68
    :zstd-compressstream2 :zstd-outbuffer :zstd-geterrorname :zstd-geterrorcode
507
4dd7b6320efc zstd alien errors
Richard Westhaver <ellis@rwest.io>
parents: 470
diff changeset
69
    :zstdc :zstdd
657
937a6f354047 zstd tests and macros
Richard Westhaver <ellis@rwest.io>
parents: 507
diff changeset
70
    :zstd-alien-error :zstd-dstream-error :zstd-cstream-error
937a6f354047 zstd tests and macros
Richard Westhaver <ellis@rwest.io>
parents: 507
diff changeset
71
    :with-zstd-streams
937a6f354047 zstd tests and macros
Richard Westhaver <ellis@rwest.io>
parents: 507
diff changeset
72
    :with-zstd-buffers
937a6f354047 zstd tests and macros
Richard Westhaver <ellis@rwest.io>
parents: 507
diff changeset
73
    :with-zstd-outbuffer
937a6f354047 zstd tests and macros
Richard Westhaver <ellis@rwest.io>
parents: 507
diff changeset
74
    :with-zstd-inbuffer
937a6f354047 zstd tests and macros
Richard Westhaver <ellis@rwest.io>
parents: 507
diff changeset
75
    :with-zstd-cdict
937a6f354047 zstd tests and macros
Richard Westhaver <ellis@rwest.io>
parents: 507
diff changeset
76
    :with-zstd-ddict))
60
ee94191a3fb0 add zstd, todos
ellis <ellis@rwest.io>
parents:
diff changeset
77
 
96
301fd45bbe73 big refactor of lisp code
ellis <ellis@rwest.io>
parents: 60
diff changeset
78
 (in-package :zstd)
114
ellis <ellis@rwest.io>
parents: 96
diff changeset
79
 
391
757b91ddcb2a zstd init
Richard Westhaver <ellis@rwest.io>
parents: 155
diff changeset
80
 (define-alien-loader "zstd" t "/usr/lib/")
757b91ddcb2a zstd init
Richard Westhaver <ellis@rwest.io>
parents: 155
diff changeset
81
 
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
82
 ;;; Types
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
83
 (deftype zstd-error-code ()
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
84
   `(integer 0 120))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
85
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
86
 (deftype zstd-strategy-designator ()
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
87
   `(or (integer ,(zstd-minclevel) ,(zstd-maxclevel))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
88
        (member :fast :dfast :greedy :lazy
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
89
                :lazy2 :btlazy2 :btopt :btultra
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
90
                :btultra2)))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
91
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
92
 (deftype zstd-compression-parameter ()
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
93
   `(integer 100 1024))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
94
 (deftype zstd-decompression-parameter ()
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
95
   `(integer 100 1024))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
96
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
97
 (deftype zstd-reset-directive ()
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
98
   `(or (integer 1 3) (member :session-only :parameters :session-and-parameters)))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
99
 (deftype zstd-end-directive ()
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
100
   `(or (integer 0 2) (member :continue :flus :end)))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
101
 
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
102
 ;;; Errors
507
4dd7b6320efc zstd alien errors
Richard Westhaver <ellis@rwest.io>
parents: 470
diff changeset
103
 (define-condition zstd-alien-condition () ()
4dd7b6320efc zstd alien errors
Richard Westhaver <ellis@rwest.io>
parents: 470
diff changeset
104
   (:documentation "Superclass of all conditions triggered by the ZSTD FFI."))
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
105
 
507
4dd7b6320efc zstd alien errors
Richard Westhaver <ellis@rwest.io>
parents: 470
diff changeset
106
 (deferror zstd-alien-error (error)
4dd7b6320efc zstd alien errors
Richard Westhaver <ellis@rwest.io>
parents: 470
diff changeset
107
     ((code :initarg :code :accessor zstd-error-code))
4dd7b6320efc zstd alien errors
Richard Westhaver <ellis@rwest.io>
parents: 470
diff changeset
108
     (:documentation "Error signaled from Zstd Alien."))
4dd7b6320efc zstd alien errors
Richard Westhaver <ellis@rwest.io>
parents: 470
diff changeset
109
     
469
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
110
 ;; found in zstd_errors.h
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
111
 (define-alien-enum (zstd-errorcode int)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
112
                    :no-error 0
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
113
                    :generic 1
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
114
                    :prefix-unknown 10
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
115
                    :version-unsupported 12
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
116
                    :frameparameter-unsupported 14
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
117
                    :frameparameter-windowtoolarge 16
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
118
                    :corruption-detected 20
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
119
                    :checksum-wrong 22
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
120
                    :literals-headerwrong 24
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
121
                    :dictionary-corrupted 30
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
122
                    :dictionary-wrong 32
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
123
                    :dictionarycreation-failed 34
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
124
                    :parameter-unsupported 40
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
125
                    :parameter-combination-unsupported 41
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
126
                    :parameter-outofbound 42
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
127
                    :tablelog-toolarge 44
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
128
                    :maxsymbolvalue-toolarge 46
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
129
                    :maxsymbolvalue-toosmall 48
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
130
                    :stabilitycondition-notrespected 50
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
131
                    :stage-wrong 60
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
132
                    :init-missing 62
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
133
                    :memory-allocation 64
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
134
                    :workspace-toosmall 66
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
135
                    :dstsize-toosmall 70
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
136
                    :srcsize-wrong 72
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
137
                    :dstbuffer-null 74
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
138
                    :noforwardprogress-destfull 80
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
139
                    :noforwardprogress-inputempty 82
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
140
                    ;; unstable
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
141
                    :frameindex-toolarge 100
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
142
                    :seekableio 102
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
143
                    :dstbuffer-wrong 104
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
144
                    :srcbuffer-wrong 105
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
145
                    :sequenceproducer-failed 106
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
146
                    :externalsequences-invalid 107
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
147
                    :maxcode 120)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
148
 
392
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
149
 ;;; Utils
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
150
 (define-alien-routine "ZSTD_versionNumber" unsigned)
392
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
151
 (define-alien-routine "ZSTD_versionString" c-string)
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
152
 (define-alien-routine "ZSTD_compressBound" size-t (src-size size-t))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
153
 (define-alien-routine "ZSTD_isError" unsigned (code size-t))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
154
 (define-alien-routine "ZSTD_getErrorName" c-string (code size-t))
431
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
155
 ;; zstd_errors.h - does this work?
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
156
 (define-alien-routine "ZSTD_getErrorCode" int (function-result size-t))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
157
 (define-alien-routine "ZSTD_getErrorString" c-string (code int))
c40d2a41d7ce source concatenating std.lisp, more systems, got zstd simple working, IO work, added dat/tar
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
158
 
392
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
159
 (define-alien-routine "ZSTD_minCLevel" int)
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
160
 (define-alien-routine "ZSTD_maxCLevel" int)
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
161
 (define-alien-routine "ZSTD_defaultCLevel" int)
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
162
 
470
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
163
 (define-alien-routine "ZSTD_findFrameCompressedSize" size-t
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
164
   (src (* t))
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
165
   (src-size size-t))
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
166
 
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
167
 (define-alien-routine "ZSTD_getFrameContentSize" unsigned-long-long
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
168
   (src (* t))
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
169
   (src-size size-t))
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
170
 
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
171
 (define-alien-routine "ZSTD_decompressBound" unsigned-long-long
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
172
   (src (* t))
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
173
   (src-size size-t))
c6caddf91c72 zstdd and zstdc
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
174
 
392
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
175
 ;;; Explicit Context API
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
176
 (define-alien-type zstd-cctx (struct zstd-cctx-s))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
177
 
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
178
 (define-alien-routine "ZSTD_createCCtx" (* zstd-cctx))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
179
 (define-alien-routine "ZSTD_freeCCtx" void (cctx (* zstd-cctx)))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
180
 (define-alien-routine "ZSTD_compressCCtx" size-t
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
181
   (cctx (* zstd-cctx))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
182
   (dst (* t)) (dst-capacity size-t)
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
183
   (src (* t)) (src-size size-t)
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
184
   (compression-level int))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
185
 
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
186
 (define-alien-type zstd-dctx (struct zstd-dctx-s))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
187
 
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
188
 (define-alien-routine "ZSTD_createDCtx" (* zstd-dctx))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
189
 (define-alien-routine "ZSTD_freeDCtx" void (dctx (* zstd-dctx)))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
190
 (define-alien-routine "ZSTD_decompressDCtx" size-t
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
191
   (dctx (* zstd-dctx))
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
192
   (dst (* t)) (dst-capacity size-t)
077e7b391758 finish zstd init
Richard Westhaver <ellis@rwest.io>
parents: 391
diff changeset
193
   (src (* t)) (src-size size-t))
469
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
194
 ;;; Advanced API
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
195
 (define-alien-enum (zstd-strategy int)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
196
                    :fast 1
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
197
                    :dfast 2
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
198
                    :greedy 3
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
199
                    :lazy 4
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
200
                    :lazy2 5
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
201
                    :btlazy2 6
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
202
                    :btopt 7
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
203
                    :btultra 8
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
204
                    :btultra2 9)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
205
 
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
206
 (define-alien-enum (zstd-cparameter int)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
207
                    :compression-level 100
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
208
                    :window-log 101
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
209
                    :hash-log 102
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
210
                    :chain-log 103
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
211
                    :search-log 104
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
212
                    :min-match 105
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
213
                    :target-length 106
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
214
                    :strategy 107
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
215
                    :target-c-block-size 130
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
216
                    :enable-long-distance-matching 160
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
217
                    :ldm-hash-log 161
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
218
                    :ldm-min-match 162
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
219
                    :ldm-bucket-size-log 163
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
220
                    :ldm-hash-rate-log 164
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
221
                    :content-size-flag 200
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
222
                    :checksum-flag 201
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
223
                    :dict-id-flag 202
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
224
                    :nb-workers 400
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
225
                    :job-size 401
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
226
                    :overlap-log 402
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
227
                    :expiremental1 500
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
228
                    :expiremental2 10
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
229
                    :expiremental3 1000
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
230
                    :expiremental4 1001
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
231
                    :expiremental5 1002
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
232
                    ;; :expiremental6 1003 ;; is now target-c-block-size
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
233
                    :expiremental7 1004
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
234
                    :expiremental8 1005
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
235
                    :expiremental9 1006
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
236
                    :expiremental10 1007
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
237
                    :expiremental11 1008
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
238
                    :expiremental12 1009
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
239
                    :expiremental13 1010
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
240
                    :expiremental14 1011
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
241
                    :expiremental15 1012
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
242
                    :expiremental16 1013
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
243
                    :expiremental17 1014
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
244
                    :expiremental18 1015
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
245
                    :expiremental19 1016)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
246
 
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
247
 (define-alien-enum (zstd-reset-directive int)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
248
                    :session-only 1
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
249
                    :parameters 2
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
250
                    :session-and-parameters 3)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
251
 
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
252
 (define-alien-enum (zstd-dparameter int)
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
253
                    :window-log-max 100
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
254
                    :experimental1 1000
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
255
                    :experimental2 1001
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
256
                    :experimental3 1002
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
257
                    :experimental4 1003                   
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
258
                    :experimental5 1004
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 438
diff changeset
259
                    :experimental6 1005)