1
0
Fork 0
mirror of https://gitlab.com/sortix/sortix.git synced 2023-02-13 20:55:38 -05:00
sortix--sortix/libc/include/locale.h
Jonas 'Sortie' Termansen 7185cb33c7 Remove setlocale thread safety.
This interface isn't standardized to be thread safe so nobody can rely on
it. Additionally this only thread secures setlocale, but not all the code
that might depend on the current locale, so it is pointless.
2015-12-12 19:28:07 +01:00

80 lines
2 KiB
C

/*******************************************************************************
Copyright(C) Jonas 'Sortie' Termansen 2012, 2015.
This file is part of the Sortix C Library.
The Sortix C Library is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
The Sortix C Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the Sortix C Library. If not, see <http://www.gnu.org/licenses/>.
locale.h
Category macros.
*******************************************************************************/
#ifndef _LOCALE_H
#define _LOCALE_H 1
#include <sys/cdefs.h>
#include <sys/__/types.h>
#ifdef __cplusplus
extern "C" {
#endif
struct lconv
{
char* decimal_point;
char* thousands_sep;
char* grouping;
char* int_curr_symbol;
char* currency_symbol;
char* mon_decimal_point;
char* mon_thousands_sep;
char* mon_grouping;
char* positive_sign;
char* negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char n_cs_precedes;
char p_sep_by_space;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char int_p_cs_precedes;
char int_n_cs_precedes;
char int_p_sep_by_space;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
};
#define LC_COLLATE 0
#define LC_CTYPE 1
#define LC_MESSAGES 2
#define LC_MONETARY 3
#define LC_NUMERIC 4
#define LC_TIME 5
#define LC_ALL 6
#define LC_NUM_CATEGORIES LC_ALL
char* setlocale(int category, const char* locale);
struct lconv* localeconv(void);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif