Coverage report: /home/ellis/comp/core/ffi/btrfs/util.lisp

KindCoveredAll%
expression147 2.1
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; util.lisp --- BtrfsUtil Alien Bindings
2
 
3
 ;; 
4
 
5
 ;;; Code:
6
 (in-package :btrfs)
7
 
8
 (define-opaque btrfs-util-qgroup-inherit t)
9
 (define-opaque btrfs-util-subvolume-iterator t)
10
 
11
 (define-alien-enum (btrfs-util-error int)
12
                    :ok 0
13
                    :stop-iteration 1
14
                    :no-memory 2
15
                    :invalid-argument 3
16
                    :not-btrfs 4
17
                    :not-subvolume 5
18
                    :subvolume-not-found 6
19
                    :error-open-failed 7
20
                    :error-rmdir-failed 8
21
                    :error-unlink-failed 9
22
                    :error-stat-failed 10
23
                    :error-statfs-failed 11
24
                    :error-search-failed 12
25
                    :error-ino-lookup-failed 13
26
                    :error-subvol-getflags-failed 14
27
                    :error-subvol-setflags-failed 15
28
                    :error-subvol-create-failed 16
29
                    :error-snap-create-failed 17
30
                    :error-snap-destroy-failed 18
31
                    :error-default-subvol-failed 19
32
                    :error-sync-failed 20
33
                    :error-start-sync-failed 21
34
                    :error-wait-sync-failed 22
35
                    :error-get-subvol-info-failed 23
36
                    :error-get-subvol-rootref-failed 24
37
                    :error-ino-lookup-user-failed 25
38
                    :error-fs-info-failed 26)
39
 
40
 (defar btrfs-util-strerror c-string (err btrfs-util-error))
41
 
42
 (defar btrfs-util-subvolume-iter-destroy void
43
   (iter (* btrfs-util-subvolume-iterator)))
44
 
45
 (defar btrfs-util-subvolume-iterator-get-fd int
46
   (iter (* btrfs-util-subvolume-iterator)))
47
 
48
 (defar btrfs-util-qgroup-inherit-destroy void
49
   (inherit (* btrfs-util-qgroup-inherit)))
50
 
51
 (macrolet ((def (name &rest args)
52
                `(progn
53
                   (defar ,name btrfs-util-error ,@args)
54
                   (export ',name))))
55
   (def btrfs-util-fs-sync (path c-string))
56
   (def btrfs-util-fs-sync-fd (fd int))
57
   (def btrfs-util-fs-start-sync
58
       (path c-string)
59
       (transid (* (unsigned 64))))
60
   (def btrfs-util-fs-start-sync-fd
61
       (fd int)
62
       (transid (* (unsigned 64))))
63
   (def btrfs-util-fs-wait-sync (path c-string) (transid (unsigned 64)))
64
   (def btrfs-util-fs-wait-sync-fd (fd int) (transid (unsigned 64)))
65
   (def btrfs-util-subvolume-is-valid (path c-string))
66
   (def btrfs-util-subvolume-is-valid-fd (fd int))
67
   (def btrfs-util-subvolume-get-id (path c-string) (id-ret (* (unsigned 64))))
68
   (def btrfs-util-subvolume-get-id-fd (fd int) (id-ret (* (unsigned 64))))
69
   (def btrfs-util-subvolume-get-path
70
       (path c-string)
71
       (id (unsigned 64))
72
     (path-ret (* c-string)))
73
   (def btrfs-util-subvolume-get-path-fd
74
       (fd int)
75
       (id (unsigned 64))
76
     (path-ret (* c-string)))
77
   (def btrfs-util-subvolume-get-info
78
       (path c-string)
79
       (id (unsigned 64))
80
     (subvol (* btrfs-util-subvolume-info)))
81
   (def btrfs-util-subvolume-get-info-fd
82
       (fd int)
83
       (id (unsigned 64))
84
     (subvol (* btrfs-util-subvolume-info)))
85
   (def btrfs-util-subvolume-get-read-only
86
       (path c-string)
87
       (ret (* boolean)))
88
   (def btrfs-util-subvolume-get-read-only-fd
89
       (fd int)
90
       (ret (* boolean)))
91
   (def btrfs-util-subvolume-set-read-only
92
       (path c-string)
93
       (read-only boolean))
94
   (def btrfs-util-subvolume-set-read-only-fd
95
       (fd int)
96
       (read-only boolean))
97
   (def btrfs-util-subvolume-get-default
98
       (path c-string)
99
       (id-ret (* (unsigned 64))))
100
   (def btrfs-util-subvolume-get-default-fd
101
       (fd int)
102
       (id-ret (* (unsigned 64))))
103
   (def btrfs-util-subvolume-set-default
104
       (path c-string)
105
       (id (unsigned 64)))
106
   (def btrfs-util-subvolume-set-default-fd
107
       (fd int)
108
       (id (unsigned 64)))
109
   (def btrfs-util-subvolume-create
110
       (path c-string)
111
       (flags (* int))
112
     (unused (* (unsigned 64)))
113
     (qgroup-inherit (* btrfs-util-qgroup-inherit)))
114
   (def btrfs-util-subvolume-create-fd
115
       (fd int)
116
       (name c-string)
117
     (flags int)
118
     (unused (* (unsigned 64)))
119
     (qgroup-inherit (* btrfs-util-qgroup-inherit)))
120
   (def btrfs-util-subvolume-snapshot
121
       (source c-string)
122
       (path c-string)
123
     (flags int)
124
     (unused (* (unsigned 64)))
125
     (qgroup-inherit (* btrfs-util-qgroup-inherit)))
126
   (def btrfs-util-subvolume-snapshot-fd
127
       (fd int)
128
       (path c-string)
129
     (flags int)
130
     (unused (* (unsigned 64)))
131
     (qgroup-inherit (* btrfs-util-qgroup-inherit)))
132
   (def btrfs-util-subvolume-snapshot-fd2
133
       (fd int)
134
       (parent-fd int)
135
     (name c-string)
136
     (flags int)
137
     (unused (* (unsigned 64)))
138
     (qgroup-inherit (* btrfs-util-qgroup-inherit)))
139
   (def btrfs-util-subvolume-delete
140
       (path c-string)
141
       (flags int))
142
   (def btrfs-util-subvolume-delete-fd
143
       (parent-fd int)
144
       (name c-string)
145
     (flags int))
146
   (def btrfs-util-subvolume-delete-by-id-fd
147
       (fd int)
148
       (subvolid (unsigned 64)))
149
   (def btrfs-util-subvolume-iter-create
150
       (path c-string)
151
       (top (unsigned 64))
152
     (flags int)
153
     (ret (* (* btrfs-util-subvolume-iterator))))
154
   (def btrfs-util-subvolume-iter-create-fd
155
       (fd int)
156
       (top (unsigned 64))
157
     (flags int)
158
     (ret (* (* btrfs-util-subvolume-iterator))))
159
   (def btrfs-util-subvolume-iter-next
160
       (iter (* btrfs-util-subvolume-iterator))
161
       (path-ret (* c-string))
162
     (id-ret (* (unsigned 64))))
163
   (def btrfs-util-subvolume-iter-next-info
164
       (iter (* btrfs-util-subvolume-iterator))
165
       (path-ret (* c-string))
166
     (subvol (* btrfs-util-subvolume-info)))
167
   (def btrfs-util-subvolume-list-deleted
168
       (path c-string)
169
       (ids (* (* (unsigned 64))))
170
     (n (* size-t)))
171
   (def btrfs-util-subvolume-list-deleted-fd
172
       (fd int)
173
       (ids (* (* (unsigned 64))))
174
     (n (* size-t)))
175
   (def btrfs-util-qgroup-inherit-create
176
       (flags int)
177
       (ret (* (* btrfs-util-qgroup-inherit))))
178
   (def btrfs-util-qgroup-inherit-add-group
179
       (inherit (* (* btrfs-util-qgroup-inherit)))
180
       (qgroupid (unsigned 64)))
181
   (def btrfs-util-qgroup-inherit-get-groups
182
       (inherit (* btrfs-util-qgroup-inherit))
183
       (groups (* (* (unsigned 64))))
184
     (n (* size-t))))