/* Part of SWI-Prolog Author: Jan Wielemaker E-mail: J.Wielemaker@vu.nl WWW: http://www.swi-prolog.org Copyright (C): 2013, VU University Amsterdam This 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 2.1 of the License, or (at your option) any later version. This 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 this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef PL_LOCALE_H_INCLUDED #define PL_LOCALE_H_INCLUDED #define LOCALE_MAGIC 37838743 typedef struct PL_locale { atom_t alias; /* named alias (if any) */ atom_t symbol; /* blob handle */ int magic; /* LOCALE_MAGIC */ int references; /* Reference count */ /* POSIX locale properties */ wchar_t *decimal_point; /* Radix character */ wchar_t *thousands_sep; /* Separator for digit group left of radix character */ char *grouping; /* Grouping */ } PL_locale; #define PL_HAVE_PL_LOCALE 1 COMMON(void) initLocale(void); COMMON(void) updateLocale(int category, const char *locale); COMMON(PL_locale *) acquireLocale(PL_locale *l); COMMON(void) releaseLocale(PL_locale *l); COMMON(int) initStreamLocale(IOSTREAM *s); COMMON(int) unifyLocale(term_t t, PL_locale *l, int alias); COMMON(int) getLocale(term_t t, PL_locale **lp); COMMON(int) getLocaleEx(term_t t, PL_locale **lp); #endif /*PL_LOCALE_H_INCLUDED*/