Mercurial > core / lisp/ffi/ublk/cmd.lisp
changeset 686: |
8e16efedfd76 |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Sun, 29 Sep 2024 23:43:03 -0400 |
permissions: |
-rw-r--r-- |
description: |
prim work on ffi/ublk |
1 ;;; cmd.lisp --- Ublk Commands 7 (define-alien-type ublksrv-ctrl-cmd 8 (struct ublksrv-ctrl-cmd 10 (queue-id (unsigned 16)) 13 (data (array (unsigned 64) 1)) 14 (dev-path-len (unsigned 16)) 16 (reserved (unsigned 32)))) 18 (define-alien-type ublksrv-ctrl-dev-info 19 (struct ublksrv-ctrl-dev-info 20 (nr-hw-queues (unsigned 16)) 21 (queue-depth (unsigned 16)) 24 (max-io-buf-bytes (unsigned 32)) 25 (dev-id (unsigned 32)) 26 (ublksrv-pid (signed 32)) 29 (ublksrv-flags (unsigned 64)) 30 (owner-uid (unsigned 32)) 31 (owner-gid (unsigned 32)) 32 (reserved1 (unsigned 64)) 33 (reserved2 (unsigned 64)))) 35 (define-alien-type ublksrv-io-cmd 36 (struct ublksrv-io-cmd 40 (addr (unsigned 64)))) 42 (define-alien-type ublksrv-io-desc 43 (struct ublksrv-io-desc 44 (op-flags unsigned-int) 45 (nr-sectors unsigned-int) 46 (start-sector (unsigned 64)) 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))))