Skip to content

Commit 116beaa

Browse files
committed
Move stat result indices to thr bottom
1 parent c11cd6e commit 116beaa

1 file changed

Lines changed: 74 additions & 74 deletions

File tree

vm/src/stdlib/stat.rs

Lines changed: 74 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,80 @@ mod stat {
157157
}
158158
};
159159

160+
// Windows file attributes (if on Windows)
161+
162+
#[cfg(windows)]
163+
#[pyattr]
164+
pub use windows_sys::Win32::Storage::FileSystem::{
165+
FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_DEVICE,
166+
FILE_ATTRIBUTE_DIRECTORY, FILE_ATTRIBUTE_ENCRYPTED, FILE_ATTRIBUTE_HIDDEN,
167+
FILE_ATTRIBUTE_INTEGRITY_STREAM, FILE_ATTRIBUTE_NO_SCRUB_DATA, FILE_ATTRIBUTE_NORMAL,
168+
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_READONLY,
169+
FILE_ATTRIBUTE_REPARSE_POINT, FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_SYSTEM,
170+
FILE_ATTRIBUTE_TEMPORARY, FILE_ATTRIBUTE_VIRTUAL,
171+
};
172+
173+
// Unix file flags (if on Unix)
174+
175+
#[pyattr]
176+
pub const UF_NODUMP: u32 = macos_libc_get!(UF_NODUMP, 0x00000001);
177+
178+
#[pyattr]
179+
pub const UF_IMMUTABLE: u32 = macos_libc_get!(UF_IMMUTABLE, 0x00000002);
180+
181+
#[pyattr]
182+
pub const UF_APPEND: u32 = macos_libc_get!(UF_APPEND, 0x00000004);
183+
184+
#[pyattr]
185+
pub const UF_OPAQUE: u32 = macos_libc_get!(UF_OPAQUE, 0x00000008);
186+
187+
#[pyattr]
188+
pub const UF_COMPRESSED: u32 = macos_libc_get!(UF_COMPRESSED, 0x00000020);
189+
190+
#[pyattr]
191+
pub const UF_HIDDEN: u32 = macos_libc_get!(UF_HIDDEN, 0x00008000);
192+
193+
#[pyattr]
194+
pub const SF_ARCHIVED: u32 = macos_libc_get!(SF_ARCHIVED, 0x00010000);
195+
196+
#[pyattr]
197+
pub const SF_IMMUTABLE: u32 = macos_libc_get!(SF_IMMUTABLE, 0x00020000);
198+
199+
#[pyattr]
200+
pub const SF_APPEND: u32 = macos_libc_get!(SF_APPEND, 0x00040000);
201+
202+
#[pyattr]
203+
pub const SF_SETTABLE: u32 = if cfg!(target_os = "macos") {
204+
0x3fff0000
205+
} else {
206+
0xffff0000
207+
};
208+
209+
#[pyattr]
210+
pub const UF_NOUNLINK: u32 = 0x00000010;
211+
212+
#[pyattr]
213+
pub const SF_NOUNLINK: u32 = 0x00100000;
214+
215+
#[pyattr]
216+
pub const SF_SNAPSHOT: u32 = 0x00200000;
217+
218+
#[pyattr]
219+
pub const SF_FIRMLINK: u32 = 0x00800000;
220+
221+
#[pyattr]
222+
pub const SF_DATALESS: u32 = 0x40000000;
223+
224+
// MacOS specific
225+
226+
#[cfg(target_os = "macos")]
227+
#[pyattr]
228+
pub const SF_SUPPORTED: u32 = 0x009f0000;
229+
230+
#[cfg(target_os = "macos")]
231+
#[pyattr]
232+
pub const SF_SYNTHETIC: u32 = 0xc0000000;
233+
160234
// Stat result indices
161235

162236
#[pyattr]
@@ -333,80 +407,6 @@ mod stat {
333407

334408
result
335409
}
336-
337-
// Windows file attributes (if on Windows)
338-
339-
#[cfg(windows)]
340-
#[pyattr]
341-
pub use windows_sys::Win32::Storage::FileSystem::{
342-
FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_DEVICE,
343-
FILE_ATTRIBUTE_DIRECTORY, FILE_ATTRIBUTE_ENCRYPTED, FILE_ATTRIBUTE_HIDDEN,
344-
FILE_ATTRIBUTE_INTEGRITY_STREAM, FILE_ATTRIBUTE_NO_SCRUB_DATA, FILE_ATTRIBUTE_NORMAL,
345-
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_READONLY,
346-
FILE_ATTRIBUTE_REPARSE_POINT, FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_SYSTEM,
347-
FILE_ATTRIBUTE_TEMPORARY, FILE_ATTRIBUTE_VIRTUAL,
348-
};
349-
350-
// Unix file flags (if on Unix)
351-
352-
#[pyattr]
353-
pub const UF_NODUMP: u32 = macos_libc_get!(UF_NODUMP, 0x00000001);
354-
355-
#[pyattr]
356-
pub const UF_IMMUTABLE: u32 = macos_libc_get!(UF_IMMUTABLE, 0x00000002);
357-
358-
#[pyattr]
359-
pub const UF_APPEND: u32 = macos_libc_get!(UF_APPEND, 0x00000004);
360-
361-
#[pyattr]
362-
pub const UF_OPAQUE: u32 = macos_libc_get!(UF_OPAQUE, 0x00000008);
363-
364-
#[pyattr]
365-
pub const UF_COMPRESSED: u32 = macos_libc_get!(UF_COMPRESSED, 0x00000020);
366-
367-
#[pyattr]
368-
pub const UF_HIDDEN: u32 = macos_libc_get!(UF_HIDDEN, 0x00008000);
369-
370-
#[pyattr]
371-
pub const SF_ARCHIVED: u32 = macos_libc_get!(SF_ARCHIVED, 0x00010000);
372-
373-
#[pyattr]
374-
pub const SF_IMMUTABLE: u32 = macos_libc_get!(SF_IMMUTABLE, 0x00020000);
375-
376-
#[pyattr]
377-
pub const SF_APPEND: u32 = macos_libc_get!(SF_APPEND, 0x00040000);
378-
379-
#[pyattr]
380-
pub const SF_SETTABLE: u32 = if cfg!(target_os = "macos") {
381-
0x3fff0000
382-
} else {
383-
0xffff0000
384-
};
385-
386-
#[pyattr]
387-
pub const UF_NOUNLINK: u32 = 0x00000010;
388-
389-
#[pyattr]
390-
pub const SF_NOUNLINK: u32 = 0x00100000;
391-
392-
#[pyattr]
393-
pub const SF_SNAPSHOT: u32 = 0x00200000;
394-
395-
#[pyattr]
396-
pub const SF_FIRMLINK: u32 = 0x00800000;
397-
398-
#[pyattr]
399-
pub const SF_DATALESS: u32 = 0x40000000;
400-
401-
// MacOS specific
402-
403-
#[cfg(target_os = "macos")]
404-
#[pyattr]
405-
pub const SF_SUPPORTED: u32 = 0x009f0000;
406-
407-
#[cfg(target_os = "macos")]
408-
#[pyattr]
409-
pub const SF_SYNTHETIC: u32 = 0xc0000000;
410410
}
411411

412412
pub fn make_module(vm: &VirtualMachine) -> PyRef<PyModule> {

0 commit comments

Comments
 (0)