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