btrfs_send_parse/
commands.rs

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}