Mercurial > core / lisp/ffi/ublk/pkg.lisp
changeset 434: |
37e1822fa6c1 |
parent: |
9ae13b700195
|
child: |
8e16efedfd76 |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Sun, 09 Jun 2024 22:09:18 -0400 |
permissions: |
-rw-r--r-- |
description: |
ublk constants and structs |
1 ;;; ublk.lisp --- low-level bindings to libulksrv 7 (:use :cl :std :sb-alien) 12 (define-alien-loader "ublksrv" t) 14 (define-alien-type ublksrv-ctrl-cmd 15 (struct ublksrv-ctrl-cmd 16 (dev-id (unsigned 32)) 17 (queue-id (unsigned 16)) 20 (data (array (unsigned 64) 1)) 21 (dev-path-len (unsigned 16)) 23 (reserved (unsigned 32)))) 25 (define-alien-type ublksrv-ctrl-dev-info 26 (struct ublksrv-ctrl-dev-info 27 (nr-hw-queues (unsigned 16)) 28 (queue-depth (unsigned 16)) 31 (max-io-buf-bytes (unsigned 32)) 32 (dev-id (unsigned 32)) 33 (ublksrv-pid (signed 32)) 36 (ublksrv-flags (unsigned 64)) 37 (owner-uid (unsigned 32)) 38 (owner-gid (unsigned 32)) 39 (reserved1 (unsigned 64)) 40 (reserved2 (unsigned 64)))) 42 (define-alien-type ublksrv-io-cmd 43 (struct ublksrv-io-cmd 47 (addr (unsigned 64)))) 49 (define-alien-type ublk-param-basic 50 (struct ublk-param-basic 52 (logical-bs-shift (unsigned 8)) 53 (physical-bs-shift (unsigned 8)) 54 (io-opt-shift (unsigned 8)) 55 (io-min-shift (unsigned 8)) 56 (max-sectors (unsigned 32)) 57 (chunk-sectors (unsigned 32)) 58 (dev-sectors (unsigned 64)) 59 (virt-boundary-mask (unsigned 64)))) 61 (define-alien-type ublk-param-discard 62 (struct ublk-param-discard 63 (discard-alignment (unsigned 32)) 64 (discard-granularity (unsigned 32)) 65 (max-discard-sectors (unsigned 32)) 66 (max-write-zeroes-sectors (unsigned 32)) 67 (reserved0 (unsigned 16)))) 69 (define-alien-type ublk-param-devt 70 (struct ublk-param-devt 71 (char-major (unsigned 32)) 72 (char-minor (unsigned 32)) 73 (disk-major (unsigned 32)) 74 (disk-minor (unsigned 32)))) 76 (define-alien-type ublk-params 80 (basic (struct ublk-param-basic)) 81 (discard (struct ublk-param-discard)) 82 (devt (struct ublk-param-devt)))) 84 ;; (define-alien-type ublksrv-dev-data)