1
0
mirror of https://github.com/fluencelabs/musl synced 2025-06-10 13:31:37 +00:00
Files
arch
crt
dist
include
arpa
net
netinet
netpacket
scsi
sys
aio.h
alloca.h
alltypes.h.in
ar.h
assert.h
byteswap.h
complex.h
cpio.h
crypt.h
ctype.h
dirent.h
dlfcn.h
elf.h
endian.h
err.h
errno.h
fcntl.h
features.h
fenv.h
float.h
fmtmsg.h
fnmatch.h
ftw.h
getopt.h
glob.h
grp.h
iconv.h
ifaddrs.h
inttypes.h
iso646.h
langinfo.h
lastlog.h
libgen.h
libintl.h
limits.h
link.h
locale.h
malloc.h
math.h
memory.h
mntent.h
monetary.h
mqueue.h
netdb.h
nl_types.h
paths.h
poll.h
pthread.h
pty.h
pwd.h
regex.h
resolv.h
sched.h
search.h
semaphore.h
setjmp.h
shadow.h
signal.h
spawn.h
stdalign.h
stdarg.h
stdbool.h
stdc-predef.h
stddef.h
stdint.h
stdio.h
stdio_ext.h
stdlib.h
stdnoreturn.h
string.h
strings.h
stropts.h
syscall.h
sysexits.h
syslog.h
tar.h
termios.h
tgmath.h
threads.h
time.h
uchar.h
ucontext.h
ulimit.h
unistd.h
utime.h
utmp.h
utmpx.h
values.h
wait.h
wchar.h
wctype.h
wordexp.h
ldso
src
tools
.gitignore
COPYRIGHT
INSTALL
Makefile
README
VERSION
WHATSNEW
configure
dynamic.list
musl/include/langinfo.h

99 lines
1.8 KiB
C
Raw Normal View History

2011-02-12 00:22:29 -05:00
#ifndef _LANGINFO_H
#define _LANGINFO_H
#ifdef __cplusplus
extern "C" {
#endif
#include <features.h>
refactor headers, especially alltypes.h, and improve C++ ABI compat the arch-specific bits/alltypes.h.sh has been replaced with a generic alltypes.h.in and minimal arch-specific bits/alltypes.h.in. this commit is intended to have no functional changes except: - exposing additional symbols that POSIX allows but does not require - changing the C++ name mangling for some types - fixing the signedness of blksize_t on powerpc (POSIX requires signed) - fixing the limit macros for sig_atomic_t on x86_64 - making dev_t an unsigned type (ABI matching goal, and more logical) in addition, some types that were wrongly defined with long on 32-bit archs were changed to int, and vice versa; this change is non-functional except for the possibility of making pointer types mismatch, and only affects programs that were using them incorrectly, and only at build-time, not runtime. the following changes were made in the interest of moving non-arch-specific types out of the alltypes system and into the headers they're associated with, and also will tend to improve application compatibility: - netdb.h now includes netinet/in.h (for socklen_t and uint32_t) - netinet/in.h now includes sys/socket.h and inttypes.h - sys/resource.h now includes sys/time.h (for struct timeval) - sys/wait.h now includes signal.h (for siginfo_t) - langinfo.h now includes nl_types.h (for nl_item) for the types in stdint.h: - types which are of no interest to other headers were moved out of the alltypes system. - fast types for 8- and 64-bit are hard-coded (at least for now); only the 16- and 32-bit ones have reason to vary by arch. and the following types have been changed for C++ ABI purposes; - mbstate_t now has a struct tag, __mbstate_t - FILE's struct tag has been changed to _IO_FILE - DIR's struct tag has been changed to __dirstream - locale_t's struct tag has been changed to __locale_struct - pthread_t is defined as unsigned long in C++ mode only - fpos_t now has a struct tag, _G_fpos64_t - fsid_t's struct tag has been changed to __fsid_t - idtype_t has been made an enum type (also required by POSIX) - nl_catd has been changed from long to void * - siginfo_t's struct tag has been removed - sigset_t's has been given a struct tag, __sigset_t - stack_t has been given a struct tag, sigaltstack - suseconds_t has been changed to long on 32-bit archs - [u]intptr_t have been changed from long to int rank on 32-bit archs - dev_t has been made unsigned summary of tests that have been performed against these changes: - nsz's libc-test (diff -u before and after) - C++ ABI check symbol dump (diff -u before, after, glibc) - grepped for __NEED, made sure types needed are still in alltypes - built gcc 3.4.6
2013-07-22 11:22:36 -04:00
#include <nl_types.h>
#define __NEED_locale_t
2011-02-12 00:22:29 -05:00
#include <bits/alltypes.h>
#define ABDAY_1 0x20000
#define ABDAY_2 0x20001
#define ABDAY_3 0x20002
#define ABDAY_4 0x20003
#define ABDAY_5 0x20004
#define ABDAY_6 0x20005
#define ABDAY_7 0x20006
#define DAY_1 0x20007
#define DAY_2 0x20008
#define DAY_3 0x20009
#define DAY_4 0x2000A
#define DAY_5 0x2000B
#define DAY_6 0x2000C
#define DAY_7 0x2000D
#define ABMON_1 0x2000E
#define ABMON_2 0x2000F
#define ABMON_3 0x20010
#define ABMON_4 0x20011
#define ABMON_5 0x20012
#define ABMON_6 0x20013
#define ABMON_7 0x20014
#define ABMON_8 0x20015
#define ABMON_9 0x20016
#define ABMON_10 0x20017
#define ABMON_11 0x20018
#define ABMON_12 0x20019
#define MON_1 0x2001A
#define MON_2 0x2001B
#define MON_3 0x2001C
#define MON_4 0x2001D
#define MON_5 0x2001E
#define MON_6 0x2001F
#define MON_7 0x20020
#define MON_8 0x20021
#define MON_9 0x20022
#define MON_10 0x20023
#define MON_11 0x20024
#define MON_12 0x20025
#define AM_STR 0x20026
#define PM_STR 0x20027
#define D_T_FMT 0x20028
#define D_FMT 0x20029
#define T_FMT 0x2002A
#define T_FMT_AMPM 0x2002B
#define ERA 0x2002C
#define ERA_D_FMT 0x2002E
#define ALT_DIGITS 0x2002F
#define ERA_D_T_FMT 0x20030
#define ERA_T_FMT 0x20031
#define CODESET 14
#define CRNCYSTR 0x4000F
#define RADIXCHAR 0x10000
#define THOUSEP 0x10001
#define YESEXPR 0x50000
#define NOEXPR 0x50001
#define _NL_LOCALE_NAME(cat) (((cat)<<16) | 0xffff)
#if defined(_GNU_SOURCE)
#define NL_LOCALE_NAME(cat) _NL_LOCALE_NAME(cat)
#endif
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
2011-02-12 00:22:29 -05:00
#define YESSTR 0x50002
#define NOSTR 0x50003
#endif
2011-02-12 00:22:29 -05:00
char *nl_langinfo(nl_item);
char *nl_langinfo_l(nl_item, locale_t);
2011-02-12 00:22:29 -05:00
#ifdef __cplusplus
}
#endif
#endif