about summary refs log tree commit diff
path: root/stdlib/stdlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/stdlib.h')
-rw-r--r--stdlib/stdlib.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 98ed88986b..40c24eb8f0 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -128,6 +128,53 @@ extern unsigned long long int strtoull __P ((__const char *__restrict __nptr,
 #endif /* ISO C 9X or GCC and use MISC.  */
 
 
+#ifdef __USE_GNU
+/* The concept of one static locale per category is not very well
+   thought out.  Many applications will need to process its data using
+   information from several different locales.  Another application is
+   the implementation of the internationalization handling in the
+   upcoming ISO C++ standard library.  To support this another set of
+   the functions using locale data exist which have an additional
+   argument.
+
+   Attention: all these functions are *not* standardized in any form.
+   This is a proof-of-concept implementation.  */
+
+/* Structure for reentrant locale using functions.  This is an
+   (almost) opaque type for the user level programs.  */
+# include <xlocale.h>
+
+/* Special versions of the functions above which take the locale to
+   use as an additional parameter.  */
+extern long int __strtol_l __P ((__const char *__restrict __nptr,
+				 char **__restrict __endptr, int __base,
+				 __locale_t __loc));
+
+extern unsigned long int __strtoul_l __P ((__const char *__restrict __nptr,
+					   char **__restrict __endptr,
+					   int __base, __locale_t __loc));
+
+extern long long int __strtoll_l __P ((__const char *__restrict __nptr,
+				       char **__restrict __endptr, int __base,
+				       __locale_t __loc));
+
+extern unsigned long long int __strtoull_l __P ((__const char *__restrict
+						 __nptr,
+						 char **__restrict __endptr,
+						 int __base,
+						 __locale_t __loc));
+
+extern double __strtod_l __P ((__const char *__restrict __nptr,
+			       char **__restrict __endptr, __locale_t __loc));
+
+extern float __strtof_l __P ((__const char *__restrict __nptr,
+			      char **__restrict __endptr, __locale_t __loc));
+
+extern __long_double_t __strtold_l __P ((__const char *__restrict __nptr,
+					 char **__restrict __endptr,
+					 __locale_t __loc));
+#endif /* GNU */
+
 
 /* The internal entry points for `strtoX' take an extra flag argument
    saying whether or not to parse locale-dependent number grouping.  */