1pub const EXT2_ROOT_INO: u32 = 2;
4pub const EXT2_GOOD_OLD_FIRST_INO: u32 = 11;
5pub const EXT2_GOOD_OLD_REV: u32 = 0;
6pub const EXT2_DYNAMIC_REV: u32 = 1;
7pub const EXT2_GOOD_OLD_INODE_SIZE: u32 = 128;
8pub const EXT2_FT_UNKNOWN: u32 = 0;
9pub const EXT2_FT_REG_FILE: u32 = 1;
10pub const EXT2_FT_DIR: u32 = 2;
11pub const EXT2_FT_CHRDEV: u32 = 3;
12pub const EXT2_FT_BLKDEV: u32 = 4;
13pub const EXT2_FT_FIFO: u32 = 5;
14pub const EXT2_FT_SOCK: u32 = 6;
15pub const EXT2_FT_SYMLINK: u32 = 7;
16pub const EXT2_FT_MAX: u32 = 8;
17pub const EXT2_FLAG_RW: u32 = 1;
18pub const EXT2_FLAG_CHANGED: u32 = 2;
19pub const EXT2_FLAG_DIRTY: u32 = 4;
20pub const EXT2_FLAG_VALID: u32 = 8;
21pub const EXT2_FLAG_IB_DIRTY: u32 = 16;
22pub const EXT2_FLAG_BB_DIRTY: u32 = 32;
23pub const EXT2_FLAG_SWAP_BYTES: u32 = 64;
24pub const EXT2_FLAG_SWAP_BYTES_READ: u32 = 128;
25pub const EXT2_FLAG_SWAP_BYTES_WRITE: u32 = 256;
26pub const EXT2_FLAG_MASTER_SB_ONLY: u32 = 512;
27pub const EXT2_FLAG_FORCE: u32 = 1024;
28pub const EXT2_FLAG_SUPER_ONLY: u32 = 2048;
29pub const EXT2_FLAG_JOURNAL_DEV_OK: u32 = 4096;
30pub const EXT2_FLAG_IMAGE_FILE: u32 = 8192;
31pub const EXT2_FLAG_EXCLUSIVE: u32 = 16384;
32pub const EXT2_FLAG_SOFTSUPP_FEATURES: u32 = 32768;
33pub const EXT2_FLAG_NOFREE_ON_ERROR: u32 = 65536;
34pub const EXT2_FLAG_64BITS: u32 = 131072;
35pub const EXT2_FLAG_PRINT_PROGRESS: u32 = 262144;
36pub const EXT2_FLAG_DIRECT_IO: u32 = 524288;
37pub const EXT2_FLAG_SKIP_MMP: u32 = 1048576;
38pub const EXT2_FLAG_IGNORE_CSUM_ERRORS: u32 = 2097152;
39pub const EXT2_FLAG_SHARE_DUP: u32 = 4194304;
40pub const EXT2_FLAG_IGNORE_SB_ERRORS: u32 = 8388608;
41pub const EXT2_FLAG_BBITMAP_TAIL_PROBLEM: u32 = 16777216;
42pub const EXT2_FLAG_IBITMAP_TAIL_PROBLEM: u32 = 33554432;
43pub const EXT2_FLAG_THREADS: u32 = 67108864;
44pub const EXT2_FLAG_IGNORE_SWAP_DIRENT: u32 = 134217728;
45pub const LINUX_S_IFMT: u32 = 61440;
46pub const LINUX_S_IFSOCK: u32 = 49152;
47pub const LINUX_S_IFLNK: u32 = 40960;
48pub const LINUX_S_IFREG: u32 = 32768;
49pub const LINUX_S_IFBLK: u32 = 24576;
50pub const LINUX_S_IFDIR: u32 = 16384;
51pub const LINUX_S_IFCHR: u32 = 8192;
52pub const LINUX_S_IFIFO: u32 = 4096;
53pub const EXT2_FLAG_FLUSH_NO_SYNC: u32 = 1;
54pub type __dev_t = ::core::ffi::c_ulong;
55pub type __uid_t = ::core::ffi::c_uint;
56pub type __gid_t = ::core::ffi::c_uint;
57pub type __ino_t = ::core::ffi::c_ulong;
58pub type __mode_t = ::core::ffi::c_uint;
59pub type __nlink_t = ::core::ffi::c_ulong;
60pub type __off_t = ::core::ffi::c_long;
61pub type __time_t = ::core::ffi::c_long;
62pub type __blksize_t = ::core::ffi::c_long;
63pub type __blkcnt_t = ::core::ffi::c_long;
64pub type __syscall_slong_t = ::core::ffi::c_long;
65pub type ino_t = __ino_t;
66pub type dev_t = __dev_t;
67pub type mode_t = __mode_t;
68pub type time_t = __time_t;
69#[repr(C)]
70#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
71pub struct timespec {
72 pub tv_sec: __time_t,
73 pub tv_nsec: __syscall_slong_t,
74}
75#[allow(clippy::unnecessary_operation, clippy::identity_op)]
76const _: () = {
77 ["Size of timespec"][::core::mem::size_of::<timespec>() - 16usize];
78 ["Alignment of timespec"][::core::mem::align_of::<timespec>() - 8usize];
79 ["Offset of field: timespec::tv_sec"][::core::mem::offset_of!(timespec, tv_sec) - 0usize];
80 ["Offset of field: timespec::tv_nsec"][::core::mem::offset_of!(timespec, tv_nsec) - 8usize];
81};
82pub type __u8 = ::core::ffi::c_uchar;
83pub type __u16 = ::core::ffi::c_ushort;
84pub type __s16 = ::core::ffi::c_short;
85pub type __u32 = ::core::ffi::c_uint;
86pub type __u64 = ::core::ffi::c_ulonglong;
87pub type __le16 = __u16;
88pub type __le32 = __u32;
89#[repr(C)]
90#[derive(Copy, Clone)]
91pub struct ext2_inode {
92 pub i_mode: __u16,
93 pub i_uid: __u16,
94 pub i_size: __u32,
95 pub i_atime: __u32,
96 pub i_ctime: __u32,
97 pub i_mtime: __u32,
98 pub i_dtime: __u32,
99 pub i_gid: __u16,
100 pub i_links_count: __u16,
101 pub i_blocks: __u32,
102 pub i_flags: __u32,
103 pub osd1: ext2_inode__bindgen_ty_1,
104 pub i_block: [__u32; 15usize],
105 pub i_generation: __u32,
106 pub i_file_acl: __u32,
107 pub i_size_high: __u32,
108 pub i_faddr: __u32,
109 pub osd2: ext2_inode__bindgen_ty_2,
110}
111#[repr(C)]
112#[derive(Copy, Clone)]
113pub union ext2_inode__bindgen_ty_1 {
114 pub linux1: ext2_inode__bindgen_ty_1__bindgen_ty_1,
115 pub hurd1: ext2_inode__bindgen_ty_1__bindgen_ty_2,
116}
117#[repr(C)]
118#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
119pub struct ext2_inode__bindgen_ty_1__bindgen_ty_1 {
120 pub l_i_version: __u32,
121}
122#[allow(clippy::unnecessary_operation, clippy::identity_op)]
123const _: () = {
124 ["Size of ext2_inode__bindgen_ty_1__bindgen_ty_1"]
125 [::core::mem::size_of::<ext2_inode__bindgen_ty_1__bindgen_ty_1>() - 4usize];
126 ["Alignment of ext2_inode__bindgen_ty_1__bindgen_ty_1"]
127 [::core::mem::align_of::<ext2_inode__bindgen_ty_1__bindgen_ty_1>() - 4usize];
128 ["Offset of field: ext2_inode__bindgen_ty_1__bindgen_ty_1::l_i_version"]
129 [::core::mem::offset_of!(ext2_inode__bindgen_ty_1__bindgen_ty_1, l_i_version) - 0usize];
130};
131#[repr(C)]
132#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
133pub struct ext2_inode__bindgen_ty_1__bindgen_ty_2 {
134 pub h_i_translator: __u32,
135}
136#[allow(clippy::unnecessary_operation, clippy::identity_op)]
137const _: () = {
138 ["Size of ext2_inode__bindgen_ty_1__bindgen_ty_2"]
139 [::core::mem::size_of::<ext2_inode__bindgen_ty_1__bindgen_ty_2>() - 4usize];
140 ["Alignment of ext2_inode__bindgen_ty_1__bindgen_ty_2"]
141 [::core::mem::align_of::<ext2_inode__bindgen_ty_1__bindgen_ty_2>() - 4usize];
142 ["Offset of field: ext2_inode__bindgen_ty_1__bindgen_ty_2::h_i_translator"]
143 [::core::mem::offset_of!(ext2_inode__bindgen_ty_1__bindgen_ty_2, h_i_translator) - 0usize];
144};
145#[allow(clippy::unnecessary_operation, clippy::identity_op)]
146const _: () = {
147 ["Size of ext2_inode__bindgen_ty_1"]
148 [::core::mem::size_of::<ext2_inode__bindgen_ty_1>() - 4usize];
149 ["Alignment of ext2_inode__bindgen_ty_1"]
150 [::core::mem::align_of::<ext2_inode__bindgen_ty_1>() - 4usize];
151 ["Offset of field: ext2_inode__bindgen_ty_1::linux1"]
152 [::core::mem::offset_of!(ext2_inode__bindgen_ty_1, linux1) - 0usize];
153 ["Offset of field: ext2_inode__bindgen_ty_1::hurd1"]
154 [::core::mem::offset_of!(ext2_inode__bindgen_ty_1, hurd1) - 0usize];
155};
156impl Default for ext2_inode__bindgen_ty_1 {
157 fn default() -> Self {
158 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
159 unsafe {
160 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
161 s.assume_init()
162 }
163 }
164}
165#[repr(C)]
166#[derive(Copy, Clone)]
167pub union ext2_inode__bindgen_ty_2 {
168 pub linux2: ext2_inode__bindgen_ty_2__bindgen_ty_1,
169 pub hurd2: ext2_inode__bindgen_ty_2__bindgen_ty_2,
170}
171#[repr(C)]
172#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
173pub struct ext2_inode__bindgen_ty_2__bindgen_ty_1 {
174 pub l_i_blocks_hi: __u16,
175 pub l_i_file_acl_high: __u16,
176 pub l_i_uid_high: __u16,
177 pub l_i_gid_high: __u16,
178 pub l_i_checksum_lo: __u16,
179 pub l_i_reserved: __u16,
180}
181#[allow(clippy::unnecessary_operation, clippy::identity_op)]
182const _: () = {
183 ["Size of ext2_inode__bindgen_ty_2__bindgen_ty_1"]
184 [::core::mem::size_of::<ext2_inode__bindgen_ty_2__bindgen_ty_1>() - 12usize];
185 ["Alignment of ext2_inode__bindgen_ty_2__bindgen_ty_1"]
186 [::core::mem::align_of::<ext2_inode__bindgen_ty_2__bindgen_ty_1>() - 2usize];
187 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_1::l_i_blocks_hi"]
188 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_1, l_i_blocks_hi) - 0usize];
189 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_1::l_i_file_acl_high"][::core::mem::offset_of!(
190 ext2_inode__bindgen_ty_2__bindgen_ty_1,
191 l_i_file_acl_high
192 ) - 2usize];
193 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_1::l_i_uid_high"]
194 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_1, l_i_uid_high) - 4usize];
195 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_1::l_i_gid_high"]
196 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_1, l_i_gid_high) - 6usize];
197 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_1::l_i_checksum_lo"]
198 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_1, l_i_checksum_lo) - 8usize];
199 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_1::l_i_reserved"]
200 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_1, l_i_reserved) - 10usize];
201};
202#[repr(C)]
203#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
204pub struct ext2_inode__bindgen_ty_2__bindgen_ty_2 {
205 pub h_i_frag: __u8,
206 pub h_i_fsize: __u8,
207 pub h_i_mode_high: __u16,
208 pub h_i_uid_high: __u16,
209 pub h_i_gid_high: __u16,
210 pub h_i_author: __u32,
211}
212#[allow(clippy::unnecessary_operation, clippy::identity_op)]
213const _: () = {
214 ["Size of ext2_inode__bindgen_ty_2__bindgen_ty_2"]
215 [::core::mem::size_of::<ext2_inode__bindgen_ty_2__bindgen_ty_2>() - 12usize];
216 ["Alignment of ext2_inode__bindgen_ty_2__bindgen_ty_2"]
217 [::core::mem::align_of::<ext2_inode__bindgen_ty_2__bindgen_ty_2>() - 4usize];
218 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_2::h_i_frag"]
219 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_2, h_i_frag) - 0usize];
220 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_2::h_i_fsize"]
221 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_2, h_i_fsize) - 1usize];
222 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_2::h_i_mode_high"]
223 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_2, h_i_mode_high) - 2usize];
224 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_2::h_i_uid_high"]
225 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_2, h_i_uid_high) - 4usize];
226 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_2::h_i_gid_high"]
227 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_2, h_i_gid_high) - 6usize];
228 ["Offset of field: ext2_inode__bindgen_ty_2__bindgen_ty_2::h_i_author"]
229 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2__bindgen_ty_2, h_i_author) - 8usize];
230};
231#[allow(clippy::unnecessary_operation, clippy::identity_op)]
232const _: () = {
233 ["Size of ext2_inode__bindgen_ty_2"]
234 [::core::mem::size_of::<ext2_inode__bindgen_ty_2>() - 12usize];
235 ["Alignment of ext2_inode__bindgen_ty_2"]
236 [::core::mem::align_of::<ext2_inode__bindgen_ty_2>() - 4usize];
237 ["Offset of field: ext2_inode__bindgen_ty_2::linux2"]
238 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2, linux2) - 0usize];
239 ["Offset of field: ext2_inode__bindgen_ty_2::hurd2"]
240 [::core::mem::offset_of!(ext2_inode__bindgen_ty_2, hurd2) - 0usize];
241};
242impl Default for ext2_inode__bindgen_ty_2 {
243 fn default() -> Self {
244 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
245 unsafe {
246 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
247 s.assume_init()
248 }
249 }
250}
251#[allow(clippy::unnecessary_operation, clippy::identity_op)]
252const _: () = {
253 ["Size of ext2_inode"][::core::mem::size_of::<ext2_inode>() - 128usize];
254 ["Alignment of ext2_inode"][::core::mem::align_of::<ext2_inode>() - 4usize];
255 ["Offset of field: ext2_inode::i_mode"][::core::mem::offset_of!(ext2_inode, i_mode) - 0usize];
256 ["Offset of field: ext2_inode::i_uid"][::core::mem::offset_of!(ext2_inode, i_uid) - 2usize];
257 ["Offset of field: ext2_inode::i_size"][::core::mem::offset_of!(ext2_inode, i_size) - 4usize];
258 ["Offset of field: ext2_inode::i_atime"][::core::mem::offset_of!(ext2_inode, i_atime) - 8usize];
259 ["Offset of field: ext2_inode::i_ctime"]
260 [::core::mem::offset_of!(ext2_inode, i_ctime) - 12usize];
261 ["Offset of field: ext2_inode::i_mtime"]
262 [::core::mem::offset_of!(ext2_inode, i_mtime) - 16usize];
263 ["Offset of field: ext2_inode::i_dtime"]
264 [::core::mem::offset_of!(ext2_inode, i_dtime) - 20usize];
265 ["Offset of field: ext2_inode::i_gid"][::core::mem::offset_of!(ext2_inode, i_gid) - 24usize];
266 ["Offset of field: ext2_inode::i_links_count"]
267 [::core::mem::offset_of!(ext2_inode, i_links_count) - 26usize];
268 ["Offset of field: ext2_inode::i_blocks"]
269 [::core::mem::offset_of!(ext2_inode, i_blocks) - 28usize];
270 ["Offset of field: ext2_inode::i_flags"]
271 [::core::mem::offset_of!(ext2_inode, i_flags) - 32usize];
272 ["Offset of field: ext2_inode::osd1"][::core::mem::offset_of!(ext2_inode, osd1) - 36usize];
273 ["Offset of field: ext2_inode::i_block"]
274 [::core::mem::offset_of!(ext2_inode, i_block) - 40usize];
275 ["Offset of field: ext2_inode::i_generation"]
276 [::core::mem::offset_of!(ext2_inode, i_generation) - 100usize];
277 ["Offset of field: ext2_inode::i_file_acl"]
278 [::core::mem::offset_of!(ext2_inode, i_file_acl) - 104usize];
279 ["Offset of field: ext2_inode::i_size_high"]
280 [::core::mem::offset_of!(ext2_inode, i_size_high) - 108usize];
281 ["Offset of field: ext2_inode::i_faddr"]
282 [::core::mem::offset_of!(ext2_inode, i_faddr) - 112usize];
283 ["Offset of field: ext2_inode::osd2"][::core::mem::offset_of!(ext2_inode, osd2) - 116usize];
284};
285impl Default for ext2_inode {
286 fn default() -> Self {
287 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
288 unsafe {
289 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
290 s.assume_init()
291 }
292 }
293}
294#[repr(C)]
295#[derive(Copy, Clone)]
296pub struct ext2_inode_large {
297 pub i_mode: __u16,
298 pub i_uid: __u16,
299 pub i_size: __u32,
300 pub i_atime: __u32,
301 pub i_ctime: __u32,
302 pub i_mtime: __u32,
303 pub i_dtime: __u32,
304 pub i_gid: __u16,
305 pub i_links_count: __u16,
306 pub i_blocks: __u32,
307 pub i_flags: __u32,
308 pub osd1: ext2_inode_large__bindgen_ty_1,
309 pub i_block: [__u32; 15usize],
310 pub i_generation: __u32,
311 pub i_file_acl: __u32,
312 pub i_size_high: __u32,
313 pub i_faddr: __u32,
314 pub osd2: ext2_inode_large__bindgen_ty_2,
315 pub i_extra_isize: __u16,
316 pub i_checksum_hi: __u16,
317 pub i_ctime_extra: __u32,
318 pub i_mtime_extra: __u32,
319 pub i_atime_extra: __u32,
320 pub i_crtime: __u32,
321 pub i_crtime_extra: __u32,
322 pub i_version_hi: __u32,
323 pub i_projid: __u32,
324}
325#[repr(C)]
326#[derive(Copy, Clone)]
327pub union ext2_inode_large__bindgen_ty_1 {
328 pub linux1: ext2_inode_large__bindgen_ty_1__bindgen_ty_1,
329 pub hurd1: ext2_inode_large__bindgen_ty_1__bindgen_ty_2,
330}
331#[repr(C)]
332#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
333pub struct ext2_inode_large__bindgen_ty_1__bindgen_ty_1 {
334 pub l_i_version: __u32,
335}
336#[allow(clippy::unnecessary_operation, clippy::identity_op)]
337const _: () = {
338 ["Size of ext2_inode_large__bindgen_ty_1__bindgen_ty_1"]
339 [::core::mem::size_of::<ext2_inode_large__bindgen_ty_1__bindgen_ty_1>() - 4usize];
340 ["Alignment of ext2_inode_large__bindgen_ty_1__bindgen_ty_1"]
341 [::core::mem::align_of::<ext2_inode_large__bindgen_ty_1__bindgen_ty_1>() - 4usize];
342 ["Offset of field: ext2_inode_large__bindgen_ty_1__bindgen_ty_1::l_i_version"][::core::mem::offset_of!(
343 ext2_inode_large__bindgen_ty_1__bindgen_ty_1,
344 l_i_version
345 ) - 0usize];
346};
347#[repr(C)]
348#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
349pub struct ext2_inode_large__bindgen_ty_1__bindgen_ty_2 {
350 pub h_i_translator: __u32,
351}
352#[allow(clippy::unnecessary_operation, clippy::identity_op)]
353const _: () = {
354 ["Size of ext2_inode_large__bindgen_ty_1__bindgen_ty_2"]
355 [::core::mem::size_of::<ext2_inode_large__bindgen_ty_1__bindgen_ty_2>() - 4usize];
356 ["Alignment of ext2_inode_large__bindgen_ty_1__bindgen_ty_2"]
357 [::core::mem::align_of::<ext2_inode_large__bindgen_ty_1__bindgen_ty_2>() - 4usize];
358 ["Offset of field: ext2_inode_large__bindgen_ty_1__bindgen_ty_2::h_i_translator"][::core::mem::offset_of!(
359 ext2_inode_large__bindgen_ty_1__bindgen_ty_2,
360 h_i_translator
361 ) - 0usize];
362};
363#[allow(clippy::unnecessary_operation, clippy::identity_op)]
364const _: () = {
365 ["Size of ext2_inode_large__bindgen_ty_1"]
366 [::core::mem::size_of::<ext2_inode_large__bindgen_ty_1>() - 4usize];
367 ["Alignment of ext2_inode_large__bindgen_ty_1"]
368 [::core::mem::align_of::<ext2_inode_large__bindgen_ty_1>() - 4usize];
369 ["Offset of field: ext2_inode_large__bindgen_ty_1::linux1"]
370 [::core::mem::offset_of!(ext2_inode_large__bindgen_ty_1, linux1) - 0usize];
371 ["Offset of field: ext2_inode_large__bindgen_ty_1::hurd1"]
372 [::core::mem::offset_of!(ext2_inode_large__bindgen_ty_1, hurd1) - 0usize];
373};
374impl Default for ext2_inode_large__bindgen_ty_1 {
375 fn default() -> Self {
376 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
377 unsafe {
378 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
379 s.assume_init()
380 }
381 }
382}
383#[repr(C)]
384#[derive(Copy, Clone)]
385pub union ext2_inode_large__bindgen_ty_2 {
386 pub linux2: ext2_inode_large__bindgen_ty_2__bindgen_ty_1,
387 pub hurd2: ext2_inode_large__bindgen_ty_2__bindgen_ty_2,
388}
389#[repr(C)]
390#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
391pub struct ext2_inode_large__bindgen_ty_2__bindgen_ty_1 {
392 pub l_i_blocks_hi: __u16,
393 pub l_i_file_acl_high: __u16,
394 pub l_i_uid_high: __u16,
395 pub l_i_gid_high: __u16,
396 pub l_i_checksum_lo: __u16,
397 pub l_i_reserved: __u16,
398}
399#[allow(clippy::unnecessary_operation, clippy::identity_op)]
400const _: () = {
401 ["Size of ext2_inode_large__bindgen_ty_2__bindgen_ty_1"]
402 [::core::mem::size_of::<ext2_inode_large__bindgen_ty_2__bindgen_ty_1>() - 12usize];
403 ["Alignment of ext2_inode_large__bindgen_ty_2__bindgen_ty_1"]
404 [::core::mem::align_of::<ext2_inode_large__bindgen_ty_2__bindgen_ty_1>() - 2usize];
405 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_1::l_i_blocks_hi"][::core::mem::offset_of!(
406 ext2_inode_large__bindgen_ty_2__bindgen_ty_1,
407 l_i_blocks_hi
408 ) - 0usize];
409 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_1::l_i_file_acl_high"][::core::mem::offset_of!(
410 ext2_inode_large__bindgen_ty_2__bindgen_ty_1,
411 l_i_file_acl_high
412 )
413 - 2usize];
414 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_1::l_i_uid_high"][::core::mem::offset_of!(
415 ext2_inode_large__bindgen_ty_2__bindgen_ty_1,
416 l_i_uid_high
417 ) - 4usize];
418 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_1::l_i_gid_high"][::core::mem::offset_of!(
419 ext2_inode_large__bindgen_ty_2__bindgen_ty_1,
420 l_i_gid_high
421 ) - 6usize];
422 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_1::l_i_checksum_lo"][::core::mem::offset_of!(
423 ext2_inode_large__bindgen_ty_2__bindgen_ty_1,
424 l_i_checksum_lo
425 ) - 8usize];
426 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_1::l_i_reserved"][::core::mem::offset_of!(
427 ext2_inode_large__bindgen_ty_2__bindgen_ty_1,
428 l_i_reserved
429 ) - 10usize];
430};
431#[repr(C)]
432#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
433pub struct ext2_inode_large__bindgen_ty_2__bindgen_ty_2 {
434 pub h_i_frag: __u8,
435 pub h_i_fsize: __u8,
436 pub h_i_mode_high: __u16,
437 pub h_i_uid_high: __u16,
438 pub h_i_gid_high: __u16,
439 pub h_i_author: __u32,
440}
441#[allow(clippy::unnecessary_operation, clippy::identity_op)]
442const _: () = {
443 ["Size of ext2_inode_large__bindgen_ty_2__bindgen_ty_2"]
444 [::core::mem::size_of::<ext2_inode_large__bindgen_ty_2__bindgen_ty_2>() - 12usize];
445 ["Alignment of ext2_inode_large__bindgen_ty_2__bindgen_ty_2"]
446 [::core::mem::align_of::<ext2_inode_large__bindgen_ty_2__bindgen_ty_2>() - 4usize];
447 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_2::h_i_frag"]
448 [::core::mem::offset_of!(ext2_inode_large__bindgen_ty_2__bindgen_ty_2, h_i_frag) - 0usize];
449 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_2::h_i_fsize"]
450 [::core::mem::offset_of!(ext2_inode_large__bindgen_ty_2__bindgen_ty_2, h_i_fsize) - 1usize];
451 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_2::h_i_mode_high"][::core::mem::offset_of!(
452 ext2_inode_large__bindgen_ty_2__bindgen_ty_2,
453 h_i_mode_high
454 ) - 2usize];
455 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_2::h_i_uid_high"][::core::mem::offset_of!(
456 ext2_inode_large__bindgen_ty_2__bindgen_ty_2,
457 h_i_uid_high
458 ) - 4usize];
459 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_2::h_i_gid_high"][::core::mem::offset_of!(
460 ext2_inode_large__bindgen_ty_2__bindgen_ty_2,
461 h_i_gid_high
462 ) - 6usize];
463 ["Offset of field: ext2_inode_large__bindgen_ty_2__bindgen_ty_2::h_i_author"][::core::mem::offset_of!(
464 ext2_inode_large__bindgen_ty_2__bindgen_ty_2,
465 h_i_author
466 ) - 8usize];
467};
468#[allow(clippy::unnecessary_operation, clippy::identity_op)]
469const _: () = {
470 ["Size of ext2_inode_large__bindgen_ty_2"]
471 [::core::mem::size_of::<ext2_inode_large__bindgen_ty_2>() - 12usize];
472 ["Alignment of ext2_inode_large__bindgen_ty_2"]
473 [::core::mem::align_of::<ext2_inode_large__bindgen_ty_2>() - 4usize];
474 ["Offset of field: ext2_inode_large__bindgen_ty_2::linux2"]
475 [::core::mem::offset_of!(ext2_inode_large__bindgen_ty_2, linux2) - 0usize];
476 ["Offset of field: ext2_inode_large__bindgen_ty_2::hurd2"]
477 [::core::mem::offset_of!(ext2_inode_large__bindgen_ty_2, hurd2) - 0usize];
478};
479impl Default for ext2_inode_large__bindgen_ty_2 {
480 fn default() -> Self {
481 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
482 unsafe {
483 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
484 s.assume_init()
485 }
486 }
487}
488#[allow(clippy::unnecessary_operation, clippy::identity_op)]
489const _: () = {
490 ["Size of ext2_inode_large"][::core::mem::size_of::<ext2_inode_large>() - 160usize];
491 ["Alignment of ext2_inode_large"][::core::mem::align_of::<ext2_inode_large>() - 4usize];
492 ["Offset of field: ext2_inode_large::i_mode"]
493 [::core::mem::offset_of!(ext2_inode_large, i_mode) - 0usize];
494 ["Offset of field: ext2_inode_large::i_uid"]
495 [::core::mem::offset_of!(ext2_inode_large, i_uid) - 2usize];
496 ["Offset of field: ext2_inode_large::i_size"]
497 [::core::mem::offset_of!(ext2_inode_large, i_size) - 4usize];
498 ["Offset of field: ext2_inode_large::i_atime"]
499 [::core::mem::offset_of!(ext2_inode_large, i_atime) - 8usize];
500 ["Offset of field: ext2_inode_large::i_ctime"]
501 [::core::mem::offset_of!(ext2_inode_large, i_ctime) - 12usize];
502 ["Offset of field: ext2_inode_large::i_mtime"]
503 [::core::mem::offset_of!(ext2_inode_large, i_mtime) - 16usize];
504 ["Offset of field: ext2_inode_large::i_dtime"]
505 [::core::mem::offset_of!(ext2_inode_large, i_dtime) - 20usize];
506 ["Offset of field: ext2_inode_large::i_gid"]
507 [::core::mem::offset_of!(ext2_inode_large, i_gid) - 24usize];
508 ["Offset of field: ext2_inode_large::i_links_count"]
509 [::core::mem::offset_of!(ext2_inode_large, i_links_count) - 26usize];
510 ["Offset of field: ext2_inode_large::i_blocks"]
511 [::core::mem::offset_of!(ext2_inode_large, i_blocks) - 28usize];
512 ["Offset of field: ext2_inode_large::i_flags"]
513 [::core::mem::offset_of!(ext2_inode_large, i_flags) - 32usize];
514 ["Offset of field: ext2_inode_large::osd1"]
515 [::core::mem::offset_of!(ext2_inode_large, osd1) - 36usize];
516 ["Offset of field: ext2_inode_large::i_block"]
517 [::core::mem::offset_of!(ext2_inode_large, i_block) - 40usize];
518 ["Offset of field: ext2_inode_large::i_generation"]
519 [::core::mem::offset_of!(ext2_inode_large, i_generation) - 100usize];
520 ["Offset of field: ext2_inode_large::i_file_acl"]
521 [::core::mem::offset_of!(ext2_inode_large, i_file_acl) - 104usize];
522 ["Offset of field: ext2_inode_large::i_size_high"]
523 [::core::mem::offset_of!(ext2_inode_large, i_size_high) - 108usize];
524 ["Offset of field: ext2_inode_large::i_faddr"]
525 [::core::mem::offset_of!(ext2_inode_large, i_faddr) - 112usize];
526 ["Offset of field: ext2_inode_large::osd2"]
527 [::core::mem::offset_of!(ext2_inode_large, osd2) - 116usize];
528 ["Offset of field: ext2_inode_large::i_extra_isize"]
529 [::core::mem::offset_of!(ext2_inode_large, i_extra_isize) - 128usize];
530 ["Offset of field: ext2_inode_large::i_checksum_hi"]
531 [::core::mem::offset_of!(ext2_inode_large, i_checksum_hi) - 130usize];
532 ["Offset of field: ext2_inode_large::i_ctime_extra"]
533 [::core::mem::offset_of!(ext2_inode_large, i_ctime_extra) - 132usize];
534 ["Offset of field: ext2_inode_large::i_mtime_extra"]
535 [::core::mem::offset_of!(ext2_inode_large, i_mtime_extra) - 136usize];
536 ["Offset of field: ext2_inode_large::i_atime_extra"]
537 [::core::mem::offset_of!(ext2_inode_large, i_atime_extra) - 140usize];
538 ["Offset of field: ext2_inode_large::i_crtime"]
539 [::core::mem::offset_of!(ext2_inode_large, i_crtime) - 144usize];
540 ["Offset of field: ext2_inode_large::i_crtime_extra"]
541 [::core::mem::offset_of!(ext2_inode_large, i_crtime_extra) - 148usize];
542 ["Offset of field: ext2_inode_large::i_version_hi"]
543 [::core::mem::offset_of!(ext2_inode_large, i_version_hi) - 152usize];
544 ["Offset of field: ext2_inode_large::i_projid"]
545 [::core::mem::offset_of!(ext2_inode_large, i_projid) - 156usize];
546};
547impl Default for ext2_inode_large {
548 fn default() -> Self {
549 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
550 unsafe {
551 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
552 s.assume_init()
553 }
554 }
555}
556#[repr(C)]
557#[derive(Debug, Copy, Clone, PartialEq, Eq)]
558pub struct ext2_super_block {
559 pub s_inodes_count: __u32,
560 pub s_blocks_count: __u32,
561 pub s_r_blocks_count: __u32,
562 pub s_free_blocks_count: __u32,
563 pub s_free_inodes_count: __u32,
564 pub s_first_data_block: __u32,
565 pub s_log_block_size: __u32,
566 pub s_log_cluster_size: __u32,
567 pub s_blocks_per_group: __u32,
568 pub s_clusters_per_group: __u32,
569 pub s_inodes_per_group: __u32,
570 pub s_mtime: __u32,
571 pub s_wtime: __u32,
572 pub s_mnt_count: __u16,
573 pub s_max_mnt_count: __s16,
574 pub s_magic: __u16,
575 pub s_state: __u16,
576 pub s_errors: __u16,
577 pub s_minor_rev_level: __u16,
578 pub s_lastcheck: __u32,
579 pub s_checkinterval: __u32,
580 pub s_creator_os: __u32,
581 pub s_rev_level: __u32,
582 pub s_def_resuid: __u16,
583 pub s_def_resgid: __u16,
584 pub s_first_ino: __u32,
585 pub s_inode_size: __u16,
586 pub s_block_group_nr: __u16,
587 pub s_feature_compat: __u32,
588 pub s_feature_incompat: __u32,
589 pub s_feature_ro_compat: __u32,
590 pub s_uuid: [__u8; 16usize],
591 pub s_volume_name: [__u8; 16usize],
592 pub s_last_mounted: [__u8; 64usize],
593 pub s_algorithm_usage_bitmap: __u32,
594 pub s_prealloc_blocks: __u8,
595 pub s_prealloc_dir_blocks: __u8,
596 pub s_reserved_gdt_blocks: __u16,
597 pub s_journal_uuid: [__u8; 16usize],
598 pub s_journal_inum: __u32,
599 pub s_journal_dev: __u32,
600 pub s_last_orphan: __u32,
601 pub s_hash_seed: [__u32; 4usize],
602 pub s_def_hash_version: __u8,
603 pub s_jnl_backup_type: __u8,
604 pub s_desc_size: __u16,
605 pub s_default_mount_opts: __u32,
606 pub s_first_meta_bg: __u32,
607 pub s_mkfs_time: __u32,
608 pub s_jnl_blocks: [__u32; 17usize],
609 pub s_blocks_count_hi: __u32,
610 pub s_r_blocks_count_hi: __u32,
611 pub s_free_blocks_hi: __u32,
612 pub s_min_extra_isize: __u16,
613 pub s_want_extra_isize: __u16,
614 pub s_flags: __u32,
615 pub s_raid_stride: __u16,
616 pub s_mmp_update_interval: __u16,
617 pub s_mmp_block: __u64,
618 pub s_raid_stripe_width: __u32,
619 pub s_log_groups_per_flex: __u8,
620 pub s_checksum_type: __u8,
621 pub s_encryption_level: __u8,
622 pub s_reserved_pad: __u8,
623 pub s_kbytes_written: __u64,
624 pub s_snapshot_inum: __u32,
625 pub s_snapshot_id: __u32,
626 pub s_snapshot_r_blocks_count: __u64,
627 pub s_snapshot_list: __u32,
628 pub s_error_count: __u32,
629 pub s_first_error_time: __u32,
630 pub s_first_error_ino: __u32,
631 pub s_first_error_block: __u64,
632 pub s_first_error_func: [__u8; 32usize],
633 pub s_first_error_line: __u32,
634 pub s_last_error_time: __u32,
635 pub s_last_error_ino: __u32,
636 pub s_last_error_line: __u32,
637 pub s_last_error_block: __u64,
638 pub s_last_error_func: [__u8; 32usize],
639 pub s_mount_opts: [__u8; 64usize],
640 pub s_usr_quota_inum: __u32,
641 pub s_grp_quota_inum: __u32,
642 pub s_overhead_clusters: __u32,
643 pub s_backup_bgs: [__u32; 2usize],
644 pub s_encrypt_algos: [__u8; 4usize],
645 pub s_encrypt_pw_salt: [__u8; 16usize],
646 pub s_lpf_ino: __le32,
647 pub s_prj_quota_inum: __le32,
648 pub s_checksum_seed: __le32,
649 pub s_wtime_hi: __u8,
650 pub s_mtime_hi: __u8,
651 pub s_mkfs_time_hi: __u8,
652 pub s_lastcheck_hi: __u8,
653 pub s_first_error_time_hi: __u8,
654 pub s_last_error_time_hi: __u8,
655 pub s_first_error_errcode: __u8,
656 pub s_last_error_errcode: __u8,
657 pub s_encoding: __le16,
658 pub s_encoding_flags: __le16,
659 pub s_orphan_file_inum: __le32,
660 pub s_reserved: [__le32; 94usize],
661 pub s_checksum: __u32,
662}
663#[allow(clippy::unnecessary_operation, clippy::identity_op)]
664const _: () = {
665 ["Size of ext2_super_block"][::core::mem::size_of::<ext2_super_block>() - 1024usize];
666 ["Alignment of ext2_super_block"][::core::mem::align_of::<ext2_super_block>() - 8usize];
667 ["Offset of field: ext2_super_block::s_inodes_count"]
668 [::core::mem::offset_of!(ext2_super_block, s_inodes_count) - 0usize];
669 ["Offset of field: ext2_super_block::s_blocks_count"]
670 [::core::mem::offset_of!(ext2_super_block, s_blocks_count) - 4usize];
671 ["Offset of field: ext2_super_block::s_r_blocks_count"]
672 [::core::mem::offset_of!(ext2_super_block, s_r_blocks_count) - 8usize];
673 ["Offset of field: ext2_super_block::s_free_blocks_count"]
674 [::core::mem::offset_of!(ext2_super_block, s_free_blocks_count) - 12usize];
675 ["Offset of field: ext2_super_block::s_free_inodes_count"]
676 [::core::mem::offset_of!(ext2_super_block, s_free_inodes_count) - 16usize];
677 ["Offset of field: ext2_super_block::s_first_data_block"]
678 [::core::mem::offset_of!(ext2_super_block, s_first_data_block) - 20usize];
679 ["Offset of field: ext2_super_block::s_log_block_size"]
680 [::core::mem::offset_of!(ext2_super_block, s_log_block_size) - 24usize];
681 ["Offset of field: ext2_super_block::s_log_cluster_size"]
682 [::core::mem::offset_of!(ext2_super_block, s_log_cluster_size) - 28usize];
683 ["Offset of field: ext2_super_block::s_blocks_per_group"]
684 [::core::mem::offset_of!(ext2_super_block, s_blocks_per_group) - 32usize];
685 ["Offset of field: ext2_super_block::s_clusters_per_group"]
686 [::core::mem::offset_of!(ext2_super_block, s_clusters_per_group) - 36usize];
687 ["Offset of field: ext2_super_block::s_inodes_per_group"]
688 [::core::mem::offset_of!(ext2_super_block, s_inodes_per_group) - 40usize];
689 ["Offset of field: ext2_super_block::s_mtime"]
690 [::core::mem::offset_of!(ext2_super_block, s_mtime) - 44usize];
691 ["Offset of field: ext2_super_block::s_wtime"]
692 [::core::mem::offset_of!(ext2_super_block, s_wtime) - 48usize];
693 ["Offset of field: ext2_super_block::s_mnt_count"]
694 [::core::mem::offset_of!(ext2_super_block, s_mnt_count) - 52usize];
695 ["Offset of field: ext2_super_block::s_max_mnt_count"]
696 [::core::mem::offset_of!(ext2_super_block, s_max_mnt_count) - 54usize];
697 ["Offset of field: ext2_super_block::s_magic"]
698 [::core::mem::offset_of!(ext2_super_block, s_magic) - 56usize];
699 ["Offset of field: ext2_super_block::s_state"]
700 [::core::mem::offset_of!(ext2_super_block, s_state) - 58usize];
701 ["Offset of field: ext2_super_block::s_errors"]
702 [::core::mem::offset_of!(ext2_super_block, s_errors) - 60usize];
703 ["Offset of field: ext2_super_block::s_minor_rev_level"]
704 [::core::mem::offset_of!(ext2_super_block, s_minor_rev_level) - 62usize];
705 ["Offset of field: ext2_super_block::s_lastcheck"]
706 [::core::mem::offset_of!(ext2_super_block, s_lastcheck) - 64usize];
707 ["Offset of field: ext2_super_block::s_checkinterval"]
708 [::core::mem::offset_of!(ext2_super_block, s_checkinterval) - 68usize];
709 ["Offset of field: ext2_super_block::s_creator_os"]
710 [::core::mem::offset_of!(ext2_super_block, s_creator_os) - 72usize];
711 ["Offset of field: ext2_super_block::s_rev_level"]
712 [::core::mem::offset_of!(ext2_super_block, s_rev_level) - 76usize];
713 ["Offset of field: ext2_super_block::s_def_resuid"]
714 [::core::mem::offset_of!(ext2_super_block, s_def_resuid) - 80usize];
715 ["Offset of field: ext2_super_block::s_def_resgid"]
716 [::core::mem::offset_of!(ext2_super_block, s_def_resgid) - 82usize];
717 ["Offset of field: ext2_super_block::s_first_ino"]
718 [::core::mem::offset_of!(ext2_super_block, s_first_ino) - 84usize];
719 ["Offset of field: ext2_super_block::s_inode_size"]
720 [::core::mem::offset_of!(ext2_super_block, s_inode_size) - 88usize];
721 ["Offset of field: ext2_super_block::s_block_group_nr"]
722 [::core::mem::offset_of!(ext2_super_block, s_block_group_nr) - 90usize];
723 ["Offset of field: ext2_super_block::s_feature_compat"]
724 [::core::mem::offset_of!(ext2_super_block, s_feature_compat) - 92usize];
725 ["Offset of field: ext2_super_block::s_feature_incompat"]
726 [::core::mem::offset_of!(ext2_super_block, s_feature_incompat) - 96usize];
727 ["Offset of field: ext2_super_block::s_feature_ro_compat"]
728 [::core::mem::offset_of!(ext2_super_block, s_feature_ro_compat) - 100usize];
729 ["Offset of field: ext2_super_block::s_uuid"]
730 [::core::mem::offset_of!(ext2_super_block, s_uuid) - 104usize];
731 ["Offset of field: ext2_super_block::s_volume_name"]
732 [::core::mem::offset_of!(ext2_super_block, s_volume_name) - 120usize];
733 ["Offset of field: ext2_super_block::s_last_mounted"]
734 [::core::mem::offset_of!(ext2_super_block, s_last_mounted) - 136usize];
735 ["Offset of field: ext2_super_block::s_algorithm_usage_bitmap"]
736 [::core::mem::offset_of!(ext2_super_block, s_algorithm_usage_bitmap) - 200usize];
737 ["Offset of field: ext2_super_block::s_prealloc_blocks"]
738 [::core::mem::offset_of!(ext2_super_block, s_prealloc_blocks) - 204usize];
739 ["Offset of field: ext2_super_block::s_prealloc_dir_blocks"]
740 [::core::mem::offset_of!(ext2_super_block, s_prealloc_dir_blocks) - 205usize];
741 ["Offset of field: ext2_super_block::s_reserved_gdt_blocks"]
742 [::core::mem::offset_of!(ext2_super_block, s_reserved_gdt_blocks) - 206usize];
743 ["Offset of field: ext2_super_block::s_journal_uuid"]
744 [::core::mem::offset_of!(ext2_super_block, s_journal_uuid) - 208usize];
745 ["Offset of field: ext2_super_block::s_journal_inum"]
746 [::core::mem::offset_of!(ext2_super_block, s_journal_inum) - 224usize];
747 ["Offset of field: ext2_super_block::s_journal_dev"]
748 [::core::mem::offset_of!(ext2_super_block, s_journal_dev) - 228usize];
749 ["Offset of field: ext2_super_block::s_last_orphan"]
750 [::core::mem::offset_of!(ext2_super_block, s_last_orphan) - 232usize];
751 ["Offset of field: ext2_super_block::s_hash_seed"]
752 [::core::mem::offset_of!(ext2_super_block, s_hash_seed) - 236usize];
753 ["Offset of field: ext2_super_block::s_def_hash_version"]
754 [::core::mem::offset_of!(ext2_super_block, s_def_hash_version) - 252usize];
755 ["Offset of field: ext2_super_block::s_jnl_backup_type"]
756 [::core::mem::offset_of!(ext2_super_block, s_jnl_backup_type) - 253usize];
757 ["Offset of field: ext2_super_block::s_desc_size"]
758 [::core::mem::offset_of!(ext2_super_block, s_desc_size) - 254usize];
759 ["Offset of field: ext2_super_block::s_default_mount_opts"]
760 [::core::mem::offset_of!(ext2_super_block, s_default_mount_opts) - 256usize];
761 ["Offset of field: ext2_super_block::s_first_meta_bg"]
762 [::core::mem::offset_of!(ext2_super_block, s_first_meta_bg) - 260usize];
763 ["Offset of field: ext2_super_block::s_mkfs_time"]
764 [::core::mem::offset_of!(ext2_super_block, s_mkfs_time) - 264usize];
765 ["Offset of field: ext2_super_block::s_jnl_blocks"]
766 [::core::mem::offset_of!(ext2_super_block, s_jnl_blocks) - 268usize];
767 ["Offset of field: ext2_super_block::s_blocks_count_hi"]
768 [::core::mem::offset_of!(ext2_super_block, s_blocks_count_hi) - 336usize];
769 ["Offset of field: ext2_super_block::s_r_blocks_count_hi"]
770 [::core::mem::offset_of!(ext2_super_block, s_r_blocks_count_hi) - 340usize];
771 ["Offset of field: ext2_super_block::s_free_blocks_hi"]
772 [::core::mem::offset_of!(ext2_super_block, s_free_blocks_hi) - 344usize];
773 ["Offset of field: ext2_super_block::s_min_extra_isize"]
774 [::core::mem::offset_of!(ext2_super_block, s_min_extra_isize) - 348usize];
775 ["Offset of field: ext2_super_block::s_want_extra_isize"]
776 [::core::mem::offset_of!(ext2_super_block, s_want_extra_isize) - 350usize];
777 ["Offset of field: ext2_super_block::s_flags"]
778 [::core::mem::offset_of!(ext2_super_block, s_flags) - 352usize];
779 ["Offset of field: ext2_super_block::s_raid_stride"]
780 [::core::mem::offset_of!(ext2_super_block, s_raid_stride) - 356usize];
781 ["Offset of field: ext2_super_block::s_mmp_update_interval"]
782 [::core::mem::offset_of!(ext2_super_block, s_mmp_update_interval) - 358usize];
783 ["Offset of field: ext2_super_block::s_mmp_block"]
784 [::core::mem::offset_of!(ext2_super_block, s_mmp_block) - 360usize];
785 ["Offset of field: ext2_super_block::s_raid_stripe_width"]
786 [::core::mem::offset_of!(ext2_super_block, s_raid_stripe_width) - 368usize];
787 ["Offset of field: ext2_super_block::s_log_groups_per_flex"]
788 [::core::mem::offset_of!(ext2_super_block, s_log_groups_per_flex) - 372usize];
789 ["Offset of field: ext2_super_block::s_checksum_type"]
790 [::core::mem::offset_of!(ext2_super_block, s_checksum_type) - 373usize];
791 ["Offset of field: ext2_super_block::s_encryption_level"]
792 [::core::mem::offset_of!(ext2_super_block, s_encryption_level) - 374usize];
793 ["Offset of field: ext2_super_block::s_reserved_pad"]
794 [::core::mem::offset_of!(ext2_super_block, s_reserved_pad) - 375usize];
795 ["Offset of field: ext2_super_block::s_kbytes_written"]
796 [::core::mem::offset_of!(ext2_super_block, s_kbytes_written) - 376usize];
797 ["Offset of field: ext2_super_block::s_snapshot_inum"]
798 [::core::mem::offset_of!(ext2_super_block, s_snapshot_inum) - 384usize];
799 ["Offset of field: ext2_super_block::s_snapshot_id"]
800 [::core::mem::offset_of!(ext2_super_block, s_snapshot_id) - 388usize];
801 ["Offset of field: ext2_super_block::s_snapshot_r_blocks_count"]
802 [::core::mem::offset_of!(ext2_super_block, s_snapshot_r_blocks_count) - 392usize];
803 ["Offset of field: ext2_super_block::s_snapshot_list"]
804 [::core::mem::offset_of!(ext2_super_block, s_snapshot_list) - 400usize];
805 ["Offset of field: ext2_super_block::s_error_count"]
806 [::core::mem::offset_of!(ext2_super_block, s_error_count) - 404usize];
807 ["Offset of field: ext2_super_block::s_first_error_time"]
808 [::core::mem::offset_of!(ext2_super_block, s_first_error_time) - 408usize];
809 ["Offset of field: ext2_super_block::s_first_error_ino"]
810 [::core::mem::offset_of!(ext2_super_block, s_first_error_ino) - 412usize];
811 ["Offset of field: ext2_super_block::s_first_error_block"]
812 [::core::mem::offset_of!(ext2_super_block, s_first_error_block) - 416usize];
813 ["Offset of field: ext2_super_block::s_first_error_func"]
814 [::core::mem::offset_of!(ext2_super_block, s_first_error_func) - 424usize];
815 ["Offset of field: ext2_super_block::s_first_error_line"]
816 [::core::mem::offset_of!(ext2_super_block, s_first_error_line) - 456usize];
817 ["Offset of field: ext2_super_block::s_last_error_time"]
818 [::core::mem::offset_of!(ext2_super_block, s_last_error_time) - 460usize];
819 ["Offset of field: ext2_super_block::s_last_error_ino"]
820 [::core::mem::offset_of!(ext2_super_block, s_last_error_ino) - 464usize];
821 ["Offset of field: ext2_super_block::s_last_error_line"]
822 [::core::mem::offset_of!(ext2_super_block, s_last_error_line) - 468usize];
823 ["Offset of field: ext2_super_block::s_last_error_block"]
824 [::core::mem::offset_of!(ext2_super_block, s_last_error_block) - 472usize];
825 ["Offset of field: ext2_super_block::s_last_error_func"]
826 [::core::mem::offset_of!(ext2_super_block, s_last_error_func) - 480usize];
827 ["Offset of field: ext2_super_block::s_mount_opts"]
828 [::core::mem::offset_of!(ext2_super_block, s_mount_opts) - 512usize];
829 ["Offset of field: ext2_super_block::s_usr_quota_inum"]
830 [::core::mem::offset_of!(ext2_super_block, s_usr_quota_inum) - 576usize];
831 ["Offset of field: ext2_super_block::s_grp_quota_inum"]
832 [::core::mem::offset_of!(ext2_super_block, s_grp_quota_inum) - 580usize];
833 ["Offset of field: ext2_super_block::s_overhead_clusters"]
834 [::core::mem::offset_of!(ext2_super_block, s_overhead_clusters) - 584usize];
835 ["Offset of field: ext2_super_block::s_backup_bgs"]
836 [::core::mem::offset_of!(ext2_super_block, s_backup_bgs) - 588usize];
837 ["Offset of field: ext2_super_block::s_encrypt_algos"]
838 [::core::mem::offset_of!(ext2_super_block, s_encrypt_algos) - 596usize];
839 ["Offset of field: ext2_super_block::s_encrypt_pw_salt"]
840 [::core::mem::offset_of!(ext2_super_block, s_encrypt_pw_salt) - 600usize];
841 ["Offset of field: ext2_super_block::s_lpf_ino"]
842 [::core::mem::offset_of!(ext2_super_block, s_lpf_ino) - 616usize];
843 ["Offset of field: ext2_super_block::s_prj_quota_inum"]
844 [::core::mem::offset_of!(ext2_super_block, s_prj_quota_inum) - 620usize];
845 ["Offset of field: ext2_super_block::s_checksum_seed"]
846 [::core::mem::offset_of!(ext2_super_block, s_checksum_seed) - 624usize];
847 ["Offset of field: ext2_super_block::s_wtime_hi"]
848 [::core::mem::offset_of!(ext2_super_block, s_wtime_hi) - 628usize];
849 ["Offset of field: ext2_super_block::s_mtime_hi"]
850 [::core::mem::offset_of!(ext2_super_block, s_mtime_hi) - 629usize];
851 ["Offset of field: ext2_super_block::s_mkfs_time_hi"]
852 [::core::mem::offset_of!(ext2_super_block, s_mkfs_time_hi) - 630usize];
853 ["Offset of field: ext2_super_block::s_lastcheck_hi"]
854 [::core::mem::offset_of!(ext2_super_block, s_lastcheck_hi) - 631usize];
855 ["Offset of field: ext2_super_block::s_first_error_time_hi"]
856 [::core::mem::offset_of!(ext2_super_block, s_first_error_time_hi) - 632usize];
857 ["Offset of field: ext2_super_block::s_last_error_time_hi"]
858 [::core::mem::offset_of!(ext2_super_block, s_last_error_time_hi) - 633usize];
859 ["Offset of field: ext2_super_block::s_first_error_errcode"]
860 [::core::mem::offset_of!(ext2_super_block, s_first_error_errcode) - 634usize];
861 ["Offset of field: ext2_super_block::s_last_error_errcode"]
862 [::core::mem::offset_of!(ext2_super_block, s_last_error_errcode) - 635usize];
863 ["Offset of field: ext2_super_block::s_encoding"]
864 [::core::mem::offset_of!(ext2_super_block, s_encoding) - 636usize];
865 ["Offset of field: ext2_super_block::s_encoding_flags"]
866 [::core::mem::offset_of!(ext2_super_block, s_encoding_flags) - 638usize];
867 ["Offset of field: ext2_super_block::s_orphan_file_inum"]
868 [::core::mem::offset_of!(ext2_super_block, s_orphan_file_inum) - 640usize];
869 ["Offset of field: ext2_super_block::s_reserved"]
870 [::core::mem::offset_of!(ext2_super_block, s_reserved) - 644usize];
871 ["Offset of field: ext2_super_block::s_checksum"]
872 [::core::mem::offset_of!(ext2_super_block, s_checksum) - 1020usize];
873};
874impl Default for ext2_super_block {
875 fn default() -> Self {
876 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
877 unsafe {
878 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
879 s.assume_init()
880 }
881 }
882}
883pub type ext2_ino_t = __u32;
884pub type blk_t = __u32;
885pub type blk64_t = __u64;
886pub type dgrp_t = __u32;
887pub type errcode_t = ::core::ffi::c_long;
888pub type io_manager = *mut struct_io_manager;
889pub type io_channel = *mut struct_io_channel;
890pub type io_stats = *mut struct_io_stats;
891#[repr(C)]
892#[derive(Debug, Copy, Clone, PartialEq, Eq)]
893pub struct struct_io_channel {
894 pub magic: errcode_t,
895 pub manager: io_manager,
896 pub name: *mut ::core::ffi::c_char,
897 pub block_size: ::core::ffi::c_int,
898 pub read_error: ::core::option::Option<
899 unsafe extern "C" fn(
900 channel: io_channel,
901 block: ::core::ffi::c_ulong,
902 count: ::core::ffi::c_int,
903 data: *mut ::core::ffi::c_void,
904 size: usize,
905 actual_bytes_read: ::core::ffi::c_int,
906 error: errcode_t,
907 ) -> errcode_t,
908 >,
909 pub write_error: ::core::option::Option<
910 unsafe extern "C" fn(
911 channel: io_channel,
912 block: ::core::ffi::c_ulong,
913 count: ::core::ffi::c_int,
914 data: *const ::core::ffi::c_void,
915 size: usize,
916 actual_bytes_written: ::core::ffi::c_int,
917 error: errcode_t,
918 ) -> errcode_t,
919 >,
920 pub refcount: ::core::ffi::c_int,
921 pub flags: ::core::ffi::c_uint,
922 pub reserved: [::core::ffi::c_long; 14usize],
923 pub private_data: *mut ::core::ffi::c_void,
924 pub app_data: *mut ::core::ffi::c_void,
925 pub align: ::core::ffi::c_int,
926}
927#[allow(clippy::unnecessary_operation, clippy::identity_op)]
928const _: () = {
929 ["Size of struct_io_channel"][::core::mem::size_of::<struct_io_channel>() - 192usize];
930 ["Alignment of struct_io_channel"][::core::mem::align_of::<struct_io_channel>() - 8usize];
931 ["Offset of field: struct_io_channel::magic"]
932 [::core::mem::offset_of!(struct_io_channel, magic) - 0usize];
933 ["Offset of field: struct_io_channel::manager"]
934 [::core::mem::offset_of!(struct_io_channel, manager) - 8usize];
935 ["Offset of field: struct_io_channel::name"]
936 [::core::mem::offset_of!(struct_io_channel, name) - 16usize];
937 ["Offset of field: struct_io_channel::block_size"]
938 [::core::mem::offset_of!(struct_io_channel, block_size) - 24usize];
939 ["Offset of field: struct_io_channel::read_error"]
940 [::core::mem::offset_of!(struct_io_channel, read_error) - 32usize];
941 ["Offset of field: struct_io_channel::write_error"]
942 [::core::mem::offset_of!(struct_io_channel, write_error) - 40usize];
943 ["Offset of field: struct_io_channel::refcount"]
944 [::core::mem::offset_of!(struct_io_channel, refcount) - 48usize];
945 ["Offset of field: struct_io_channel::flags"]
946 [::core::mem::offset_of!(struct_io_channel, flags) - 52usize];
947 ["Offset of field: struct_io_channel::reserved"]
948 [::core::mem::offset_of!(struct_io_channel, reserved) - 56usize];
949 ["Offset of field: struct_io_channel::private_data"]
950 [::core::mem::offset_of!(struct_io_channel, private_data) - 168usize];
951 ["Offset of field: struct_io_channel::app_data"]
952 [::core::mem::offset_of!(struct_io_channel, app_data) - 176usize];
953 ["Offset of field: struct_io_channel::align"]
954 [::core::mem::offset_of!(struct_io_channel, align) - 184usize];
955};
956impl Default for struct_io_channel {
957 fn default() -> Self {
958 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
959 unsafe {
960 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
961 s.assume_init()
962 }
963 }
964}
965#[repr(C)]
966#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
967pub struct struct_io_stats {
968 pub num_fields: ::core::ffi::c_int,
969 pub reserved: ::core::ffi::c_int,
970 pub bytes_read: ::core::ffi::c_ulonglong,
971 pub bytes_written: ::core::ffi::c_ulonglong,
972}
973#[allow(clippy::unnecessary_operation, clippy::identity_op)]
974const _: () = {
975 ["Size of struct_io_stats"][::core::mem::size_of::<struct_io_stats>() - 24usize];
976 ["Alignment of struct_io_stats"][::core::mem::align_of::<struct_io_stats>() - 8usize];
977 ["Offset of field: struct_io_stats::num_fields"]
978 [::core::mem::offset_of!(struct_io_stats, num_fields) - 0usize];
979 ["Offset of field: struct_io_stats::reserved"]
980 [::core::mem::offset_of!(struct_io_stats, reserved) - 4usize];
981 ["Offset of field: struct_io_stats::bytes_read"]
982 [::core::mem::offset_of!(struct_io_stats, bytes_read) - 8usize];
983 ["Offset of field: struct_io_stats::bytes_written"]
984 [::core::mem::offset_of!(struct_io_stats, bytes_written) - 16usize];
985};
986#[repr(C)]
987#[derive(Debug, Copy, Clone, PartialEq, Eq)]
988pub struct struct_io_manager {
989 pub magic: errcode_t,
990 pub name: *const ::core::ffi::c_char,
991 pub open: ::core::option::Option<
992 unsafe extern "C" fn(
993 name: *const ::core::ffi::c_char,
994 flags: ::core::ffi::c_int,
995 channel: *mut io_channel,
996 ) -> errcode_t,
997 >,
998 pub close: ::core::option::Option<unsafe extern "C" fn(channel: io_channel) -> errcode_t>,
999 pub set_blksize: ::core::option::Option<
1000 unsafe extern "C" fn(channel: io_channel, blksize: ::core::ffi::c_int) -> errcode_t,
1001 >,
1002 pub read_blk: ::core::option::Option<
1003 unsafe extern "C" fn(
1004 channel: io_channel,
1005 block: ::core::ffi::c_ulong,
1006 count: ::core::ffi::c_int,
1007 data: *mut ::core::ffi::c_void,
1008 ) -> errcode_t,
1009 >,
1010 pub write_blk: ::core::option::Option<
1011 unsafe extern "C" fn(
1012 channel: io_channel,
1013 block: ::core::ffi::c_ulong,
1014 count: ::core::ffi::c_int,
1015 data: *const ::core::ffi::c_void,
1016 ) -> errcode_t,
1017 >,
1018 pub flush: ::core::option::Option<unsafe extern "C" fn(channel: io_channel) -> errcode_t>,
1019 pub write_byte: ::core::option::Option<
1020 unsafe extern "C" fn(
1021 channel: io_channel,
1022 offset: ::core::ffi::c_ulong,
1023 count: ::core::ffi::c_int,
1024 data: *const ::core::ffi::c_void,
1025 ) -> errcode_t,
1026 >,
1027 pub set_option: ::core::option::Option<
1028 unsafe extern "C" fn(
1029 channel: io_channel,
1030 option: *const ::core::ffi::c_char,
1031 arg: *const ::core::ffi::c_char,
1032 ) -> errcode_t,
1033 >,
1034 pub get_stats: ::core::option::Option<
1035 unsafe extern "C" fn(channel: io_channel, io_stats: *mut io_stats) -> errcode_t,
1036 >,
1037 pub read_blk64: ::core::option::Option<
1038 unsafe extern "C" fn(
1039 channel: io_channel,
1040 block: ::core::ffi::c_ulonglong,
1041 count: ::core::ffi::c_int,
1042 data: *mut ::core::ffi::c_void,
1043 ) -> errcode_t,
1044 >,
1045 pub write_blk64: ::core::option::Option<
1046 unsafe extern "C" fn(
1047 channel: io_channel,
1048 block: ::core::ffi::c_ulonglong,
1049 count: ::core::ffi::c_int,
1050 data: *const ::core::ffi::c_void,
1051 ) -> errcode_t,
1052 >,
1053 pub discard: ::core::option::Option<
1054 unsafe extern "C" fn(
1055 channel: io_channel,
1056 block: ::core::ffi::c_ulonglong,
1057 count: ::core::ffi::c_ulonglong,
1058 ) -> errcode_t,
1059 >,
1060 pub cache_readahead: ::core::option::Option<
1061 unsafe extern "C" fn(
1062 channel: io_channel,
1063 block: ::core::ffi::c_ulonglong,
1064 count: ::core::ffi::c_ulonglong,
1065 ) -> errcode_t,
1066 >,
1067 pub zeroout: ::core::option::Option<
1068 unsafe extern "C" fn(
1069 channel: io_channel,
1070 block: ::core::ffi::c_ulonglong,
1071 count: ::core::ffi::c_ulonglong,
1072 ) -> errcode_t,
1073 >,
1074 pub reserved: [::core::ffi::c_long; 14usize],
1075}
1076#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1077const _: () = {
1078 ["Size of struct_io_manager"][::core::mem::size_of::<struct_io_manager>() - 240usize];
1079 ["Alignment of struct_io_manager"][::core::mem::align_of::<struct_io_manager>() - 8usize];
1080 ["Offset of field: struct_io_manager::magic"]
1081 [::core::mem::offset_of!(struct_io_manager, magic) - 0usize];
1082 ["Offset of field: struct_io_manager::name"]
1083 [::core::mem::offset_of!(struct_io_manager, name) - 8usize];
1084 ["Offset of field: struct_io_manager::open"]
1085 [::core::mem::offset_of!(struct_io_manager, open) - 16usize];
1086 ["Offset of field: struct_io_manager::close"]
1087 [::core::mem::offset_of!(struct_io_manager, close) - 24usize];
1088 ["Offset of field: struct_io_manager::set_blksize"]
1089 [::core::mem::offset_of!(struct_io_manager, set_blksize) - 32usize];
1090 ["Offset of field: struct_io_manager::read_blk"]
1091 [::core::mem::offset_of!(struct_io_manager, read_blk) - 40usize];
1092 ["Offset of field: struct_io_manager::write_blk"]
1093 [::core::mem::offset_of!(struct_io_manager, write_blk) - 48usize];
1094 ["Offset of field: struct_io_manager::flush"]
1095 [::core::mem::offset_of!(struct_io_manager, flush) - 56usize];
1096 ["Offset of field: struct_io_manager::write_byte"]
1097 [::core::mem::offset_of!(struct_io_manager, write_byte) - 64usize];
1098 ["Offset of field: struct_io_manager::set_option"]
1099 [::core::mem::offset_of!(struct_io_manager, set_option) - 72usize];
1100 ["Offset of field: struct_io_manager::get_stats"]
1101 [::core::mem::offset_of!(struct_io_manager, get_stats) - 80usize];
1102 ["Offset of field: struct_io_manager::read_blk64"]
1103 [::core::mem::offset_of!(struct_io_manager, read_blk64) - 88usize];
1104 ["Offset of field: struct_io_manager::write_blk64"]
1105 [::core::mem::offset_of!(struct_io_manager, write_blk64) - 96usize];
1106 ["Offset of field: struct_io_manager::discard"]
1107 [::core::mem::offset_of!(struct_io_manager, discard) - 104usize];
1108 ["Offset of field: struct_io_manager::cache_readahead"]
1109 [::core::mem::offset_of!(struct_io_manager, cache_readahead) - 112usize];
1110 ["Offset of field: struct_io_manager::zeroout"]
1111 [::core::mem::offset_of!(struct_io_manager, zeroout) - 120usize];
1112 ["Offset of field: struct_io_manager::reserved"]
1113 [::core::mem::offset_of!(struct_io_manager, reserved) - 128usize];
1114};
1115impl Default for struct_io_manager {
1116 fn default() -> Self {
1117 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1118 unsafe {
1119 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1120 s.assume_init()
1121 }
1122 }
1123}
1124unsafe extern "C" {
1125 pub static mut unix_io_manager: io_manager;
1126}
1127#[repr(C)]
1128#[derive(Debug, Copy, Clone)]
1129pub struct ext2fs_hashmap {
1130 _unused: [u8; 0],
1131}
1132pub type ext2_filsys = *mut struct_ext2_filsys;
1133#[repr(C)]
1134#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1135pub struct ext2fs_struct_generic_bitmap_base {
1136 pub magic: errcode_t,
1137 pub fs: ext2_filsys,
1138}
1139#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1140const _: () = {
1141 ["Size of ext2fs_struct_generic_bitmap_base"]
1142 [::core::mem::size_of::<ext2fs_struct_generic_bitmap_base>() - 16usize];
1143 ["Alignment of ext2fs_struct_generic_bitmap_base"]
1144 [::core::mem::align_of::<ext2fs_struct_generic_bitmap_base>() - 8usize];
1145 ["Offset of field: ext2fs_struct_generic_bitmap_base::magic"]
1146 [::core::mem::offset_of!(ext2fs_struct_generic_bitmap_base, magic) - 0usize];
1147 ["Offset of field: ext2fs_struct_generic_bitmap_base::fs"]
1148 [::core::mem::offset_of!(ext2fs_struct_generic_bitmap_base, fs) - 8usize];
1149};
1150impl Default for ext2fs_struct_generic_bitmap_base {
1151 fn default() -> Self {
1152 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1153 unsafe {
1154 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1155 s.assume_init()
1156 }
1157 }
1158}
1159pub type ext2fs_inode_bitmap = *mut ext2fs_struct_generic_bitmap_base;
1160pub type ext2fs_block_bitmap = *mut ext2fs_struct_generic_bitmap_base;
1161#[repr(C)]
1162#[derive(Debug, Copy, Clone)]
1163pub struct ext2_struct_u32_list {
1164 _unused: [u8; 0],
1165}
1166pub type ext2_badblocks_list = *mut ext2_struct_u32_list;
1167#[repr(C)]
1168#[derive(Debug, Copy, Clone)]
1169pub struct ext2_struct_dblist {
1170 _unused: [u8; 0],
1171}
1172pub type ext2_dblist = *mut ext2_struct_dblist;
1173#[repr(C)]
1174#[derive(Debug, Copy, Clone)]
1175pub struct opaque_ext2_group_desc {
1176 _unused: [u8; 0],
1177}
1178#[repr(C)]
1179#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1180pub struct struct_ext2_filsys {
1181 pub magic: errcode_t,
1182 pub io: io_channel,
1183 pub flags: ::core::ffi::c_int,
1184 pub device_name: *mut ::core::ffi::c_char,
1185 pub super_: *mut ext2_super_block,
1186 pub blocksize: ::core::ffi::c_uint,
1187 pub fragsize: ::core::ffi::c_int,
1188 pub group_desc_count: dgrp_t,
1189 pub desc_blocks: ::core::ffi::c_ulong,
1190 pub group_desc: *mut opaque_ext2_group_desc,
1191 pub inode_blocks_per_group: ::core::ffi::c_uint,
1192 pub inode_map: ext2fs_inode_bitmap,
1193 pub block_map: ext2fs_block_bitmap,
1194 pub get_blocks: ::core::option::Option<
1195 unsafe extern "C" fn(fs: ext2_filsys, ino: ext2_ino_t, blocks: *mut blk_t) -> errcode_t,
1196 >,
1197 pub check_directory:
1198 ::core::option::Option<unsafe extern "C" fn(fs: ext2_filsys, ino: ext2_ino_t) -> errcode_t>,
1199 pub write_bitmaps: ::core::option::Option<unsafe extern "C" fn(fs: ext2_filsys) -> errcode_t>,
1200 pub read_inode: ::core::option::Option<
1201 unsafe extern "C" fn(fs: ext2_filsys, ino: ext2_ino_t, inode: *mut ext2_inode) -> errcode_t,
1202 >,
1203 pub write_inode: ::core::option::Option<
1204 unsafe extern "C" fn(fs: ext2_filsys, ino: ext2_ino_t, inode: *mut ext2_inode) -> errcode_t,
1205 >,
1206 pub badblocks: ext2_badblocks_list,
1207 pub dblist: ext2_dblist,
1208 pub stride: __u32,
1209 pub orig_super: *mut ext2_super_block,
1210 pub image_header: *mut ext2_image_hdr,
1211 pub umask: __u32,
1212 pub now: time_t,
1213 pub cluster_ratio_bits: ::core::ffi::c_int,
1214 pub default_bitmap_type: __u16,
1215 pub pad: __u16,
1216 pub flags2: __u32,
1217 pub reserved: [__u32; 4usize],
1218 pub priv_data: *mut ::core::ffi::c_void,
1219 pub icache: *mut ext2_inode_cache,
1220 pub image_io: io_channel,
1221 pub get_alloc_block: ::core::option::Option<
1222 unsafe extern "C" fn(fs: ext2_filsys, goal: blk64_t, ret: *mut blk64_t) -> errcode_t,
1223 >,
1224 pub get_alloc_block2: ::core::option::Option<
1225 unsafe extern "C" fn(
1226 fs: ext2_filsys,
1227 goal: blk64_t,
1228 ret: *mut blk64_t,
1229 ctx: *mut blk_alloc_ctx,
1230 ) -> errcode_t,
1231 >,
1232 pub block_alloc_stats: ::core::option::Option<
1233 unsafe extern "C" fn(fs: ext2_filsys, blk: blk64_t, inuse: ::core::ffi::c_int),
1234 >,
1235 pub mmp_buf: *mut ::core::ffi::c_void,
1236 pub mmp_cmp: *mut ::core::ffi::c_void,
1237 pub mmp_fd: ::core::ffi::c_int,
1238 pub mmp_last_written: ::core::ffi::c_long,
1239 pub progress_ops: *mut ext2fs_progress_ops,
1240 pub csum_seed: __u32,
1241 pub journal_io: io_channel,
1242 pub journal_name: *mut ::core::ffi::c_char,
1243 pub new_range: ::core::option::Option<
1244 unsafe extern "C" fn(
1245 fs: ext2_filsys,
1246 flags: ::core::ffi::c_int,
1247 goal: blk64_t,
1248 len: blk64_t,
1249 pblk: *mut blk64_t,
1250 plen: *mut blk64_t,
1251 ) -> errcode_t,
1252 >,
1253 pub block_alloc_stats_range: ::core::option::Option<
1254 unsafe extern "C" fn(fs: ext2_filsys, blk: blk64_t, num: blk_t, inuse: ::core::ffi::c_int),
1255 >,
1256 pub block_sha_map: *mut ext2fs_hashmap,
1257 pub encoding: *mut ext2fs_nls_table,
1258}
1259#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1260const _: () = {
1261 ["Size of struct_ext2_filsys"][::core::mem::size_of::<struct_ext2_filsys>() - 368usize];
1262 ["Alignment of struct_ext2_filsys"][::core::mem::align_of::<struct_ext2_filsys>() - 8usize];
1263 ["Offset of field: struct_ext2_filsys::magic"]
1264 [::core::mem::offset_of!(struct_ext2_filsys, magic) - 0usize];
1265 ["Offset of field: struct_ext2_filsys::io"]
1266 [::core::mem::offset_of!(struct_ext2_filsys, io) - 8usize];
1267 ["Offset of field: struct_ext2_filsys::flags"]
1268 [::core::mem::offset_of!(struct_ext2_filsys, flags) - 16usize];
1269 ["Offset of field: struct_ext2_filsys::device_name"]
1270 [::core::mem::offset_of!(struct_ext2_filsys, device_name) - 24usize];
1271 ["Offset of field: struct_ext2_filsys::super_"]
1272 [::core::mem::offset_of!(struct_ext2_filsys, super_) - 32usize];
1273 ["Offset of field: struct_ext2_filsys::blocksize"]
1274 [::core::mem::offset_of!(struct_ext2_filsys, blocksize) - 40usize];
1275 ["Offset of field: struct_ext2_filsys::fragsize"]
1276 [::core::mem::offset_of!(struct_ext2_filsys, fragsize) - 44usize];
1277 ["Offset of field: struct_ext2_filsys::group_desc_count"]
1278 [::core::mem::offset_of!(struct_ext2_filsys, group_desc_count) - 48usize];
1279 ["Offset of field: struct_ext2_filsys::desc_blocks"]
1280 [::core::mem::offset_of!(struct_ext2_filsys, desc_blocks) - 56usize];
1281 ["Offset of field: struct_ext2_filsys::group_desc"]
1282 [::core::mem::offset_of!(struct_ext2_filsys, group_desc) - 64usize];
1283 ["Offset of field: struct_ext2_filsys::inode_blocks_per_group"]
1284 [::core::mem::offset_of!(struct_ext2_filsys, inode_blocks_per_group) - 72usize];
1285 ["Offset of field: struct_ext2_filsys::inode_map"]
1286 [::core::mem::offset_of!(struct_ext2_filsys, inode_map) - 80usize];
1287 ["Offset of field: struct_ext2_filsys::block_map"]
1288 [::core::mem::offset_of!(struct_ext2_filsys, block_map) - 88usize];
1289 ["Offset of field: struct_ext2_filsys::get_blocks"]
1290 [::core::mem::offset_of!(struct_ext2_filsys, get_blocks) - 96usize];
1291 ["Offset of field: struct_ext2_filsys::check_directory"]
1292 [::core::mem::offset_of!(struct_ext2_filsys, check_directory) - 104usize];
1293 ["Offset of field: struct_ext2_filsys::write_bitmaps"]
1294 [::core::mem::offset_of!(struct_ext2_filsys, write_bitmaps) - 112usize];
1295 ["Offset of field: struct_ext2_filsys::read_inode"]
1296 [::core::mem::offset_of!(struct_ext2_filsys, read_inode) - 120usize];
1297 ["Offset of field: struct_ext2_filsys::write_inode"]
1298 [::core::mem::offset_of!(struct_ext2_filsys, write_inode) - 128usize];
1299 ["Offset of field: struct_ext2_filsys::badblocks"]
1300 [::core::mem::offset_of!(struct_ext2_filsys, badblocks) - 136usize];
1301 ["Offset of field: struct_ext2_filsys::dblist"]
1302 [::core::mem::offset_of!(struct_ext2_filsys, dblist) - 144usize];
1303 ["Offset of field: struct_ext2_filsys::stride"]
1304 [::core::mem::offset_of!(struct_ext2_filsys, stride) - 152usize];
1305 ["Offset of field: struct_ext2_filsys::orig_super"]
1306 [::core::mem::offset_of!(struct_ext2_filsys, orig_super) - 160usize];
1307 ["Offset of field: struct_ext2_filsys::image_header"]
1308 [::core::mem::offset_of!(struct_ext2_filsys, image_header) - 168usize];
1309 ["Offset of field: struct_ext2_filsys::umask"]
1310 [::core::mem::offset_of!(struct_ext2_filsys, umask) - 176usize];
1311 ["Offset of field: struct_ext2_filsys::now"]
1312 [::core::mem::offset_of!(struct_ext2_filsys, now) - 184usize];
1313 ["Offset of field: struct_ext2_filsys::cluster_ratio_bits"]
1314 [::core::mem::offset_of!(struct_ext2_filsys, cluster_ratio_bits) - 192usize];
1315 ["Offset of field: struct_ext2_filsys::default_bitmap_type"]
1316 [::core::mem::offset_of!(struct_ext2_filsys, default_bitmap_type) - 196usize];
1317 ["Offset of field: struct_ext2_filsys::pad"]
1318 [::core::mem::offset_of!(struct_ext2_filsys, pad) - 198usize];
1319 ["Offset of field: struct_ext2_filsys::flags2"]
1320 [::core::mem::offset_of!(struct_ext2_filsys, flags2) - 200usize];
1321 ["Offset of field: struct_ext2_filsys::reserved"]
1322 [::core::mem::offset_of!(struct_ext2_filsys, reserved) - 204usize];
1323 ["Offset of field: struct_ext2_filsys::priv_data"]
1324 [::core::mem::offset_of!(struct_ext2_filsys, priv_data) - 224usize];
1325 ["Offset of field: struct_ext2_filsys::icache"]
1326 [::core::mem::offset_of!(struct_ext2_filsys, icache) - 232usize];
1327 ["Offset of field: struct_ext2_filsys::image_io"]
1328 [::core::mem::offset_of!(struct_ext2_filsys, image_io) - 240usize];
1329 ["Offset of field: struct_ext2_filsys::get_alloc_block"]
1330 [::core::mem::offset_of!(struct_ext2_filsys, get_alloc_block) - 248usize];
1331 ["Offset of field: struct_ext2_filsys::get_alloc_block2"]
1332 [::core::mem::offset_of!(struct_ext2_filsys, get_alloc_block2) - 256usize];
1333 ["Offset of field: struct_ext2_filsys::block_alloc_stats"]
1334 [::core::mem::offset_of!(struct_ext2_filsys, block_alloc_stats) - 264usize];
1335 ["Offset of field: struct_ext2_filsys::mmp_buf"]
1336 [::core::mem::offset_of!(struct_ext2_filsys, mmp_buf) - 272usize];
1337 ["Offset of field: struct_ext2_filsys::mmp_cmp"]
1338 [::core::mem::offset_of!(struct_ext2_filsys, mmp_cmp) - 280usize];
1339 ["Offset of field: struct_ext2_filsys::mmp_fd"]
1340 [::core::mem::offset_of!(struct_ext2_filsys, mmp_fd) - 288usize];
1341 ["Offset of field: struct_ext2_filsys::mmp_last_written"]
1342 [::core::mem::offset_of!(struct_ext2_filsys, mmp_last_written) - 296usize];
1343 ["Offset of field: struct_ext2_filsys::progress_ops"]
1344 [::core::mem::offset_of!(struct_ext2_filsys, progress_ops) - 304usize];
1345 ["Offset of field: struct_ext2_filsys::csum_seed"]
1346 [::core::mem::offset_of!(struct_ext2_filsys, csum_seed) - 312usize];
1347 ["Offset of field: struct_ext2_filsys::journal_io"]
1348 [::core::mem::offset_of!(struct_ext2_filsys, journal_io) - 320usize];
1349 ["Offset of field: struct_ext2_filsys::journal_name"]
1350 [::core::mem::offset_of!(struct_ext2_filsys, journal_name) - 328usize];
1351 ["Offset of field: struct_ext2_filsys::new_range"]
1352 [::core::mem::offset_of!(struct_ext2_filsys, new_range) - 336usize];
1353 ["Offset of field: struct_ext2_filsys::block_alloc_stats_range"]
1354 [::core::mem::offset_of!(struct_ext2_filsys, block_alloc_stats_range) - 344usize];
1355 ["Offset of field: struct_ext2_filsys::block_sha_map"]
1356 [::core::mem::offset_of!(struct_ext2_filsys, block_sha_map) - 352usize];
1357 ["Offset of field: struct_ext2_filsys::encoding"]
1358 [::core::mem::offset_of!(struct_ext2_filsys, encoding) - 360usize];
1359};
1360impl Default for struct_ext2_filsys {
1361 fn default() -> Self {
1362 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1363 unsafe {
1364 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1365 s.assume_init()
1366 }
1367 }
1368}
1369#[repr(C)]
1370#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1371pub struct blk_alloc_ctx {
1372 pub ino: ext2_ino_t,
1373 pub inode: *mut ext2_inode,
1374 pub lblk: blk64_t,
1375 pub flags: ::core::ffi::c_int,
1376}
1377#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1378const _: () = {
1379 ["Size of blk_alloc_ctx"][::core::mem::size_of::<blk_alloc_ctx>() - 32usize];
1380 ["Alignment of blk_alloc_ctx"][::core::mem::align_of::<blk_alloc_ctx>() - 8usize];
1381 ["Offset of field: blk_alloc_ctx::ino"][::core::mem::offset_of!(blk_alloc_ctx, ino) - 0usize];
1382 ["Offset of field: blk_alloc_ctx::inode"]
1383 [::core::mem::offset_of!(blk_alloc_ctx, inode) - 8usize];
1384 ["Offset of field: blk_alloc_ctx::lblk"]
1385 [::core::mem::offset_of!(blk_alloc_ctx, lblk) - 16usize];
1386 ["Offset of field: blk_alloc_ctx::flags"]
1387 [::core::mem::offset_of!(blk_alloc_ctx, flags) - 24usize];
1388};
1389impl Default for blk_alloc_ctx {
1390 fn default() -> Self {
1391 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1392 unsafe {
1393 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1394 s.assume_init()
1395 }
1396 }
1397}
1398unsafe extern "C" {
1399 pub fn ext2fs_new_inode(
1400 fs: ext2_filsys,
1401 dir: ext2_ino_t,
1402 mode: ::core::ffi::c_int,
1403 map: ext2fs_inode_bitmap,
1404 ret: *mut ext2_ino_t,
1405 ) -> errcode_t;
1406}
1407unsafe extern "C" {
1408 pub fn ext2fs_new_block2(
1409 fs: ext2_filsys,
1410 goal: blk64_t,
1411 map: ext2fs_block_bitmap,
1412 ret: *mut blk64_t,
1413 ) -> errcode_t;
1414}
1415unsafe extern "C" {
1416 pub fn ext2fs_inode_alloc_stats2(
1417 fs: ext2_filsys,
1418 ino: ext2_ino_t,
1419 inuse: ::core::ffi::c_int,
1420 isdir: ::core::ffi::c_int,
1421 );
1422}
1423unsafe extern "C" {
1424 pub fn ext2fs_block_alloc_stats2(fs: ext2_filsys, blk: blk64_t, inuse: ::core::ffi::c_int);
1425}
1426unsafe extern "C" {
1427 pub fn ext2fs_allocate_tables(fs: ext2_filsys) -> errcode_t;
1428}
1429unsafe extern "C" {
1430 pub fn ext2fs_close(fs: ext2_filsys) -> errcode_t;
1431}
1432unsafe extern "C" {
1433 pub fn ext2fs_flush(fs: ext2_filsys) -> errcode_t;
1434}
1435unsafe extern "C" {
1436 pub fn ext2fs_initialize(
1437 name: *const ::core::ffi::c_char,
1438 flags: ::core::ffi::c_int,
1439 param: *mut ext2_super_block,
1440 manager: io_manager,
1441 ret_fs: *mut ext2_filsys,
1442 ) -> errcode_t;
1443}
1444unsafe extern "C" {
1445 pub fn ext2fs_read_inode_full(
1446 fs: ext2_filsys,
1447 ino: ext2_ino_t,
1448 inode: *mut ext2_inode,
1449 bufsize: ::core::ffi::c_int,
1450 ) -> errcode_t;
1451}
1452unsafe extern "C" {
1453 pub fn ext2fs_read_inode(fs: ext2_filsys, ino: ext2_ino_t, inode: *mut ext2_inode)
1454 -> errcode_t;
1455}
1456unsafe extern "C" {
1457 pub fn ext2fs_write_inode_full(
1458 fs: ext2_filsys,
1459 ino: ext2_ino_t,
1460 inode: *mut ext2_inode,
1461 bufsize: ::core::ffi::c_int,
1462 ) -> errcode_t;
1463}
1464unsafe extern "C" {
1465 pub fn ext2fs_write_inode(
1466 fs: ext2_filsys,
1467 ino: ext2_ino_t,
1468 inode: *mut ext2_inode,
1469 ) -> errcode_t;
1470}
1471unsafe extern "C" {
1472 pub fn ext2fs_write_new_inode(
1473 fs: ext2_filsys,
1474 ino: ext2_ino_t,
1475 inode: *mut ext2_inode,
1476 ) -> errcode_t;
1477}
1478unsafe extern "C" {
1479 pub fn ext2fs_mkdir(
1480 fs: ext2_filsys,
1481 parent: ext2_ino_t,
1482 inum: ext2_ino_t,
1483 name: *const ::core::ffi::c_char,
1484 ) -> errcode_t;
1485}
1486unsafe extern "C" {
1487 pub fn ext2fs_add_journal_inode(
1488 fs: ext2_filsys,
1489 num_blocks: blk_t,
1490 flags: ::core::ffi::c_int,
1491 ) -> errcode_t;
1492}
1493unsafe extern "C" {
1494 pub fn ext2fs_open(
1495 name: *const ::core::ffi::c_char,
1496 flags: ::core::ffi::c_int,
1497 superblock: ::core::ffi::c_int,
1498 block_size: ::core::ffi::c_uint,
1499 manager: io_manager,
1500 ret_fs: *mut ext2_filsys,
1501 ) -> errcode_t;
1502}
1503unsafe extern "C" {
1504 pub fn ext2fs_link(
1505 fs: ext2_filsys,
1506 dir: ext2_ino_t,
1507 name: *const ::core::ffi::c_char,
1508 ino: ext2_ino_t,
1509 flags: ::core::ffi::c_int,
1510 ) -> errcode_t;
1511}
1512#[repr(C)]
1513#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
1514pub struct stat {
1515 pub st_dev: __dev_t,
1516 pub st_ino: __ino_t,
1517 pub st_nlink: __nlink_t,
1518 pub st_mode: __mode_t,
1519 pub st_uid: __uid_t,
1520 pub st_gid: __gid_t,
1521 pub __pad0: ::core::ffi::c_int,
1522 pub st_rdev: __dev_t,
1523 pub st_size: __off_t,
1524 pub st_blksize: __blksize_t,
1525 pub st_blocks: __blkcnt_t,
1526 pub st_atim: timespec,
1527 pub st_mtim: timespec,
1528 pub st_ctim: timespec,
1529 pub __glibc_reserved: [__syscall_slong_t; 3usize],
1530}
1531#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1532const _: () = {
1533 ["Size of stat"][::core::mem::size_of::<stat>() - 144usize];
1534 ["Alignment of stat"][::core::mem::align_of::<stat>() - 8usize];
1535 ["Offset of field: stat::st_dev"][::core::mem::offset_of!(stat, st_dev) - 0usize];
1536 ["Offset of field: stat::st_ino"][::core::mem::offset_of!(stat, st_ino) - 8usize];
1537 ["Offset of field: stat::st_nlink"][::core::mem::offset_of!(stat, st_nlink) - 16usize];
1538 ["Offset of field: stat::st_mode"][::core::mem::offset_of!(stat, st_mode) - 24usize];
1539 ["Offset of field: stat::st_uid"][::core::mem::offset_of!(stat, st_uid) - 28usize];
1540 ["Offset of field: stat::st_gid"][::core::mem::offset_of!(stat, st_gid) - 32usize];
1541 ["Offset of field: stat::__pad0"][::core::mem::offset_of!(stat, __pad0) - 36usize];
1542 ["Offset of field: stat::st_rdev"][::core::mem::offset_of!(stat, st_rdev) - 40usize];
1543 ["Offset of field: stat::st_size"][::core::mem::offset_of!(stat, st_size) - 48usize];
1544 ["Offset of field: stat::st_blksize"][::core::mem::offset_of!(stat, st_blksize) - 56usize];
1545 ["Offset of field: stat::st_blocks"][::core::mem::offset_of!(stat, st_blocks) - 64usize];
1546 ["Offset of field: stat::st_atim"][::core::mem::offset_of!(stat, st_atim) - 72usize];
1547 ["Offset of field: stat::st_mtim"][::core::mem::offset_of!(stat, st_mtim) - 88usize];
1548 ["Offset of field: stat::st_ctim"][::core::mem::offset_of!(stat, st_ctim) - 104usize];
1549 ["Offset of field: stat::__glibc_reserved"]
1550 [::core::mem::offset_of!(stat, __glibc_reserved) - 120usize];
1551};
1552#[repr(C)]
1553#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
1554pub struct hdlink_s {
1555 pub src_dev: dev_t,
1556 pub src_ino: ino_t,
1557 pub dst_ino: ext2_ino_t,
1558}
1559#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1560const _: () = {
1561 ["Size of hdlink_s"][::core::mem::size_of::<hdlink_s>() - 24usize];
1562 ["Alignment of hdlink_s"][::core::mem::align_of::<hdlink_s>() - 8usize];
1563 ["Offset of field: hdlink_s::src_dev"][::core::mem::offset_of!(hdlink_s, src_dev) - 0usize];
1564 ["Offset of field: hdlink_s::src_ino"][::core::mem::offset_of!(hdlink_s, src_ino) - 8usize];
1565 ["Offset of field: hdlink_s::dst_ino"][::core::mem::offset_of!(hdlink_s, dst_ino) - 16usize];
1566};
1567#[repr(C)]
1568#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1569pub struct hdlinks_s {
1570 pub count: ::core::ffi::c_int,
1571 pub size: ::core::ffi::c_int,
1572 pub hdl: *mut hdlink_s,
1573}
1574#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1575const _: () = {
1576 ["Size of hdlinks_s"][::core::mem::size_of::<hdlinks_s>() - 16usize];
1577 ["Alignment of hdlinks_s"][::core::mem::align_of::<hdlinks_s>() - 8usize];
1578 ["Offset of field: hdlinks_s::count"][::core::mem::offset_of!(hdlinks_s, count) - 0usize];
1579 ["Offset of field: hdlinks_s::size"][::core::mem::offset_of!(hdlinks_s, size) - 4usize];
1580 ["Offset of field: hdlinks_s::hdl"][::core::mem::offset_of!(hdlinks_s, hdl) - 8usize];
1581};
1582impl Default for hdlinks_s {
1583 fn default() -> Self {
1584 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1585 unsafe {
1586 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1587 s.assume_init()
1588 }
1589 }
1590}
1591#[repr(C)]
1592#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
1593pub struct fs_ops_callbacks {
1594 pub create_new_inode: ::core::option::Option<
1595 unsafe extern "C" fn(
1596 fs: ext2_filsys,
1597 target_path: *const ::core::ffi::c_char,
1598 name: *const ::core::ffi::c_char,
1599 parent_ino: ext2_ino_t,
1600 root: ext2_ino_t,
1601 mode: mode_t,
1602 ) -> errcode_t,
1603 >,
1604 pub end_create_new_inode: ::core::option::Option<
1605 unsafe extern "C" fn(
1606 fs: ext2_filsys,
1607 target_path: *const ::core::ffi::c_char,
1608 name: *const ::core::ffi::c_char,
1609 parent_ino: ext2_ino_t,
1610 root: ext2_ino_t,
1611 mode: mode_t,
1612 ) -> errcode_t,
1613 >,
1614}
1615#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1616const _: () = {
1617 ["Size of fs_ops_callbacks"][::core::mem::size_of::<fs_ops_callbacks>() - 16usize];
1618 ["Alignment of fs_ops_callbacks"][::core::mem::align_of::<fs_ops_callbacks>() - 8usize];
1619 ["Offset of field: fs_ops_callbacks::create_new_inode"]
1620 [::core::mem::offset_of!(fs_ops_callbacks, create_new_inode) - 0usize];
1621 ["Offset of field: fs_ops_callbacks::end_create_new_inode"]
1622 [::core::mem::offset_of!(fs_ops_callbacks, end_create_new_inode) - 8usize];
1623};
1624unsafe extern "C" {
1625 pub fn populate_fs(
1626 fs: ext2_filsys,
1627 parent_ino: ext2_ino_t,
1628 source_dir: *const ::core::ffi::c_char,
1629 root: ext2_ino_t,
1630 ) -> errcode_t;
1631}
1632unsafe extern "C" {
1633 pub fn populate_fs2(
1634 fs: ext2_filsys,
1635 parent_ino: ext2_ino_t,
1636 source_dir: *const ::core::ffi::c_char,
1637 root: ext2_ino_t,
1638 fs_callbacks: *mut fs_ops_callbacks,
1639 ) -> errcode_t;
1640}
1641unsafe extern "C" {
1642 pub fn do_symlink_internal(
1643 fs: ext2_filsys,
1644 cwd: ext2_ino_t,
1645 name: *const ::core::ffi::c_char,
1646 target: *mut ::core::ffi::c_char,
1647 root: ext2_ino_t,
1648 ) -> errcode_t;
1649}
1650unsafe extern "C" {
1651 pub fn do_mkdir_internal(
1652 fs: ext2_filsys,
1653 cwd: ext2_ino_t,
1654 name: *const ::core::ffi::c_char,
1655 root: ext2_ino_t,
1656 ) -> errcode_t;
1657}
1658unsafe extern "C" {
1659 pub fn do_write_internal(
1660 fs: ext2_filsys,
1661 cwd: ext2_ino_t,
1662 src: *const ::core::ffi::c_char,
1663 dest: *const ::core::ffi::c_char,
1664 root: ext2_ino_t,
1665 ) -> errcode_t;
1666}
1667unsafe extern "C" {
1668 pub fn add_link(
1669 fs: ext2_filsys,
1670 parent_ino: ext2_ino_t,
1671 ino: ext2_ino_t,
1672 name: *const ::core::ffi::c_char,
1673 ) -> errcode_t;
1674}
1675unsafe extern "C" {
1676 pub fn set_inode_extra(fs: ext2_filsys, ino: ext2_ino_t, st: *const stat) -> errcode_t;
1677}
1678#[repr(C)]
1679#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
1680pub struct ext2_image_hdr {
1681 pub _address: u8,
1682}
1683#[repr(C)]
1684#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
1685pub struct ext2_inode_cache {
1686 pub _address: u8,
1687}
1688#[repr(C)]
1689#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
1690pub struct ext2fs_progress_ops {
1691 pub _address: u8,
1692}
1693#[repr(C)]
1694#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
1695pub struct ext2fs_nls_table {
1696 pub _address: u8,
1697}