/* 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
/* 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);