core_foundation_sys/
timezone.rs1use std::os::raw::c_void;
11
12use crate::array::CFArrayRef;
13use crate::base::{Boolean, CFAllocatorRef, CFIndex, CFTypeID};
14use crate::data::CFDataRef;
15use crate::date::{CFAbsoluteTime, CFTimeInterval};
16use crate::dictionary::CFDictionaryRef;
17use crate::locale::CFLocaleRef;
18use crate::notification_center::CFNotificationName;
19use crate::string::CFStringRef;
20
21#[repr(C)]
22pub struct __CFTimeZone(c_void);
23
24pub type CFTimeZoneRef = *const __CFTimeZone;
25pub type CFTimeZoneNameStyle = CFIndex;
26
27pub const kCFTimeZoneNameStyleStandard: CFTimeZoneNameStyle = 0;
29pub const kCFTimeZoneNameStyleShortStandard: CFTimeZoneNameStyle = 1;
30pub const kCFTimeZoneNameStyleDaylightSaving: CFTimeZoneNameStyle = 2;
31pub const kCFTimeZoneNameStyleShortDaylightSaving: CFTimeZoneNameStyle = 3;
32pub const kCFTimeZoneNameStyleGeneric: CFTimeZoneNameStyle = 4;
33pub const kCFTimeZoneNameStyleShortGeneric: CFTimeZoneNameStyle = 5;
34
35extern "C" {
36 pub static kCFTimeZoneSystemTimeZoneDidChangeNotification: CFNotificationName;
41
42 pub fn CFTimeZoneCreate(
44 allocator: CFAllocatorRef,
45 name: CFStringRef,
46 data: CFDataRef,
47 ) -> CFTimeZoneRef;
48 pub fn CFTimeZoneCreateWithName(
49 allocator: CFAllocatorRef,
50 name: CFStringRef,
51 tryAbbrev: Boolean,
52 ) -> CFTimeZoneRef;
53 pub fn CFTimeZoneCreateWithTimeIntervalFromGMT(
54 allocator: CFAllocatorRef,
55 interval: CFTimeInterval,
56 ) -> CFTimeZoneRef;
57
58 pub fn CFTimeZoneCopyAbbreviationDictionary() -> CFDictionaryRef;
60 pub fn CFTimeZoneCopyAbbreviation(tz: CFTimeZoneRef, at: CFAbsoluteTime) -> CFStringRef;
61 pub fn CFTimeZoneCopyDefault() -> CFTimeZoneRef;
62 pub fn CFTimeZoneCopySystem() -> CFTimeZoneRef;
63 pub fn CFTimeZoneSetDefault(tz: CFTimeZoneRef);
64 pub fn CFTimeZoneCopyKnownNames() -> CFArrayRef;
65 pub fn CFTimeZoneResetSystem();
66 pub fn CFTimeZoneSetAbbreviationDictionary(dict: CFDictionaryRef);
67
68 pub fn CFTimeZoneGetName(tz: CFTimeZoneRef) -> CFStringRef;
70 pub fn CFTimeZoneCopyLocalizedName(
71 tz: CFTimeZoneRef,
72 style: CFTimeZoneNameStyle,
73 locale: CFLocaleRef,
74 ) -> CFStringRef;
75 pub fn CFTimeZoneGetSecondsFromGMT(tz: CFTimeZoneRef, time: CFAbsoluteTime) -> CFTimeInterval;
76 pub fn CFTimeZoneGetData(tz: CFTimeZoneRef) -> CFDataRef;
77
78 pub fn CFTimeZoneIsDaylightSavingTime(tz: CFTimeZoneRef, at: CFAbsoluteTime) -> Boolean;
80 pub fn CFTimeZoneGetDaylightSavingTimeOffset(
81 tz: CFTimeZoneRef,
82 at: CFAbsoluteTime,
83 ) -> CFTimeInterval;
84 pub fn CFTimeZoneGetNextDaylightSavingTimeTransition(
85 tz: CFTimeZoneRef,
86 at: CFAbsoluteTime,
87 ) -> CFAbsoluteTime;
88
89 pub fn CFTimeZoneGetTypeID() -> CFTypeID;
91}