+\f
+/* Number of custom currency styles. */
+#define FMT_N_CCS 5 /* FMT_CCA through FMT_CCE. */
+
+struct fmt_settings
+ {
+ int epoch; /* 0 for default epoch. */
+ char decimal; /* '.' or ','. */
+
+ /* Format F, E, COMMA, and DOT with leading zero (e.g. "0.5" instead of
+ ".5")? */
+ bool include_leading_zero;
+
+ struct fmt_number_style *ccs[FMT_N_CCS]; /* CCA through CCE. */
+ };
+#define FMT_SETTINGS_INIT { .decimal = '.' }
+
+void fmt_settings_init (struct fmt_settings *);
+void fmt_settings_uninit (struct fmt_settings *);
+struct fmt_settings fmt_settings_copy (const struct fmt_settings *);
+
+const struct fmt_number_style *fmt_settings_get_style (
+ const struct fmt_settings *, enum fmt_type);
+int fmt_settings_get_epoch (const struct fmt_settings *);