core_foundation_sys/
url_enumerator.rs1use std::os::raw::c_void;
11
12use crate::array::CFArrayRef;
13use crate::base::{Boolean, CFAllocatorRef, CFIndex, CFOptionFlags, CFTypeID};
14use crate::error::CFErrorRef;
15use crate::url::CFURLRef;
16
17#[repr(C)]
18pub struct __CFURLEnumerator(c_void);
19
20pub type CFURLEnumeratorRef = *mut __CFURLEnumerator;
21
22pub type CFURLEnumeratorOptions = CFOptionFlags;
23pub const kCFURLEnumeratorDefaultBehavior: CFURLEnumeratorOptions = 0;
24pub const kCFURLEnumeratorDescendRecursively: CFURLEnumeratorOptions = 1 << 0;
25pub const kCFURLEnumeratorSkipInvisibles: CFURLEnumeratorOptions = 1 << 1;
26pub const kCFURLEnumeratorGenerateFileReferenceURLs: CFURLEnumeratorOptions = 1 << 2;
27pub const kCFURLEnumeratorSkipPackageContents: CFURLEnumeratorOptions = 1 << 3;
28pub const kCFURLEnumeratorIncludeDirectoriesPreOrder: CFURLEnumeratorOptions = 1 << 4;
29pub const kCFURLEnumeratorIncludeDirectoriesPostOrder: CFURLEnumeratorOptions = 1 << 5;
30pub type CFURLEnumeratorResult = CFIndex;
33pub const kCFURLEnumeratorSuccess: CFURLEnumeratorOptions = 1;
34pub const kCFURLEnumeratorEnd: CFURLEnumeratorOptions = 2;
35pub const kCFURLEnumeratorError: CFURLEnumeratorOptions = 3;
36pub const kCFURLEnumeratorDirectoryPostOrderSuccess: CFURLEnumeratorOptions = 4;
37
38extern "C" {
39 pub fn CFURLEnumeratorGetTypeID() -> CFTypeID;
43 pub fn CFURLEnumeratorCreateForDirectoryURL(
44 alloc: CFAllocatorRef,
45 directoryURL: CFURLRef,
46 option: CFURLEnumeratorOptions,
47 propertyKeys: CFArrayRef,
48 ) -> CFURLEnumeratorRef;
49 pub fn CFURLEnumeratorCreateForMountedVolumes(
50 alloc: CFAllocatorRef,
51 option: CFURLEnumeratorOptions,
52 propertyKeys: CFArrayRef,
53 ) -> CFURLEnumeratorRef;
54 pub fn CFURLEnumeratorGetNextURL(
55 enumerator: CFURLEnumeratorRef,
56 url: *mut CFURLRef,
57 error: *mut CFErrorRef,
58 ) -> CFURLEnumeratorResult;
59 pub fn CFURLEnumeratorSkipDescendents(enumerator: CFURLEnumeratorRef);
60 pub fn CFURLEnumeratorGetDescendentLevel(enumerator: CFURLEnumeratorRef) -> CFIndex;
61 pub fn CFURLEnumeratorGetSourceDidChange(enumerator: CFURLEnumeratorRef) -> Boolean; }