1use ::*;
2#[derive(Clone, Debug)]
3pub struct Unknown {
4 pub header: CommandHeader,
5 pub data: TLVData
6}
7
8#[derive(Clone, Debug, Default)]
9pub struct Subvol {
10 pub path: BtrfsString,
11 pub uuid: Uuid,
12 pub ctransid: u64,
13}
14
15#[derive(Clone, Debug, Default)]
16pub struct Snapshot {
17 pub path: BtrfsString,
18 pub uuid: Uuid,
19 pub ctransid: u64,
20 pub clone_uuid: Uuid,
21 pub clone_ctransid: u64,
22}
23
24#[derive(Clone, Debug, Default)]
25pub struct MkFile {
26 pub path: BtrfsString,
27}
28
29#[derive(Clone, Debug, Default)]
30pub struct MkDir {
31 pub path: BtrfsString,
32}
33
34#[derive(Clone, Debug, Default)]
35pub struct MkNod {
36 pub path: BtrfsString,
37 pub mode: u64,
38 pub rdev: u64,
39}
40
41#[derive(Clone, Debug, Default)]
42pub struct MkFifo {
43 pub path: BtrfsString,
44}
45
46#[derive(Clone, Debug, Default)]
47pub struct MkSock {
48 pub path: BtrfsString,
49}
50
51#[derive(Clone, Debug, Default)]
52pub struct SymLink {
53 pub path: BtrfsString,
54 pub path_link: BtrfsString,
55}
56
57#[derive(Clone, Debug, Default)]
58pub struct Rename {
59 pub path: BtrfsString,
60 pub path_to: BtrfsString,
61}
62
63#[derive(Clone, Debug, Default)]
64pub struct Link {
65 pub path: BtrfsString,
66 pub path_link: BtrfsString,
67}
68
69#[derive(Clone, Debug, Default)]
70pub struct UnLink {
71 pub path: BtrfsString,
72}
73
74#[derive(Clone, Debug, Default)]
75pub struct RmDir {
76 pub path: BtrfsString,
77}
78
79#[derive(Clone, Debug, Default)]
80pub struct Write {
81 pub path: BtrfsString,
82 pub file_offset: u64,
83 pub data: Vec<u8>,
84}
85
86#[derive(Clone, Debug, Default)]
87pub struct Clone {
88 pub path: BtrfsString,
89 pub file_offset: u64,
90 pub clone_len: u64,
91 pub clone_uuid: Uuid,
92 pub clone_ctransid: u64,
93 pub clone_path: BtrfsString,
94 pub clone_offset: u64,
95}
96
97#[derive(Clone, Debug, Default)]
98pub struct SetXattr {
99 pub path: BtrfsString,
100 pub xattr_name: BtrfsString,
101 pub xattr_data: Vec<u8>
102}
103
104#[derive(Clone, Debug, Default)]
105pub struct RemoveXattr {
106 pub path: BtrfsString,
107 pub xattr_name: BtrfsString,
108}
109
110#[derive(Clone, Debug, Default)]
111pub struct Truncate {
112 pub path: BtrfsString,
113 pub size: u64,
114}
115
116#[derive(Clone, Debug, Default)]
117pub struct Chmod {
118 pub path: BtrfsString,
119 pub mode: u64,
120}
121
122#[derive(Clone, Debug, Default)]
123pub struct Chown {
124 pub path: BtrfsString,
125 pub uid: u64,
126 pub gid: u64,
127}
128
129#[derive(Clone, Debug, Default)]
130pub struct Utimes {
131 pub path: BtrfsString,
132 pub atime: Timespec,
133 pub mtime: Timespec,
134 pub ctime: Timespec,
135}
136
137#[derive(Clone, Debug, Default)]
138pub struct UpdateExtent {
139 pub path: BtrfsString,
140 pub file_offset: u64,
141 pub size: u64,
142}
143
144#[derive(Clone, Debug,Default)]
145pub struct End {
146}