Coverage report: /home/ellis/comp/core/ffi/uring/alien.lisp

KindCoveredAll%
expression059 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; uring/alien.lisp --- supplementary alien types
2
 
3
 ;;
4
 
5
 ;;; Code:
6
 (in-package :uring)
7
 
8
 ;;; barrier.h
9
 ;; (defun io-uring-write-once (var val))
10
 ;; (defun io-uring-read-once (var))
11
 ;; (defun io-uring-smp-store-release (p v))
12
 ;; (defun io-uring-smp-load-acquire (p))
13
 ;; (defun io-uring-smp-mb ())
14
 
15
 ;;; liburing.h
16
 (defalien-int io-uring-major-version)
17
 (defalien-int io-uring-minor-version)
18
 (defalien-int io-uring-check-version (major int) (minor int))
19
 
20
 (defar io-uring-get-probe-ring (* io-uring-probe) (ring (* io-uring)))
21
 (defar io-uring-get-probe (* io-uring-probe))
22
 (defar io-uring-free-probe void (p (* (struct io-uring-probe))))
23
 
24
 ;; (defalien-int io-uring-opcode-supported (p (* (struct io-uring-probe))) (op int))
25
 (defalien-int io-uring-queue-init-mem
26
   (entries unsigned)
27
   (ring (* io-uring))
28
   (p (* (struct io-uring-params)))
29
   (buf (* t)) (buf-size size-t))
30
 (defalien-int io-uring-queue-init-params
31
   (entries unsigned)
32
   (ring (* io-uring))
33
   (p (* (struct io-uring-params))))
34
 (defalien-int io-uring-queue-init (entries int) (ring (* io-uring)) (flags unsigned))
35
 (defalien-int io-uring-queue-mmap (fd int) (p (* (struct io-uring-params))) (ring (* io-uring)))
36
 (def-with-ring io-uring-ring-dontfork)
37
 (def-with-ring io-uring-queue-exit)
38
 (def-with-ring io-uring-peek-batch-cqe (cqes (array (* (struct io-uring-cqe)))) (count unsigned))
39
 (def-with-ring io-uring-wait-cqes
40
   (cqe-ptr (* (* (struct io-uring-cqe))))
41
   (wait-nr unsigned)
42
   (ts (* (struct kernel-timespec)))
43
   (sigmask (* (struct sigset-t)))) ;; maybe should be (* t)?
44
 (def-with-ring io-uring-wait-cqe-timeout
45
   (cqe-ptr (* (* (struct io-uring-cqe))))
46
   (ts (* (struct kernel-timespec))))
47
 (def-with-ring io-uring-submit)
48
 (def-with-ring io-uring-submit-and-wait 
49
   (wait-nr unsigned))
50
 (def-with-ring io-uring-submit-and-wait-timeout
51
   (cqe-ptr (* (* (struct io-uring-cqe))))
52
   (ts (* (struct kernel-timespec))))
53
 (def-with-ring io-uring-register-buffers
54
   (iovecs (* (struct iovec)))
55
   (nr-iovecs unsigned))
56
 (def-with-ring io-uring-register-buffer-tags
57
   (iovecs (* (struct iovec)))
58
   (tags (array unsigned-long))
59
   (nr unsigned))
60
 (def-with-ring io-uring-register-buffer-sparse
61
   (nr unsigned))
62
 (def-with-ring io-uring-register-buffer-update-tag
63
   (off unsigned)
64
   (iovecs (* (struct iovec)))
65
   (tags (array unsigned-long))
66
   (nr unsigned))
67
 (def-with-ring io-uring-unregister-buffers)
68
 (def-with-ring io-uring-register-files
69
   (files (array int))
70
   (nr-files unsigned))
71
 (def-with-ring io-uring-register-files-tags
72
   (files (array int))
73
   (tags (array unsigned-long))
74
   (nr unsigned))
75
 (def-with-ring io-uring-register-files-sparse
76
   (nr unsigned))
77
 (def-with-ring io-uring-register-files-update-tag
78
   (off unsigned)
79
   (files (array int))
80
   (tags (array unsigned-long))
81
   (nr-files unsigned))
82
 (def-with-ring io-uring-unregister-files)
83
 (def-with-ring io-uring-register-files-update
84
   (off unsigned)
85
   (files (array int))
86
   (tags (array unsigned-long))
87
   (nr-files unsigned))
88
 (def-with-ring io-uring-register-eventfd (fd int))
89
 (def-with-ring io-uring-register-eventfd-async (fd int))
90
 (def-with-ring io-uring-unregister-eventfd)
91
 (def-with-ring io-uring-register-probe
92
   (p (* (struct io-uring-probe)))
93
   (nr unsigned))
94
 (def-with-ring io-uring-register-personality)
95
 (def-with-ring io-uring-unregister-personality (fd int))
96
 (def-with-ring io-uring-register-restrictions (res (array (struct io-uring-restriction))) (nr-res unsigned-int))
97
 ;; (defalien-int io-uring-register
98
 ;;   (fd int)
99
 ;;   (opcode unsigned-int)
100
 ;;   (args (* t))
101
 ;;   (nr-args unsigned-int))
102
 (def-with-ring io-uring-enable-rings)
103
 (def-with-ring __io-uring-sqring-wait) ;;fixme
104
 (def-with-ring io-uring-register-iowq-aff (cpusz size-t) (mask (* (struct cpu-set-t))))
105
 (def-with-ring io-uring-unregister-iowq-aff)
106
 (def-with-ring io-uring-register-iowq-max-workers (values (array unsigned-int)))
107
 (def-with-ring io-uring-register-ring-fd)
108
 (def-with-ring io-uring-unregister-ring-fd)
109
 (def-with-ring io-uring-close-ring-fd)
110
 (def-with-ring io-uring-register-buf-ring
111
   (reg (* (struct io-uring-buf-reg))) (flags unsigned-int))
112
 (def-with-ring io-uring-unregister-buf-ring (bgid int))
113
 (def-with-ring io-uring-register-sync-cancel (reg (* (struct io-uring-sync-cancel-reg))))
114
 (def-with-ring io-uring-register-file-alloc-range (off unsigned) (len unsigned))
115
 (def-with-ring io-uring-get-events)
116
 (def-with-ring io-uring-submit-and-get-events)
117
 
118
 ;;; Syscalls
119
 (defalien-int io-uring-enter
120
   (fd int)
121
   (to-submit unsigned-int)
122
   (min-complete unsigned-int)
123
   (flags unsigned-int)
124
   (sig (* (struct sigset-t))))
125
 
126
 (defalien-int io-uring-enter2
127
   (fd int)
128
   (to-submit unsigned-int)
129
   (min-complete unsigned-int)
130
   (flags unsigned-int)
131
   (sig (* (struct sigset-t)))
132
   (sz size-t))
133
 (defalien-int io-uring-setup
134
   (entries unsigned-int)
135
   (p (* (struct io-uring-params))))
136
 (defalien-int io-uring-register (fd unsigned-int) (opcode unsigned-int) (arg (* t)) (nr-args unsigned-int))
137
 
138
 (defar io-uring-setup-buf-ring (* (struct io-uring-buf-ring))
139
   (ring (* io-uring))
140
   (nentries unsigned-int)
141
   (bgid int)
142
   (flags unsigned-int)
143
   (ret (* int)))
144
 (defalien-int io-uring-free-buf-ring
145
     (ring (* io-uring))
146
   (br (* (struct io-uring-buf-ring)))
147
   (nentries unsigned-int)
148
   (bgid int))
149
 
150
 ;;..
151
 (defar io-uring-mlock-size ssize-t (entries unsigned) (flags unsigned))
152
 (defar io-uring-mlock-size-params ssize-t (entries unsigned) (p (* (struct io-uring-params))))