changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/ffi/btrfs/util.lisp

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