1.1--- a/lisp/ffi/zstd/pkg.lisp Sat Jun 22 00:51:41 2024 -0400
1.2+++ b/lisp/ffi/zstd/pkg.lisp Sat Jun 22 19:45:19 2024 -0400
1.3@@ -97,6 +97,45 @@
1.4 (:auto t)
1.5 (:documentation "Error signaled from the Zstd C API."))
1.6
1.7+;; found in zstd_errors.h
1.8+(define-alien-enum (zstd-errorcode int)
1.9+ :no-error 0
1.10+ :generic 1
1.11+ :prefix-unknown 10
1.12+ :version-unsupported 12
1.13+ :frameparameter-unsupported 14
1.14+ :frameparameter-windowtoolarge 16
1.15+ :corruption-detected 20
1.16+ :checksum-wrong 22
1.17+ :literals-headerwrong 24
1.18+ :dictionary-corrupted 30
1.19+ :dictionary-wrong 32
1.20+ :dictionarycreation-failed 34
1.21+ :parameter-unsupported 40
1.22+ :parameter-combination-unsupported 41
1.23+ :parameter-outofbound 42
1.24+ :tablelog-toolarge 44
1.25+ :maxsymbolvalue-toolarge 46
1.26+ :maxsymbolvalue-toosmall 48
1.27+ :stabilitycondition-notrespected 50
1.28+ :stage-wrong 60
1.29+ :init-missing 62
1.30+ :memory-allocation 64
1.31+ :workspace-toosmall 66
1.32+ :dstsize-toosmall 70
1.33+ :srcsize-wrong 72
1.34+ :dstbuffer-null 74
1.35+ :noforwardprogress-destfull 80
1.36+ :noforwardprogress-inputempty 82
1.37+ ;; unstable
1.38+ :frameindex-toolarge 100
1.39+ :seekableio 102
1.40+ :dstbuffer-wrong 104
1.41+ :srcbuffer-wrong 105
1.42+ :sequenceproducer-failed 106
1.43+ :externalsequences-invalid 107
1.44+ :maxcode 120)
1.45+
1.46 ;;; Utils
1.47 (define-alien-routine "ZSTD_versionNumber" unsigned)
1.48 (define-alien-routine "ZSTD_versionString" c-string)
1.49@@ -130,3 +169,69 @@
1.50 (dctx (* zstd-dctx))
1.51 (dst (* t)) (dst-capacity size-t)
1.52 (src (* t)) (src-size size-t))
1.53+;;; Advanced API
1.54+(define-alien-enum (zstd-strategy int)
1.55+ :fast 1
1.56+ :dfast 2
1.57+ :greedy 3
1.58+ :lazy 4
1.59+ :lazy2 5
1.60+ :btlazy2 6
1.61+ :btopt 7
1.62+ :btultra 8
1.63+ :btultra2 9)
1.64+
1.65+(define-alien-enum (zstd-cparameter int)
1.66+ :compression-level 100
1.67+ :window-log 101
1.68+ :hash-log 102
1.69+ :chain-log 103
1.70+ :search-log 104
1.71+ :min-match 105
1.72+ :target-length 106
1.73+ :strategy 107
1.74+ :target-c-block-size 130
1.75+ :enable-long-distance-matching 160
1.76+ :ldm-hash-log 161
1.77+ :ldm-min-match 162
1.78+ :ldm-bucket-size-log 163
1.79+ :ldm-hash-rate-log 164
1.80+ :content-size-flag 200
1.81+ :checksum-flag 201
1.82+ :dict-id-flag 202
1.83+ :nb-workers 400
1.84+ :job-size 401
1.85+ :overlap-log 402
1.86+ :expiremental1 500
1.87+ :expiremental2 10
1.88+ :expiremental3 1000
1.89+ :expiremental4 1001
1.90+ :expiremental5 1002
1.91+ ;; :expiremental6 1003 ;; is now target-c-block-size
1.92+ :expiremental7 1004
1.93+ :expiremental8 1005
1.94+ :expiremental9 1006
1.95+ :expiremental10 1007
1.96+ :expiremental11 1008
1.97+ :expiremental12 1009
1.98+ :expiremental13 1010
1.99+ :expiremental14 1011
1.100+ :expiremental15 1012
1.101+ :expiremental16 1013
1.102+ :expiremental17 1014
1.103+ :expiremental18 1015
1.104+ :expiremental19 1016)
1.105+
1.106+(define-alien-enum (zstd-reset-directive int)
1.107+ :session-only 1
1.108+ :parameters 2
1.109+ :session-and-parameters 3)
1.110+
1.111+(define-alien-enum (zstd-dparameter int)
1.112+ :window-log-max 100
1.113+ :experimental1 1000
1.114+ :experimental2 1001
1.115+ :experimental3 1002
1.116+ :experimental4 1003
1.117+ :experimental5 1004
1.118+ :experimental6 1005)