Blame gettext-runtime/gnulib-lib/locale.in.h

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