Don't initialize with 0.
[kopensolaris-gnu/glibc.git] / locale / localeinfo.h
index c029f63..f50565c 100644 (file)
@@ -38,7 +38,8 @@
 
 /* We use a special value for the usage counter in `locale_data' to
    signal that this data must never be removed anymore.  */
-#define MAX_USAGE_COUNT UINT_MAX
+#define MAX_USAGE_COUNT (UINT_MAX - 1)
+#define UNDELETABLE    UINT_MAX
 
 /* Structure describing locale data in core for a category.  */
 struct locale_data
@@ -81,7 +82,8 @@ enum value_type
   stringarray,
   byte,
   bytearray,
-  word
+  word,
+  stringlist
 };
 
 
@@ -104,10 +106,11 @@ extern struct locale_data *_nl_current_##category;
 
 extern const char *const _nl_category_names[LC_ALL + 1];
 extern const size_t _nl_category_name_sizes[LC_ALL + 1];
-extern struct locale_data * *const _nl_current[LC_ALL];
+extern struct locale_data * *const _nl_current[LC_ALL + 1];
 
-/* Name of the standard locale.  */
+/* Name of the standard locales.  */
 extern const char _nl_C_name[];
+extern const char _nl_POSIX_name[];
 
 /* Extract the current CATEGORY locale's string for ITEM.  */
 #define _NL_CURRENT(category, item) \
@@ -133,6 +136,9 @@ extern struct locale_data *_nl_find_locale (const char *locale_path,
 /* Try to load the file described by FILE.  */
 extern void _nl_load_locale (struct loaded_l10nfile *file, int category);
 
+/* Free all resource.  */
+extern void _nl_unload_locale (struct locale_data *locale);
+
 /* Free the locale and give back all memory if the usage count is one.  */
 extern void _nl_remove_locale (int locale, struct locale_data *data);