+gchar * modest_text_utils_get_display_size (guint64 size);
+
+
+
+/**
+ * modest_text_utils_validate_domain_name:
+ * @email_address: a NULL-terminated string
+ *
+ * validates the domain name passed as argument
+ *
+ * Returns: TRUE if the domain name is valid, FALSE otherwise
+ **/
+gboolean modest_text_utils_validate_domain_name (const gchar *domain);
+
+/**
+ * modest_text_utils_validate_email_address:
+ * @email_address: a string
+ * @invalid_char_position: pointer to the position of the invalid
+ * character in case validation failed because of this, or %NULL.
+ *
+ * validates the email address passed as argument
+ *
+ * Returns: TRUE if the address is valid, FALSE otherwise
+ **/
+gboolean modest_text_utils_validate_email_address (const gchar *email_address,
+ const gchar **invalid_char_position);
+
+
+/**
+ * modest_text_utils_validate_folder_name:
+ * @folder_name: a string
+ *
+ * validates the folder name passed as argument. a 'valid folder name'
+ * is a name which should be valid on both Unix and Windows file systems.
+ * of course, this might be stricter than strictly needed in some cases,
+ * but it's better to err on the safe side.
+ *
+ * Returns: TRUE if the folder name is valid, FALSE otherwise
+ **/
+gboolean modest_text_utils_validate_folder_name (const gchar *folder_name);
+
+/**
+ * modest_text_utils_validate_recipient:
+ * @recipient: a string
+ * @invalid_char_position: pointer to the position of the invalid char,
+ * if validation failed because there's an invalid char there, or %NULL.
+ *
+ * validates @recipient as a valid recipient field for header.
+ * It's different from modest_text_utils_validate_email_address()
+ * as it validates a whole recipient, and not only the part between
+ * the < and > symbols.
+ *
+ * Returns: %TRUE if the recipient is valid, FALSE otherwise
+ **/
+gboolean modest_text_utils_validate_recipient (const gchar *recipient,
+ const gchar **invalid_char_position);
+
+/**
+ * modest_text_utils_split_addresses_list:
+ * @addresses: a string
+ *
+ * obtains a GSList of addresses from a string of addresses
+ * in the format understood by email protocols
+ *
+ * Returns: a GSList of strings
+ **/
+GSList *modest_text_utils_split_addresses_list (const gchar *addresses);
+
+/**
+ * modest_text_utils_get_addresses_indexes:
+ * @addresses: a string
+ * @start_indexes: a #GSList pointer
+ * @end_indexes: a #GSList pointer
+ *
+ * obtains two #GSList of @addresses with the range offsets of the addresses in
+ * the string
+ *
+ * Returns: a GSList of strings
+ **/
+void modest_text_utils_get_addresses_indexes (const gchar *addresses, GSList **start_indexes, GSList **end_indexes);
+
+/**
+ * modest_text_utils_get_color_string:
+ * @color: a #GdkColor
+ *
+ * Obtains a proper markup string for @color, in the format used
+ * by Pango and HTML.
+ *
+ * Returns: a newly allocated string
+ */
+gchar * modest_text_utils_get_color_string (GdkColor *color);
+
+/**
+ * modest_text_utils_text_buffer_get_text:
+ * @buffer: a #GtkTextBuffer
+ *
+ * Obtains the contents of a @buffer in a string, replacing image
+ * pixbufs with blank spaces.
+ *
+ * Returns: a newly allocated UTF-8 string
+ */
+gchar * modest_text_utils_text_buffer_get_text (GtkTextBuffer *buffer);
+
+typedef enum {
+ ACCOUNT_TITLE_FORBIDDEN_CHARS,
+ FOLDER_NAME_FORBIDDEN_CHARS,
+ USER_NAME_FORBIDDEN_NAMES,
+} ModestTextUtilsForbiddenCharType;