Coverage report: /home/ellis/comp/core/ffi/blake3/pkg.lisp
Kind | Covered | All | % |
expression | 3 | 16 | 18.8 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; blake3.lisp --- low-level bindings to CBLAKE3
6
(defpackage :blake3/pkg
8
(:use :cl :std :sb-alien)
20
:blake3-hasher-init-keyed
21
:blake3-hasher-init-derive-key
22
:blake3-hasher-init-derive-key-raw
24
:blake3-hasher-finalize
25
:blake3-hasher-finalize-seek
31
(define-alien-loader blake3)
33
(defar blake3-version c-string)
35
(define-alien-type blake3-chunk-state
36
(struct blake3-chunk-state
37
(key (array unsigned-int 8))
38
(chunk-counter unsigned-long)
39
(buf (array (unsigned 8) 64))
40
(buf-len (unsigned 8))
41
(blocks-compressed (unsigned 8))
42
(flags (unsigned 8))))
44
(define-alien-type blake3-hasher
46
(key (array unsigned-int 8))
47
(chunk blake3-chunk-state)
48
(cv-stack-len (unsigned 8))
49
(cv-stack (array (unsigned 8) 1760))))
51
(defar blake3-hasher-init void (self (* blake3-hasher)))
53
(defar blake3-hasher-init-keyed void
54
(self (* blake3-hasher))
55
(key (array (unsigned 8) 32)))
57
(defar blake3-hasher-init-derive-key void
58
(self (* blake3-hasher))
61
(defar blake3-hasher-init-derive-key-raw void
62
(self (* blake3-hasher))
66
(defar blake3-hasher-update void
67
(self (* blake3-hasher))
68
(input (* unsigned-char))
71
(defar blake3-hasher-finalize void
72
(self (* blake3-hasher))
73
(out (* unsigned-char))
76
(defar blake3-hasher-finalize-seek void
77
(self (* blake3-hasher))
79
(out (* unsigned-char))
82
(defar blake3-hasher-reset void (self (* blake3-hasher)))
84
(defmacro with-blake3-hasher (hvar &body body)
85
`(with-alien ((,hvar blake3-hasher))
86
(blake3-hasher-init (addr ,hvar))