+/*
+ * This function simply reports whether a charset identifier
+ * corresponds to an actually usable charset. Not everything in the
+ * above enum does: CS_NONE, for a start, and occasionally other slots
+ * in the enum are reserved before they actually go into service.
+ *
+ * This function permits clients to iterate over _all_ supported
+ * charsets by means of a loop such as
+ *
+ * for (cs = 0; cs < CS_LIMIT; cs++)
+ * if (charset_exists(cs))
+ * do_stuff_with(cs);
+ */
+int charset_exists(int charset);
+