Mercurial > core / lisp/ffi/uring/alien.lisp
changeset 698: |
96958d3eb5b0 |
parent: |
c53892c30395
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: |
-rw-r--r-- |
description: |
fixes |
1 ;;; uring/alien.lisp --- supplementary alien types 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 ()) 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)) 20 (define-alien-routine io-uring-get-probe-ring (* io-uring-probe) (ring (* (struct io-uring)))) 21 (define-alien-routine io-uring-get-probe (* io-uring-probe)) 22 (define-alien-routine io-uring-free-probe void (p (* (struct io-uring-probe)))) 24 ;; (defalien-int io-uring-opcode-supported (p (* (struct io-uring-probe))) (op int)) 25 (defalien-int io-uring-queue-init-mem 27 (ring (* (struct io-uring))) 28 (p (* (struct io-uring-params))) 29 (buf (* t)) (buf-size size-t)) 30 (defalien-int io-uring-queue-init-params 32 (ring (* (struct io-uring))) 33 (p (* (struct io-uring-params)))) 34 (defalien-int io-uring-queue-init (entries int) (ring (* (struct io-uring))) (flags unsigned)) 35 (defalien-int io-uring-queue-mmap (fd int) (p (* (struct io-uring-params))) (ring (* (struct 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)))) 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 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))) 56 (def-with-ring io-uring-register-buffer-tags 57 (iovecs (* (struct iovec))) 58 (tags (array unsigned-long)) 60 (def-with-ring io-uring-register-buffer-sparse 62 (def-with-ring io-uring-register-buffer-update-tag 64 (iovecs (* (struct iovec))) 65 (tags (array unsigned-long)) 67 (def-with-ring io-uring-unregister-buffers) 68 (def-with-ring io-uring-register-files 71 (def-with-ring io-uring-register-files-tags 73 (tags (array unsigned-long)) 75 (def-with-ring io-uring-register-files-sparse 77 (def-with-ring io-uring-register-files-update-tag 80 (tags (array unsigned-long)) 82 (def-with-ring io-uring-unregister-files) 83 (def-with-ring io-uring-register-files-update 86 (tags (array unsigned-long)) 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))) 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 99 ;; (opcode unsigned-int) 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) 119 (defalien-int io-uring-enter 121 (to-submit unsigned-int) 122 (min-complete unsigned-int) 124 (sig (* (struct sigset-t)))) 126 (defalien-int io-uring-enter2 128 (to-submit unsigned-int) 129 (min-complete unsigned-int) 131 (sig (* (struct sigset-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)) 138 (define-alien-routine io-uring-setup-buf-ring (* (struct io-uring-buf-ring)) 139 (ring (* (struct io-uring))) 140 (nentries unsigned-int) 144 (defalien-int io-uring-free-buf-ring 145 (ring (* (struct io-uring))) 146 (br (* (struct io-uring-buf-ring))) 147 (nentries unsigned-int) 151 (define-alien-routine io-uring-mlock-size ssize-t (entries unsigned) (flags unsigned)) 152 (define-alien-routine io-uring-mlock-size-params ssize-t (entries unsigned) (p (* (struct io-uring-params))))