243
|
1
|
;;; uring/register.lisp --- IO Register syscalls |
|
2
|
|
|
3
|
;; |
|
4
|
|
|
5
|
;;; Code: |
|
6
|
(in-package :uring) |
|
7
|
|
|
8
|
(defconstant +io-probe-count+ 256) |
|
9
|
|
|
10
|
(defstruct io-probe |
260
|
11
|
(probe (io-uring-get-probe) :type (alien io-uring-probe*)) |
|
12
|
(ops (make-array #.+io-probe-count+) |
|
13
|
:type (array (alien io-uring-probe-op) (#.+io-probe-count+)))) |
243
|
14
|
|
|
15
|
;; op-supported-p |
|
16
|
|
|
17
|
;; An allowed feature of io_uring. Set allowed features with register_restrictions. |
260
|
18
|
(defstruct io-restriction (restriction (make-alien io-uring-restriction) :type (alien (* io-uring-restriction)))) |
243
|
19
|
|
260
|
20
|
;; register-op, sqe-op, sqe-flags-allowed, sqe-flags-required |
243
|
21
|
|
|
22
|
;; used with register_files_update to skip file-descriptors. |
|
23
|
(defconstant +io-skip-file+ ioring-register-files-skip) |