summaryrefslogtreecommitdiffstats
path: root/third_party/rust/core-foundation-sys/src/locale.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/core-foundation-sys/src/locale.rs')
-rw-r--r--third_party/rust/core-foundation-sys/src/locale.rs146
1 files changed, 146 insertions, 0 deletions
diff --git a/third_party/rust/core-foundation-sys/src/locale.rs b/third_party/rust/core-foundation-sys/src/locale.rs
new file mode 100644
index 0000000000..f80e5c4a6a
--- /dev/null
+++ b/third_party/rust/core-foundation-sys/src/locale.rs
@@ -0,0 +1,146 @@
+// Copyright 2023 The Servo Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use crate::array::CFArrayRef;
+use crate::base::{CFAllocatorRef, CFIndex, CFTypeID, CFTypeRef, LangCode, RegionCode};
+use crate::dictionary::CFDictionaryRef;
+use crate::notification_center::CFNotificationName;
+use crate::string::CFStringRef;
+use std::os::raw::c_void;
+
+#[repr(C)]
+pub struct __CFLocale(c_void);
+pub type CFLocaleRef = *const __CFLocale;
+
+pub type CFLocaleIdentifier = CFStringRef;
+pub type CFLocaleKey = CFStringRef;
+pub type CFCalendarIdentifier = CFStringRef;
+pub type CFLocaleLanguageDirection = CFIndex;
+
+pub const kCFLocaleLanguageDirectionUnknown: CFLocaleLanguageDirection = 0;
+pub const kCFLocaleLanguageDirectionLeftToRight: CFLocaleLanguageDirection = 1;
+pub const kCFLocaleLanguageDirectionRightToLeft: CFLocaleLanguageDirection = 2;
+pub const kCFLocaleLanguageDirectionTopToBottom: CFLocaleLanguageDirection = 3;
+pub const kCFLocaleLanguageDirectionBottomToTop: CFLocaleLanguageDirection = 4;
+
+extern "C" {
+ /*
+ * CFLocale.h
+ */
+
+ /* Locale Change Notification */
+ pub static kCFLocaleCurrentLocaleDidChangeNotification: CFNotificationName;
+
+ /* Locale Property Keys */
+ pub static kCFLocaleIdentifier: CFLocaleKey;
+ pub static kCFLocaleLanguageCode: CFLocaleKey;
+ pub static kCFLocaleCountryCode: CFLocaleKey;
+ pub static kCFLocaleScriptCode: CFLocaleKey;
+ pub static kCFLocaleVariantCode: CFLocaleKey;
+
+ pub static kCFLocaleExemplarCharacterSet: CFLocaleKey;
+ pub static kCFLocaleCalendarIdentifier: CFLocaleKey;
+ pub static kCFLocaleCalendar: CFLocaleKey;
+ pub static kCFLocaleCollationIdentifier: CFLocaleKey;
+ pub static kCFLocaleUsesMetricSystem: CFLocaleKey;
+ pub static kCFLocaleMeasurementSystem: CFLocaleKey;
+ pub static kCFLocaleDecimalSeparator: CFLocaleKey;
+ pub static kCFLocaleGroupingSeparator: CFLocaleKey;
+ pub static kCFLocaleCurrencySymbol: CFLocaleKey;
+ pub static kCFLocaleCurrencyCode: CFLocaleKey;
+ pub static kCFLocaleCollatorIdentifier: CFLocaleKey;
+ pub static kCFLocaleQuotationBeginDelimiterKey: CFLocaleKey;
+ pub static kCFLocaleQuotationEndDelimiterKey: CFLocaleKey;
+ pub static kCFLocaleAlternateQuotationBeginDelimiterKey: CFLocaleKey;
+ pub static kCFLocaleAlternateQuotationEndDelimiterKey: CFLocaleKey;
+
+ /* Locale Calendar Identifiers */
+ pub static kCFGregorianCalendar: CFCalendarIdentifier;
+ pub static kCFBuddhistCalendar: CFCalendarIdentifier;
+ pub static kCFChineseCalendar: CFCalendarIdentifier;
+ pub static kCFHebrewCalendar: CFCalendarIdentifier;
+ pub static kCFIslamicCalendar: CFCalendarIdentifier;
+ pub static kCFIslamicCivilCalendar: CFCalendarIdentifier;
+ pub static kCFJapaneseCalendar: CFCalendarIdentifier;
+ pub static kCFRepublicOfChinaCalendar: CFCalendarIdentifier;
+ pub static kCFPersianCalendar: CFCalendarIdentifier;
+ pub static kCFIndianCalendar: CFCalendarIdentifier;
+ pub static kCFISO8601Calendar: CFCalendarIdentifier;
+ //pub static kCFIslamicTabularCalendar: CFCalendarIdentifier; // macos(10.10)+
+ //pub static kCFIslamicUmmAlQuraCalendar: CFCalendarIdentifier; // macos(10.10)+
+
+ /* Creating a Locale */
+ pub fn CFLocaleCopyCurrent() -> CFLocaleRef;
+ pub fn CFLocaleCreate(
+ allocator: CFAllocatorRef,
+ localeIdentifier: CFLocaleIdentifier,
+ ) -> CFLocaleRef;
+ pub fn CFLocaleCreateCopy(allocator: CFAllocatorRef, locale: CFLocaleRef) -> CFLocaleRef;
+ pub fn CFLocaleGetSystem() -> CFLocaleRef;
+
+ /* Getting System Locale Information */
+ pub fn CFLocaleCopyAvailableLocaleIdentifiers() -> CFArrayRef;
+
+ /* Getting ISO Information */
+ pub fn CFLocaleCopyISOCountryCodes() -> CFArrayRef;
+ pub fn CFLocaleCopyISOLanguageCodes() -> CFArrayRef;
+ pub fn CFLocaleCopyISOCurrencyCodes() -> CFArrayRef;
+ pub fn CFLocaleCopyCommonISOCurrencyCodes() -> CFArrayRef;
+
+ /* Language Preferences */
+ pub fn CFLocaleCopyPreferredLanguages() -> CFArrayRef;
+
+ /* Getting Information About a Locale */
+ pub fn CFLocaleCopyDisplayNameForPropertyValue(
+ displayLocale: CFLocaleRef,
+ key: CFLocaleKey,
+ value: CFStringRef,
+ ) -> CFStringRef;
+ pub fn CFLocaleGetValue(locale: CFLocaleRef, key: CFLocaleKey) -> CFTypeRef;
+ pub fn CFLocaleGetIdentifier(locale: CFLocaleRef) -> CFLocaleIdentifier;
+
+ /* Getting and Creating Locale Identifiers */
+ pub fn CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes(
+ allocator: CFAllocatorRef,
+ lcode: LangCode,
+ rcode: RegionCode,
+ ) -> CFLocaleIdentifier;
+ pub fn CFLocaleCreateCanonicalLanguageIdentifierFromString(
+ allocator: CFAllocatorRef,
+ localeIdentifier: CFStringRef,
+ ) -> CFLocaleIdentifier;
+ pub fn CFLocaleCreateCanonicalLocaleIdentifierFromString(
+ allocator: CFAllocatorRef,
+ localeIdentifier: CFStringRef,
+ ) -> CFLocaleIdentifier;
+ pub fn CFLocaleCreateComponentsFromLocaleIdentifier(
+ allocator: CFAllocatorRef,
+ localeID: CFLocaleIdentifier,
+ ) -> CFDictionaryRef;
+ pub fn CFLocaleCreateLocaleIdentifierFromComponents(
+ allocator: CFAllocatorRef,
+ dictionary: CFDictionaryRef,
+ ) -> CFLocaleIdentifier;
+ pub fn CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode(
+ allocator: CFAllocatorRef,
+ lcid: u32,
+ ) -> CFLocaleIdentifier;
+ pub fn CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier(
+ localeIdentifier: CFLocaleIdentifier,
+ ) -> u32;
+
+ /* Getting Line and Character Direction for a Language */
+ pub fn CFLocaleGetLanguageCharacterDirection(
+ isoLangCode: CFStringRef,
+ ) -> CFLocaleLanguageDirection;
+ pub fn CFLocaleGetLanguageLineDirection(isoLangCode: CFStringRef) -> CFLocaleLanguageDirection;
+
+ /* Getting the CFLocale Type ID */
+ pub fn CFLocaleGetTypeID() -> CFTypeID;
+}