Blame lib/locale.in.h

Packit Service a2489d
/* A POSIX <locale.h>.
Packit Service a2489d
   Copyright (C) 2007-2018 Free Software Foundation, Inc.
Packit Service a2489d
Packit Service a2489d
   This program is free software: you can redistribute it and/or modify
Packit Service a2489d
   it under the terms of the GNU General Public License as published by
Packit Service a2489d
   the Free Software Foundation; either version 3 of the License, or
Packit Service a2489d
   (at your option) any later version.
Packit Service a2489d
Packit Service a2489d
   This program is distributed in the hope that it will be useful,
Packit Service a2489d
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service a2489d
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service a2489d
   GNU General Public License for more details.
Packit Service a2489d
Packit Service a2489d
   You should have received a copy of the GNU General Public License
Packit Service a2489d
   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
Packit Service a2489d
Packit Service a2489d
#if __GNUC__ >= 3
Packit Service a2489d
@PRAGMA_SYSTEM_HEADER@
Packit Service a2489d
#endif
Packit Service a2489d
@PRAGMA_COLUMNS@
Packit Service a2489d
Packit Service a2489d
#if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \
Packit Service a2489d
    || defined _GL_ALREADY_INCLUDING_LOCALE_H
Packit Service a2489d
Packit Service a2489d
/* Special invocation convention:
Packit Service a2489d
   - Inside mingw header files,
Packit Service a2489d
   - To handle Solaris header files (through Solaris 10) when combined
Packit Service a2489d
     with gettext's libintl.h.  */
Packit Service a2489d
Packit Service a2489d
#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
Packit Service a2489d
Packit Service a2489d
#else
Packit Service a2489d
/* Normal invocation convention.  */
Packit Service a2489d
Packit Service a2489d
#ifndef _@GUARD_PREFIX@_LOCALE_H
Packit Service a2489d
Packit Service a2489d
#define _GL_ALREADY_INCLUDING_LOCALE_H
Packit Service a2489d
Packit Service a2489d
/* The include_next requires a split double-inclusion guard.  */
Packit Service a2489d
#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
Packit Service a2489d
Packit Service a2489d
#undef _GL_ALREADY_INCLUDING_LOCALE_H
Packit Service a2489d
Packit Service a2489d
#ifndef _@GUARD_PREFIX@_LOCALE_H
Packit Service a2489d
#define _@GUARD_PREFIX@_LOCALE_H
Packit Service a2489d
Packit Service a2489d
/* NetBSD 5.0 mis-defines NULL.  */
Packit Service a2489d
#include <stddef.h>
Packit Service a2489d
Packit Service a2489d
/* Mac OS X 10.5 defines the locale_t type in <xlocale.h>.  */
Packit Service a2489d
#if @HAVE_XLOCALE_H@
Packit Service a2489d
# include <xlocale.h>
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
Packit Service a2489d
Packit Service a2489d
/* The definition of _GL_ARG_NONNULL is copied here.  */
Packit Service a2489d
Packit Service a2489d
/* The definition of _GL_WARN_ON_USE is copied here.  */
Packit Service a2489d
Packit Service a2489d
/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C.
Packit Service a2489d
   On systems that don't define it, use the same value as GNU libintl.  */
Packit Service a2489d
#if !defined LC_MESSAGES
Packit Service a2489d
# define LC_MESSAGES 1729
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
/* Bionic libc's 'struct lconv' is just a dummy.  */
Packit Service a2489d
#if @REPLACE_STRUCT_LCONV@
Packit Service a2489d
# define lconv rpl_lconv
Packit Service a2489d
struct lconv
Packit Service a2489d
{
Packit Service a2489d
  /* All 'char *' are actually 'const char *'.  */
Packit Service a2489d
Packit Service a2489d
  /* Members that depend on the LC_NUMERIC category of the locale.  See
Packit Service a2489d
     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_04> */
Packit Service a2489d
Packit Service a2489d
  /* Symbol used as decimal point.  */
Packit Service a2489d
  char *decimal_point;
Packit Service a2489d
  /* Symbol used to separate groups of digits to the left of the decimal
Packit Service a2489d
     point.  */
Packit Service a2489d
  char *thousands_sep;
Packit Service a2489d
  /* Definition of the size of groups of digits to the left of the decimal
Packit Service a2489d
     point.  */
Packit Service a2489d
  char *grouping;
Packit Service a2489d
Packit Service a2489d
  /* Members that depend on the LC_MONETARY category of the locale.  See
Packit Service a2489d
     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_03> */
Packit Service a2489d
Packit Service a2489d
  /* Symbol used as decimal point.  */
Packit Service a2489d
  char *mon_decimal_point;
Packit Service a2489d
  /* Symbol used to separate groups of digits to the left of the decimal
Packit Service a2489d
     point.  */
Packit Service a2489d
  char *mon_thousands_sep;
Packit Service a2489d
  /* Definition of the size of groups of digits to the left of the decimal
Packit Service a2489d
     point.  */
Packit Service a2489d
  char *mon_grouping;
Packit Service a2489d
  /* Sign used to indicate a value >= 0.  */
Packit Service a2489d
  char *positive_sign;
Packit Service a2489d
  /* Sign used to indicate a value < 0.  */
Packit Service a2489d
  char *negative_sign;
Packit Service a2489d
Packit Service a2489d
  /* For formatting local currency.  */
Packit Service a2489d
  /* Currency symbol (3 characters) followed by separator (1 character).  */
Packit Service a2489d
  char *currency_symbol;
Packit Service a2489d
  /* Number of digits after the decimal point.  */
Packit Service a2489d
  char frac_digits;
Packit Service a2489d
  /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
Packit Service a2489d
     comes after the number.  */
Packit Service a2489d
  char p_cs_precedes;
Packit Service a2489d
  /* For values >= 0: Position of the sign.  */
Packit Service a2489d
  char p_sign_posn;
Packit Service a2489d
  /* For values >= 0: Placement of spaces between currency symbol, sign, and
Packit Service a2489d
     number.  */
Packit Service a2489d
  char p_sep_by_space;
Packit Service a2489d
  /* For values < 0: 1 if the currency symbol precedes the number, 0 if it
Packit Service a2489d
     comes after the number.  */
Packit Service a2489d
  char n_cs_precedes;
Packit Service a2489d
  /* For values < 0: Position of the sign.  */
Packit Service a2489d
  char n_sign_posn;
Packit Service a2489d
  /* For values < 0: Placement of spaces between currency symbol, sign, and
Packit Service a2489d
     number.  */
Packit Service a2489d
  char n_sep_by_space;
Packit Service a2489d
Packit Service a2489d
  /* For formatting international currency.  */
Packit Service a2489d
  /* Currency symbol (3 characters) followed by separator (1 character).  */
Packit Service a2489d
  char *int_curr_symbol;
Packit Service a2489d
  /* Number of digits after the decimal point.  */
Packit Service a2489d
  char int_frac_digits;
Packit Service a2489d
  /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
Packit Service a2489d
     comes after the number.  */
Packit Service a2489d
  char int_p_cs_precedes;
Packit Service a2489d
  /* For values >= 0: Position of the sign.  */
Packit Service a2489d
  char int_p_sign_posn;
Packit Service a2489d
  /* For values >= 0: Placement of spaces between currency symbol, sign, and
Packit Service a2489d
     number.  */
Packit Service a2489d
  char int_p_sep_by_space;
Packit Service a2489d
  /* For values < 0: 1 if the currency symbol precedes the number, 0 if it
Packit Service a2489d
     comes after the number.  */
Packit Service a2489d
  char int_n_cs_precedes;
Packit Service a2489d
  /* For values < 0: Position of the sign.  */
Packit Service a2489d
  char int_n_sign_posn;
Packit Service a2489d
  /* For values < 0: Placement of spaces between currency symbol, sign, and
Packit Service a2489d
     number.  */
Packit Service a2489d
  char int_n_sep_by_space;
Packit Service a2489d
};
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#if @GNULIB_LOCALECONV@
Packit Service a2489d
# if @REPLACE_LOCALECONV@
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef localeconv
Packit Service a2489d
#   define localeconv rpl_localeconv
Packit Service a2489d
#  endif
Packit Service a2489d
_GL_FUNCDECL_RPL (localeconv, struct lconv *, (void));
Packit Service a2489d
_GL_CXXALIAS_RPL (localeconv, struct lconv *, (void));
Packit Service a2489d
# else
Packit Service a2489d
_GL_CXXALIAS_SYS (localeconv, struct lconv *, (void));
Packit Service a2489d
# endif
Packit Service a2489d
_GL_CXXALIASWARN (localeconv);
Packit Service a2489d
#elif @REPLACE_STRUCT_LCONV@
Packit Service a2489d
# undef localeconv
Packit Service a2489d
# define localeconv localeconv_used_without_requesting_gnulib_module_localeconv
Packit Service a2489d
#elif defined GNULIB_POSIXCHECK
Packit Service a2489d
# undef localeconv
Packit Service a2489d
# if HAVE_RAW_DECL_LOCALECONV
Packit Service a2489d
_GL_WARN_ON_USE (localeconv,
Packit Service a2489d
                 "localeconv returns too few information on some platforms - "
Packit Service a2489d
                 "use gnulib module localeconv for portability");
Packit Service a2489d
# endif
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#if @GNULIB_SETLOCALE@
Packit Service a2489d
# if @REPLACE_SETLOCALE@
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef setlocale
Packit Service a2489d
#   define setlocale rpl_setlocale
Packit Service a2489d
#   define GNULIB_defined_setlocale 1
Packit Service a2489d
#  endif
Packit Service a2489d
_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
Packit Service a2489d
_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
Packit Service a2489d
# else
Packit Service a2489d
_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
Packit Service a2489d
# endif
Packit Service a2489d
_GL_CXXALIASWARN (setlocale);
Packit Service a2489d
#elif defined GNULIB_POSIXCHECK
Packit Service a2489d
# undef setlocale
Packit Service a2489d
# if HAVE_RAW_DECL_SETLOCALE
Packit Service a2489d
_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
Packit Service a2489d
                 "use gnulib module setlocale for portability");
Packit Service a2489d
# endif
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#if @GNULIB_DUPLOCALE@
Packit Service a2489d
# if @REPLACE_DUPLOCALE@
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef duplocale
Packit Service a2489d
#   define duplocale rpl_duplocale
Packit Service a2489d
#  endif
Packit Service a2489d
_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
Packit Service a2489d
_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
Packit Service a2489d
# else
Packit Service a2489d
#  if @HAVE_DUPLOCALE@
Packit Service a2489d
_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
Packit Service a2489d
#  endif
Packit Service a2489d
# endif
Packit Service a2489d
# if @HAVE_DUPLOCALE@
Packit Service a2489d
_GL_CXXALIASWARN (duplocale);
Packit Service a2489d
# endif
Packit Service a2489d
#elif defined GNULIB_POSIXCHECK
Packit Service a2489d
# undef duplocale
Packit Service a2489d
# if HAVE_RAW_DECL_DUPLOCALE
Packit Service a2489d
_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
Packit Service a2489d
                 "use gnulib module duplocale for portability");
Packit Service a2489d
# endif
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#endif /* _@GUARD_PREFIX@_LOCALE_H */
Packit Service a2489d
#endif /* _@GUARD_PREFIX@_LOCALE_H */
Packit Service a2489d
#endif /* !(__need_locale_t || _GL_ALREADY_INCLUDING_LOCALE_H) */