diff --git a/core-foundation-sys/src/lib.rs b/core-foundation-sys/src/lib.rs index b39da97..96c0b1e 100644 --- a/core-foundation-sys/src/lib.rs +++ b/core-foundation-sys/src/lib.rs @@ -8,6 +8,8 @@ // except according to those terms. #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, improper_ctypes)] +#![cfg_attr(all(feature="mac_os_10_7_support", feature="mac_os_10_8_features"), feature(linkage))] // back-compat requires weak linkage + extern crate libc; pub mod array; diff --git a/core-foundation-sys/src/url.rs b/core-foundation-sys/src/url.rs index c0f8282..a9049f8 100644 --- a/core-foundation-sys/src/url.rs +++ b/core-foundation-sys/src/url.rs @@ -72,10 +72,13 @@ extern { pub static kCFURLParentDirectoryURLKey: CFStringRef; pub static kCFURLPreferredIOBlockSizeKey: CFStringRef; pub static kCFURLTypeIdentifierKey: CFStringRef; - // static kCFURLVolumeIdentifierKey: CFStringRef; - // static kCFURLVolumeURLKey: CFStringRef; - // static kCFURLIsExcludedFromBackupKey: CFStringRef; - // static kCFURLFileResourceTypeKey: CFStringRef; + pub static kCFURLVolumeIdentifierKey: CFStringRef; + pub static kCFURLVolumeURLKey: CFStringRef; + + #[cfg(feature="mac_os_10_8_features")] + #[cfg_attr(feature = "mac_os_10_7_support", linkage = "extern_weak")] + pub static kCFURLIsExcludedFromBackupKey: CFStringRef; + pub static kCFURLFileResourceTypeKey: CFStringRef; /* Creating a CFURL */ pub fn CFURLCopyAbsoluteURL(anURL: CFURLRef) -> CFURLRef; @@ -151,3 +154,9 @@ extern { //fn CFURLStartAccessingSecurityScopedResource //fn CFURLStopAccessingSecurityScopedResource } + +#[test] +#[cfg(feature="mac_os_10_8_features")] +fn can_see_excluded_from_backup_key() { + let _ = unsafe { kCFURLIsExcludedFromBackupKey }; +}