Define xlocale and langinfo interfaces
There are many constants defined by langinfo, but we have the new types, locale_t and nl_item. We also have several functions, not all of which exist for every platform: nl_langinfo nl_langinfo_l newlocale duplocale freelocale uselocale querylocale
This commit is contained in:
parent
7265c17d18
commit
24c84f1360
|
@ -100,10 +100,12 @@ fn main() {
|
|||
if android {
|
||||
cfg.header("arpa/inet.h");
|
||||
cfg.header("time64.h");
|
||||
cfg.header("xlocale.h");
|
||||
} else if !windows {
|
||||
cfg.header("glob.h");
|
||||
cfg.header("ifaddrs.h");
|
||||
cfg.header("sys/statvfs.h");
|
||||
cfg.header("langinfo.h");
|
||||
|
||||
if !openbsd && !freebsd && !dragonfly {
|
||||
cfg.header("sys/quota.h");
|
||||
|
@ -114,6 +116,7 @@ fn main() {
|
|||
|
||||
if !netbsd && !openbsd {
|
||||
cfg.header("execinfo.h");
|
||||
cfg.header("xlocale.h");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ pub type fsblkcnt_t = ::c_uint;
|
|||
pub type fsfilcnt_t = ::c_uint;
|
||||
pub type speed_t = ::c_ulong;
|
||||
pub type tcflag_t = ::c_ulong;
|
||||
pub type nl_item = ::c_int;
|
||||
|
||||
pub enum timezone {}
|
||||
|
||||
|
@ -286,6 +287,88 @@ s! {
|
|||
}
|
||||
}
|
||||
|
||||
pub const LC_COLLATE_MASK: ::c_int = (1 << 0);
|
||||
pub const LC_CTYPE_MASK: ::c_int = (1 << 1);
|
||||
pub const LC_MESSAGES_MASK: ::c_int = (1 << 2);
|
||||
pub const LC_MONETARY_MASK: ::c_int = (1 << 3);
|
||||
pub const LC_NUMERIC_MASK: ::c_int = (1 << 4);
|
||||
pub const LC_TIME_MASK: ::c_int = (1 << 5);
|
||||
pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
|
||||
| LC_CTYPE_MASK
|
||||
| LC_MESSAGES_MASK
|
||||
| LC_MONETARY_MASK
|
||||
| LC_NUMERIC_MASK
|
||||
| LC_TIME_MASK;
|
||||
|
||||
pub const CODESET: ::nl_item = 0;
|
||||
pub const D_T_FMT: ::nl_item = 1;
|
||||
pub const D_FMT: ::nl_item = 2;
|
||||
pub const T_FMT: ::nl_item = 3;
|
||||
pub const T_FMT_AMPM: ::nl_item = 4;
|
||||
pub const AM_STR: ::nl_item = 5;
|
||||
pub const PM_STR: ::nl_item = 6;
|
||||
|
||||
pub const DAY_1: ::nl_item = 7;
|
||||
pub const DAY_2: ::nl_item = 8;
|
||||
pub const DAY_3: ::nl_item = 9;
|
||||
pub const DAY_4: ::nl_item = 10;
|
||||
pub const DAY_5: ::nl_item = 11;
|
||||
pub const DAY_6: ::nl_item = 12;
|
||||
pub const DAY_7: ::nl_item = 13;
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 14;
|
||||
pub const ABDAY_2: ::nl_item = 15;
|
||||
pub const ABDAY_3: ::nl_item = 16;
|
||||
pub const ABDAY_4: ::nl_item = 17;
|
||||
pub const ABDAY_5: ::nl_item = 18;
|
||||
pub const ABDAY_6: ::nl_item = 19;
|
||||
pub const ABDAY_7: ::nl_item = 20;
|
||||
|
||||
pub const MON_1: ::nl_item = 21;
|
||||
pub const MON_2: ::nl_item = 22;
|
||||
pub const MON_3: ::nl_item = 23;
|
||||
pub const MON_4: ::nl_item = 24;
|
||||
pub const MON_5: ::nl_item = 25;
|
||||
pub const MON_6: ::nl_item = 26;
|
||||
pub const MON_7: ::nl_item = 27;
|
||||
pub const MON_8: ::nl_item = 28;
|
||||
pub const MON_9: ::nl_item = 29;
|
||||
pub const MON_10: ::nl_item = 30;
|
||||
pub const MON_11: ::nl_item = 31;
|
||||
pub const MON_12: ::nl_item = 32;
|
||||
|
||||
pub const ABMON_1: ::nl_item = 33;
|
||||
pub const ABMON_2: ::nl_item = 34;
|
||||
pub const ABMON_3: ::nl_item = 35;
|
||||
pub const ABMON_4: ::nl_item = 36;
|
||||
pub const ABMON_5: ::nl_item = 37;
|
||||
pub const ABMON_6: ::nl_item = 38;
|
||||
pub const ABMON_7: ::nl_item = 39;
|
||||
pub const ABMON_8: ::nl_item = 40;
|
||||
pub const ABMON_9: ::nl_item = 41;
|
||||
pub const ABMON_10: ::nl_item = 42;
|
||||
pub const ABMON_11: ::nl_item = 43;
|
||||
pub const ABMON_12: ::nl_item = 44;
|
||||
|
||||
pub const ERA: ::nl_item = 45;
|
||||
pub const ERA_D_FMT: ::nl_item = 46;
|
||||
pub const ERA_D_T_FMT: ::nl_item = 47;
|
||||
pub const ERA_T_FMT: ::nl_item = 48;
|
||||
pub const ALT_DIGITS: ::nl_item = 49;
|
||||
|
||||
pub const RADIXCHAR: ::nl_item = 50;
|
||||
pub const THOUSEP: ::nl_item = 51;
|
||||
|
||||
pub const YESEXPR: ::nl_item = 52;
|
||||
pub const NOEXPR: ::nl_item = 53;
|
||||
|
||||
pub const YESSTR: ::nl_item = 54;
|
||||
pub const NOSTR: ::nl_item = 55;
|
||||
|
||||
pub const CRNCYSTR: ::nl_item = 56;
|
||||
|
||||
pub const D_MD_ORDER: ::nl_item = 57;
|
||||
|
||||
pub const EXIT_FAILURE: ::c_int = 1;
|
||||
pub const EXIT_SUCCESS: ::c_int = 0;
|
||||
pub const RAND_MAX: ::c_int = 2147483647;
|
||||
|
@ -1027,6 +1110,14 @@ extern {
|
|||
name: *mut ::c_char,
|
||||
termp: *mut termios,
|
||||
winp: *mut ::winsize) -> ::pid_t;
|
||||
pub fn duplocale(base: ::locale_t) -> ::locale_t;
|
||||
pub fn freelocale(loc: ::locale_t) -> ::c_int;
|
||||
pub fn localeconv_l(loc: ::locale_t) -> *mut lconv;
|
||||
pub fn newlocale(mask: ::c_int,
|
||||
locale: *const ::c_char,
|
||||
base: ::locale_t) -> ::locale_t;
|
||||
pub fn uselocale(loc: ::locale_t) -> ::locale_t;
|
||||
pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
|
|
|
@ -9,6 +9,7 @@ pub type pthread_rwlock_t = *mut ::c_void;
|
|||
pub type pthread_key_t = ::c_int;
|
||||
pub type tcflag_t = ::c_uint;
|
||||
pub type speed_t = ::c_uint;
|
||||
pub type nl_item = ::c_int;
|
||||
|
||||
pub enum timezone {}
|
||||
|
||||
|
@ -149,6 +150,101 @@ s! {
|
|||
}
|
||||
}
|
||||
|
||||
pub const LC_COLLATE_MASK: ::c_int = (1 << 0);
|
||||
pub const LC_CTYPE_MASK: ::c_int = (1 << 1);
|
||||
pub const LC_MESSAGES_MASK: ::c_int = (1 << 2);
|
||||
pub const LC_MONETARY_MASK: ::c_int = (1 << 3);
|
||||
pub const LC_NUMERIC_MASK: ::c_int = (1 << 4);
|
||||
pub const LC_TIME_MASK: ::c_int = (1 << 5);
|
||||
pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
|
||||
| LC_CTYPE_MASK
|
||||
| LC_MESSAGES_MASK
|
||||
| LC_MONETARY_MASK
|
||||
| LC_NUMERIC_MASK
|
||||
| LC_TIME_MASK;
|
||||
|
||||
pub const CODESET: ::nl_item = 0;
|
||||
pub const D_T_FMT: ::nl_item = 1;
|
||||
pub const D_FMT: ::nl_item = 2;
|
||||
pub const T_FMT: ::nl_item = 3;
|
||||
pub const T_FMT_AMPM: ::nl_item = 4;
|
||||
pub const AM_STR: ::nl_item = 5;
|
||||
pub const PM_STR: ::nl_item = 6;
|
||||
|
||||
pub const DAY_1: ::nl_item = 7;
|
||||
pub const DAY_2: ::nl_item = 8;
|
||||
pub const DAY_3: ::nl_item = 9;
|
||||
pub const DAY_4: ::nl_item = 10;
|
||||
pub const DAY_5: ::nl_item = 11;
|
||||
pub const DAY_6: ::nl_item = 12;
|
||||
pub const DAY_7: ::nl_item = 13;
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 14;
|
||||
pub const ABDAY_2: ::nl_item = 15;
|
||||
pub const ABDAY_3: ::nl_item = 16;
|
||||
pub const ABDAY_4: ::nl_item = 17;
|
||||
pub const ABDAY_5: ::nl_item = 18;
|
||||
pub const ABDAY_6: ::nl_item = 19;
|
||||
pub const ABDAY_7: ::nl_item = 20;
|
||||
|
||||
pub const MON_1: ::nl_item = 21;
|
||||
pub const MON_2: ::nl_item = 22;
|
||||
pub const MON_3: ::nl_item = 23;
|
||||
pub const MON_4: ::nl_item = 24;
|
||||
pub const MON_5: ::nl_item = 25;
|
||||
pub const MON_6: ::nl_item = 26;
|
||||
pub const MON_7: ::nl_item = 27;
|
||||
pub const MON_8: ::nl_item = 28;
|
||||
pub const MON_9: ::nl_item = 29;
|
||||
pub const MON_10: ::nl_item = 30;
|
||||
pub const MON_11: ::nl_item = 31;
|
||||
pub const MON_12: ::nl_item = 32;
|
||||
|
||||
pub const ABMON_1: ::nl_item = 33;
|
||||
pub const ABMON_2: ::nl_item = 34;
|
||||
pub const ABMON_3: ::nl_item = 35;
|
||||
pub const ABMON_4: ::nl_item = 36;
|
||||
pub const ABMON_5: ::nl_item = 37;
|
||||
pub const ABMON_6: ::nl_item = 38;
|
||||
pub const ABMON_7: ::nl_item = 39;
|
||||
pub const ABMON_8: ::nl_item = 40;
|
||||
pub const ABMON_9: ::nl_item = 41;
|
||||
pub const ABMON_10: ::nl_item = 42;
|
||||
pub const ABMON_11: ::nl_item = 43;
|
||||
pub const ABMON_12: ::nl_item = 44;
|
||||
|
||||
pub const ERA: ::nl_item = 45;
|
||||
pub const ERA_D_FMT: ::nl_item = 46;
|
||||
pub const ERA_D_T_FMT: ::nl_item = 47;
|
||||
pub const ERA_T_FMT: ::nl_item = 48;
|
||||
pub const ALT_DIGITS: ::nl_item = 49;
|
||||
|
||||
pub const RADIXCHAR: ::nl_item = 50;
|
||||
pub const THOUSEP: ::nl_item = 51;
|
||||
|
||||
pub const YESEXPR: ::nl_item = 52;
|
||||
pub const NOEXPR: ::nl_item = 53;
|
||||
|
||||
pub const YESSTR: ::nl_item = 54;
|
||||
pub const NOSTR: ::nl_item = 55;
|
||||
|
||||
pub const CRNCYSTR: ::nl_item = 56;
|
||||
|
||||
pub const D_MD_ORDER: ::nl_item = 57;
|
||||
|
||||
pub const ALTMON_1: ::nl_item = 58;
|
||||
pub const ALTMON_2: ::nl_item = 59;
|
||||
pub const ALTMON_3: ::nl_item = 60;
|
||||
pub const ALTMON_4: ::nl_item = 61;
|
||||
pub const ALTMON_5: ::nl_item = 62;
|
||||
pub const ALTMON_6: ::nl_item = 63;
|
||||
pub const ALTMON_7: ::nl_item = 64;
|
||||
pub const ALTMON_8: ::nl_item = 65;
|
||||
pub const ALTMON_9: ::nl_item = 66;
|
||||
pub const ALTMON_10: ::nl_item = 67;
|
||||
pub const ALTMON_11: ::nl_item = 68;
|
||||
pub const ALTMON_12: ::nl_item = 69;
|
||||
|
||||
pub const EXIT_FAILURE: ::c_int = 1;
|
||||
pub const EXIT_SUCCESS: ::c_int = 0;
|
||||
pub const EOF: ::c_int = -1;
|
||||
|
@ -626,7 +722,14 @@ extern {
|
|||
name: *mut ::c_char,
|
||||
termp: *mut termios,
|
||||
winp: *mut ::winsize) -> ::pid_t;
|
||||
|
||||
pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
|
||||
pub fn duplocale(base: ::locale_t) -> ::locale_t;
|
||||
pub fn freelocale(loc: ::locale_t) -> ::c_int;
|
||||
pub fn newlocale(mask: ::c_int,
|
||||
locale: *const ::c_char,
|
||||
base: ::locale_t) -> ::locale_t;
|
||||
pub fn uselocale(loc: ::locale_t) -> ::locale_t;
|
||||
pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char;
|
||||
pub fn pthread_set_name_np(tid: ::pthread_t, name: *const ::c_char);
|
||||
pub fn pthread_attr_get_np(tid: ::pthread_t,
|
||||
attr: *mut ::pthread_attr_t) -> ::c_int;
|
||||
|
|
|
@ -135,6 +135,40 @@ s! {
|
|||
}
|
||||
}
|
||||
|
||||
pub const LC_COLLATE_MASK: ::c_int = (1 << 0);
|
||||
pub const LC_CTYPE_MASK: ::c_int = (1 << 1);
|
||||
pub const LC_MESSAGES_MASK: ::c_int = (1 << 2);
|
||||
pub const LC_MONETARY_MASK: ::c_int = (1 << 3);
|
||||
pub const LC_NUMERIC_MASK: ::c_int = (1 << 4);
|
||||
pub const LC_TIME_MASK: ::c_int = (1 << 5);
|
||||
pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
|
||||
| LC_CTYPE_MASK
|
||||
| LC_MESSAGES_MASK
|
||||
| LC_MONETARY_MASK
|
||||
| LC_NUMERIC_MASK
|
||||
| LC_TIME_MASK;
|
||||
|
||||
pub const ERA: ::nl_item = 52;
|
||||
pub const ERA_D_FMT: ::nl_item = 53;
|
||||
pub const ERA_D_T_FMT: ::nl_item = 54;
|
||||
pub const ERA_T_FMT: ::nl_item = 55;
|
||||
pub const ALT_DIGITS: ::nl_item = 56;
|
||||
|
||||
pub const D_MD_ORDER: ::nl_item = 57;
|
||||
|
||||
pub const ALTMON_1: ::nl_item = 58;
|
||||
pub const ALTMON_2: ::nl_item = 59;
|
||||
pub const ALTMON_3: ::nl_item = 60;
|
||||
pub const ALTMON_4: ::nl_item = 61;
|
||||
pub const ALTMON_5: ::nl_item = 62;
|
||||
pub const ALTMON_6: ::nl_item = 63;
|
||||
pub const ALTMON_7: ::nl_item = 64;
|
||||
pub const ALTMON_8: ::nl_item = 65;
|
||||
pub const ALTMON_9: ::nl_item = 66;
|
||||
pub const ALTMON_10: ::nl_item = 67;
|
||||
pub const ALTMON_11: ::nl_item = 68;
|
||||
pub const ALTMON_12: ::nl_item = 69;
|
||||
|
||||
pub const O_CLOEXEC: ::c_int = 0x10000;
|
||||
|
||||
pub const MS_SYNC : ::c_int = 0x0002;
|
||||
|
@ -271,4 +305,12 @@ extern {
|
|||
newp: *mut ::c_void,
|
||||
newlen: ::size_t)
|
||||
-> ::c_int;
|
||||
pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
|
||||
pub fn duplocale(base: ::locale_t) -> ::locale_t;
|
||||
pub fn freelocale(loc: ::locale_t) -> ::c_int;
|
||||
pub fn newlocale(mask: ::c_int,
|
||||
locale: *const ::c_char,
|
||||
base: ::locale_t) -> ::locale_t;
|
||||
pub fn uselocale(loc: ::locale_t) -> ::locale_t;
|
||||
pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char;
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ pub type pthread_key_t = ::c_int;
|
|||
pub type rlim_t = u64;
|
||||
pub type speed_t = ::c_uint;
|
||||
pub type tcflag_t = ::c_uint;
|
||||
pub type nl_item = c_long;
|
||||
pub type clockid_t = ::c_int;
|
||||
|
||||
pub enum timezone {}
|
||||
|
@ -52,6 +53,65 @@ s! {
|
|||
}
|
||||
}
|
||||
|
||||
pub const D_T_FMT: ::nl_item = 0;
|
||||
pub const D_FMT: ::nl_item = 1;
|
||||
pub const T_FMT: ::nl_item = 2;
|
||||
pub const T_FMT_AMPM: ::nl_item = 3;
|
||||
pub const AM_STR: ::nl_item = 4;
|
||||
pub const PM_STR: ::nl_item = 5;
|
||||
|
||||
pub const DAY_1: ::nl_item = 6;
|
||||
pub const DAY_2: ::nl_item = 7;
|
||||
pub const DAY_3: ::nl_item = 8;
|
||||
pub const DAY_4: ::nl_item = 9;
|
||||
pub const DAY_5: ::nl_item = 10;
|
||||
pub const DAY_6: ::nl_item = 11;
|
||||
pub const DAY_7: ::nl_item = 12;
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 13;
|
||||
pub const ABDAY_2: ::nl_item = 14;
|
||||
pub const ABDAY_3: ::nl_item = 15;
|
||||
pub const ABDAY_4: ::nl_item = 16;
|
||||
pub const ABDAY_5: ::nl_item = 17;
|
||||
pub const ABDAY_6: ::nl_item = 18;
|
||||
pub const ABDAY_7: ::nl_item = 19;
|
||||
|
||||
pub const MON_1: ::nl_item = 20;
|
||||
pub const MON_2: ::nl_item = 21;
|
||||
pub const MON_3: ::nl_item = 22;
|
||||
pub const MON_4: ::nl_item = 23;
|
||||
pub const MON_5: ::nl_item = 24;
|
||||
pub const MON_6: ::nl_item = 25;
|
||||
pub const MON_7: ::nl_item = 26;
|
||||
pub const MON_8: ::nl_item = 27;
|
||||
pub const MON_9: ::nl_item = 28;
|
||||
pub const MON_10: ::nl_item = 29;
|
||||
pub const MON_11: ::nl_item = 30;
|
||||
pub const MON_12: ::nl_item = 31;
|
||||
|
||||
pub const ABMON_1: ::nl_item = 32;
|
||||
pub const ABMON_2: ::nl_item = 33;
|
||||
pub const ABMON_3: ::nl_item = 34;
|
||||
pub const ABMON_4: ::nl_item = 35;
|
||||
pub const ABMON_5: ::nl_item = 36;
|
||||
pub const ABMON_6: ::nl_item = 37;
|
||||
pub const ABMON_7: ::nl_item = 38;
|
||||
pub const ABMON_8: ::nl_item = 39;
|
||||
pub const ABMON_9: ::nl_item = 40;
|
||||
pub const ABMON_10: ::nl_item = 41;
|
||||
pub const ABMON_11: ::nl_item = 42;
|
||||
pub const ABMON_12: ::nl_item = 43;
|
||||
|
||||
pub const RADIXCHAR: ::nl_item = 44;
|
||||
pub const THOUSEP: ::nl_item = 45;
|
||||
pub const YESSTR: ::nl_item = 46;
|
||||
pub const YESEXPR: ::nl_item = 47;
|
||||
pub const NOSTR: ::nl_item = 48;
|
||||
pub const NOEXPR: ::nl_item = 49;
|
||||
pub const CRNCYSTR: ::nl_item = 50;
|
||||
|
||||
pub const CODESET: ::nl_item = 51;
|
||||
|
||||
pub const EXIT_FAILURE : ::c_int = 1;
|
||||
pub const EXIT_SUCCESS : ::c_int = 0;
|
||||
pub const RAND_MAX : ::c_int = 2147483647;
|
||||
|
|
|
@ -219,6 +219,20 @@ s! {
|
|||
}
|
||||
}
|
||||
|
||||
pub const LC_COLLATE_MASK: ::c_int = (1 << ::LC_COLLATE);
|
||||
pub const LC_CTYPE_MASK: ::c_int = (1 << ::LC_CTYPE);
|
||||
pub const LC_MONETARY_MASK: ::c_int = (1 << ::LC_MONETARY);
|
||||
pub const LC_NUMERIC_MASK: ::c_int = (1 << ::LC_NUMERIC);
|
||||
pub const LC_TIME_MASK: ::c_int = (1 << ::LC_TIME);
|
||||
pub const LC_MESSAGES_MASK: ::c_int = (1 << ::LC_MESSAGES);
|
||||
pub const LC_ALL_MASK: ::c_int = !0;
|
||||
|
||||
pub const ERA: ::nl_item = 52;
|
||||
pub const ERA_D_FMT: ::nl_item = 53;
|
||||
pub const ERA_D_T_FMT: ::nl_item = 54;
|
||||
pub const ERA_T_FMT: ::nl_item = 55;
|
||||
pub const ALT_DIGITS: ::nl_item = 56;
|
||||
|
||||
pub const O_CLOEXEC: ::c_int = 0x400000;
|
||||
pub const O_ALT_IO: ::c_int = 0x40000;
|
||||
pub const O_NOSIGPIPE: ::c_int = 0x1000000;
|
||||
|
@ -411,4 +425,10 @@ extern {
|
|||
timeout: *const ::timespec) -> ::c_int;
|
||||
pub fn sigwaitinfo(set: *const sigset_t,
|
||||
info: *mut siginfo_t) -> ::c_int;
|
||||
pub fn duplocale(base: ::locale_t) -> ::locale_t;
|
||||
pub fn freelocale(loc: ::locale_t);
|
||||
pub fn localeconv_l(loc: ::locale_t) -> *mut lconv;
|
||||
pub fn newlocale(mask: ::c_int,
|
||||
locale: *const ::c_char,
|
||||
base: ::locale_t) -> ::locale_t;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ pub type sighandler_t = ::size_t;
|
|||
pub type cc_t = ::c_uchar;
|
||||
|
||||
pub enum DIR {}
|
||||
pub enum locale_t {}
|
||||
|
||||
s! {
|
||||
pub struct utimbuf {
|
||||
|
@ -718,6 +719,7 @@ extern {
|
|||
pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int;
|
||||
pub fn mkdtemp(template: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int;
|
||||
pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
|
|
|
@ -308,6 +308,24 @@ pub const LC_ADDRESS: ::c_int = 9;
|
|||
pub const LC_TELEPHONE: ::c_int = 10;
|
||||
pub const LC_MEASUREMENT: ::c_int = 11;
|
||||
pub const LC_IDENTIFICATION: ::c_int = 12;
|
||||
pub const LC_PAPER_MASK: ::c_int = (1 << LC_PAPER);
|
||||
pub const LC_NAME_MASK: ::c_int = (1 << LC_NAME);
|
||||
pub const LC_ADDRESS_MASK: ::c_int = (1 << LC_ADDRESS);
|
||||
pub const LC_TELEPHONE_MASK: ::c_int = (1 << LC_TELEPHONE);
|
||||
pub const LC_MEASUREMENT_MASK: ::c_int = (1 << LC_MEASUREMENT);
|
||||
pub const LC_IDENTIFICATION_MASK: ::c_int = (1 << LC_IDENTIFICATION);
|
||||
pub const LC_ALL_MASK: ::c_int = ::LC_CTYPE_MASK
|
||||
| ::LC_NUMERIC_MASK
|
||||
| ::LC_TIME_MASK
|
||||
| ::LC_COLLATE_MASK
|
||||
| ::LC_MONETARY_MASK
|
||||
| ::LC_MESSAGES_MASK
|
||||
| LC_PAPER_MASK
|
||||
| LC_NAME_MASK
|
||||
| LC_ADDRESS_MASK
|
||||
| LC_TELEPHONE_MASK
|
||||
| LC_MEASUREMENT_MASK
|
||||
| LC_IDENTIFICATION_MASK;
|
||||
|
||||
pub const MAP_ANON: ::c_int = 0x0020;
|
||||
pub const MAP_ANONYMOUS: ::c_int = 0x0020;
|
||||
|
|
|
@ -300,6 +300,24 @@ pub const LC_ADDRESS: ::c_int = 9;
|
|||
pub const LC_TELEPHONE: ::c_int = 10;
|
||||
pub const LC_MEASUREMENT: ::c_int = 11;
|
||||
pub const LC_IDENTIFICATION: ::c_int = 12;
|
||||
pub const LC_PAPER_MASK: ::c_int = (1 << LC_PAPER);
|
||||
pub const LC_NAME_MASK: ::c_int = (1 << LC_NAME);
|
||||
pub const LC_ADDRESS_MASK: ::c_int = (1 << LC_ADDRESS);
|
||||
pub const LC_TELEPHONE_MASK: ::c_int = (1 << LC_TELEPHONE);
|
||||
pub const LC_MEASUREMENT_MASK: ::c_int = (1 << LC_MEASUREMENT);
|
||||
pub const LC_IDENTIFICATION_MASK: ::c_int = (1 << LC_IDENTIFICATION);
|
||||
pub const LC_ALL_MASK: ::c_int = ::LC_CTYPE_MASK
|
||||
| ::LC_NUMERIC_MASK
|
||||
| ::LC_TIME_MASK
|
||||
| ::LC_COLLATE_MASK
|
||||
| ::LC_MONETARY_MASK
|
||||
| ::LC_MESSAGES_MASK
|
||||
| LC_PAPER_MASK
|
||||
| LC_NAME_MASK
|
||||
| LC_ADDRESS_MASK
|
||||
| LC_TELEPHONE_MASK
|
||||
| LC_MEASUREMENT_MASK
|
||||
| LC_IDENTIFICATION_MASK;
|
||||
|
||||
pub const MAP_NORESERVE: ::c_int = 0x400;
|
||||
pub const MAP_ANON: ::c_int = 0x800;
|
||||
|
|
|
@ -15,6 +15,7 @@ pub type key_t = ::c_int;
|
|||
pub type shmatt_t = ::c_ulong;
|
||||
pub type mqd_t = ::c_int;
|
||||
pub type nfds_t = ::c_ulong;
|
||||
pub type nl_item = ::c_int;
|
||||
|
||||
pub enum fpos64_t {} // TODO: fill this out with a struct
|
||||
|
||||
|
@ -178,6 +179,74 @@ s! {
|
|||
}
|
||||
}
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 0x20000;
|
||||
pub const ABDAY_2: ::nl_item = 0x20001;
|
||||
pub const ABDAY_3: ::nl_item = 0x20002;
|
||||
pub const ABDAY_4: ::nl_item = 0x20003;
|
||||
pub const ABDAY_5: ::nl_item = 0x20004;
|
||||
pub const ABDAY_6: ::nl_item = 0x20005;
|
||||
pub const ABDAY_7: ::nl_item = 0x20006;
|
||||
|
||||
pub const DAY_1: ::nl_item = 0x20007;
|
||||
pub const DAY_2: ::nl_item = 0x20008;
|
||||
pub const DAY_3: ::nl_item = 0x20009;
|
||||
pub const DAY_4: ::nl_item = 0x2000A;
|
||||
pub const DAY_5: ::nl_item = 0x2000B;
|
||||
pub const DAY_6: ::nl_item = 0x2000C;
|
||||
pub const DAY_7: ::nl_item = 0x2000D;
|
||||
|
||||
pub const ABMON_1: ::nl_item = 0x2000E;
|
||||
pub const ABMON_2: ::nl_item = 0x2000F;
|
||||
pub const ABMON_3: ::nl_item = 0x20010;
|
||||
pub const ABMON_4: ::nl_item = 0x20011;
|
||||
pub const ABMON_5: ::nl_item = 0x20012;
|
||||
pub const ABMON_6: ::nl_item = 0x20013;
|
||||
pub const ABMON_7: ::nl_item = 0x20014;
|
||||
pub const ABMON_8: ::nl_item = 0x20015;
|
||||
pub const ABMON_9: ::nl_item = 0x20016;
|
||||
pub const ABMON_10: ::nl_item = 0x20017;
|
||||
pub const ABMON_11: ::nl_item = 0x20018;
|
||||
pub const ABMON_12: ::nl_item = 0x20019;
|
||||
|
||||
pub const MON_1: ::nl_item = 0x2001A;
|
||||
pub const MON_2: ::nl_item = 0x2001B;
|
||||
pub const MON_3: ::nl_item = 0x2001C;
|
||||
pub const MON_4: ::nl_item = 0x2001D;
|
||||
pub const MON_5: ::nl_item = 0x2001E;
|
||||
pub const MON_6: ::nl_item = 0x2001F;
|
||||
pub const MON_7: ::nl_item = 0x20020;
|
||||
pub const MON_8: ::nl_item = 0x20021;
|
||||
pub const MON_9: ::nl_item = 0x20022;
|
||||
pub const MON_10: ::nl_item = 0x20023;
|
||||
pub const MON_11: ::nl_item = 0x20024;
|
||||
pub const MON_12: ::nl_item = 0x20025;
|
||||
|
||||
pub const AM_STR: ::nl_item = 0x20026;
|
||||
pub const PM_STR: ::nl_item = 0x20027;
|
||||
|
||||
pub const D_T_FMT: ::nl_item = 0x20028;
|
||||
pub const D_FMT: ::nl_item = 0x20029;
|
||||
pub const T_FMT: ::nl_item = 0x2002A;
|
||||
pub const T_FMT_AMPM: ::nl_item = 0x2002B;
|
||||
|
||||
pub const ERA: ::nl_item = 0x2002C;
|
||||
pub const ERA_D_FMT: ::nl_item = 0x2002E;
|
||||
pub const ALT_DIGITS: ::nl_item = 0x2002F;
|
||||
pub const ERA_D_T_FMT: ::nl_item = 0x20030;
|
||||
pub const ERA_T_FMT: ::nl_item = 0x20031;
|
||||
|
||||
pub const CODESET: ::nl_item = 14;
|
||||
|
||||
pub const CRNCYSTR: ::nl_item = 0x4000F;
|
||||
|
||||
pub const RADIXCHAR: ::nl_item = 0x10000;
|
||||
pub const THOUSEP: ::nl_item = 0x10001;
|
||||
|
||||
pub const YESEXPR: ::nl_item = 0x50000;
|
||||
pub const NOEXPR: ::nl_item = 0x50001;
|
||||
pub const YESSTR: ::nl_item = 0x50002;
|
||||
pub const NOSTR: ::nl_item = 0x50003;
|
||||
|
||||
pub const FILENAME_MAX: ::c_uint = 4096;
|
||||
pub const L_tmpnam: ::c_uint = 20;
|
||||
pub const _PC_NAME_MAX: ::c_int = 3;
|
||||
|
@ -541,6 +610,7 @@ extern {
|
|||
name: *mut ::c_char,
|
||||
termp: *const termios,
|
||||
winp: *const ::winsize) -> ::pid_t;
|
||||
pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
|
|
|
@ -149,6 +149,24 @@ pub const LC_ADDRESS: ::c_int = 9;
|
|||
pub const LC_TELEPHONE: ::c_int = 10;
|
||||
pub const LC_MEASUREMENT: ::c_int = 11;
|
||||
pub const LC_IDENTIFICATION: ::c_int = 12;
|
||||
pub const LC_PAPER_MASK: ::c_int = (1 << LC_PAPER);
|
||||
pub const LC_NAME_MASK: ::c_int = (1 << LC_NAME);
|
||||
pub const LC_ADDRESS_MASK: ::c_int = (1 << LC_ADDRESS);
|
||||
pub const LC_TELEPHONE_MASK: ::c_int = (1 << LC_TELEPHONE);
|
||||
pub const LC_MEASUREMENT_MASK: ::c_int = (1 << LC_MEASUREMENT);
|
||||
pub const LC_IDENTIFICATION_MASK: ::c_int = (1 << LC_IDENTIFICATION);
|
||||
pub const LC_ALL_MASK: ::c_int = ::LC_CTYPE_MASK
|
||||
| ::LC_NUMERIC_MASK
|
||||
| ::LC_TIME_MASK
|
||||
| ::LC_COLLATE_MASK
|
||||
| ::LC_MONETARY_MASK
|
||||
| ::LC_MESSAGES_MASK
|
||||
| LC_PAPER_MASK
|
||||
| LC_NAME_MASK
|
||||
| LC_ADDRESS_MASK
|
||||
| LC_TELEPHONE_MASK
|
||||
| LC_MEASUREMENT_MASK
|
||||
| LC_IDENTIFICATION_MASK;
|
||||
|
||||
pub const MAP_ANON: ::c_int = 0x0020;
|
||||
pub const MAP_ANONYMOUS: ::c_int = 0x0020;
|
||||
|
|
|
@ -291,6 +291,13 @@ pub const LC_COLLATE: ::c_int = 3;
|
|||
pub const LC_MONETARY: ::c_int = 4;
|
||||
pub const LC_MESSAGES: ::c_int = 5;
|
||||
pub const LC_ALL: ::c_int = 6;
|
||||
pub const LC_CTYPE_MASK: ::c_int = (1 << LC_CTYPE);
|
||||
pub const LC_NUMERIC_MASK: ::c_int = (1 << LC_NUMERIC);
|
||||
pub const LC_TIME_MASK: ::c_int = (1 << LC_TIME);
|
||||
pub const LC_COLLATE_MASK: ::c_int = (1 << LC_COLLATE);
|
||||
pub const LC_MONETARY_MASK: ::c_int = (1 << LC_MONETARY);
|
||||
pub const LC_MESSAGES_MASK: ::c_int = (1 << LC_MESSAGES);
|
||||
// LC_ALL_MASK defined per platform
|
||||
|
||||
pub const MAP_FILE: ::c_int = 0x0000;
|
||||
pub const MAP_SHARED: ::c_int = 0x0001;
|
||||
|
@ -749,6 +756,12 @@ extern {
|
|||
pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int;
|
||||
pub fn utimensat(dirfd: ::c_int, path: *const ::c_char,
|
||||
times: *const ::timespec, flag: ::c_int) -> ::c_int;
|
||||
pub fn duplocale(base: ::locale_t) -> ::locale_t;
|
||||
pub fn freelocale(loc: ::locale_t);
|
||||
pub fn newlocale(mask: ::c_int,
|
||||
locale: *const ::c_char,
|
||||
base: ::locale_t) -> ::locale_t;
|
||||
pub fn uselocale(loc: ::locale_t) -> ::locale_t;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
|
|
|
@ -31,6 +31,7 @@ pub type pthread_t = ::uintptr_t;
|
|||
pub type pthread_key_t = ::c_uint;
|
||||
pub type blksize_t = u32;
|
||||
pub type fflags_t = u32;
|
||||
pub type nl_item = ::c_int;
|
||||
|
||||
pub enum timezone {}
|
||||
|
||||
|
@ -272,8 +273,121 @@ s! {
|
|||
pub c_lflag: ::tcflag_t,
|
||||
pub c_cc: [::cc_t; ::NCCS]
|
||||
}
|
||||
|
||||
pub struct lconv {
|
||||
pub decimal_point: *mut ::c_char,
|
||||
pub thousands_sep: *mut ::c_char,
|
||||
pub grouping: *mut ::c_char,
|
||||
pub int_curr_symbol: *mut ::c_char,
|
||||
pub currency_symbol: *mut ::c_char,
|
||||
pub mon_decimal_point: *mut ::c_char,
|
||||
pub mon_thousands_sep: *mut ::c_char,
|
||||
pub mon_grouping: *mut ::c_char,
|
||||
pub positive_sign: *mut ::c_char,
|
||||
pub negative_sign: *mut ::c_char,
|
||||
pub int_frac_digits: ::c_char,
|
||||
pub frac_digits: ::c_char,
|
||||
pub p_cs_precedes: ::c_char,
|
||||
pub p_sep_by_space: ::c_char,
|
||||
pub n_cs_precedes: ::c_char,
|
||||
pub n_sep_by_space: ::c_char,
|
||||
pub p_sign_posn: ::c_char,
|
||||
pub n_sign_posn: ::c_char,
|
||||
pub int_p_cs_precedes: ::c_char,
|
||||
pub int_p_sep_by_space: ::c_char,
|
||||
pub int_n_cs_precedes: ::c_char,
|
||||
pub int_n_sep_by_space: ::c_char,
|
||||
pub int_p_sign_posn: ::c_char,
|
||||
pub int_n_sign_posn: ::c_char,
|
||||
}
|
||||
}
|
||||
|
||||
pub const LC_CTYPE: ::c_int = 0;
|
||||
pub const LC_NUMERIC: ::c_int = 1;
|
||||
pub const LC_TIME: ::c_int = 2;
|
||||
pub const LC_COLLATE: ::c_int = 3;
|
||||
pub const LC_MONETARY: ::c_int = 4;
|
||||
pub const LC_MESSAGES: ::c_int = 5;
|
||||
pub const LC_ALL: ::c_int = 6;
|
||||
pub const LC_CTYPE_MASK: ::c_int = (1 << LC_CTYPE);
|
||||
pub const LC_NUMERIC_MASK: ::c_int = (1 << LC_NUMERIC);
|
||||
pub const LC_TIME_MASK: ::c_int = (1 << LC_TIME);
|
||||
pub const LC_COLLATE_MASK: ::c_int = (1 << LC_COLLATE);
|
||||
pub const LC_MONETARY_MASK: ::c_int = (1 << LC_MONETARY);
|
||||
pub const LC_MESSAGES_MASK: ::c_int = (1 << LC_MESSAGES);
|
||||
pub const LC_ALL_MASK: ::c_int = LC_CTYPE_MASK
|
||||
| LC_NUMERIC_MASK
|
||||
| LC_TIME_MASK
|
||||
| LC_COLLATE_MASK
|
||||
| LC_MONETARY_MASK
|
||||
| LC_MESSAGES_MASK;
|
||||
|
||||
pub const DAY_1: ::nl_item = 1;
|
||||
pub const DAY_2: ::nl_item = 2;
|
||||
pub const DAY_3: ::nl_item = 3;
|
||||
pub const DAY_4: ::nl_item = 4;
|
||||
pub const DAY_5: ::nl_item = 5;
|
||||
pub const DAY_6: ::nl_item = 6;
|
||||
pub const DAY_7: ::nl_item = 7;
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 8;
|
||||
pub const ABDAY_2: ::nl_item = 9;
|
||||
pub const ABDAY_3: ::nl_item = 10;
|
||||
pub const ABDAY_4: ::nl_item = 11;
|
||||
pub const ABDAY_5: ::nl_item = 12;
|
||||
pub const ABDAY_6: ::nl_item = 13;
|
||||
pub const ABDAY_7: ::nl_item = 14;
|
||||
|
||||
pub const MON_1: ::nl_item = 15;
|
||||
pub const MON_2: ::nl_item = 16;
|
||||
pub const MON_3: ::nl_item = 17;
|
||||
pub const MON_4: ::nl_item = 18;
|
||||
pub const MON_5: ::nl_item = 19;
|
||||
pub const MON_6: ::nl_item = 20;
|
||||
pub const MON_7: ::nl_item = 21;
|
||||
pub const MON_8: ::nl_item = 22;
|
||||
pub const MON_9: ::nl_item = 23;
|
||||
pub const MON_10: ::nl_item = 24;
|
||||
pub const MON_11: ::nl_item = 25;
|
||||
pub const MON_12: ::nl_item = 26;
|
||||
|
||||
pub const ABMON_1: ::nl_item = 27;
|
||||
pub const ABMON_2: ::nl_item = 28;
|
||||
pub const ABMON_3: ::nl_item = 29;
|
||||
pub const ABMON_4: ::nl_item = 30;
|
||||
pub const ABMON_5: ::nl_item = 31;
|
||||
pub const ABMON_6: ::nl_item = 32;
|
||||
pub const ABMON_7: ::nl_item = 33;
|
||||
pub const ABMON_8: ::nl_item = 34;
|
||||
pub const ABMON_9: ::nl_item = 35;
|
||||
pub const ABMON_10: ::nl_item = 36;
|
||||
pub const ABMON_11: ::nl_item = 37;
|
||||
pub const ABMON_12: ::nl_item = 38;
|
||||
|
||||
pub const RADIXCHAR: ::nl_item = 39;
|
||||
pub const THOUSEP: ::nl_item = 40;
|
||||
pub const YESSTR: ::nl_item = 41;
|
||||
pub const NOSTR: ::nl_item = 42;
|
||||
pub const CRNCYSTR: ::nl_item = 43;
|
||||
|
||||
pub const D_T_FMT: ::nl_item = 44;
|
||||
pub const D_FMT: ::nl_item = 45;
|
||||
pub const T_FMT: ::nl_item = 46;
|
||||
pub const AM_STR: ::nl_item = 47;
|
||||
pub const PM_STR: ::nl_item = 48;
|
||||
|
||||
pub const CODESET: ::nl_item = 49;
|
||||
pub const T_FMT_AMPM: ::nl_item = 50;
|
||||
pub const ERA: ::nl_item = 51;
|
||||
pub const ERA_D_FMT: ::nl_item = 52;
|
||||
pub const ERA_D_T_FMT: ::nl_item = 53;
|
||||
pub const ERA_T_FMT: ::nl_item = 54;
|
||||
pub const ALT_DIGITS: ::nl_item = 55;
|
||||
pub const YESEXPR: ::nl_item = 56;
|
||||
pub const NOEXPR: ::nl_item = 57;
|
||||
pub const _DATE_FMT: ::nl_item = 58;
|
||||
pub const MAXSTRMSG: ::nl_item = 58;
|
||||
|
||||
pub const SA_ONSTACK: ::c_int = 0x00000001;
|
||||
pub const SA_RESETHAND: ::c_int = 0x00000002;
|
||||
pub const SA_RESTART: ::c_int = 0x00000004;
|
||||
|
@ -778,5 +892,12 @@ extern {
|
|||
buflen: ::size_t) -> *const passwd;
|
||||
pub fn readdir(dirp: *mut ::DIR) -> *const ::dirent;
|
||||
pub fn fdatasync(fd: ::c_int) -> ::c_int;
|
||||
pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
|
||||
pub fn duplocale(base: ::locale_t) -> ::locale_t;
|
||||
pub fn freelocale(loc: ::locale_t);
|
||||
pub fn newlocale(mask: ::c_int,
|
||||
locale: *const ::c_char,
|
||||
base: ::locale_t) -> ::locale_t;
|
||||
pub fn uselocale(loc: ::locale_t) -> ::locale_t;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue