1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
pub use self::os::{lconv}; pub use self::os::{locale_t}; pub use self::os::{LC_ALL}; pub use self::os::{LC_COLLATE}; pub use self::os::{LC_CTYPE}; pub use self::os::{LC_MESSAGES}; pub use self::os::{LC_MONETARY}; pub use self::os::{LC_NUMERIC}; pub use self::os::{LC_TIME}; pub use self::os::{LC_COLLATE_MASK}; pub use self::os::{LC_CTYPE_MASK}; pub use self::os::{LC_MESSAGES_MASK}; pub use self::os::{LC_MONETARY_MASK}; pub use self::os::{LC_NUMERIC_MASK}; pub use self::os::{LC_TIME_MASK}; pub use self::os::{LC_ALL_MASK}; pub use self::os::{LC_GLOBAL_LOCALE}; use {NTStr, int_t, char_t}; #[cfg(target_os = "linux")] #[path = "linux/mod.rs"] mod os; pub fn duplocale(l: locale_t) -> locale_t { extern { fn duplocale(dataset: locale_t) -> locale_t; } unsafe { duplocale(l) } } pub fn freelocale(l: locale_t) -> locale_t { extern { fn freelocale(dataset: locale_t) -> locale_t; } unsafe { freelocale(l) } } pub fn newlocale<T: NTStr>(mask: int_t, l: &T, base: Option<locale_t>) -> locale_t { extern { fn newlocale(mask: int_t, locale: *const char_t, base: locale_t) -> locale_t; } match base { Some(p) => unsafe { newlocale(mask, l.as_ptr(), p) }, None => unsafe { newlocale(mask, l.as_ptr(), 0 as locale_t) }, } } pub fn uselocale(l: locale_t) -> locale_t { extern { fn uselocale(dataset: locale_t) -> locale_t; } unsafe { uselocale(l) } } extern "C" { pub fn localeconv() -> *mut lconv; pub fn setlocale(category: int_t, locale: *const char_t) -> *mut char_t; }