Coverage report: /home/ellis/comp/core/ffi/ublk/cmd.lisp

KindCoveredAll%
expression09 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; cmd.lisp --- Ublk Commands
2
 
3
 ;; 
4
 
5
 ;;; Code:
6
 (in-package :ublk)
7
 (define-alien-type ublksrv-ctrl-cmd
8
     (struct ublksrv-ctrl-cmd
9
             (dev-id (unsigned 32))
10
             (queue-id (unsigned 16))
11
             (len (unsigned 16))
12
             (addr (unsigned 64))
13
             (data (array (unsigned 64) 1))
14
             (dev-path-len (unsigned 16))
15
             (pad (unsigned 16))
16
             (reserved (unsigned 32))))
17
 
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))
22
             (state (unsigned 16))
23
             (pad0 (unsigned 16))
24
             (max-io-buf-bytes (unsigned 32))
25
             (dev-id (unsigned 32))
26
             (ublksrv-pid (signed 32))
27
             (pad1 (unsigned 32))
28
             (flags (unsigned 64))
29
             (ublksrv-flags (unsigned 64))
30
             (owner-uid (unsigned 32))
31
             (owner-gid (unsigned 32))
32
             (reserved1 (unsigned 64))
33
             (reserved2 (unsigned 64))))
34
 
35
 (define-alien-type ublksrv-io-cmd
36
     (struct ublksrv-io-cmd
37
             (q-id (unsigned 16))
38
             (tag (unsigned 16))
39
             (result (signed 32))
40
             (addr (unsigned 64))))
41
 
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))))
48
 
49
 (define-alien-type ublk-param-basic
50
     (struct ublk-param-basic
51
             (attrs (unsigned 32))
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))))
60
 
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))))
68
 
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))))
75
 
76
 (define-alien-type ublk-params
77
     (struct ublk-params
78
             (len (unsigned 32))
79
             (types (unsigned 32))
80
             (basic (struct ublk-param-basic))
81
             (discard (struct ublk-param-discard))
82
             (devt (struct ublk-param-devt))))