changelog shortlog graph tags branches changeset file revisions annotate raw help

Mercurial > core / lisp/ffi/ublk/srv.lisp

revision 687: c2f4e7ee921b
parent 686: 8e16efedfd76
child 696: 38e9c3be2392
     1.1--- a/lisp/ffi/ublk/srv.lisp	Sun Sep 29 23:43:03 2024 -0400
     1.2+++ b/lisp/ffi/ublk/srv.lisp	Mon Sep 30 22:27:12 2024 -0400
     1.3@@ -84,3 +84,217 @@
     1.4 
     1.5 (define-alien-routine ublksrv-ctrl-deinit void
     1.6   (dev (* ublksrv-ctrl-dev)))
     1.7+
     1.8+(define-alien-routine ublksrv-ctrl-init (* ublksrv-ctrl-dev)
     1.9+  (data (* ublksrv-dev-data)))
    1.10+
    1.11+(define-alien-routine ublksrv-ctrl-get-affinity int
    1.12+  (ctrl-dev (* ublksrv-ctrl-dev)))
    1.13+
    1.14+(define-alien-routine ublksrv-ctrl-add-dev int
    1.15+  (dev (* ublksrv-ctrl-dev)))
    1.16+
    1.17+(define-alien-routine ublksrv-ctrl-del-dev int
    1.18+  (dev (* ublksrv-ctrl-dev)))
    1.19+
    1.20+(define-alien-routine ublksrv-ctrl-get-info int
    1.21+  (dev (* ublksrv-ctrl-dev)))
    1.22+
    1.23+(define-alien-routine ublksrv-ctrl-stop-dev int
    1.24+  (dev (* ublksrv-ctrl-dev)))
    1.25+
    1.26+(define-alien-routine ublksrv-ctrl-dump void
    1.27+  (dev (* ublksrv-ctrl-dev))
    1.28+  (buf (* char)))
    1.29+
    1.30+(define-alien-routine ublksrv-ctrl-start-dev int
    1.31+  (ctrl-dev (* ublksrv-ctrl-dev))
    1.32+  (daemon-pid int))
    1.33+
    1.34+(define-alien-routine ublksrv-ctrl-set-params int
    1.35+  (dev (* ublksrv-ctrl-dev))
    1.36+  (params (* ublk-params)))
    1.37+
    1.38+(define-alien-routine ublksrv-ctrl-get-params int
    1.39+  (dev (* ublksrv-ctrl-dev))
    1.40+  (params (* ublk-params)))
    1.41+
    1.42+(define-alien-routine ublksrv-ctrl-start-recovery int
    1.43+  (dev (* ublksrv-ctrl-dev)))
    1.44+
    1.45+(define-alien-routine ublksrv-ctrl-end-recovery int
    1.46+  (dev (* ublksrv-ctrl-dev))
    1.47+  (daemon-pid int))
    1.48+
    1.49+(define-alien-routine ublksrv-ctrl-get-dev-info (* ublksrv-ctrl-dev-info)
    1.50+  (dev (* ublksrv-ctrl-dev)))
    1.51+  
    1.52+(define-alien-routine ublksrv-ctrl-get-features int
    1.53+  (dev (* ublksrv-ctrl-dev))
    1.54+  (features (* unsigned-long)))
    1.55+
    1.56+(define-alien-routine ublksrv-ctrl-get-run-dir c-string
    1.57+  (dev (* ublksrv-ctrl-dev)))
    1.58+
    1.59+(define-alien-routine ublksrv-ctrl-prep-recovery void
    1.60+  (dev (* ublksrv-ctrl-dev))
    1.61+  (tgt-type c-string)
    1.62+  (tgt-ops (* ublksrv-tgt-type))
    1.63+  (recovery-jbuf c-string))
    1.64+
    1.65+(define-alien-routine ublksrv-ctrl-get-recovery-jbuf c-string
    1.66+  (dev (* ublksrv-ctrl-dev)))
    1.67+
    1.68+(define-alien-routine ublksrv-is-recovering boolean
    1.69+  (ctrl-dev (* ublksrv-ctrl-dev)))
    1.70+
    1.71+(define-alien-routine ublksrv-dev-init (* ublksrv-dev)
    1.72+  (ctrl-dev (* ublksrv-ctrl-dev)))
    1.73+
    1.74+(define-alien-routine ublksrv-dev-deinit void
    1.75+  (dev (* ublksrv-dev)))
    1.76+
    1.77+(define-alien-routine ublksrv-get-ctrl-dev (* ublksrv-ctrl-dev)
    1.78+  (dev (* ublksrv-dev)))
    1.79+
    1.80+(define-alien-routine ublksrv-get-pidfile-fd int
    1.81+  (dev (* ublksrv-dev)))
    1.82+
    1.83+(define-alien-routine ublksrv-dev-set-cq-depth void
    1.84+  (dev (* ublksrv-dev))
    1.85+  (cq-depth int))
    1.86+
    1.87+(define-alien-routine ublksrv-dev-get-cq-depth int
    1.88+  (dev (* ublksrv-dev)))
    1.89+
    1.90+(define-alien-routine ublksrv-apply-oom-protection void)
    1.91+
    1.92+(define-alien-type ublksrv-tgt-base-json
    1.93+  (struct ublksrv-tgt-base-json
    1.94+          (name (array char #.+ublksrv-tgt-name-max-len+))
    1.95+          (type int)
    1.96+          (pad unsigned-int)
    1.97+          (dev-size unsigned-long-long)
    1.98+          (reserved (array unsigned-long 8))))
    1.99+
   1.100+(define-alien-routine ublksrv-json-write-dev-info int
   1.101+  (dev (* ublksrv-ctrl-dev))
   1.102+  (buf (* char))
   1.103+  (len int))
   1.104+
   1.105+(define-alien-routine ublksrv-json-read-dev-info int
   1.106+  (json-buf (* char))
   1.107+  (info (* ublksrv-ctrl-dev-info)))
   1.108+
   1.109+(define-alien-routine ublksrv-json-write-queue-info int
   1.110+  (dev (* ublksrv-ctrl-dev))
   1.111+  (jbuf (* char))
   1.112+  (len int)
   1.113+  (qid int)
   1.114+  (ubq-daemon-tid int))
   1.115+
   1.116+(define-alien-routine ublksrv-json-read-queue-info int
   1.117+  (jbuf (* char))
   1.118+  (qid int)
   1.119+  (tid (* unsigned))
   1.120+  (affinity-buf (* char))
   1.121+  (len int))
   1.122+
   1.123+(define-alien-routine ublksrv-json-read-target-info int
   1.124+  (jbuf (* char))
   1.125+  (tgt-buf (* char))
   1.126+  (len int))
   1.127+
   1.128+(define-alien-routine ublksrv-json-read-target-str-info int
   1.129+  (jbuf (* char))
   1.130+  (len int)
   1.131+  (name (* char))
   1.132+  (val (* long)))
   1.133+
   1.134+(define-alien-routine ublksrv-json-read-target-ulong-info int
   1.135+  (jbuf (* char))
   1.136+  (name (* char))
   1.137+  (val (* long)))
   1.138+
   1.139+(define-alien-routine ublksrv-json-write-target-str-info int
   1.140+  (jbuf (* char))
   1.141+  (len int)
   1.142+  (name (* char))
   1.143+  (val (* char)))
   1.144+
   1.145+(define-alien-routine ublksrv-json-write-target-long-info int
   1.146+  (jbuf (* char))
   1.147+  (len int)
   1.148+  (name (* char))
   1.149+  (val long))
   1.150+
   1.151+(define-alien-routine ublksrv-json-write-target-ulong-info int
   1.152+  (jbuf (* char))
   1.153+  (len int)
   1.154+  (name (* char))
   1.155+  (val unsigned-long))
   1.156+
   1.157+(define-alien-routine ublksrv-json-dump void
   1.158+  (jbuf (* char)))
   1.159+
   1.160+(define-alien-routine ublksrv-json-read-target-base-info int
   1.161+  (jbuf (* char))
   1.162+  (tgt (* ublksrv-tgt-base-json)))
   1.163+
   1.164+(define-alien-routine ublksrv-json-read-params int
   1.165+  (p (* ublk-params))
   1.166+  (jbuf (* char)))
   1.167+
   1.168+(define-alien-routine ublksrv-json-write-params int
   1.169+  (p (* ublk-params))
   1.170+  (jbuf (* char))
   1.171+  (len int))
   1.172+
   1.173+(define-alien-routine ublksrv-json-dump-params int
   1.174+  (jbuf (* char)))
   1.175+
   1.176+(define-alien-routine ublksrv-json-get-length int (jbuf (* char)))
   1.177+
   1.178+(define-alien-routine ublksrv-io-private-data (* t)
   1.179+  (q (* ublksrv-queue))
   1.180+  (tag int))
   1.181+
   1.182+(define-alien-routine ublksrv-queue-get-io-data (* ublk-io-data)
   1.183+  (q (* ublksrv-queue))
   1.184+  (tag int))
   1.185+
   1.186+(define-alien-routine ublksrv-queue-get-io-buf (* t)
   1.187+  (q (* ublksrv-queue))
   1.188+  (tag int))
   1.189+
   1.190+(define-alien-routine ublksrv-queue-state unsigned-int
   1.191+  (q (* ublksrv-queue)))
   1.192+
   1.193+(define-alien-routine ublksrv-queue-init (* ublksrv-queue)
   1.194+  (dev (* ublksrv-dev))
   1.195+  (d-id unsigned-short)
   1.196+  (queue-data (* t)))
   1.197+
   1.198+(define-alien-routine ublksrv-queue-deinit void
   1.199+  (q (* ublksrv-queue)))
   1.200+
   1.201+(define-alien-routine ublksrv-queue-unconsumed-cqes int
   1.202+  (q (* ublksrv-queue)))
   1.203+
   1.204+(define-alien-routine ublksrv-queue-handled-event int
   1.205+  (q (* ublksrv-queue)))
   1.206+
   1.207+(define-alien-routine ublksrv-queue-send-event int
   1.208+  (q (* ublksrv-queue)))
   1.209+
   1.210+(define-alien-routine ublksrv-get-queue (* ublksrv-queue)
   1.211+  (dev (* ublksrv-dev))
   1.212+  (q-id int))
   1.213+
   1.214+(define-alien-routine ublksrv-process-io int
   1.215+  (q (* ublksrv-queue)))
   1.216+
   1.217+(define-alien-routine ublksrv-complete-io int
   1.218+  (q (* ublksrv-queue))
   1.219+  (tag unsigned)
   1.220+  (res int))